実践的オブジェクト指向分析入門38
入力値と出力値が判明したら、オブジェクトの制約について考えます。どの様な機能も前提となる条件があります。現時点で注目する制約は事前条件・事後条件・不変表明です。他にも制約は考えられますが、余程複雑な機能でない限り、ひとまずこの3つの条件を考えましょう。
事前条件とは、処理をする前に満たさねばならない条件です。例えば、「振り込み処理は、投入する金額が1円以上なければならない。」などです。事後条件はその反対に、処理後に満たさねばならない条件です。残りの不変表明は、オブジェクトが常に満たすべき条件です。例えば、「社員の勤務年数は、年齢を超えてはならない。」などです。
制約はシーケンス図に追加します。制約の書き方はいくつか考えられますが、私がお勧めする方法を書きます。不変表明をオブジェクトの上に書いておきます。そうする事により、オブジェクトの性質が分かりやすくなります。事前条件と事後条件については、[ 金額 > 0 ]の様にメッセージ名に括弧をつけて書くか、制約をつける方法があります。メッセージに制約を書く方法は、処理の流れが変わる時に使用します。制約をノートなどで書く方法は、処理の流れに注目しない時に使用します。
シーケンス図に書く時に注意する事は、「重要な制約のみを記述するように注意する」です。シーケンス図は細かい制約を書くのには向いていませんし、過剰な分析は害となります。もし、分析において必要ならば、アクティビティ図を別に書くとよいでしょう。その時は、関係する図がある事をメモに書きましょう。続く...