系统架构-DSSAABSD
特定领域软件架构(DSSA)
DSSA是专用于一类特定类型的领域的,其目标是支持在一个特定领域中多各应用的生成。
垂直域:在一个特定领域中的通用软件架构,是一个完整的架构
水平域:在多个不同的特定领域之间的相同的部分小工具(如购物和教育领域的收费系统)
三个基本活动:
- 领域分析:获得领域模型(领域需求)。确定哪些需求是领域中的系统广泛共享的,从而建立领域模型
- 领域设计:目标是获得DSSA,DSSA描述在领域模型中表示的需求的解决方案,能够适应领域中多个系统的需求的一个高层次设计
- 领域实现:依据DSSA开发和组织可重用信息,然后实现这些可重用的部件
参与DSSA的四种角色人员:
- 领域专家:该领域中系统的有经验的用户和从事该领域中系统技术方面有经验的软件工程师
- 领域分析人员:有知识工程背景的系统分析员
- 领域设计人员:有经验的软件设计人员
- 领域实现人员: 有经验的程序设计人员
三层次模型:
- 领域开发环境:产出参考结构、参考需求、架构、领域模型、开发工具
- 领域特定的应用开发环境:根据具体环境来将核心架构实例化
- 应用执行环境:操作员实现实例化后的框架
基于架构的软件开发(ABSD)
ABSD方法是架构驱动,强调由业务、质量和功能需求的组合驱动架构设计。ABSD方法是递归的,迭代的每一个步骤都是清晰定义的。
- 架构需求:从需求库获取需求——》标识构件(生成类图-对类进行分组-把类打包成构件)——》需求评审
- 架构设计:将需求阶段的标识构件映射成构件,进行分析
- 架构(体系结构)文档化:主要产生两种文档:架构(体系结构)规格说明,测试架构(体系结构)需求的质量设计说明书
- 架构复审:由外部人员(独立于开发组织之外的人)
- 架构实现:用实体显示出架构。实现构件,构件组装成系统
- 架构演化:对架构进行改变,按需求增删构件,使架构可重用
图片来源于网络