[系分] 邏輯架構和包圖

Requirements to Design Iteratively


閱讀書上第12章

  • 需求和麪向對象分析重點關注 做正確的事
  • 後續的設計工作強調 正確地做事
  • 迭代從需求和分析爲主 到 以設計和實現爲主
  • 在設計和實現的迭代早期有需求變更很正常,後期穩定就會穩定
  • 完成迄今爲止所有建模正常只需要花費幾個小時或幾天的時間

Logical Architecture and UML package diagrams


閱讀書上第13章

Software architecture

  • 一組設計軟件系統組織的重要決策
  • 對結構元素、接口的選擇
  • 這些元素特定於仙湖協作的行爲
  • 這些結構和行爲元素、更大子系統的組成、直到該組織結構的結構風格

Logical architecture

  • 軟件類的宏觀組織結構,他將軟件組織成包、命名空間、子系統、層
  • 決定具體在何種操作系統或網絡計算機中對這些元素進行部署的是,部署架構
  • 包括:UI、Domain、Technical services
    • 嚴格分層:層只能調用相鄰的下層服務
    • 寬鬆分層:層可以調用任何下層服務

應用UML:包圖

  • UML包圖通常用於描述系統的邏輯架構——層、子系統、包等
  • 依賴性(耦合):依賴線是有箭頭的虛線,指向被依賴的包
  • 嵌套:
    • 畫法1:在內包框外畫外包
    • 畫法2:在外包下畫個十字圈圈,實線連接內包
  • 使用層進行設計
    • 使用層的好處
    1. 減少coupling和dependencies,提高cohesion和服用性
    2. 相關複雜性能被瞭解和封裝
    3. 一些較高層可以被替換
    4. 一些較低層可以被複用
    5. 某些層可以是分佈式的
    6. 利於邏輯劃分,團隊合作
  • cohesive responsibility, maintain a separation of concerns
  • 如何使用對象設計應用邏輯
    • 創建名稱和信息類似於真實世界的軟件對象:領域對象
    • 此時,應用邏輯層稱爲架構的領域層:包含領域對象,處理應用邏輯
    1. 領域層是軟件的一部分
    2. 領域模型是概念角度分析的一部分
    3. 利用領域模型的靈感創建領域層,獲得低表示差異
  • tier: 被廣泛用於表示屋裏進程節點,如客戶計算機
  • layer:系統在垂直方向的劃分
  • partition:層在水平方向的劃分,如技術服務層分爲安全和統計分區
  • 外部資源層不是最底層!
  • Model-view separation principle
    • model:領域層對象
    • View:UI對象(窗口、鼠標等
    • 領域對象不能夠直接與窗口對象發消息
    • MVC,相關模式:觀察者模式
    1. model:數據對象, 領域層
    2. views:GUI窗口,UI層
    3. controllers:鍵盤和鼠標事件句柄,因公曾的工作流對象
    4. 好處:允許模型和界面分別進行開發、支持內聚的模型定義、使界面需求的影響減小……
  • 運用RUP 4+1視圖方法進行軟件架構設計
  • RUP 4+1 分析案例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章