软件架构(Software Architecture),也称软件体系结构,指的是是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。
软件架构设计的目的是指导软件的设计开发,因此在软件生命周期里,软件架构设计应置于软件设计阶段之前,需求分析阶段之后或与需求分析同步进行。
在实际的软件项目开发中,软件架构设计的同时,通常也会对软件开发的方法及各种规约进行到定义,这两者合在一起,常常被通称为方式设计或标准化设计。
软件架构是一种无法以简单的一维方式进行说明的复杂实体,因此通常会从多个视角对软件结构分别进行建模。最经典的当属4+1视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件架构。每一个视图只关心系统的一个侧面,5个视图结合在一起构成软件架构的全部内容。