課題として、宿泊予約システムをRuby on Railsで設計・実装するというものがあった。
半年の間に学習から設計・実装という流れになっており、開発はグループワークとなっていた。
グループワーク課題として作成していたこともあり、資料は掲示することができない(この記事を書くのに年単位で経っており、連絡が取れないため確認もできない)がメモ書き程度に残しておきたいと思う。
システム設計
システム設計では、ユースケース図の制作から始まり、画面遷移図、ER図を作成した。
ユースケース図では、Actor・Use case・Relationshipを決める。
Actorはシステムと相互作用する外部の人やシステムを指し、棒人間で表した。今回は、Herokuを使用してデプロイすることを前提としたため、DB(PostgreSQL)は外部システムとした。
Use caseでは、楕円を書き”動詞”または”目的語と動詞”ですることを書く。関連するアクターが主語になるようになっている。
Relationshipでは、上記の関係を実線で結んでいる。
画面遷移図
Webのため、ルーティングと考えられるこの図は、画面単位で行えるアクションとそのアクションによってどの画面に遷移するかをまとめている。
この時、ユーザごとのアクセス権限についても議論を行った。
ER図
Ruby on Railsでは、DBをモデルとして管理する。モデル及びDBのテーブル情報が得られるような図とする。その中には、AttributeやRelationshipを記す。
テスト駆動開発
グループワークとして互いに作成したシステムの人力検証を行うだけでなく、Minitestを使用した。インストールし、トップページ閲覧のテストやログインの有無によるアクセス権限のテスト、予約完了のテストなど様々なテストを行った。これをグループ全体でテストすることで品質をある程度確保することができている。
最後に
特に、作成したものを上げることはできなかったが、どのようなことをしたのかを軽くまとめる事ができたと思う。ただ、抽象度が高すぎるので、年単位で執筆をサボるのはやめたい。やめたい。