【連載】
前回から、架空の宅配便会社「まいにち宅配便」が開発を進めている「配達予約システム」を例にとり、UMLを用いてシステムの仕様をモデリングする方法について説明しています。今回は、システム仕様の中で重要な要素の1つである「状態」の仕様をモデリングする方法について解説します。
状態の検討も、ビジネスモデリングから仕様化まで一貫して行います。状態を表すステートマシン図もクラス図と同様に、ビジネスモデリングで作成した図を仕様のレベルにまで詳細化する必要があります。その際、次の5点を意識するとよいでしょう。
ビジネスモデリングで作成したステートマシン図にはシステム化の範囲外の状態や他システムが管理する状態も含まれているため、これらを取り除く必要があります。例えば、図1のビジネスモデリングのステートマシン図には「輸送中」状態がありますが、配達予約システムでは輸送中の状態を管理する必要がありません(図2)。
システムに必要な状態は主に3種類あります。1つ目はエンドユーザーのための状態です。第14回の図1の配達予定画面にある「配達予約なし」ステータスは、エンドユーザーがどの宅配を配達予約したらよいかを見分けられるように配慮して定義されたものです。図2のステートマシン図では、「待機中」状態をコンポジット状態(注1)にし、このサブ状態として「配達予約なし」状態を定義しています。
注1:複数の状態を統合した状態。複数の状態からの遷移先が同じ状態の場合に使う。
2つ目のシステムに必要な状態は他システムのための状態です。今回の例にはありませんが、他システムにデータの状態を提供しなければいけない場合がこれに当たります。
システムに必要な状態の3つ目がビジネスルールを実現するために必要になる状態、言い換えれば自システムのために必要な状態です。例えば、配達予定画面には届け済みの宅配は表示しません(予約する必要がないためです)。このビジネスルールを実現するには、宅配の状態として「届け済み」状態を管理する必要があります(図2)。
また、ビジネスルールは遷移にも影響を及ぼします。例えば、届け先が不在だった場合、配達予約ができるようになります。そのため、届け先不在の場合には「届け中」状態から「待機中」状態へ遷移する必要があります。
ビジネスモデリングで作成したステートマシン図は、業務の観点から状態遷移のトリガー(きっかけ)を定義しています。しかし、ユースケースやビジネスルールが明らかになっている仕様化の段階であれば、よりシステムの仕様を正しく反映したトリガーに定義し直すことが必要です。例えば、ビジネスモデリングのステートマシン図(図1)では、「ドライバーが配達に出発した」ら「届け中」になると定義しています。これに対し、仕様を反映したステートマシン図(図2)では、「配達開始時刻が来た」ら「届け中」になると定義しています。
『出典:システム開発ジャーナル Vol.4(2008年5月発刊)』
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。
| JBossDataGridのリスナーのコールバック関数を呼び出す [18:20 5/24] |
| 電通デジタル、デジタル広告運用の専門会社を設立 - "次世代の電通" [18:18 5/24] |
| 【レポート】足立区プライベートクラウド、構築/運用支援にセコムトラストシステムズが選ばれた理由 [17:43 5/24] |
| クラウディアン、ストレージをサービス化するソフトウェアを発表 [16:22 5/24] |
| オージス総研、使用量を見える化するクラウド型の電力メーター管理サービス [16:19 5/24] |
|
【レポート】もっとも無難なAndroidスマホはどれなのか考えてみた - ドコモ編 [10:15 5/25] 携帯 |
|
[YOSHIKI]音楽業界への疑問と希望を語る 「音楽は消耗品ではない」 [10:00 5/25] ホビー |
|
【ハウツー】イカの塩辛を使うと、イカスミパスタがぐっとおいしく出来上がる! [10:00 5/25] ライフ |
|
パーティーで「Nibble(かじる)」ものって?【知っているとちょっとカッコいい英語のコネタ】 [09:00 5/25] ライフ |
|
【ハウツー】電子レンジでつくるカステラがしっとりで激ウマ! [09:00 5/25] ライフ |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。