P3_C12-13:邏輯架構和包圖
Requirements to Design Iteratively
閱讀書上第12章html
- 需求和麪向對象分析重點關注 作正確的事
- 後續的設計工做強調 正確地作事
- 迭代從需求和分析爲主 到 以設計和實現爲主
- 在設計和實現的迭代早期有需求變動很正常,後期穩定就會穩定
- 完成迄今爲止全部建模正常只須要花費幾個小時或幾天的時間
Logical Architecture and UML package diagrams
閱讀書上第13章安全
Software architecture
- 一組設計軟件系統組織的重要決策
- 對結構元素、接口的選擇
- 這些元素特定於仙湖協做的行爲
- 這些結構和行爲元素、更大子系統的組成、直到該組織結構的結構風格
Logical architecture
- 軟件類的宏觀組織結構,他將軟件組織成包、命名空間、子系統、層
- 決定具體在何種操做系統或網絡計算機中對這些元素進行部署的是,部署架構
- 包括:UI、Domain、Technical services
- 嚴格分層:層只能調用相鄰的下層服務
- 寬鬆分層:層能夠調用任何下層服務
應用UML:包圖
- UML包圖一般用於描述系統的邏輯架構——層、子系統、包等
- 依賴性(耦合):依賴線是有箭頭的虛線,指向被依賴的包
- 嵌套:
- 畫法1:在內包框外畫外包
- 畫法2:在外包下畫個十字圈圈,實線鏈接內包
- 使用層進行設計
- 使用層的好處
- 減小coupling和dependencies,提升cohesion和服用性
- 相關複雜性能被瞭解和封裝
- 一些較高層能夠被替換
- 一些較低層能夠被複用
- 某些層能夠是分佈式的
- 利於邏輯劃分,團隊合做
- cohesive responsibility, maintain a separation of concerns
- 如何使用對象設計應用邏輯
- 建立名稱和信息相似於真實世界的軟件對象:領域對象
- 此時,應用邏輯層稱爲架構的領域層:包含領域對象,處理應用邏輯
- 領域層是軟件的一部分
- 領域模型是概念角度分析的一部分
- 利用領域模型的靈感建立領域層,得到低表示差別
- tier: 被普遍用於表示屋裏進程節點,如客戶計算機
- layer:系統在垂直方向的劃分
- partition:層在水平方向的劃分,如技術服務層分爲安全和統計分區
- 外部資源層不是最底層!
- Model-view separation principle
- model:領域層對象
- View:UI對象(窗口、鼠標等
- 領域對象不可以直接與窗口對象發消息
- MVC,相關模式:觀察者模式
- model:數據對象, 領域層
- views:GUI窗口,UI層
- controllers:鍵盤和鼠標事件句柄,因公曾的工做流對象
- 好處:容許模型和界面分別進行開發、支持內聚的模型定義、使界面需求的影響減少……
- 運用RUP 4+1視圖方法進行軟件架構設計
- RUP 4+1 分析案例
歡迎關注本站公眾號,獲取更多信息