系统架构设计师学习之路(25)

5.4 特定领域软件体系结构

20世纪70年代提出程序族、应用族的概念,特定领域软件体系结构的主要目的:在一组相关应用中共享软件体系结构。

5.4.1 DSSA的定义
Domain Specific Software Architecture,DSSA 就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构。对DSSA研究的角度、关心的问题导致理解的不同。
Hayes Roth的定义:DSSA就是专用于一类特定类型的任务(领域)的,在整个领域中能有效地使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合。
Tracz的定义:DSSA就是一个特定的问题领域中支持一组应用的领域模型、参考需求、参考体系结构等组成的开发基础,其目标就是支持在一个特定领域中多个应用的生成。
DSSA的特征:

  • 一个严格定义的问题域和问题解域;
  • 具有普遍性,使其可以用于领域中某个特定应用的开发;
  • 对整个领域的构件组织模型的恰当抽象;
  • 具备该领域固定的、典型的在开发过程中可重用元素。

从功能覆盖的范围角度有两种理解DSSA中领域的含义的方式:

  • 垂直域:定义一个特定的系统族,包含整个系统族内的多个系统,结果是在该领域中可作为系统的可行解决方案的一个通用软件体系结构;
  • 水平域:定义了在多个系统和多个系统族中功能区域的共有部分。在子系统级上涵盖多个系统族的特定部分功能。

5.4.2 DSSA的基本活动
1.领域分析
这个阶段的主要目标是获得领域模型。
领域模型描述领域中系统之间共同的需求,即领域模型所描述的需求为领域需求。
在这个阶段首先要进行一些准备性的活动,包括定义领域的边界。从而明确分析的对象;识别信息源,建立领域模型。
2.领域设计
这个阶段的主要目标是获得DSSA。
DSSA描述在领域模型中表示的需求的解决方案,它不只是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次的设计。建立了领域模型之后,就可以派生出满足这些被建模的领域需求的DSSA,由于领域模型中的领域需求具有一定的变化性,DSSA也要相应地具有变化性。它可以通过表示多选一的、可选的解决方案等来做到这一点。模型和DSSA来组织的,因此在这个阶段通过获得DSSA,也就同时形成了重用基础设施的规约。
3.领域实现
这个阶段的主要目标是依据领域模型和DSSA开发和组织可重用信息。
这些可重用信息可能是从现有系统中提取得到,也可能需要通过新的开发得到。它们依据领域模型和DSSA进行组织,也就是领域模型和DSSA定义了这些可重用信息的重用时机,从而支持了系统化的软件重用。这个阶段也可以看做重用基础设施的实现阶段。
以上过程是一个反复的、逐渐求精的过程。在实施领域工程的每一个阶段中,都有可能返回到以前的步骤,对以前的步骤得到的结果进行修善,再回到当前步骤,在新的基础上进行本阶段的活动。

5.4.3 参与DSSA的人员
1.领域专家
领域专家可能包括该领域中系统的有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等。
要求:熟悉该领域中系统设计和实现、硬件限制、未来的用户需求及技术走向等。
任务:提供关于领域中系统的需求规约和实现的知识,帮助组织规范的、一致的领域字典,帮助选择样本系统作为领域工程的依据,复审领域模型、DSSA等领域工程产品等。
2.领域分析人员
具有知识工程背景的有经验的系统分析员来担任。
要求:熟悉软件重用和领域分析方法;熟悉进行知识获取和知识表示所需的技术、语言和工具;应具有一定的该领域的经验;应具有较高的抽象、关联和类比的能力;应具有较高的与他人交互和合作的能力。
任务:控制整个领域分析过程,进行知识获取,将获取的知识组织到领域模型中,根据现有系统、标准规范等验证领域模型的准确性和一致性,维护领域模型。
3.领域设计人员
有经验的软件设计人员来担任。
要求:熟悉软件重用和领域设计方法;熟悉软件设计方法;应有一定的该领域的经验,以便于分析领域中的问题及与领域专家进行交互。
任务:控制整个软件设计过程,根据领域模型和现有的系统开发出DSSA,对DSSA的准确性和一致性进行验证,建立领域模型和DSSA之间的联系。
4.领域实现人员
有经验的程序设计人员来担任。
要求:熟悉软件重用、领域实现及软件再工程技术;熟悉程序设计;具有一定的该领域的经验。
任务:根据领域模型和DSSA,或者从头开发可重用构件,或者利用再工程的技术从现有系统中提取可重用构件,对可重用构件进行验证,建立DSSA与可重用构件间的联系。

5.4.4 DSSA的建立过程
因所在的领域不同,DSSA的创建和使用过程也各有差异。
一般情况下,需要用所应用领域的应用开发者习惯使用的工具和方法来建立DSSA模型。同时,DSSA参考体系结构文档是“新应用的开发和对现有应用的维护”的基础。
DSSA建立的五个阶段:
(1)定义领域范围
确定领域内容及本过程的结束时间。
(2)定义领域特定的元素
编译领域字典和领域术语的同义词词典。
(3)定义领域特定的设计和实现需求约束
描述解空间中有差别的特性。不仅要识别出约束,还要记录约束对设计和实现决定造成的后果,还要记录对处理这些问题时产生的所有问题的讨论。
(4)定义领域模型和体系结构
产生一般的体系结构,并说明它们的模块或构件的语法和语义。
(5)产生,搜集可重用的产品单元
为DSSA增加构件,使它可以被用来产生问题域中的新应用。

DSSA的建立过程是并发的、递归的和反复进行的。该过程的目的是将用户的需求映射为基于实现限制集合的软件需求,这些需求定义了DSSA。在此之前的领域工程和领域分析过程并没有对系统的功能性需求和实现限制进行区分,而是统称为“需求”。

DSSA的三层次的系统模型:
DSSA的三层次的系统模型

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值