Chapter 2. Development Process
1. 迭代和瀑布模型
迭代(Iterations) -- 把項目分解成多個功能的子集,每次迭代完成一部分功能,一次迭代是一個完整的生命週期,包括:需求分析、設計、編碼、測試。
Staged delivery -- 混合過程。分析和high-level design應用瀑布模型,編碼、測試應用迭代。
Time boxing -- 迭代常用技巧。每次迭代的時間周期固定,如果在此次迭代中不能完成計劃的功能,考慮減掉(slip)一部分功能,但不退後迭代發布的日期。
Rework -- It often is more efficient to rework existing code than to patch around code that was poorly designed.
(重寫優於在差的設計的代碼上打補丁)
高效rework的技巧:
迴歸測試 Automated regression tests (Junit)
重構 Refactoring
持續整合 Continuous integration
2.Rational Unified Process(RUP)
RUP的四個階段
Inception 初始階段
Elaboration 細化階段
Construction 構造階段
Transition 移交階段 -- deployment, user training, etc
3. Fitting the UML into a Process
3.1 Requirements Analysis
Use cases; class diagram ; activity diagram; state diagram
3.2 Design
Class diagrams ; Sequence diagrams ;Package diagrams ;State diagrams ;Deployment
Chapter 4. Sequence Diagrams
1. centralized control vs distributed control
2. Loops & Conditionals
Sequence 圖並不擅長表現Loops & Conditional。
UML1用大方框(interaction frame)來表示.Common Operators包括(loop,alt,opt(沒有分支的條件陳述式))
UML2
3.同步/非同步訊息表示
同步(實心箭頭)
非同步(->)
4. CRC (Class-Responsibility-Collaboration) diagrams
老馬真搞笑,喜歡在每章結束的時候附上一些小知識(如Design by Contract),就象買牙刷送小牙膏一樣。
不過看著也挺輕鬆的。