ABSD方法就像是一位高明的建筑师设计一栋大楼的过程。建筑师首先根据商业、质量和功能需求(相当于大楼的功能、美观和实用性要求)来构思整体架构,然后逐步细化设计,直到每一个细节都清晰明确。同样,ABSD方法也是由这些综合需求驱动的,通过逐步细化软件系统的结构,确保最终的软件产品能够满足所有预期目标。
概念
- ABSD是架构驱动,强调由业务(商业)、质量、属性等组合驱动架构设计
- ABSD有三个方法基础:
- 功能分解:在功能分解中,ABSD方法使用已有的基于模块的内聚和耦合技术,将复杂的系统分解成更小、更易于管理的功能单元。
- 选择架构风格:通过选择恰当的架构风格(如分层、管道-过滤器、客户端-服务器等)来实现质量和业务需求。
- 软件模板的使用:利用经过验证的软件设计模式和框架,以减少设计偏差和提高代码重用。
- 视角和视图:从不同的视角来检查,会有不同的视图
- 用例捕捉功能需求,特定的场景【刺激、环境、响应】捕捉质量需求
开发过程
- 架构需求:明确用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。主要活动包括需求获取、需求分析和需求规格。
- 需求获取:与利益相关者进行会议,了解他们的需求和期望。
- 需求分析:分析搜集到的需求,确定系统必须实现的功能。
- 需求规格:将分析后的需求文档化,形成需求规格说明书,并得到利益相关者的认可。
- 架构设计:根据架构需求,设计系统的整体架构和各个组成部分。主要活动包括选择体系结构风格、映射构件、分析构件作用、产生体系结构、设计评审等。
- 架构文档化:将设计结果文档化,便于开发人员理解和实现。主要输出包括体系结构规格说明文档和测试体系结构需求的质量设计说明书。文档的完整性和质量是软件架构成功的关键因素。
文档的三大注意事项:
- 文档要从使用者的角度进行编写
- 必须分发给所有与系统相关的开发人员
- 必须保证开发者手上的文档是最新的
- 架构复审:对设计结果进行复审,确保设计满足需求和质量标准。主要活动包括同行评审和审查会议,邀请外部人员(如用户代表和领域专家)参加,以获取第三方视角。
- 架构实现:根据设计文档,实现软件系统。主要活动包括构件分析和设计、构件实现、构件组装、系统测试等。
- 架构演化:根据用户反馈和系统运行情况,对系统进行持续改进和优化。主要活动包括错误修正、功能迭代和性能优化等。