基于架构的软件设计
ABSD 方法有三个基础,分别是 #card #incremental
对系统进行功能分解
采用 **架构风格 ** 实现质量属性与商业需求
采用 软件模板 设计软件结构。
6 个关键步骤 #card #incremental需求变化归类 :<-> 识别并归类用户需求变动,分析哪些变动对应已有构件,哪些需要新增构件。
制订体系结构演化计划 :<-> 在修改结构之前,制定详细的演化实施计划,确保演化过程有序进行。
修改、增加或删除构件 :<-> 根据变化归类结果调整构件集合,进行必要的增、删、改操作。
更新构件的相互作用 :<-> 因为构件变动可能改变构件之间的接口、依赖和交互,因此需更新它们之间的控制流和数据流关系。
构件组装与测试 :<-> 将各构件重新集成,形成新的系统架构,并进行系统级功能和性能测试。
技术评审 :<-> 对整个演化过程和成果进行评审,确保体系结构正确反映了新需求。
在 ABSD 中,强调从多个视角分析系统架构,以确保设计的全面性和高质量:静态视角 :<-> 用于展示系统功能结构的组织形式,便于分析系统的质量特性,如可维护性、可扩展性等。
动态视角 :<-> 关注系统在运行时的行为特征,如并发性、实时响应性,用于分析系统行为特性。
配置视图 :<-> 用于表示软件到硬件的映射和分布结构(这是架构4+1 视图的定义)。
逻辑视图 :<-> 用来描述系统中设计元素的功能、接口等,明确它们在整个系统中承担的角色,是记录系统功能结构的核心视图
ABSD 体系结构需求一般来自3个方面,分别是 #card #incremental系统的质量目标
系统的商业目标
开发人员的商业目标
顶层系统自顶向下被分解为若干个 :-> 概念子系统