目次
1. オブジェクト指向分析/設計とは? …………………………… 9
1.1. オブジェクト指向への期待 …………………………………………………… 9
1.1.1. ソフトウェアの品質を向上させる工夫……………………………………… 10
1.1.2. オブジェクト指向の特徴……………………………………………………… 15
1.1.3. 再利用性の高いモジュールを設計するために……………………………… 17
1.2. UML の特徴とモデリング ……………………………………………………21
1.2.1. UML の特徴 …………………………………………………………………… 21
1.2.2. モデリングによるシステム開発……………………………………………… 26
さらに理解を深めるために ………………………………………………………… 29
2. オブジェクト指向の基礎概念 …………………………………… 31
2.1. クラスとオブジェクト …………………………………………………………31
2.1.1. オブジェクト…………………………………………………………………… 31
2.1.2. クラス ………………………………………………………………………… 35
2.2. 関連とリンク ……………………………………………………………………40
2.2.1. リンク ………………………………………………………………………… 40
2.2.2. 関連 ………………………………………………………………………… 42
2.3. モデルを動かす …………………………………………………………………47
2.4. 汎化と継承 ………………………………………………………………………49
2.5. ポリモーフィズム ………………………………………………………………53
さらに理解を深めるために ………………………………………………………… 56
アナリシスパターン【マーチン・ファウラー】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/11/22(水) 14:58:37.37ID:LuqUsrvZ2デフォルトの名無しさん
2017/11/22(水) 15:00:27.61ID:LuqUsrvZ 3. ソフトウェアに対する要求の把握 ……………………………… 59
3.1. ユースケース図とその利用 ……………………………………………………59
3.1.1. ユースケース図とは…………………………………………………………… 59
3.1.2. ユースケース図を使ってシステム機能を表現する………………………… 62
3.1.3. ユースケース図の特徴を考える……………………………………………… 67
3.1.4. ユースケースを記述する……………………………………………………… 69
3.2. ユースケースモデルの作成 ……………………………………………………73
3.2.1. 情報を登録するためのユースケース………………………………………… 73
3.2.2. 既存システムとの関係を考える……………………………………………… 74
3.2.3. 数への要求を明確にする……………………………………………………… 75
3.2.4. 時間・日時で起動されるユースケース……………………………………… 75
3.2.5. CRUD を考慮にいれたユースケースモデル ……………………………… 77
3.2.6. パッケージを導入する………………………………………………………… 77
3.2.7. ユースケース記述を作成して、ユースケースモデルを完成させる……… 80
3.1. ユースケース図とその利用 ……………………………………………………59
3.1.1. ユースケース図とは…………………………………………………………… 59
3.1.2. ユースケース図を使ってシステム機能を表現する………………………… 62
3.1.3. ユースケース図の特徴を考える……………………………………………… 67
3.1.4. ユースケースを記述する……………………………………………………… 69
3.2. ユースケースモデルの作成 ……………………………………………………73
3.2.1. 情報を登録するためのユースケース………………………………………… 73
3.2.2. 既存システムとの関係を考える……………………………………………… 74
3.2.3. 数への要求を明確にする……………………………………………………… 75
3.2.4. 時間・日時で起動されるユースケース……………………………………… 75
3.2.5. CRUD を考慮にいれたユースケースモデル ……………………………… 77
3.2.6. パッケージを導入する………………………………………………………… 77
3.2.7. ユースケース記述を作成して、ユースケースモデルを完成させる……… 80
3デフォルトの名無しさん
2017/11/22(水) 15:00:56.37ID:LuqUsrvZ 3.3. ユースケースモデルと分析モデルの関係 ……………………………………81
3.3.1. ユースケースからクラスを抽出する………………………………………… 82
3.3.2. ユースケース記述とクラス図の関係………………………………………… 88
3.4. ユースケースとアーキテクチャー ……………………………………………91
3.4.1. ユースケースとレイヤーアーキテクチャー………………………………… 91
3.5. ユースケースモデルを検証する:業務モデルの必要性 ……………………92
3.5.1. 業務フローをアクティビティ図で表現する………………………………… 92
3.5.2. 業務データと分析モデルの関係……………………………………………… 97
3.6. ソフトウェア構築に対する要求 ………………………………………………98
3.6.1. 機能要求と非機能要求………………………………………………………… 98
3.6.2. 論理モデルと物理モデル……………………………………………………… 99
3.7. まとめ ………………………………………………………………………… 100
さらに理解を深めるために ………
3.3.1. ユースケースからクラスを抽出する………………………………………… 82
3.3.2. ユースケース記述とクラス図の関係………………………………………… 88
3.4. ユースケースとアーキテクチャー ……………………………………………91
3.4.1. ユースケースとレイヤーアーキテクチャー………………………………… 91
3.5. ユースケースモデルを検証する:業務モデルの必要性 ……………………92
3.5.1. 業務フローをアクティビティ図で表現する………………………………… 92
3.5.2. 業務データと分析モデルの関係……………………………………………… 97
3.6. ソフトウェア構築に対する要求 ………………………………………………98
3.6.1. 機能要求と非機能要求………………………………………………………… 98
3.6.2. 論理モデルと物理モデル……………………………………………………… 99
3.7. まとめ ………………………………………………………………………… 100
さらに理解を深めるために ………
4デフォルトの名無しさん
2017/11/22(水) 15:01:20.18ID:LuqUsrvZ 4. オブジェクト指向分析 ………………………………………… 105
4.1. ユースケースモデルから分析モデルを導く ……………………………… 105
4.1.1. 1個のユースケースからクラス図を導く…………………………………… 105
4.1.2. クラスの操作を考える………………………………………………………… 109
4.1.3. ビデオブース運用管理パッケージのクラス図を作成する………………… 111
4.1.4. ステートマシン図を使って状態を分析する………………………………… 113
4.2. 「○○を検索する」の UML モデル:管理オブジェクト ……………… 116
4.2.1. 「視聴覚資料を探す」ユースケースからクラス図を導く ………………… 116
4.2.2. 管理オブジェクト……………………………………………………………… 118
4.3. 分析モデル …………………………………………………………………… 122
4.3.1. 「延滞を通知する」ユースケースからクラス図を導く …………………… 122
4.3.2. ビデオブース利用支援システムの分析モデル……………………………… 125
4.4. 帳票をクラス図で表現する ………………………………………………… 128
4.4.1. 利用申込書をクラス図で表現する…………………………………………… 128
4.4.2. プレゼンテーションレイヤーオブジェクト………………………………… 130
4.5. 業務分析によるモデル ……………………………………………………… 131
4.5.1. 現状の業務を分析して As-Is モデルをつくる ……………………………… 131
4.5.2. 視聴覚資料がサーバーから提供されるシステムの構築に向けて………… 137
4.5.3. 学内者が自由に視聴覚資料を利用できるシステムの構築に向けて……… 140
4.5.4. さらに高度な業務モデルの作成について…………………………………… 144
4.6. 分析モデルをレビューする ………………………………………………… 146
4.6.1. 分析モデルをコミュニケーション図で確認する ………………………… 147
4.6.2. 非機能要件と分析モデル……………………………………………………… 148
さらに理解を深めるために ………………………………………………………… 149
4.1. ユースケースモデルから分析モデルを導く ……………………………… 105
4.1.1. 1個のユースケースからクラス図を導く…………………………………… 105
4.1.2. クラスの操作を考える………………………………………………………… 109
4.1.3. ビデオブース運用管理パッケージのクラス図を作成する………………… 111
4.1.4. ステートマシン図を使って状態を分析する………………………………… 113
4.2. 「○○を検索する」の UML モデル:管理オブジェクト ……………… 116
4.2.1. 「視聴覚資料を探す」ユースケースからクラス図を導く ………………… 116
4.2.2. 管理オブジェクト……………………………………………………………… 118
4.3. 分析モデル …………………………………………………………………… 122
4.3.1. 「延滞を通知する」ユースケースからクラス図を導く …………………… 122
4.3.2. ビデオブース利用支援システムの分析モデル……………………………… 125
4.4. 帳票をクラス図で表現する ………………………………………………… 128
4.4.1. 利用申込書をクラス図で表現する…………………………………………… 128
4.4.2. プレゼンテーションレイヤーオブジェクト………………………………… 130
4.5. 業務分析によるモデル ……………………………………………………… 131
4.5.1. 現状の業務を分析して As-Is モデルをつくる ……………………………… 131
4.5.2. 視聴覚資料がサーバーから提供されるシステムの構築に向けて………… 137
4.5.3. 学内者が自由に視聴覚資料を利用できるシステムの構築に向けて……… 140
4.5.4. さらに高度な業務モデルの作成について…………………………………… 144
4.6. 分析モデルをレビューする ………………………………………………… 146
4.6.1. 分析モデルをコミュニケーション図で確認する ………………………… 147
4.6.2. 非機能要件と分析モデル……………………………………………………… 148
さらに理解を深めるために ………………………………………………………… 149
5デフォルトの名無しさん
2017/11/22(水) 15:01:48.10ID:LuqUsrvZ 5. 要求変更と分析モデル ………………………………………… 151
5.1. さまざまな要求変更・拡張 ………………………………………………… 151
5.1.1. 視聴覚資料のタイプをどう考えるか………………………………………… 152
5.1.2. 視聴覚資料仕様と視聴覚資料:仕様と実体………………………………… 157
5.1.3. 視聴覚資料仕様の属性とカプセル化………………………………………… 160
5.1.4. 数の問題を考える……………………………………………………………… 162
5.1.5. ビデオブースの予約:関連クラス…………………………………………… 164
5.1.6. ビデオブースの利用条件が学年ごとに変化する場合……………………… 165
5.1.7. ビデオブースの利用者条件が拡大された場合……………………………… 168
5.2. クラス図をさらに精密化する:オブジェクト制約言語による記述 …… 169
5.3. 分析モデリングの経験を定石化する ……………………………………… 170
5.3.1. クラス図作成の基本…………………………………………………………… 170
5.3.2. 関連の定義……………………………………………………………………… 173
5.3.3. 意味関係から導かれたモデリングの経験:アナリシスパターン………… 175
5.4. 分析とは ……………………………………………………………………… 177
さらに理解を深めるために ………………………………………………………… 178
5.1. さまざまな要求変更・拡張 ………………………………………………… 151
5.1.1. 視聴覚資料のタイプをどう考えるか………………………………………… 152
5.1.2. 視聴覚資料仕様と視聴覚資料:仕様と実体………………………………… 157
5.1.3. 視聴覚資料仕様の属性とカプセル化………………………………………… 160
5.1.4. 数の問題を考える……………………………………………………………… 162
5.1.5. ビデオブースの予約:関連クラス…………………………………………… 164
5.1.6. ビデオブースの利用条件が学年ごとに変化する場合……………………… 165
5.1.7. ビデオブースの利用者条件が拡大された場合……………………………… 168
5.2. クラス図をさらに精密化する:オブジェクト制約言語による記述 …… 169
5.3. 分析モデリングの経験を定石化する ……………………………………… 170
5.3.1. クラス図作成の基本…………………………………………………………… 170
5.3.2. 関連の定義……………………………………………………………………… 173
5.3.3. 意味関係から導かれたモデリングの経験:アナリシスパターン………… 175
5.4. 分析とは ……………………………………………………………………… 177
さらに理解を深めるために ………………………………………………………… 178
6デフォルトの名無しさん
2017/11/22(水) 15:02:18.90ID:LuqUsrvZ 6. オブジェクト指向設計 ………………………………………… 179
6.1. 分析モデルからソフトウェアシステムへ ………………………………… 179
6.1.1. オブジェクト指向プログラミング言語で実装する………………………… 179
6.1.2. ビジネスロジックとユーザーインターフェース…………………………… 183
6.1.3. オブジェクトの永続化………………………………………………………… 187
6.1.4. まとめ:分析モデルから設計モデルへ……………………………………… 189
6.2. アルゴリズムの設計:シーケンス図の利用 ……………………………… 192
6.2.1. シーケンス図の構成要素と作成ポイント…………………………………… 192
6.2.2. シーケンス図を作成する……………………………………………………… 196
6.2.3. シーケンス図をチェックする………………………………………………… 201
6.2.4. CRUD とシーケンス図 ……………………………………………………… 202
6.1. 分析モデルからソフトウェアシステムへ ………………………………… 179
6.1.1. オブジェクト指向プログラミング言語で実装する………………………… 179
6.1.2. ビジネスロジックとユーザーインターフェース…………………………… 183
6.1.3. オブジェクトの永続化………………………………………………………… 187
6.1.4. まとめ:分析モデルから設計モデルへ……………………………………… 189
6.2. アルゴリズムの設計:シーケンス図の利用 ……………………………… 192
6.2.1. シーケンス図の構成要素と作成ポイント…………………………………… 192
6.2.2. シーケンス図を作成する……………………………………………………… 196
6.2.3. シーケンス図をチェックする………………………………………………… 201
6.2.4. CRUD とシーケンス図 ……………………………………………………… 202
7デフォルトの名無しさん
2017/11/22(水) 15:02:39.76ID:LuqUsrvZ 6.3. コレクションとイテレータ ………………………………………………… 208
6.3.1. コレクションの操作…………………………………………………………… 210
6.3.2. イテレータの使い方…………………………………………………………… 211
6.4. ポリモーフィズム …………………………………………………………… 214
6.4.1. ポリモーフィズムの例:継承の利用………………………………………… 214
6.4.2. もう1つのポリモーフィズムの例:委譲と継承の利用…………………… 216
6.4.3. ポリモーフィズムを実現するさまざまな手法……………………………… 219
6.4.4. リスコフの置換原則…………………………………………………………… 223
6.4.5. 委譲によるコードの再利用…………………………………………………… 225
6.5. クラスとメソッドの設計の原則 …………………………………………… 226
6.5.1. メソッドの設計 [Langr00] …………………………………………………… 226
6.5.2. クラスの設計…………………………………………………………………… 228
6.5.3. 設計の品質評価………………………………………………………………… 233
6.6. 設計の経験を定式化する:パターンとドメインエンジニアリング …… 234
6.6.1. ソフトウェアパターン………………………………………………………… 234
6.6.2. ドメインエンジニアリング…………………………………………………… 235
さらに理解を深めるために ………………………………………………………… 236
6.3.1. コレクションの操作…………………………………………………………… 210
6.3.2. イテレータの使い方…………………………………………………………… 211
6.4. ポリモーフィズム …………………………………………………………… 214
6.4.1. ポリモーフィズムの例:継承の利用………………………………………… 214
6.4.2. もう1つのポリモーフィズムの例:委譲と継承の利用…………………… 216
6.4.3. ポリモーフィズムを実現するさまざまな手法……………………………… 219
6.4.4. リスコフの置換原則…………………………………………………………… 223
6.4.5. 委譲によるコードの再利用…………………………………………………… 225
6.5. クラスとメソッドの設計の原則 …………………………………………… 226
6.5.1. メソッドの設計 [Langr00] …………………………………………………… 226
6.5.2. クラスの設計…………………………………………………………………… 228
6.5.3. 設計の品質評価………………………………………………………………… 233
6.6. 設計の経験を定式化する:パターンとドメインエンジニアリング …… 234
6.6.1. ソフトウェアパターン………………………………………………………… 234
6.6.2. ドメインエンジニアリング…………………………………………………… 235
さらに理解を深めるために ………………………………………………………… 236
8デフォルトの名無しさん
2017/11/22(水) 15:03:17.06ID:LuqUsrvZ 7. 給与計算システムを考える …………………………………… 241
7.1. システム概要 ………………………………………………………………… 241
7.2. システムの問題領域を明確化する ………………………………………… 242
7.3. 業務を分析する ……………………………………………………………… 243
7.3.1. 業務フローを考える…………………………………………………………… 243
7.3.2. 業務データをクラス図で表現する…………………………………………… 244
7.4. ユースケースモデル ………………………………………………………… 246
7.5. 分析モデル …………………………………………………………………… 247
7.6. アルゴリズムを設計する …………………………………………………… 248
7.7. 分析モデルの拡張 …………………………………………………………… 250
7.7.1. 従業員登録業務………………………………………………………………… 251
7.7.2. タイムカード入力……………………………………………………………… 252
7.7.3. 給与計算と給与明細の作成…………………………………………………… 253
7.8. 設計モデル:アルゴリズムを設計する …………………………………… 256
7.9. モデルはどのような要求変更・仕様拡張に対処できるか ……………… 261
7.10. オブジェクト指向への期待:まとめにかえて ………………………… 262
さらに理解を深めるために ………………………………………………………… 264
付録 ケーススタディ:ユースケース記述例………………………………… 265
あとがき…………………………………………………………………………… 269
index ……………………………………………………………………………… 273
著者略歴…………………………………………………………………………… 277
7.1. システム概要 ………………………………………………………………… 241
7.2. システムの問題領域を明確化する ………………………………………… 242
7.3. 業務を分析する ……………………………………………………………… 243
7.3.1. 業務フローを考える…………………………………………………………… 243
7.3.2. 業務データをクラス図で表現する…………………………………………… 244
7.4. ユースケースモデル ………………………………………………………… 246
7.5. 分析モデル …………………………………………………………………… 247
7.6. アルゴリズムを設計する …………………………………………………… 248
7.7. 分析モデルの拡張 …………………………………………………………… 250
7.7.1. 従業員登録業務………………………………………………………………… 251
7.7.2. タイムカード入力……………………………………………………………… 252
7.7.3. 給与計算と給与明細の作成…………………………………………………… 253
7.8. 設計モデル:アルゴリズムを設計する …………………………………… 256
7.9. モデルはどのような要求変更・仕様拡張に対処できるか ……………… 261
7.10. オブジェクト指向への期待:まとめにかえて ………………………… 262
さらに理解を深めるために ………………………………………………………… 264
付録 ケーススタディ:ユースケース記述例………………………………… 265
あとがき…………………………………………………………………………… 269
index ……………………………………………………………………………… 273
著者略歴…………………………………………………………………………… 277
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ ★2 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★9 [蚤の市★]
- 「今の女性はルッキズム」は本当なのか? 若い世代が結婚相手に求める"本当の条件" [少考さん★]
- 【サッカー】J1リーグの2025年平均観客動員数が4.4%増の21,246人 最多入場者数の2019年を超えて過去最高値 ★2 [尺アジ★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★4 [ぐれ★]
- 【沖縄】宮古島で陸自防災訓練に抗議した団体、「恫喝された」と駐屯地トップ厳正捜査求め署名運動 「市民弾圧と戦争への道を…」 [少考さん★]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪
- 正義のミカタ「中国は日本人の反高市勢力を裏で操ってる。あいつらはスパイ」 [931948549]
- サイコパス鈴木、完全に日本人の敵になる [402859164]
- 前駐中国大使「日本は中国からもアメリカからも真っ先に切り捨てられる」高市 [931948549]
- 【高市下落】「ナマコ」の価格、かつての4分の1まで下落してしまう😨 [616817505]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★2
