
0人評分過此書
-
Chapter 1 軟體工程概說
-
1-1 何謂軟體(Software)
-
1-2 軟體工程定義
-
1-3 軟體工程觀念
-
1-4 軟體危機
-
1-5 軟體工程的演變
-
1-6 軟體工程問題
-
1-7 系統、模型與建模
-
系統(system)
-
模型(Model)
-
建模(modeling)
-
-
1-8 軟體發展生命週期模型
-
瀑布模型
-
統合流程(Unified Process UP)
-
-
練習題
-
-
Chapter 2 物件技術詞彙
-
2-1 物件(Object)
-
2-2 類別與實例(Classes and Instances)
-
2-3 訊息傳遞(Message Passing)
-
2-4 組合型態(Types of Composition)
-
2-5 物件導向基本原理
-
抽象(abstraction)
-
封裝(encapsulation)
-
繼承(inheritance)
-
多型(polymorphism many forms 之意)
-
分類(classification)
-
識別(identity)
-
-
練習題
-
-
Chapter 3 物件導向符號
-
3-1 UML 簡介
-
3-2 物件導向模型符號
-
3-3 UML 圖形的運用
-
3-4 使用案例模型(Use Case Model)
-
使用案例規格
-
使用案例實現
-
-
3-5 結構化模型(Structure Model)
-
類別圖(Class Diagram)
-
介面(Interface)
-
註解(notes)
-
物件圖(Object Diagram)
-
套件圖(Package Diagram)
-
合成結構圖(Composite Structure Diagram)
-
-
3-6 動態行為模型(Dynamic Behavior Model)
-
循序圖(Sequence Diagram)
-
溝通圖(Communication Diagrams)
-
狀態圖(State Machine Diagrams)
-
活動圖(Activity Diagram)
-
互動概觀圖(Interaction Overview Diagram)
-
時序圖(Timing Diagram)
-
-
3-7 實作建模(Implementation Modeling)
-
元件圖(Component Diagram)
-
部署圖(Deployment Diagram)
-
-
3-8 擴充機制(Extensibility Mechanism)
-
限制(Constraint)
-
標註值(Tagged Value)
-
型別(Stereotype)
-
-
3-9 UML 資料檔(Profile)
-
3-10 物件限制語言(Object Constraint Language OCL)
-
建構OCL 模型(Building OCL Model)
-
程式碼對應(Code Mapping)
-
-
練習題
-
-
Chapter 4 統合軟體發展流程
-
4-1 統合軟體發展流程簡介
-
UP 的結構
-
時間維度
-
規程維度
-
-
4-2 使用案例驅動流程(Use-Case Driven Process)
-
4-3 結構中心流程(Architecture-Centric Process)
-
使用結構樣式(using architectural patterns)
-
-
4-4 反覆與漸進式流程(Iterative and Incremental Process)
-
4-5 業務流程逆向工程(Business Process Reengineering BPR)
-
4-6 需求(Requirements)
-
需求蒐集(Requirements Gathering)
-
OPS 的簡單領域圖(Domain Chart)
-
-
4-7 使用案例圖(Use Case Diagram)
-
4-8 分析(Analysis)
-
傳統的名詞/ 動詞分析
-
關鍵抽象概念(key abstraction)
-
使用CRC 卡(Class-Responsibilities-Collaborators Cards)
-
分析概念(Analysis Concepts)
-
使用案例的實行(Use Cases Realization)
-
「建立訂購」的關鍵抽象概念(Key Abstractions)
-
「建立訂購」使用案例分析模型
-
-
4-9 設計(Design)
-
使用結構樣式(architectural pattern)
-
Java 物件與資料庫設計模型
-
OPS 結構(OPS Architecture)
-
訂購類別(order class)的活動圖
-
螢幕設計範例
-
-
4-10 實作(Implementation)
-
4-11 測試(Test)
-
物件導向測試活動(Object-Oriented Testing Activities)
-
測試流程(testing processes)
-
測試策略(strategy for testing)
-
-
4-12 部署(Deployment)
-
4-13 專案管理(Project Management)
-
4-14 組態與改變管理(Configuration and Change Management)
-
4-15 環境(Environment)
-
練習題
-
-
Chapter 5 軟體設計原理
-
5-1 物件導向設計指導原則
-
5-2 繼承(Inheritance)與合成(Composition)設計
-
5-3 善用合成超越繼承
-
重用
-
優點
-
缺點
-
-
5-4 繼承(Inheritance)檢驗原則
-
5-5 芮氏替換原則(Liskove Substitution Principle LSP)
-
Tree 是否為一種Graph ?
-
正方形是否為一種矩形?
-
-
5-6 資訊隱藏(Information Hiding)
-
5-7 保護變異(Protected Variation PV)
-
5-8 最小知識原則(Principle of Least Knowledge PLK)
-
5-9 好萊塢原則(Hollywood Principle)
-
5-10 開放關閉原則(Open Closed Principle OCP)
-
5-11 依賴反向原則(Dependency Inversion Principle DIP)
-
5-12 控制反轉(Inversion of Control IoC)
-
5-13 介面分離原則(Separation of Interface)
-
練習題
-
-
Chapter 6 軟體發展樣式
-
6-1 設計樣式的結構
-
6-2 設計樣式
-
6-3 設計樣式的分類
-
抽象工廠(abstract factory)
-
轉換器(adapter)
-
裝飾品(decorator)
-
觀察者(Observer)
-
狀態(state)
-
-
6-4 設計樣式對物件設計的協助
-
協助進入設計階段
-
協助解決非功能性需求
-
彈性化設計
-
-
6-5 樣式的選擇與採用
-
練習題
-
-
Chapter 7 物件導向軟體測試
-
7-1 電子商務購物網站
-
7-2 物件導向單元測試
-
程式碼檢視
-
類別方法層次之動態測試
-
類別層次之動態測試
-
繼承階層樹層次動態測試
-
錯誤基礎測試方法(Fault-Based Testing)
-
-
7-3 物件導向整合測試
-
以使用案例劇本為基礎的整合測試(scenario-based testing)
-
以類別模型為基礎的測試(class model testing)
-
以事件驅動為基礎的測試(event-based testing)
-
-
7-4 物件導向系統測試
-
7-5 測試驅動發展方法(Test-driven Development TDD)
-
測試驅動發展第一次反覆
-
測試驅動發展第二次反覆
-
測試驅動發展第三次反覆
-
測試驅動發展第四次反覆
-
-
7-6 行為驅動發展方法(Behavior-Driven Development BDD)
-
BDD 定義
-
BDD 的效益
-
BDD 的重要概念說明
-
BDD 的步驟
-
-
練習題
-
-
Chapter 8 基本敏捷建模
-
8-1 敏捷(Agility)
-
8-2 敏捷建模(Agile Modeling AM)
-
敏捷建模原則
-
盡可能使用最簡易的工具(Using the Simplest Tools Possible)
-
簡易工具可促進輕量的開發(traveling light)
-
-
8-3 CRC Cards
-
8-4 小幅思考(Thinking Small)
-
8-5 敏捷模型驅動開發(Agile Model-Driven Development AMDD)
-
8-6 敏捷建模資源
-
使用者故事(User Story)
-
-
練習題
-
-
Chapter 9 敏捷發展方法
-
9-1 軟體發展流程價值
-
簡化發展(Simplify Development)
-
面對改變(Embrace Change)
-
-
9-2 敏捷式方法Scrum(Agile-Scrum)
-
面對改變的機制
-
團隊基本規則
-
-
9-3 Scrum 角色(Scrum Roles)
-
產品擁有者
-
Scrum Master
-
開發團隊成員
-
-
9-4 Scrum 的產出(Scrum product)
-
產品待辦清單(Product backlog)
-
-
9-5 使用者故事(User stories)
-
使用者故事組成
-
使用者故事評估
-
使用者故事檢驗準則
-
故事點(Story Point)
-
建立開發速度(Velocity)
-
工作任務待辦清單(Sprint backlog)
-
Burndown chart
-
-
9-6 Scrum 會議(Scrum Mettings)
-
Sprint 規劃會議(Sprint planning)
-
每日會議(Daily scrum)
-
產品展示會議(Sprint review)
-
回饋會議(Sprint retrospective)
-
-
練習題
-
-
Chapter 10 責任驅動設計
-
10-1 責任驅動設計概念(Sorne Perspectives Construct RDD)
-
以物件為核心的思考(Thinking in Objects)
-
責任驅動設計流程(The RDD Process)
-
-
10-2 責任驅動設計簡介(Responsibility-Driven Design)
-
10-3 設計建模(Modeling the Design)
-
設計建模的流程
-
物件契約
-
-
10-4 案例研究:選課系統(Course Registration System CRS)
-
10-5 使用CRC 卡發展軟體
-
階層架構(A Layer Architecture)
-
彈性(Flexibility)
-
-
10-6 保護變異設計原則(Protected Variations design principle)
-
練習題
-
-
Chapter 11 模型驅動架構
-
11-1 事務分離(Separation of Concern)
-
11-2 MDA 與企業界的關係
-
11-3 MPA 基本原理
-
抽象模型(metamodel)
-
模型轉換(model transformation)
-
-
11-4 MDA 的骨幹(backbone) - MOF
-
11-5 MDA 流程樣式(MDA Process Pattern)
-
轉換樣式(Transformation Patterns)
-
-
11-6 MDA 的價值定位(MDA Value Position)
-
MDA 的優點
-
敏捷MDA(Agile MDA)
-
-
11-7 利用「原型樣式」(Archetype Patterns)快速發展PIM
-
事例研究(Case Study)
-
-
11-8 結語
-
練習題
-
-
Appendix A 軟體度量概念
-
A-1 物件導向軟體度量
-
A-2 預測流程
-
A-3 預測軟體大小
-
-
Appendix B CRC Card
-
B-1 什麼是CRC Card
-
B-2 物件的角色
-
B-3 CRC Card 模型
-
B-4 CRC Session
-
B-5 CRC Card 的重要性
-
- Appendix C 參考文獻
評分與評論
請登入後再留言與評分