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