軟體架構
維基百科,自由的 encyclopedia
軟體架構是有關軟體整體結構與組件的抽象描述,用於指導大型軟體系統各個方面的設計。軟體架構會包括軟體組件、組件之間的關係,組件特性以及組件間關係的特性[1]。軟體架構可以和建築物的架構相比擬[2]。軟體架構是構建電腦軟體,開發系統以及計劃進行的基礎,可以列出開發團隊需要完成的任務[3]。
軟體架構是在軟體的基礎架構上進行決策,決定後再做修改的代價很大。軟體架構中的決策包括在軟體設計時的一些特殊結構性選項,例如要控制太空船登陸艇的系統需要快速而且可靠,因此需要選擇適合即時計算的語言,而且為了滿足可靠度的需求,程式需要有數個冗餘的複本,各複本運作在不同的硬體上,以便比對各程式的結果。
將軟體架構文件化有助於和專案關係人(英語:Project stakeholder)之間的溝通,在高層設計時就可以提早進行決策,也可以在各專案之間復用設計組件[4]:29–35。