入門 UML 2.0

[cover photo]
TOPICS
Programming
発行年月日
PRINT LENGTH
288
ISBN
978-4-87311-317-3
原書
Learning UML 2.0
FORMAT
PDF
Ebook
3,080円
Ebookを購入する

本書は、理論ではなく実践に基づくUMLの入門書であり、旧バージョンから大幅に改訂されたUML 2.0に完全に対応しています。図の種類ごとに章を分け、実践的なサンプルを数多く使って、初心者にもわかりやすく説明しています。単に表記法を示すだけでなく、注意すべき点とその理由を丁寧に解説しているので、使用するツールや言語を問わず、あらゆるシステム開発プロジェクトに応用が可能です。旧バージョンからの改訂箇所を手早く学びたい方にも有用ですし、UMLを新たに学ぶ読者にとっても格好の手引きとなるでしょう。

目次

まえがき

1章 UMLの概要
    1.1 モデリング言語には何が含まれているか?
        1.1.1 過度な詳細:コードによるモデリング
        1.1.2 冗長性、あいまいさ、混同:非公式な言語によるモデリング
        1.1.3 適正なバランス:正式な言語によるモデリング
    1.2 なぜUML 2.0なのか?
    1.3 モデルと図
    1.4 UMLの「度合い」
    1.5 UMLとソフトウェア開発プロセス
    1.6 モデルのビュー
    1.7 初めてのUML
        1.7.1 ノート
        1.7.2 ステレオタイプ
    1.8 次のステップ

2章 要件をモデリングする:ユースケース図
    2.1 システム要件の収集
        2.1.1 システムの外部に存在するもの:アクター
        2.1.2 ユースケース
        2.1.3 アクターとユースケースの関連
        2.1.4 システム境界
        2.1.5 ユースケース記述
    2.2 ユースケースの関係
        2.2.1 <<include>>関係
        2.2.2 特別なケース
        2.2.3 <<extend>>関係
    2.3 ユースケース概要図
    2.4 次のステップ

3章 システムのワークフローをモデリングする:アクティビティ図
    3.1 アクティビティ図の基本
    3.2 アクティビティとアクション
    3.3 デシジョンとマージ
    3.4 同時に複数のタスクを実行する
    3.5 タイムイベント
    3.6 他のアクティビティの呼び出し
    3.7 オブジェクト
        3.7.1 アクション間で渡されるオブジェクトを示す
        3.7.2 アクションの入力と出力を示す
        3.7.3 アクティビティ内でのオブジェクトの状態変化を示す
        3.7.4 アクティビティへの入力とアクティビティからの出力を示す
    3.8 シグナルの送信と受信
    3.9 アクティビティの開始
    3.10 アクティビティとフローの終了
        3.10.1 アクティビティの割り込み
        3.10.2 フローの終了
    3.11 パーティション(スイムレーン)
    3.12 複雑なアクティビティ図の取り扱い
        3.12.1 コネクタ
        3.12.2 拡張領域
    3.13 次のステップ

4章 システムの論理構造をモデリングする:クラスとクラス図の概要
    4.1 クラスとは何か?
        4.1.1 抽象化
        4.1.2 カプセル化
    4.2 UMLでのクラス
    4.3 可視性
        4.3.1 public可視性
        4.3.2 protected可視性
        4.3.3 package可視性
        4.3.4 private可視性
    4.4 クラスの状態:属性
        4.4.1 名前と型
        4.4.2 多重度
        4.4.3 属性のプロパティ
        4.4.4 インライン属性と関係による属性
    4.5 クラスの振る舞い:操作
        4.5.1 パラメータ
        4.5.2 戻り値の型
    4.6 クラスの静的なパーツ
    4.7 次のステップ

5章 システムの論理構造をモデリングする:高度なクラス図
    5.1 クラスの関係
        5.1.1 依存
        5.1.2 関連
        5.1.3 集約
        5.1.4 コンポジション
        5.1.5 汎化(もしくは継承)
    5.2 制約
    5.3 抽象クラス
    5.4 インタフェース
    5.5 テンプレート
    5.6 次のステップ

6章 クラスを活性化する:オブジェクト図
    6.1 オブジェクト
    6.2 リンク
        6.2.1 リンクと制約
    6.3 クラステンプレートのバインディング
    6.4 次のステップ

7章 順序付けられた相互作用をモデリングする:シーケンス図
    7.1 シーケンス図の参加要素
        7.1.1 参加要素の名前
    7.2 時間
    7.3 イベント、シグナル、メッセージ
        7.3.1 メッセージのシグニチャ
    7.4 活性区間
    7.5 ネストされたメッセージ
    7.6 メッセージの矢印
        7.6.1 同期メッセージ
        7.6.2 非同期メッセージ
        7.6.3 戻りメッセージ
        7.6.4 参加要素の生成メッセージと破棄メッセージ
    7.7 シーケンス図を使用してユースケースを活性化する
        7.7.1 最上位のシーケンス図
        7.7.2 相互作用を個別の参加要素に分解する
        7.7.3 参加要素の生成の使用
        7.7.4 参加要素の破棄の使用
        7.7.5 非同期メッセージの使用
    7.8 複合フラグメントを使用して複雑な相互作用を管理する
        7.8.1 複合フラグメントを使用する:refフラグメント
        7.8.2 UML 2.0のフラグメントの種類の概要
    7.9 次のステップ

8章 相互作用のリンクに注目する:コミュニケーション図
    8.1 参加要素、リンク、メッセージ
        8.1.1 同時に発生するメッセージ
        8.1.2 メッセージを繰り返し呼び出す
        8.1.3 条件に基づいてメッセージを送信する
        8.1.4 参加要素が自分自身にメッセージを送信する
    8.2 コミュニケーション図を使用して相互作用を具体化する
    8.3 「コミュニケーション図」対「シーケンス図」
        8.3.1 対戦方法
        8.3.2 メインイベント
    8.4 次のステップ

9章 相互作用のタイミングに注目する:タイミング図
    9.1 タイミング図とはどのようなものか?
    9.2 シーケンス図からタイミング図を作成する
        9.2.1 システム要件におけるタイミング制約
    9.3 タイミング図に参加要素を追加する
    9.4 状態
    9.5 時間
        9.5.1 絶対的な時間と相対的な時間の指定
    9.6 参加要素の状態タイムライン
    9.7 イベントとメッセージ
    9.8 タイミング制約
        9.8.1 タイミング制約のフォーマット
        9.8.2 状態とイベントにタイミング制約を適用する
    9.9 タイミング図の参加要素を整理する
    9.10 代替の表記法
    9.11 次のステップ

10章 相互作用の全体像を示す:相互作用概要図
    10.1 相互作用概要図のパーツ
    10.2 相互作用概要図を使用してユースケースをモデリングする
        10.2.1 相互作用を1つにまとめる
        10.2.2 相互作用同士をつなぎ合わせる
    10.3 次のステップ

11章 クラスの内部構造をモデリングする:コンポジット構造図
    11.1 内部構造
        11.1.1 クラス図が機能しない場合
        11.1.2 クラスのパート
        11.1.3 コネクタ
        11.1.4 多重度の代替の表記法
        11.1.5 プロパティ
        11.1.6 包含されるアイテム間の複雑な関係を示す
        11.1.7 内部構造のインスタンス
    11.2 クラスがどのように使用されるかを示す
    11.3 コラボレーションを使用してパターンを示す
    11.4 次のステップ

12章 システムのパーツを管理および再利用する:コンポーネント図
    12.1 コンポーネントとは何か?
    12.2 UMLの基本的なコンポーネント
    12.3 コンポーネントの提供インタフェースと要求インタフェース
        12.3.1 ボールとソケットによるインタフェースの表記法
        12.3.2 ステレオタイプによるインタフェースの表記法
        12.3.3 リストによるインタフェースの表記法
    12.4 協調するコンポーネントを示す
    12.5 コンポーネントを実現するクラス
    12.6 ポートと内部構造
        12.6.1 委譲コネクタ
        12.6.2 アセンブリコネクタ
    12.7 コンポーネントのブラックボックスビューとホワイトボックスビュー
    12.8 次のステップ

13章 モデルを整理する:パッケージ図
    13.1 パッケージ
        13.1.1 パッケージの内容
        13.1.2 UMLツールのバリエーション
    13.2 相互に参照するクラスおよび名前空間
    13.3 要素の可視性
    13.4 パッケージの依存関係
    13.5 パッケージのインポートとアクセス
    13.6 パッケージの依存関係の管理
    13.7 パッケージを使用してユースケースを整理する
    13.8 次のステップ

14章 オブジェクトの状態をモデリングする:状態マシン図
    14.1 基本要素
    14.2 状態
    14.3 遷移
        14.3.1 遷移のバリエーション
    14.4 ソフトウェアにおける状態
    14.5 高度な状態の振る舞い
        14.5.1 内部振る舞い
        14.5.2 内部遷移
    14.6 コンポジット状態
    14.7 高度な擬似状態
    14.8 シグナル
    14.9 プロトコル状態マシン
    14.10 次のステップ

15章 システムの配置をモデリングする:配置図
    15.1 単純なシステムを配置する
    15.2 配置されるソフトウェア:成果物
        15.2.1 成果物をノードに配置する
        15.2.2 ソフトウェアを成果物に結び付ける
    15.3 ノードとは何か?
    15.4 ハードウェアノードと実行環境ノード
        15.4.1 ノードのインスタンスを示す
    15.5 ノード間の通信
    15.6 配置仕様
    15.7 配置図をいつ使用すべきか
    15.8 次のステップ

付録A OCL(オブジェクト制約言語)
    A.1 OCL式の作成
    A.2 組み込み型
    A.3 演算子
    A.4 式を組み立てる
    A.5 コンテキスト
    A.6 制約のタイプ
    A.7 OCLの自動化

付録B UMLをカスタマイズする:プロファイル
    B.1 プロファイルとは何か?
    B.2 ステレオタイプ
    B.3 タグ付き値
    B.4 制約
    B.5 プロファイルの作成
    B.6 メタモデルの取り扱い
    B.7 プロファイルの使用
    B.8 なぜ、わざわざプロファイルを使用するのか?

付録C UMLの歴史
    C.1 OOADの一部を取り...
    C.2 ...少しのOOSEと...
    C.3 ...少しのOMTを加え...
    C.4 ...10年から15年熟成させます

索引