UML
UML は大別して「構造図」と「振舞図」の 2 種類から構成される。
構造図
クラス図
図の目的
- システムの静的な構造を表現する。
- システムを構成する概念を表現する。
- データと操作の情報を表現する。
表記法
汎化
サブクラスがスーパークラスを基に具体化されたクラスである場合に使用する。
インターフェース
汎化の一種。
クラスが実現しなければならない操作のみが定義された
特別なクラスを「インターフェース」と呼ぶ。
操作の具体的な処理はサブクラスで記載する。
集約
クラス間に「全体 - 部分」の関係がある場合に使用する。
コンポジション
全体インスタンスが部分インスタンスを所有する場合に使用する。
依存
オブジェクト図
図の目的
- 個々のオブジェクトが保持する属性と値を表現する。
- オブジェクト間の繋がりを表現する。
表記法
名称 | 役割 |
---|---|
オブジェクト | システム化の対象とするモノを表す。 |
クラス | オブジェクトを抽象化した概念を表す。 |
属性 | オブジェクトが持つべきデータ(値)を表す。 |
コンポーネント図
システム内で自立している1つ以上のインターフェイスを持つ集合体をコンポーネントと呼ぶ。
図の目的
- コンポーネント間の関係を明らかにする。
- システム全体を表現する。
表記法
名称 | 説明 |
---|---|
サブシステム | コンポーネントの集合体 |
コンポーネント | クラスの集合体 |
提供インターフェース | 自コンポーネントが外部コンポーネントに対して提供しているインターフェース |
要求インターフェース | 外部コンポーネントが自コンポーネントを利用する際に要求するインターフェース |
ポート | インターフェースとコンポーネントの接点 |
委譲コネクタ | インターフェースの実現をサブシステム内部のコンポーネントやクラスへ委譲することを表す |
配置図
図の目的
- システムの物理的な構造を表現する。
- ハードウェア間の接続関係を明確にする。
- 実行環境の構成を表現する。
- ファイルや DB テーブルの配置を表現する。
表記法
パッケージ図
図の目的
- 複数のモデル要素をグルーピングして関係性を整理する。
表記法
振舞図
ユースケース図
図の目的
- システム化の対象とする機能を可視化する。
- 機能に関係する外部要素を可視化する。
- ユーザの視点からシステムの提供する機能を洗い出す。
表記法
名称 | 役割 |
---|---|
ユースケース | システム利用者に対して提供する機能・振舞を表す。 |
アクター | システム利用者を表す。 |
システム境界 | どこまでをシステム化の対象とするのかを表す。ユースケースはシステム境界の内側、アクターはシステム境界の外側に配置すること。 |
包含
複数のユースケースから共通利用されるユースケースを表す。
汎化
拡張
条件付きで他のユースケースを利用することを表す。
アクティビティ図
図の目的
- システムの処理の流れを表現する。
- システムのデータの流れを表現する。
表記法
名称 | 役割 |
---|---|
アクション | モデリングの対象とするものが行う処理を表す。 |
デシジョンノード | 処理の分岐を表す。 |
ガード | 処理が分岐する条件を表す。 |
マージノード | 個々のフローが一つに合流することを表す。 |
ステートマシン図
図の目的
- オブジェクトの状態変化を表現する。
- 状態の遷移を表現する。
- 遷移を起こす契機を表現する。
- 遷移するか否かを決める判断条件を表現する。
表記法
名称 | 役割 |
---|---|
状態 | オブジェクトの状態を表す。 |
トリガー | 状態が遷移するきっかけとなる事象を表す。 |
ガード | 状態を遷移させて良いと判断する条件を表す。 |
エフェクト | 状態遷移する時に実行する処理を表す。 |
entry | 状態遷移した直後に一度だけ実行される処理を表す。 |
do | 当該状態にある間、継続して実行される処理を表す。 |
exit | 状態遷移する直前に一度だけ実行される処理を表す。 |
シーケンス図
図の目的
- 処理の内容を時系列で表現する。
- ライフライン間でやり取りされるメッセージの順番や方向を表現する。
- ライフラインの生成や消滅のタイミングを表現する。
表記法
コミュニケーション図
図の目的
- ライフラインとライフラインの接続関係を表現する。
表記法
参考資料
著者 | 書名 | 出版社 | 出版年 |
---|---|---|---|
竹政昭利・林田幸司・大西洋平・三村次朗・藤本陽啓・伊藤宏幸 | かんたん UML 入門 | 技術評論社 | 2017 |