软件架构 


软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构會包括軟體組件、組件之間的關係,組件特性以及組件間關係的特性[1]。软件架构可以和建筑物的架构相比拟[2]。软件架构是构建计算机软件,開發系統以及計劃進行的基础,可以列出開發團隊需要完成的任務[3]

软件架构是在軟體的基礎架構上進行決策,決定後再做修改的代價很大。软件架构中的決策包括在軟體設計時的一些特殊結構性選項,例如要控制太空船登陸艇的系統需要快速而且可靠,因此需要選擇適合实时计算的語言,而且為了滿足可靠度的需求,程式需要有數個冗餘的複本,各複本運作在不同的硬體上,以便比對各程式的結果。

將軟體架構文档化有助於和專案關係人英语Project stakeholder之間的溝通,在高層設計時就可以提早進行決策,也可以在各專案之間復用設計組件[4]:29–35

  1. ^ Clements, Paul; Felix Bachmann; Len Bass; David Garlan; James Ivers; Reed Little; Paulo Merson; Robert Nord; Judith Stafford. Documenting Software Architectures: Views and Beyond, Second Edition. Boston: Addison-Wesley. 2010. ISBN 978-0-321-55268-6. 
  2. ^ Perry, D. E.; Wolf, A. L. Foundations for the study of software architecture (PDF). ACM SIGSOFT Software Engineering Notes. 1992, 17 (4): 40 [2021-02-02]. CiteSeerX 10.1.1.40.5174可免费查阅. S2CID 628695. doi:10.1145/141874.141884. (原始内容存档 (PDF)于2021-04-14). 
  3. ^ Software Architecture. www.sei.cmu.edu. [2018-07-23]. (原始内容存档于2020-09-18) (英语). 
  4. ^ Bass, Len; Paul Clements; Rick Kazman. Software Architecture in Practice, Third Edition. Boston: Addison-Wesley. 2012. ISBN 978-0-321-81573-6. 



取材自維基百科 - 中文時事百科