1.サービスの概要ページを作成
LiveweaveやPhotoshopなどのデザインツールで簡単にページデザインを作成
2.データベースの属性を抽出
ページデザインを元に、必要なデータベースの属性をリストアップする。
e.g.) ブログを作成したいなら、「投稿者名、投稿日時、内容、...」が必要だな。といった感じですべて抽出する。
3.データベースのスキーマを作成
抽出したデータベースの属性を、とりあえず全部1つのリレーションスキーマとして、それを第1正規形(1NF)とする。続いて候補キーや関数従属性、結合従属性ウンタラカンタラによって第5正規形(5NF)になるようにリレーショナルスキーマを設計していく。
4.UMLの作成
データベーススキーマの設計によりモデルの属性(attributes)が決定したら、そのモデルのクラスメゾッドやコンストラクターなどを決定する。この時にオブジェクト指向のデザインパターンの知識があると良い。
こうして設計されたモデルをUMLに記述する。MacユーザーならVisual Paradigm for UMLがオススメ。web上でやるならdraw.ioを使ってもいいかも。
5.モデルの属性やメゾッドに関するテストをリストアップ
データのモデルやメゾッドが決まったら、バリデーションなどを考えていきます。データベースの授業で出てきた一貫性記述とか参考にしながらテストを考えるとやりやすい。
6.実際にコーディングしていく
以上でUMLやテストが設計出来たので、まずはspecなどでモデルのテストを書いていきましょう。テストがすべて書けたら、UMLの通りにModelをgenerate, generate,...しまくります。クラスメゾッドも書きまくります。
最後にコントローラからデータにアクセスしたり保存したりするコードを書いて、ビューにhamlとかerbとかでデータを表示できる用にしたりしておしまいです。