Modeling and Documenting (建模和文檔編寫) Back
- 基於體系結構開發(Architecture-based development)過程中, 將利用體系結構作為業務的基礎.
- The rise of software architecture has resulted from two trends:
- Recognition of the importance of Quality Attributes.
- The development of Large and Complex systems.
- Large-Scale design decisions cannot be made by programmers, but by architects.
- Have limited visibility and short-term perspectives. (細節的代碼無法把握全局)
- Trained in technology solutions to specific problems. (掌握解決具體問題的技術, 但無法達到特定的質量要求)
- Analyse: decomposing a whole into parts
- Design: deciding how the parts work together
Architecture-based development proccess
Documenting
- 7 principles:
- Write from the point of view of the reader: 根據用戶的角度來寫文檔
- Avoid unnecessary repetition: 避免文檔內容的重複
- Avoid ambiguity: 避免文檔的二義性(可用字典(key, description)來解決問題)
- Use a standard organization: 採用主流模版, 無需部分空著不寫
- Record rationale: 提出理論基礎來保持文檔的合理性
- Keep documentation current, but not too current: 不要頻繁更新文檔
- Review documentation for fitness of purpose: 查看所寫文檔是否合乎初衷
- 從不同視角, 不同顆粒度看系統會看到不同的結構.
- 4+1 View: 用於從不同的視角去描述一個軟件系統(結合UML圖)
- Responsibility for different people:
- UML(Unified Modeling Language, 統一建模語言)
- No Concept of Layer
- the De Facto standard language