UML和模式应用3:迭代和进化式分析和设计案例研究
1.前言
如何進行迭代和進化式分析和設計?將采用案例研究的方式貫穿始終。案例研究所包含的內容:
- UI元素
- 核心應用邏輯層
- 數據庫訪問
- 與外部軟硬構件的協作
本章關于OOA/D主要介紹核心應用邏輯層
2. 重點探討核心應用邏輯層的OOA/D的原因
圖 OOA/D層舉例及重點關注層
- 其它層對技術平臺具有較大依賴性;
- 核心應用邏輯層的OO設計對各種技術來說是類似的;
- 應用邏輯層語境中學習到的基本OO設計技巧適用于所有其它層或構件
- 其它層的設計方法和模式呈現出快速變化的趨勢
3. 案例研究策略
- 迭代開發
使用迭代策略,第一次迭代用于OOA/D核心功能,后續迭代迭代用于擴展這些功能
- 迭代學習
迭代和循序漸進的方式介紹分析和設計、UML表示法和模式,第一次介紹核心的分析設計主題和表示法,第二次迭代展開介紹新理念、UML表示法和模式
4. 案例
4.1 案例一 POS系統
- POS系統具有的特性
包括計算機、條碼掃描儀等硬件,還包括系統運轉的軟件
為不同服務的應用程序提供接口
具有一定的容錯性
提供靈活性和定制能力
- 開發策略
使用迭代開發策略,依次完成需求、面向對象分析和設計
4.2 案例二 Monopoly游戲系統
為證明相同的OOA/D實踐可以應用于完全不同的問題
5. 迭代和進化式分析和設計舉例
迭代和進化式分析和設計既不是無分析也不是過度分析,而是中庸之道。
如下是迭代方法的舉例,假設在項目交付之前有20次迭代:
1. 第一次迭代前,召開需求工作會議(2天)
(1)高階需求分析(1上午)
確定用例和特性的名稱、關鍵非功能性需求;
(2)從高階需求中選取10%的需求,對其進行功能和非功能性需求進行詳細的分析(1天半)
選取需求分別為UC2,UC11和UC14。這些需求具備如下特點:具有重要的架構意義;具有高業務價值;具有高風險。
2.第一次迭代之前,召開迭代計劃會議(1上午)
選擇UC2、UC11和UC14的子集,規定在4周內進行設計、構造和測試
3.完成第一次迭代(4周)
(1)進行建模和設計工作,畫出UML草圖及其它模型(2天)
(2)編程、測試、集成(本次迭代的剩余時間)
注:測試包含單元測試、驗收測試、負載測試和可用性測試等
(3)檢查初始的迭代目標是否能夠完成(本次迭代前一周)
如果不能完成,將次要目標重新放回任務列表,下次迭代時完成
(4)凍結代碼(第4周的周二)
上傳、集成和測試所有代碼,創建代碼基線
(5)演示局部系統,要求反饋(第4周的周三上午)
4.召開第二次需求會議(第4周的周三和周四)
對2第一次迭代會議的所有資料進行復查和精化。選擇具有重要架構意義和高業務價值的另外10%用例,進行詳細分析。
5.第二次迭代前,召開迭代計劃會議(1上午)
選擇另外10%用例的子集,規定在4周內進行設計、構造和測試
6.以相同步驟完成第二次迭代(4周)
7.反復進行九次迭代和十次需求工作會,可能精化了90%的需求,構建了10%的軟件
8.估計精化的需求所需工作量和時間
9.執行下個迭代過程(3周)
在第3周的周五召開迭代計劃會選擇下一步工作。
每次迭代都要反復詢問,就現在所知,下一個三周應該完成的、最關鍵的技術和業務特性是什么?
總結
以上是生活随笔為你收集整理的UML和模式应用3:迭代和进化式分析和设计案例研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 男主姓傅,手戴佛珠的小说
- 下一篇: 丰田车1400公里洗一次喷油嘴正常吗?