X



アナリシスパターン【マーチン・ファウラー】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん垢版2017/11/22(水) 14:58:37.37ID:LuqUsrvZ
目次
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
0002デフォルトの名無しさん垢版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
0003デフォルトの名無しさん垢版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
さらに理解を深めるために ………
0004デフォルトの名無しさん垢版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
0005デフォルトの名無しさん垢版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
0006デフォルトの名無しさん垢版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
0007デフォルトの名無しさん垢版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
0008デフォルトの名無しさん垢版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
0009デフォルトの名無しさん垢版2017/11/23(木) 11:51:48.55ID:Le5wB72/
これってエンタープライズ系以外でも使えるの?
制御系とか
0011デフォルトの名無しさん垢版2017/11/23(木) 14:32:44.91ID:awUW428I
マーティン・ファウラーさんの本を読むなら、
「リファクタリング」を読むべき
コードの本質、というかOOPの本当の存在理由が書いてある

今なら、翻訳されてた「リファクタリング:rubyエディション」があるからこれがお勧め
0012デフォルトの名無しさん垢版2017/11/23(木) 15:19:53.03ID:JqKYKF6h
rubyエディションって何が違う?
サンプルコードがrubyになってるだけだったら残念だな
0013デフォルトの名無しさん垢版2017/11/24(金) 18:29:18.98ID:3vzBmmRs
自演を繰り返す荒らしのマッチポンプですので、みなさんスルーをお願いします
今後この話題を続ける人は荒らしであることがほぼ間違いありません

巻き込まれないように、ご注意下さい
0014デフォルトの名無しさん垢版2017/11/24(金) 18:29:59.16ID:3vzBmmRs
スレ違いでした
申し訳ありません
0015デフォルトの名無しさん垢版2018/05/23(水) 21:12:55.34ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

GYLUZ
0016デフォルトの名無しさん垢版2018/07/05(木) 00:44:42.35ID:RfoszcD2
CUH
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況