软考-ABSD(基于架构的软件开发)
2025-04-24 17:14:17 0 举报
AI智能生成
ABSD(基于架构的软件开发)是一种以架构为核心、面向业务的软件开发方法。它强调在软件开发过程中,首先要进行架构设计,以确保软件系统的质量、性能和可维护性。ABSD方法通过建立系统的架构模型,包括逻辑架构、物理架构、数据架构和过程架构等,来实现对软件系统的整体规划和设计。此外,ABSD还强调了对系统需求、设计、实现、测试和部署全过程的管理和控制。ABSD不仅能提高软件开发的效率和质量,还能帮助开发人员更好地理解和把握系统的整体结构,提高软件的可重用性和可维护性。
作者其他创作
大纲/内容
开发过程
架构需求
①需求获取、③需求评审
②标识构件
生成类图
对类进行分组
把类打包成构件
需求来源
系统质量目标
非功能性需求(性能、安全性、可扩展性等)
商业(业务)目标
用户功能需求、业务战略需求(如订单管理、多语言支持)
开发人员的商业目标
技术约束、开发效率、成本控制(如选择微服务架构、复用现有模块)
输出
需求文档(功能需求列表)
质量属性优先级列表
初步的构件划分文档
架构设计
①提出架构模型(BS)、②将标识的构件映射到模型中
③分析构件的相互作用、④生成软件架构
输出
架构风格选择文档
总体架构设计图(逻辑视图、物理视图、进程视图等)
构件接口规范
架构文档化
架构规格说明书
架构质量设计说明书(用于架构测试)
视图与视图描述(如部署图、组件图)
架构复审
外部人员复审
架构实现
①分析与设计、②构件实现
③构件组装、④系统测试
架构演化
①需求变化归类、②制定演化计划
③构件变动、④更新构件的相互作用
⑤构件组装与测试、⑥技术评审
三个基础
功能分解
使用模块化设计,通过内聚和耦合原则划分构件
选择架构风格实现质量和业务需求
根据质量需求选择合适的架构风格(如数据流风格、微服务风格)
软件模板的使用
利用已有的架构模板(如电商系统模板)加速设计
关键特点
早期架构设计:在需求不完全明确时即可开始架构设计,降低后期变更风险
质量驱动:通过质量场景(如“系统在高负载下需保持响应时间<2秒”)驱动架构决策
迭代与复用:支持迭代开发,强调架构模板和构件的复用性
适用场景
需求不明确的系统:如长生命周期系统、软件产品线
复杂系统:需要高可扩展性、高可靠性的系统(如金融、医疗系统)
定义
是架构驱动的,强调由业务(商业)、质量和功能需求组合的架构设计
自顶向下、递归细化的方法直到能产生软件构件和类(模块)
采用视角和视图来描述软件架构
采用用例和质量属性场景来描述需求
系统自顶向下拆分
概念子系统
概念构件
实际(演进)构件
0 条评论
下一页