软件架构(SA)概念
一、软件架构设计与生命周期
- 需求分析阶段
- 设计阶段,SA研究包括:SA模型的描述(3个层次:基本概念、体系结构描述语言、多视图表示),SA模型的设计与分析方法,SA设计经验的总结与复用
- 实现阶段
- 构件组装阶段
- 部署阶段
- 后开发阶段(动态软件体系结构,体系结构恢复和重建)
二、软件架构的重要性
- 架构设计能够满足系统的品质
- 架构设计使受益人达成一致的目标
- 架构设计能够支持计划编制过程
- 架构设计对系统开发的指导性
- 架构设计能够有效地管理复杂性
- 架构设计为复用奠定了基础
- 架构设计能够降低维护费用
- 架构设计能够支持冲突分析
基于架构的软件开发方法
基于体系结构的软件设计(ABSD)方法,是由体系结构驱动的,即由构成体系结构的商业、质量和功能需求的组合驱动的。有3个基础:功能的分解、通过选择体系结构风格来实现质量和商业需求、软件模板的使用。
ABSD 是一个自顶向下,递归细化的方法。
一、开发模型 ABSD模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现和演化6个子过程。
体系结构需求过程
二、体系结构设计
三、体系结构文档化 文档是在系统演化的每一个阶段,系统设计与开发人员的通信媒介,是为验证体系结构设计和提炼或修改这些设计(必要时)所执行预先分析的基础。
体系结构文档化过程的主要输出结果:体系结构规格说明、测试体系结构需求的质量设计说明书
四、体系结构复审 复审的目的是标识潜在的风险,及早发现体系结构设计中的缺陷和错误
五、体系结构实现
六、体系结构的演化