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