软件架构设计

 

定义

软件架构(Software Architecture),也称软件体系结构,指的是是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。

概述

软件架构设计的目的是指导软件的设计开发,因此在软件生命周期里,软件架构设计应置于软件设计阶段之前,需求分析阶段之后或与需求分析同步进行。

在实际的软件项目开发中,软件架构设计的同时,通常也会对软件开发的方法及各种规约进行到定义,这两者合在一起,常常被通称为方式设计或标准化设计。

视图

软件架构是一种无法以简单的一维方式进行说明的复杂实体,因此通常会从多个视角对软件结构分别进行建模。最经典的当属4+1视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件架构。每一个视图只关心系统的一个侧面,5个视图结合在一起构成软件架构的全部内容。

  • 场景视图(Scenarios)
    用来描述软件的使用场景、业务流程。
  • 逻辑视图(Logical View)
    用来描述软件的功能结构。
  • 开发视图(Development View)
    用来描述软件的组件架构。
  • 进程视图(Process View)
    用来描述软件的运行特性,关注非功能性的需求如性能、可用性等。
  • 物理视图(Physical View)
    用来描述软件的部署架构。