6.5 开始进入设计 … Transition to Design
開始進入設計 … Transition to Design
? 從需求分析到設計
? 邏輯架構與子系統 Logical Architecture and sub-system
5.1 向設計過程切換 Transition to Design
? 需求與領域分析階段During requirements and domain analysis work
? 做正確的事情 “Do the right thing”
? 理解領域問題 Understand the domain
? 澄清并記錄約束和需求 Clarify and record the constraints and requirements
? 本質上,暫不考慮設計,集中在理解問題
? 設計階段 During design work
? 正確地做事情 “Do the thing right”
? 創建設計模型,以便構建系統 Create a design model that can be used to build the system
? 滿足領域約束 Meet the domain constraints
? 兩類主要的模型: 交互圖 Interaction diagrams 設計類圖 Design class diagrams
? 設計的輸入
? 系 統 操 作 System Operations
? 或者操作契約
? 迭代
? 每次迭代,都存在需求 到設計的過程
? 遇到需求的變化,應當 “擁抱”而不是“回避”
?設計的結果
? 設計一個方案,展示系 統是如何實現需求
5.2 邏輯架構、軟件架構
? 什么是架構 What is Architecture?(有的教材翻譯成“結構”)
? 架構是關于如何組織軟件系統的一系列重大決策
An architecture is the set of significant decisions about the organization of a software system
? 如何選擇組成系統的結構元素及其接口
? 這些結構元素相互協作時的行為規范
? 這些結構元素如何組合成逐漸變大的子系統
? 可以參考的架構風格 architectural style,以便指導如何組織這些結構元素、定義它 們的接口、協作、以及組合成子系統的過程
? 架構的另外一種說法: Logical Architecture、Software Architecture
? 大規模組織類,以便形成模塊、分層、子系統、命名空間等
? 不同于部署架構 Deployment Architecture ? 定義這些結構元素分布在不同的物理設備上
??可能會影響邏 輯架構的因素, 還包括: 補充規 格說明中約束 、非功能性需 求等
5.3 邏輯架構設計方法 – 分層法
? 分層 System Partitioning
? “分而治之”
? 標識一定規模的結構元素 large-scale elements (LSEs)
? 層Layers: 粗粒度地組織結構元素,考慮內聚性,完成特定功能
Coarsegrained grouping of architectural elements cohesively responsible for a specific aspect
? 子系統 Subsystems
? 模塊 Modules
? 接口
? 結構元素之間的協作
? 在開發的過程中,上述各部分是會變化的
? 在“分”的同時,要考慮“合”
5.4 分層架構的優點
? 優點
? 各層都容易被替換 Layers can be easily replaced
? 較低層次包含更多的操作細節,容易成為可重用的構件
? 每層都容易分布部署與連接
? 分層時考慮的問題 Separation of concerns
? 服務是放在高層還是底層 High-level vs. low-level services
? 服務是作為應用專門的,還是通用的 Application specific vs. general services
5.5 分層架構示例?
物聯網大數據平臺TIZA STAR架構http://mt.sohu.com/20161024/n471123659.shtml
轉載于:https://www.cnblogs.com/mayZhou/p/10548488.html
總結
以上是生活随笔為你收集整理的6.5 开始进入设计 … Transition to Design的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雷霆战机
- 下一篇: VMware卸载有残留,再安装时报错提示