システム境界を明らかにする

システム境界を明らかにする意味は、システムの機能とデータを決めるためです。
それは「システムが外部の世界とどのような接点を持つかが明らかでないと、システムの機能とデータは決められない」と考えているからです。

この考え方の根底にはシステムは何らかの入力と出力があり、その入力と出力のつじつまを合わせるのがシステムの機能とデータだと考えるからです。

 入力 →   システム  → 出力
       (機能、データ)

その入力と出力を担うのがシステム境界であると考えます。
そしてシステムに対する入力と出力を把握するためには、やりとりするタイミングとその時のデータを明らかにする必要があります。

システム境界の種類は2種類あります。
一つ目は人が接する部分、二つ目は外部のシステムと接する部分です。
人とシステムをユーザインターフェース、システムとシステムをシステムインターフェースとして分けて考えます。

そのユーザインターフェースとシステムインターフェースを以下の各モデルで整理します。

■人との接点(ユーザインターフェース)
人との接点を明らかにするためにユースケースと画面・帳票モデルを作成します。
ユースケースは業務フローのアクティビティ、利用シーンとのつながりが大事です。
なぜならばこのつながりがシステムと外部の正解の接点を表すことになるからです。
そしてアクティビティや利用シーンとつながることでユーザインターフェースとしてのタイミングを表すことになるからです。
http://k-method.jp/sample/sample_info_site/index.htm

次に画面・帳票モデルですが、これはユースケースにつなげる形で導出します。
ユースケースがシステムとの接点を表すと考えますので、画面・帳票はそこでの入出力情報を洗い出すことになります。
http://k-method.jp/sample/sample_info_site/index.htm

ユースケースでタイミングを計り、画面・帳票モデルで受け渡される情報を明らかにすることでユーザインターフェースを明らかにします

■外部システムとの接点(システムインターフェース)
システム間の連携はファイルやデータベース、通信などがありますが、最近はTCP/IPなどの通信で連携しているケースがほとんどです。
それらの連携をDRDRAではイベントとして整理します。
システム間で連携するタイミング毎にイベントがあり、そのイベントを洗い出すのがイベントモデルです。システム間の連携の種類を明らかにします。
http://k-method.jp/sample/sample_info_site/index.htm (この例ではイベントデータが抜けています)

イベントモデルはどのような連携があるかは分かりますが、そのタイミングがはっきりしません。
そこでそのタイミングを明らかにするために、ステートマシン図を利用します。
(ステートマシン図は状態を網羅的に表すことができ、かつ、状態間の遷移も明確に出来ます)
http://k-method.jp/sample/sample_info_site/index.htm 

RDRAではシステム間で連携を行う時は両者に共有する状態が存在すると考えます。
そして「イベントがその状態を変えると考えます」。
そこからイベントがその遷移に対応すると考えます。
こうすることでシステム間の状態が洗い出せれば、その状態遷移を引き起こすイベントが明らかになり、それらのイベントがシステムに必要なイベントだと考えます。
こうすることでシステム間に必要なイベントを網羅的に洗い出すことが出来ます。

システム連携の中には単純なサービス利用の場合もあります。
グーグルマップなどは単純なサービス利用の一例です。
このような場合はシステム間に状態の共有はありませんので、プロトコルモデルを作成しません。

          • -

まとめ
 ・システム境界はシステムの入出力を明らかにするところである
 ・入出力はタイミングとやりとりされるデータを捉える
 ・入出力はユーザインターフェースとシステムインターフェースに分けて考える
 ・ユーザインターフェースはユースケースと画面・帳票モデルで整理する
 ・システムインターフェースはイベントモデルとプロトコルモデルで整理する

システム境界までくれば後はシステムの機能とデータです。