重點摘要#

  • 軟體架構不僅是技術活動,更是平衡利害關係人利益與技術需求的藝術
  • 架構師需要考量安全性、可用性、可支援性、發布管理、部署選項等多面向
  • 短期內可以向某個優先級傾斜,但長期必須維持適當的平衡
  • 平衡應根據上下文(軟體預期壽命、業務關鍵性、組織文化等)來調整

詳細內容#

當我們想到軟體架構時,往往首先想到的是傳統技術活動:模組化系統、定義介面、分配責任、套用模式、優化效能。然而,架構師還需要考慮安全性、可用性、可支援性、發布管理和部署選項等。

利害關係人分析#

採用**「利害關係人及其利益」**的方法進行需求分析,是確保軟體需求規格完整性的優秀方式。分析利害關係人及其利益,揭示了影響架構師的最終優先級集合。

平衡的藝術#

架構師的工作不僅是為使用者創建功能完善、高品質的軟體,還要在以下需求之間取得平衡:

  • 業務 CEO 的成本控制利益
  • 運維人員的易管理利益
  • 未來程式設計師的易學習和易維護利益
  • 軟體架構專業的最佳實踐

軟體架構不僅僅是傳統的技術活動,它是在專案中平衡技術需求與利害關係人的業務需求。

上下文決定平衡#

達到的平衡需要適合當前的上下文,考慮因素包括:

  • 軟體的預期壽命
  • 軟體對業務的關鍵程度
  • 組織的技術與財務文化

— By Randy Stafford