(文責:阿部)
プロトタイプの作成を終了し、これをもとにみるみるをWEBアプリケーション化することになった。 まず、みるみるのシステム全体アーキテクチャを次のようにした。
まずは、WEBアプリ化し、ユーザーがボタンを押すことにより更新できるHTMLベースのものをつくり、 のちに別に開発した自動更新部分と連携させることになった。
学生のビューをHTMLベースの部分とアプレットを使った自動更新部分に分けたことには、 開発しやすくなるという利点があった。それぞれの部分を別々の者が並行に開発でき、 HTMLだけで動作するものは容易に実装することができた。
モデル部分はプロトタイプのものを使い、それぞれの担当は次のようになった。
Servletやjspの書き直しを防ぎ、確実に作るため、状態遷移図を作成した。 これがきちんとしていれば、実装後のエラーを防ぐことができる。また、問題がおきたときに第3者にわかりやすく状況を説明することができ、スムーズに話を進めることができる。
注意点としては図には画面(jsp)のみ書くことである。 はじめに作られたものは図の中にサーブレットも書いてしまい結果的に分かりにくい。 また、意味的に関連の高い画面は近くに配置し、全体的な理解を助けることも重要である。
これらの反省を踏まえて作成した図は仕様変更により何度か修正され、次のようになった。
フォームのデータ仕様も同様に、Servletやjspの書き直しを防ぎ、確実に作るために用意した。
フォームに渡すデータ形式(プロトコル仕様) <RegisterServlet> 講義名(lectureName) : String パスワード(password) : String 講師名(teacher) : String <LoginServlet> 講義名(lectureId) : String パスワード(password) : String <QuestionServlet> 質問形式(questionPattern) : String (Y/N,2,3…) <ChangeQuestionServlet> 質問内容(questionContent) : String 選択肢内容(alternativeContent) : String (alternativeContent1, alternativeContent2...) <ShowListServlet> 選択肢番号(alternativeNumber) : String (alternativeNumber1, alternativeNumber2...)
フォームが渡すデータ形式(プロトコル仕様) <RegistarServlet> 氏(familyName) : String 名(firstName) : String 学籍番号(id) : String パスワード(password) : String <LoginServlet> 学籍番号(id) : String パスワード(password) : String 授業ID(lectureId) : String <AnswerServlet> 選択肢番号(alternativeNumber) : String