3.基于架构(体系结构)的软件开发方法(ABSD)- 重视
概念(选择题经常考)
- ABSD 方法是架构驱动,即强调由业务【商业】、质量和功能需求的组合驱动架构设计
- ABSD 方法有三个基础
- 功能的分解(很多方法论都会这样做)。在功能的分解中,ABSD 方法使用已有的基于模块的内聚和耦合技术
- 通过选择架构风格来实现质量和业务需求
- 软件模版的使用
- 视角和视图:用视角与试图来描述软件架构,从不同的视角来检查,所以会有不同的视图 展示功能组织的静态视角能判断质量特性,展示并发行为的动态视角能判断系统行为特性
- 用例用来捕获功能需求、特定(质量)场景【刺激、环境、响应】用来捕获质量需求(质量属性要求,如性能为度【用户请求的响应时间只能在 10ms 以内】)
需求
ABSD 的需求来自系统的质量目标、系统的商业目标、系统开发人员的商业目标
开发过程

需求阶段: 架构需求 设计阶段:架构设计 设计后要生成对应文档:架构文档化 文档需要反复审核:架构复审 编码成可运行的:架构实现 持续优化改进:架构演化
因为大量使用了构件化,所以可以很好的支持软件复用
设计复审的过程中可能有问题,要打回重新设计,这就是递归细化, 0:N 代表可能递归多次
架构演化即不断优化的过程中 可能从架构需求开始不断演化优化,这也是递归细化 0:M 代表可能递归多次
通过不断细化,直到能得到软件构件和类
架构需求过程

独特点: 给需求建立了库
架构需求过程做了什么?
标识构件!
架构设计过程

架构文档化
架构文档化过程的主要输出结果是架构规格说明和测试架构需求的质量设计说明书这两个文档
文档的完整性和质量是软件架构成功的关键因素
关于文档的三大注意事项:
- 文档要从使用者的角度编写
- 必须分发给所有与系统有关的开发人员
- 且必须保证开发者手上的文档是最新的
架构实现过程

架构演化过程(到了运维阶段)
