软件架构复用 有三个阶段:
- 首先构造/获取可复用的软件资产
- 其次管理这些资产(构件库)
- 最后针对这些需求,从这些资产中选择可复用的部分,满足需求应用系统。
特定领域软件架构
DSSA(Domain Specific software Architecture)
特定领域是支持一组应用的特定领域模型、参考需求、参考架构等组成开发基础。
领域分析。领域设计。领域实现。
四种角色的人员
领域专家,领域分析,领域设计,领域实现。
领域专家:有经验的用户或者有经验懂技术的人。
提供一些领域相关的规约和知识,一致性的业务字典。
领域分析者:有经验的系统分析师担任。
获取领域知识,将获取的知识组织到领域模型。
领域设计者:软件设计人员。
根据模型开发DSSA。
领域实现者:程序设计人员。
根据领域模型和DSSA,可重用的组织架构,开发构件。
三层次模型
领域开发环境:领域架构师。会产出,参考结构、参考需求、架构、领域模型、开发工具。
领域特定的应用开发环境:应用开发工程师。
应用执行环境:操作员。
ABSD
ABSD是架构驱动,强调业务、质量和功能需求的组合驱动架构设计。
ABSD三个基础:
1功能的分解。
2通过选择架构来实现质量和业务的需求。
3软件模板的使用。
ABSD是递归迭代的,不是一次性完成。
分为6步,需求、设计、文档化、复审、实现和演化。
需求:
重点掌握标识构件三步。
生成类图、对类进行分组、把类打包成构件。
文档化:
体系结构规格说明书,测试体系结构需求的质量说明书。
架构复审:
由外部人员(开发之外的人,用户代表等)参加复审。
架构实现:
用实体显示出架构。实现构件,构件组装成系统。
架构演化:
对架构改变,按需求增删构建,使架构可复用。