于 嘉興;
第12章 從需求到設(shè)計(jì) --- 迭代進(jìn)化
1. 以迭代方式做正確的事,正確地做事
每次迭代,都會(huì)發(fā)生,以 需求或分析為主要焦點(diǎn)到以設(shè)計(jì)和實(shí)現(xiàn)為主要焦點(diǎn)地轉(zhuǎn)變。
當(dāng)前期地設(shè)想和需求分析通過(guò)早期地編程 / 測(cè)試 / 反饋,開(kāi)始趨于穩(wěn)定時(shí),則后期更加注重構(gòu)建解決方案。
2. 盡早引發(fā)改變
迭代和進(jìn)化式方式“包容變更”。
3. 完成分析和建模工作是否需要幾個(gè)星期?
第13章 邏輯架構(gòu) 和 UML 包圖
帶著問(wèn)題,讀本章節(jié):
- 邏輯架構(gòu) 和 UML 包圖,分別是什么? 是否 UML包圖時(shí)用來(lái)被描述邏輯架構(gòu)?
- 邏輯架構(gòu) 和 UML包圖地關(guān)系時(shí)什么? 為什么本章節(jié),要將兩者放到一起講?
1. 什么是邏輯架構(gòu)和層?
使用UML包圖,繪制分層架構(gòu)。
邏輯架構(gòu),是軟件類地宏觀組織結(jié)構(gòu),它將軟件類組織為包(或命名空間)/ 子系統(tǒng) / 層等。 之所以,稱其為邏輯架構(gòu),是因?yàn)椋?strong>并未決定在操作系統(tǒng)進(jìn)程或網(wǎng)絡(luò)物理計(jì)算機(jī)上對(duì)這些元素進(jìn)行部署。
OO 系統(tǒng),通常包括地層有:
- 用戶界面(UI)
- 應(yīng)用邏輯和領(lǐng)域?qū)ο螅―omain)
-
技術(shù)服務(wù) : 支持技術(shù)性技術(shù)服務(wù)地常用對(duì)象和子系統(tǒng);
UML 包圖所表示地層
2. 什么是軟件架構(gòu)?
- 軟件架構(gòu)是對(duì)系統(tǒng)地抽象。
- 它不僅規(guī)定了系統(tǒng)有哪些主要軟件元素或模塊,還定義了這些元素之間是如何交互的。
3. 準(zhǔn)則:使用層進(jìn)行設(shè)計(jì)
使用層地本質(zhì)思想:
- 將系統(tǒng)的大型邏輯結(jié)構(gòu)組織為獨(dú)立地 / 職責(zé)相關(guān)地離散層。這樣,“較低”的層是低級(jí)別和一般性服務(wù),較高層則是與應(yīng)用相關(guān)大的層。
- 寫(xiě)作和耦合是從較高層到較低層進(jìn)行的,避免從較低層到較高層的耦合。
