1.3.2 軟件設計的分層
系統需求分析、軟件需求分析、軟件體系結構設計、軟件詳細設計、程序設計就是軟件設計的分層。軟件設計過于復雜,需要劃分為不同的層次以分解設計復雜度,實現分而治之,如圖1-1所示。

圖1-1 軟件設計分層示意
軟件設計的分層為:
● 系統需求分析負責產品的業務目標和功能范圍設計,類似于其他行業的概念產品設計。業務目標是指產品能解決哪些用戶痛點和實現哪些戰略目標。功能范圍是高層次的功能特性,不涉及功能細節。
● 軟件需求分析負責產品的解決方案設計,重點在于軟件產品的功能細節設計。這里的功能細節是指完成任務的人機交互過程、界面細節、數據要求等。
● 軟件體系結構設計負責系統的高層結構設計,類似于建筑的體系結構設計,關注于系統的框架(高層次)結構和整體質量。整體質量是指系統可靠性、性能、可擴展性、安全性等分布在系統高層結構中的質量特性。
● 軟件詳細設計負責系統的詳細結構分解和詳細結構搭建,關注于產品設計方案的詳細結構和細節質量。詳細結構通常是指類協同結構、類協同過程、類結構、功能及過程結構、數據結構等。細節質量通常是指可理解性、可維護性、可修改性、可復用性、靈活性等詳細結構能夠影響到的質量。
● 程序設計負責系統的程序代碼設計,關注編程和代碼質量。編程是用程序設計語言實現算法和數據結構。代碼質量是指正確性、易讀性、可靠性、可修改性等與代碼編寫方式有關的質量。
推薦閱讀
- 極簡算法史:從數學到機器的故事
- 精通Nginx(第2版)
- 微服務與事件驅動架構
- R語言游戲數據分析與挖掘
- 面向STEM的Scratch創新課程
- Python Data Analysis(Second Edition)
- Julia Cookbook
- R Deep Learning Cookbook
- BeagleBone Black Cookbook
- ASP.NET程序開發范例寶典
- VMware vRealize Orchestrator Essentials
- Python量子計算實踐:基于Qiskit和IBM Quantum Experience平臺
- Visual C++網絡編程教程(Visual Studio 2010平臺)
- Java入門經典
- 深度學習企業實戰:基于R語言