システム開発におけるモデル化

システム開発において,対象となる業務のプロセスや業務に使用するデータ構造を分析し,図式化することをモデル化と呼ぶ。

モデル化することで,業務やシステムで行う処理が可視化され,改善のポイントや追加機能などが明らかになる。モデル化に用いる代表的な図式法には,次表のようなものがある。

図式特徴
DFDシステムが持つ機能と,機能間のデータの流れを記述する
ERDシステムに存在するデータとデータ間の関係を記述する
STDシステムがとる状態とその遷移を記述する
ペトリネットシステムの動作を記述する図式表現。並列処理や同期の記述に適している
UMLオブジェクト指向によるモデル化に用いられる各種図式表現を統合したもの。モデル化で広く用いられる
表 システム開発におけるモデル化に用いる図式と特徴

物理モデルと論理モデル

モデルには物理モデルと論理モデルがある。

モデル説明
物理モデル業務の現状や実装を表すモデル。実装に必要な具体的な制約(担当者,組織,場所,タイミング,媒体など)が加わっている
論理モデル物理モデルから制約を取り払ったモデル
表 物理モデルと論理モデル

物理モデルは,システムや業務の現状を表す現物理モデルと,将来の状態を表す新物理モデルに分類できる。

同様に,論理モデルも,現物理モデル新論理モデルに分類できる。

各モデルの関係は次の図のようになる。

図 物理モデルと論理モデル

モデル化のアプローチ

モデル化にあたっては,トップダウンアプローチとボトムアップアプローチの二つの手法がある。

アプローチ説明
トップダウンアプローチ業務の全体像(概要)を先に定義して,各部分を詳細化する手法
ボトムアップアプローチ現状業務の各部分を調査しモデル化しながら,全体をまとめる手法
表 トップダウンアプローチとボトムアップアプローチ

トップダウンアプローチとボトムアップアプローチは,業務やシステム開発の性質によって使い分けるとよい。

例えば,新規システムを導入して業務を抜本的に改革するような場合には,業務の理想像を出発点とするため,トップダウンアプローチが適している。

一方,業務の改善を行う場合には,現行業務を出発点とするボトムアップアプローチが適している。

トップダウンアプローチでもボトムアップアプローチでも,最終的な論理データモデルは正規化され,かつ,業務上の属性は全て備えていなければならない。

DFD (Data Flow Diagram)

機能情報関連図(DFD)は,対象業務の処理過程と情報の流れを統一記述規則に基づいて表現したものである。DFD は,データの流れに着目して,処理機能を設計するのに有用な図である。DFD の記述には,プロセス,データフロー,データストア,源泉と吸収の四つの図記号を用いる。

図 DFD (Data Flow Diagram)

企業の業務やシステムの全体最適化を目的としたエンタープライズアーキテクチャ(EA : Enterprise Architecture)の最上位層のビジネスアーキテクチャの策定時に,機能構成図(DMM)をもとに作成される。

DFD 作成の注意点

DFD は比較的自由度の高い図式表現であるが,守らなければならないルールがある。

ルール1「プロセスには,入力データフローと出力データフローが一つ以上存在する。」

プロセスはデータの発生源でも吸収先でもなく,入力データを出力データに変換する機能を表す。そのため,プロセスには入力データフローと出力データフローをそれぞれ一つ以上持つ。

ルール2「二つのデータストアが直接データフローで結ばれることはない。」

あるデータストアから他のデータストアへデータを受け渡す際は必ずプロセスが介在する。たとえ単純なコピーであっても「コピーする」というプロセスが存在する。

DFD の階層化

DFD のプロセスの一つひとつを詳細化することで,DFD の階層構造を作ることができる。例えば,全社的な業務の流れを俯瞰するために全社の概略的な DFD を作成した上で,これを部門や機能ごとに詳細化して下位の DFD を作成する。階層化された DFD は,プログラムの構造設計に役立ていることができる。

親プロセスと子プロセスに分割して詳細化した DFD との間で,入力データフローと出力データフローの本数について整合がとれていることを確認する。

ERD (Entity-Relationship Diagram)

ERD(E-R 図)は,対象業務に存在するデータとデータ同士の関係をもとに,モデル化する図式表現である。ERD において,分析の対象となるデータを実体エンティティ),データ同士の関係を関連リレーションシップ)という。ERD はエンティティ間のリレーションシップで業務を表現するのに有用な図である。

ペトリネット

ペトリネットは,プレース(状態)とトランザクション(事象)という 2 種類のノードを持つ有向グラフで,トランザクションの発火(事象の発生)を契機に,トークンがプレースを移動する。ペトリネットは,並列に生起する事象や同期を記述するのに優れた図式表現である。

図 ペトリネット

2 種類のノードを持つ有向グラフを有向 2 部グラフと呼ぶ。「有向 2 部グラフ」「並列に生起する事象の同期」がペトリネットのキーワードである。

UML (Unified Modeling Language)

UML は,モデル化において最も広く用いられる図式表現である。オブジェクトモデリングのために標準化された記述ツールであるが,現在では業務プロセスの分析など幅広く利用されている。

UML は複数の図式表現の集まりで,その中からモデル化の目的に応じた図式表現を使用する。次表に主なものを挙げる。

図式表現
クラス図クラスの定義,クラス間の関連を表現する
コンポーネント図コンポーネントの内部構造やインタフェースを表現する
ユースケース図利用者がどの機能をどのように利用するかを表現する
アクティビティ図業務や処理の流れを表現する
ステートマシン図オブジェクトの状態変化を表現する
シーケンス図オブジェクト間のメッセージのやりとりを時系列に表現する
コミュニケーション図オブジェクト間のメッセージのやりとりを表現する
表 UML の図式表現

クラス図

UML を使って図のクラス P を定義した。

図 クラス P

クラスは,クラス名,属性,操作の 3 要素で構成される。個々の操作を定義する際,その公開度も決める。

+ の操作はどのクラスからでもアクセス可能となり,- の操作はクラス内からのみアクセス可能,# の操作はクラス内とその回の階層のサブクラスからのみアクセス可能となる。

可視性の種類

  • + の操作:すべてのクラスからアクセスできる(public)
  • – の操作:自クラスのみからアクセスできる(private)
  • # の操作:自クラスおよびそれを継承するクラスからのみアクセスできる。

SysML (System Modeling Language)

SysML (Systems Modeling Language) は,システムの設計や分析を行うためのモデリング言語で,UML の仕様の一部を流用し,機能を拡張したものである。パラメトリック図によって,モデル要素間の制約条件が記述できる。

更新履歴

  • 2022年11月13日 新規作成
  • 2023年2月12日 DFD,ペトリネットの図を追加
  • 2023年2月18日 SysML を追加
  • 2023年2月19日 可視性の種類を追加
  • 2023年4月7日 UML を使ったクラスの定義の説明に追記
  • 2024年3月10日 メタディスクリプションを見直し

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です