基于架构的软件开发方法(ABSD)

软件架构基本概念

定义

  1. 软件架构是对软件系统的结构、行为和属性的高级抽象
  2. 软件架构风格是特定应用领域的惯用模式,架构定义了一个词汇表和一组约束。
  3. 架构设计就是需求分配,即将满足需求的职责分配到组件上。

软件架构的作用

  1. 是项目干系人的交流手段
  2. 是可传递和可复用的原型
  3. 有助于循序渐进的原型设计

架构的4+1视图与uml4+1视图的对比

主要区别在于它们的应用场景和目的不同。架构的4+1视图时为了从不同利益相关者的角度来描述系统, uml4+1视图则是通过uml工具和图表来实现这些视图。

架构的4+1视图

  1. 场景:用于描述系统的用例和场景,以验证架构设计。
  2. 逻辑视图:描述系统的功能需求(最终用户)
  3. 物理视图:描述硬件和软件模块的部署情况,解决系统的拓扑结构、系统安装、通信等问题(系统工程人员、部署人员)
  4. 开发视图:用于描述软件模块的组织和管理,侧重于静态(开发人员)
  5. 进程视图:![]https://i-blog.csdnimg.cn/direct/f503ab4dec1244f29881adec0eaab953.png)
    关注于非功能需求(如系统并发性、分布性、吞吐量等动态特征)

UML 4+1 视图

1.逻辑视图:通常使用类图和对象图
2.进程视图:使用活动图、顺序图和状态图
3.开发视图:关注程序的组织和构件,用包图和组件图
4. 物理视图:部署图来表示系统的物理架构和部署情况(部署图、网络拓扑图)
5. 用例视图:系需求分析模型
在这里插入图片描述

软件架构描述语言ADL

ADL是一种形式化语言,有三个基本元素,构件、连接件、架构配置

  1. 构件:执行特定功能的独立单元,每个构件都封装一组功能,对外提供接口。
  2. 连接件:定义构件之间如何相互通信。
  3. 配置架构:描述了构件与连接件的组织方式。

基于架构的软件开发方法(ABSD)

基本概念

  • ABSD是架构驱动,强调由业务、质量和功能需求的组合驱动架构设计。

  • 核心思想:将软件开发过程划分为多个层次,从高层抽象到底层实现。

  • 三个基础:功能的分解(内聚和耦合技术)、通过选中架构风格来实现质量和业务需求、软件模板的重用。

  • 从不同的视角来检查,所有有不同的视图

  • 用例来捕获功能需求,特定场景(刺激、环境、响应)来捕获质量属性需求。

ABSD的开发过程

ABSD开发过程主要包括以下几个阶段:架构需求、设计、文档化、复审、实现和演化。

1、架构需求阶段:

主要目的是明确系统的需求,包括功能需求和质量需求。

① 获取需求:架构需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。(如果以前有类似的系统架构的需求,我们可以从需求库中取出,加以利用和修改,以节省获取需求的时间,减少重复劳动,提高开发效率。)
② 标识构件:生成类图、对类进行分组、把类打包成构件。
③ 架构需求评审:由分析人员、客户、设计人员、测试人员组成小组,检查需求是否真实,类的分组是否合理,构件的合并是否合理。

2、架构设计阶段:

提出架构模型、映射架构、分析架构的相互作用

① 提出架构模型:选择一个合适的架构风格,该模型为将来的实现和演化建立了目标。
② 映射架构:把已标识的构建映射到架构中,将产生一个中间结构,它只包含合适架构模型的构件。
③ 分析构件的相互作用
④ 产生架构:当决定了关键构件的相互作用后,就可以在中间结构的基础上进行精化,得到软件架构。
⑤ 设计评审:邀请独立于系统开发的外部人员对架构进行评审。

3、架构文档化

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

4、架构复审

架构复审(架构评估)的目的是标识潜在的风险,及早发现架构设计中的缺陷和错误。

5、架构实现

① 分析与设计:在架构说明书中,已经定义了系统中构件与构件之间的关系,构件接口约束对外唯一代表了构件,所以可以从构件库中直接查找符合接口约束的构件。
② 构件实现:必要时开发新的满足要求的构件。
③ 构件组装
④ 系统测试:包括单个构件的功能性测试和被组装应用的整理功能和性能测试。

6、架构演化

① 需求变化归类:对需求变化进行归类,使变化的需求与已有构架对应。对找不到对应构件的需求变动,在后续工作中将创建新的构件来对应。
② 制定架构演化计划
③ 构件变动:修改、增加或者删除构件,要对修改和增加的构件进行功能性测试。
④ 更新构件的相互作用
⑤ 构件组装与测试
⑥ 技术评审

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值