今回から実機を使ったハンズオン形式に。場所も笹塚になった。
今回のテーマは
- モデリング言語
- オブジェクト指向開発実習
勤怠管理システムを題材に,シナリオ,ユースケース図,クラス図,シーケンス図の作成を Visioを用いておこなった。以下雑感とメモ。
- シナリオ
- 業務を作文形式で書き連ねたもの。
- 形式は自由だが箇条書きはあまりお勧めしない。勝手に要件を丸められる傾向があるので(そうとも思えないが…。作文だと長くなるので要件がぼけてしまう気がする)。
- 次の 2種類に分けて書く。
- 基本シナリオ。正常系のみを自由にまとめたシナリオ。
- 2次シナリオ。異常系をまとめたシナリオ。基本シナリオの 1.5倍くらいのボリュームで。
- このフェーズでは完成度は 80%程度でよい。といっても最初から80%を目標にするとそれ以下になるので,100%を目指していくとちょうどいい具合に 80%になるとのこと。
- ユースケース図
- シナリオはユースケース単位にまとめる。
- 視点はアクター方向から。逆方向からは見ない。
- アクターからアクターへのデータの直接的なやりとりはない。必ず間に業務が入る。
- クラス図
- 正直,ここだけは経験とセンスの問題だと思う。この通りやれば必ずいいクラス図ができる,という手法はないし,講師からもそのような解説はなかった。
- 今回は開発の早い段階でクラス設計をおこなったが,どうしても実装を意識せざるを得なくなり業務分析がおろそかになる気がする。この段階では業務ごとにサブシステムに分割する,くらいのレベルで止めておいたほうがいいのではと感じた。
- テーブル設計の時にクラスを意識することになるので,テーブル設計をまじめにやれば大きな間違いにはならないと思うけど。
- シーケンス図
- これは難しくない。クラスが決まれば淡々と書ける。
ユースケース図,クラス図,シーケンス図だけあれば十分かな。他の UML図はわかりづらい。図で書いてわかりづらいというのは,そもそも図で書こうとすること自体が間違っているわけで。