DSSA的定义
DSSA(Domain Specific Software Architecture)就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构。
Hayes Roth对DSSA的定义如下:“DSSA就是专用于一类特定类型的任务(领域)的、在整个领域中能有效使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合”
Tracz对DSSA的定义如下:“DSSA就是一个特定的问题领域中支持一组应用的领域模型、参考需求、参考体系结构等组成的开发基础,其目标就是支持在一个特定领域中多个应用的生成。”
DSSA的必备特征如下:
1.一个严格定义的问题域和问题解域
2. 具有普遍性,使其可以用于领域中某个特定应用的开发
3. 对整个领域的构件组织模型恰当抽象
4.具备该领域固定的、典型的在开发过程中可重用元素。
从功能覆盖范围的角度,有两种理解 DSSA中领域的含义的方式。
1. 垂直域:定义了一个特定的系统族,包含整个系统族内的多个系统。结果是在该领域中可作为系统的可行解决方案的一个通用软件体系结构。
2. 水平域:定义了在多个系统和多个系统族中功能区域的共有部分,在子系统上涵盖多个系统族的特定部分功能。
DSSA的基本活动
领域分析
这个阶段的主要目标是获得领域模型。领域模型描述领域中系统之间的共同需求,即领域模型所描述的需求为领域需求。
领域设计
这个阶段的主要目标是获得DSSA。DSSA描述在领域模型中表示 需求的解决方案,它不是单个系统的表示 ,而是能够适应领域中多个系统需求的一个高层次 的设计。建立 了领域模型之后,就可以派生出满足这些被建模的领域需求的DSSA,由于领域模型中的领域需求具有 一定的变化 性。在这个阶段通过获得DSSA,也就同时形成了重用基础设施的规约 。
领域实现
这个阶段的主要目标是依据领域模型和DSSA的开发和组织可重用信息。值得注意的是,这个过程是一个反复的,逐渐求精的过程。在实施领域工程的每个阶段中,都可能返回到以前的步骤,对以前的步骤得到的结果进行修改和完善,再回到当前步骤,在新的基础上进行本阶段的活动
参与DSSA的人员
参与DSSA的人员可以划分为4种角色:领域专家、领域分析人员、领域设计人员和领域实现人员。
领域专家
领域专家可能包括该领域中系统的有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等。领域专家的主要任务包括提供关于领域中系统的需求规约和实现的知识,帮助组织规范的、一致的领域字典,帮助选择样本系统作为领域工程的依据,复审领域模型、DSSA等领域工程产品等。
领域专家应该熟悉该领域中系统的软件设计和实现、硬件限制、未来的用户需求及技术走向等。
领域分析人员
领域分析人员应由具有知识工程背景的有经验的系统分析员来担任。领域分析人员的主要任务包括控制整个领域分析过程,进行知识获取,将获取的知识组织到领域模型中,根据现有系统、标准规范等验证领域模型的准确 性和一致性,维护领域模型。
领域分析人员应熟悉软件重用和领域分析方法;熟悉进行知识获取和知识表示所需的技术、语言和工具;应具有一定的该领域的经验,以便于分析领域中的问题及与领域专家进行交互;应具有较高的进行抽象、关联和类比的能力;应具有较高的与他人交互和合作的能力。
领域设计人员
领域设计人员应有经验的软件设计人员来担任。领域设计人员的主要任务包括控制整个软件设计过程,根据领域模型和现有的系统开发出DSSA,对DSSA的准确性和一致性进行验证,建立 领域模型和DSSA之间的联系。
领域设计人员应熟悉软件重用和领域设计方法;熟悉软件设计方法;应有一定的该领域的经验,以便于分析领域中的问题及与领域专家进行交互。
领域实现人员
领域实现人员应由有经验的程序设计人员来担任。领域实现人员的主要任务包括根据领域模型和DSSA,或者从头开发可重用构件,或者利用再工程的技术从现有系统中提取可重用构件,对可重用构件进行验证,建立DSSA与可重用构件间的联系。
领域实现人员应该熟悉软件重用、领域实现及软件再工程技术;熟悉程序设计;具有一定的该领域的经验。
DSSA的建立过程
DSSA的建立过程分为5个阶段,每个阶段可以进一步划分为一些步骤或子阶段。每个阶段包括一组需要回答的问题,一组需要的输入,一组将产生的输出和验证标准。本过程是并发的(Concurrent)、递归的(Recursive)、反复的(Iterative)。或者可以说,它是螺旋模型(Spiral)。完成本过程可能需要对每个阶段经历几遍,每次增加更多的细节。
1. 定义领域范围
2. 定义领域特定的元素。本阶段的目标是编译领域字典和领域术语的同义词典。
3.定义领域特定的设计和实现需求约束。本阶段的目标是描述解空间中有差别的特性。不仅要识别出约束,并且要记录约束对设计和实现决定造成的后果,还要记录对处理这些问题时产生的所有问题的讨论。
4. 定义领域模型和体系结构。本阶段的目标是产生一般的体系结构,并说明构成它们的模块或构件的语法和语义。
5. 产生、搜集可重用的产品单元。本阶段的目标是为DSSA增加构件,使它可以被用来产生问题域中的新应用。


还不快抢沙发