2020 ソフトウェア設計及び演習用の班Wiki
19::gr01::中間発表
アピールポイント
堅実な開発
初めての半年という期間のチーム開発であり、チーム開発そのものの経験が乏しい。そのため、私たちは授業の前半講義で教わったこと・教わることを着実にこなし、堅実に開発を進めていく。それにより、おそらく一般的な開発工程を学び、経験していくことが出来るだろう。
-
モジュールのインターフェースを班wikiにしっかり記述し、意思疎通を図る
1つのモジュールあたりのインターフェースは基本簡潔なので、その場その場の話し合いで伝えてしまうことも出来てしまうが、役割・動き・呼び出し方をちゃんと記述する事で、度々口頭確認やソースコード確認する手間を省き、各モジュールの担当機能を見失うこともなくなる。
-
最上位モジュールを除き、各モジュールはオブジェクトとし、外部から呼び出される事で動く形にする。
jsファイルが呼び出された時点で動いてしまうものはいつの間に動いているか、どのタイミングで何に影響を与えているか把握がしずらい。数が少ないうちはいいが、多い場合、何か変更しエラーが起きた時、勝手に動いているもの同士が影響し合っていると、その全てを原因候補として見なければならず、原因の把握が困難になる。
-
こまめなテストをする
各モジュールの単体テストも行う。
モジュール一つ一つに上位モジュールと下位モジュール代わりのものを用意し、テストするのはひと手間かかるが、単体テストせず完成してから結合してテストするのは色々とまずい。そのため、しっかりと単体テストで動作を確認する。
また、テスト時、必要となる上位モジュールと下位モジュールの代わりとなるものの記述はモジュールとは別のファイルに書く。ささやかなものでも同じファイルに書いてしまうと、テスト後、時には1部を消し忘れ、結合した際にその記述によって挙動がおかしくなる可能性は十分にある。加えて、別ファイルとして残っているおかげでいつでも単体テストに戻れる。
-
こまめな結合をする
モジュール分けをする事で、一つ一つのモジュールは小さくなり、限られた機能のみを持つため、単体では作り上げ易くなっている。しかしその分結合も必要になる。
細部が出来上がってなくてもまず結合してみて、モジュールを利用する側とされる側の意思疎通ができているか確認をする、ということを実践する。コードが大きく複雑になってから結合し、エラーや想定外の挙動があっては直すのも一苦労である。
班wikiに目的の挙動を書いているが、間違うことはある。例えば、あるひとつの画面を仕切るオブジェクトに対して、オブジェクトを実体化したタイミングで画面切り替えを行うか、何か操作を挟んで画面切り替えを行うか、を間違うと予期せぬタイミングで画面遷移が行われたり、画面遷移が一切行われなかったり、そもそも動かなくなったりする。
そのようなミスを早期発見・対処するため、こまめな結合をしていく。
-
結合時不具合が出来にくくするための各種取り決めを作る
キーバインドは一括で行い、名前の統一を班wikiで図るなどの取り決めを作ることで、不具合を出にくくする。
プロトタイプ
プロトタイププログラムのgitはこちら
ホーム画面
各ボタンはクリックで反応します。
「ストーリー」
ストーリーを進めていくストーリーモードを開始します。
「曲一覧」
音ゲーで遊ぶ音ゲーモードを開始します。
「スチル一覧」
スチル(一枚絵)を観覧するスチル一覧モードを開始します。
「設定」
設定画面を開きます。
「戻る」
スタート画面へ戻ります。
「セーブ」
現状のストーリー進行情報を保存します。
ストーリーモード
画面クリックもしくはスペースキーでストーリーが進行していきます。
選択肢はクリックで選びます。
時には音ゲーが始まります。音ゲーの遊び方は下の方にある<音ゲー>の欄を見てください。
各ボタンはクリックで反応します。
「設定」
設定画面を開きます
「戻る」
ホーム画面へ戻ります。
最終更新日:2019/06/14 10:19:07