ソフトウェア設計練習帳
モデリングやクラス設計を学ぶために、実例に近い問題を考えるための練習帳です。
クラウドソーシング
要求仕様
クラウドソーシングのサービスを作ります。
業務依頼者は、案件を複数作ることができます。案件は以下のような項目を持ちます。
タイトル
詳細
求めるスキル
予算
募集人数
依頼形式: プロジェクト形式かコンペ形式か?
応募期限
受注希望者は、案件を検索し、概算見積を付けて応募します。応募は以下のような項目を持ちます。
コンペの場合
提案作品: ファイル
プロジェクト形式の場合
見積もり金額
完了予定日
いずれの形式の場合もフリーフォーマットの「メッセージ」を記入できる。
業務依頼者は、応募者の見積額、業務経歴・過去の委託業務内容を閲覧できますが、一次選考決定までは応募者の個人情報は閲覧できません。
業務依頼者は一次選考者を絞り込んだら、案件を二次選考に進めます。
二次選考まで進んだら、個人のプロフィールも閲覧できるようになり、オンライン上でテキストチャットによる面談ができます。
最終的に発注先を決定したら、双方に契約書が作成されサインを交わしたら契約が成立します。
課題
Day1 - コンテキストマップ、ユースケース記述およびER図を書いてみましょう
Day2 - エッジケース、運用開始すると発生しそうな例外、異例対応を考えて議論してみましょう。
Day3 - ドメイン層の設計をしましょう
Day4 - Web APIの設計をしましょう
Day5 - Web APIを実装しましょう
仕様の変更
納品・検収の管理ができるようにしたい
コンペ形式(仮納品が契約の前にくる)
請求(請求書の発行/送付)・支払いの機能を追加したい。
請求の機能は、このプラットフォームを通さずに契約したタスクの分も合わせて見れるようにしたい。