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


  • 7 principles:
    1. Write from the point of view of the reader: 根據用戶的角度來寫文檔
    2. Avoid unnecessary repetition: 避免文檔內容的重複
      • 重複可能帶來二義性
      • 不易於使用和修改
    3. Avoid ambiguity: 避免文檔的二義性(可用字典(key, description)來解決問題)
    4. Use a standard organization: 採用主流模版, 無需部分空著不寫
    5. Record rationale: 提出理論基礎來保持文檔的合理性
    6. Keep documentation current, but not too current: 不要頻繁更新文檔
    7. 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
Empty Comments
Sign in GitHub

As the plugin is integrated with a code management system like GitLab or GitHub, you may have to auth with your account before leaving comments around this article.

Notice: This plugin has used Cookie to store your token with an expiration.