【OMSCS】CS6300 Software Development Process week4~6の感想

資格試験等々でだいぶ空いてしまいました。。。詳しいことはこちらに書いてます。

OMSCSも細々と続けていたので、続きを書きます。

この記事は、↓の続きです。

目次

SDPはどんなコースか?

コースの正式名称は、Software Develompent Processです。

ソフトウェア開発工程(ウォーターフォール、アジャイル等)や、そこで使われるツール、保守作業等を学べるコースです。実践に近い内容となっており、試験等はなく、ほぼハンズオン形式で行われます。チーム開発も経験できるということで、グループワークもあります。

コースの詳細は下記リンクから読めます!

CS 6300: Software Development Process | Online Master of Science in Computer Science (OMSCS) (gatech.edu)

Week4のTODO

  • 動画講義P2L2とP2L3の視聴
  • 簡単なAndroidアプリを作って提出

動画講義のP2L2とP2L3を視聴

P2L2ではオブジェクト指向プログラミングとUMLについて、P2L3ではAndroidアプリの概要について、それぞれ学びました。

時間にして2時間弱あり、結構ボリューミーでした。

個人的には、過去にSwiftUIを触ったことはあるものの、モバイルアプリについてまともに学ぶのはこれが初めてだったので、特にP2L3は興味深かったです。

簡単なAndroidアプリを作成

1画面で完結する、簡単なアプリを作成しました。

まずは画面を作り、次にJavaでロジックを書いて、という手順で進めます。

個人的に一番時間がかかったのは環境構築でした。初めてAndroid Studioを使ったのですが、課題では「このバージョンを使ってこのプラグインのこのバージョンで、、、」と全部指定されています。でも、新しいAndroid Studioでそのバージョンは使えない!!!どうするの!!!で時間を取られました。

ただ、私の他にもそういう人は結構いたので、最終的にバージョン指定は多少緩和され、無事に構築できました。

画面はわかりやすいものだったのですぐに作り終わったし、ロジックは前週の課題をカスタマイズすれば終わるものだったので、環境さえできてしまえば後はお手の物、という印象です。

Week5のTODO

  • 動画講義P3L1~P3L4を視聴
  • 要件からUML図を作成し提出
  • Groupワークで使うGithubリポジトリに必要事項を書いてPush

動画講義P3L1~P3L4を視聴

ソフトウェア・アーキテクチャやソフトウエアデザイン、デザインパターン等について、各動画で学びました。

この辺りって結構技術書も様々あって、昔から色々な議論がなされていますよね。個人的に、学問として学びたかったドンピシャの場所!とテンションが上がっていました。

また、このコースのインストラクターが2人出演して、文章で書いてある要件からUML図を起こしていく様子が動画に収められていて、「普通はこんな風に決めていくものなのか、、、!」と衝撃を受けたりなど。

とりあえずエンジニアとして就職して実務から入ったクチなので、さらっと入門レベルで動画を視聴できたのは面白い経験になりました。

要件からUML図を作成

苦労ポイントでした。。。

そもそもJavaに詳しくもなければ、仕事でUML図を描いたこともないというないないづくし。クラス設計もまともに考えたことがないということで、結構苦心しながら書き上げました。

まだプログラムを書いていない状態でUML図を描くのって難しくないですか?でも世のエンジニアの皆さんはたぶん当たり前にやっているんでしょう。。。自分が通ってきた道の異質さ?のようなものを知りました。

Groupワークの準備

とりあえずGroupワークで使うリポジトリをクローンして、自分の名前や連絡先を書いてpushするだけです。

この時初めてGroupのメンバーが発表されたのですが、名前的にアジア系の方で揃っており、見事に時差が考慮されているなと唸ってしまいました。

Week1のGroupワークアンケートが伊達ではなく、しっかり考えられているのは素直にありがたいです。

ちなみにWeek1の様子はこちらの記事でまとめているため、良ければどうぞ↓

Week6のTODO

  • P4L1を視聴
  • Groupワークで作るアプリのデザインの話し合い・テスト計画等ドキュメント作成

P4L1を視聴

ソフトウェアのテストとは何たるか、を学びます。

テストにはブラックボックステストとホワイトテストがあったり、アルファ・ベータテストがあったりと種類があるんだ、ということ。

そもそもテストはユニットテストから始まって統合テスト・システムテスト・受入テスト・リグレッションテストを経るんだということ。

内容としてはそんな感じでした。

Groupワークでデザイン作成・ドキュメント作成

Week5で作ったデザインをGroupメンバー同士で見せ合い、長所と短所を話し合ってチームデザインを作ります。そう、Week5で読んだ要件というのは、グループワークで作るものの要件だったんですね(察しが悪かったです。笑)

その後、ユースケースモデルだったりテスト計画だったり、UML図を再度作ったりディスカッションを軽くまとめたり、こんな感じでドキュメントを作る週間でした。

全体的な感想

本格的なGroupワークはこれが初めてなのですが、洗礼を受けました。(2人でのGroupワークは春学期で経験済みです)

リモートでGroupワークをすると、全員の暇な時間帯がかみ合わず、課題の提出がギリギリになってしまうなど、思うように動けないことが多かったです。基本的にみんな平日が忙しいけど、休日に連絡が取れなくなるメンバーもいて、全員が集まる時間が全くなかったりもしました。

それだけに、最終的に提出が間に合った時の達成感はなかなかすごいものでした。

今後について

次はWeek7の記事を、、、!と言いたいことですが、スケジュールと体力の事情があり、Week6を以て履修取り消しをしました。その辺りの事情は、この記事とは違う形式で追々記事にすると思います。

次は、8月に始まる秋学期でCS7637 Knowledge-Based AIを取る予定です。また、履修取り消しをしたこの授業は必修にカウントされるため、来年の春辺りに再挑戦する予定です。

CS6300のこれまでの記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

20代の元Webエンジニア。
海外大学院体験記や読書ログなど、日々の学びをアウトプットしていきます!

目次