首页 资讯 特定领域软件架构可以看作开发产品线的有何方法及特征分析

特定领域软件架构可以看作开发产品线的有何方法及特征分析

更新时间:2022-10-02 19:09:23 分类:资讯 浏览:171

一、什么是DSSA

领域特定软件架构(DSSA)是实现领域特定软件重用的有效手段。简单地说,DSSA 是一种标准的软件架构,它为特定应用领域中的一组应用提供组织参考。按照 Tracz 的说法,DSSA 是由特定问题域中的领域模型、参考需求、参考架构等组成的开发基础设施,其目标是支持特定领域中多个应用程序的生成。特定领域的软件架构可以被视为开发产品线的一种方法或理论,其目标是支持在特定领域中生成多个应用程序。

二、DSSA 与架构有何关系?

1、DSSA基于问题域,而软件架构基于解决方案域;

2、DSSA只提取、存储和整理某一领域的设计专家知识,但可以同时使用多种建筑风格;并以一定的建筑风格组织建筑专家知识。到多个应用领域;

3、DSSA的特定领域参考架构通常会选择一种或多种架构风格,设计出专门的架构分析和设计工具;

4、建筑风格的定义和应用领域是正交的,提取的设计知识比DSSA提取的设计专家知识适用范围更广。

三、DSSA 的特点

(1)严格定义的问题域和问题解决域。

(2) 是通用的。它可以用于领域中特定应用程序的开发。

(3)整个领域的组件组织模型的适当抽象。

(4)具有在现场固定的元素,通常在开发过程中可重用。

四、DSSA字段的含义

就功能覆盖范围而言,通常有两种方式来理解 DSSA 中域的含义。

(1)垂直域:定义了一个特定的系统家族,包括整个系统家族中的多个系统,从而形成一个通用的软件架构,作为该域中系统的可行解决方案。

(2)横向域:定义跨多个系统和多个系统族的功能区域的公共部分。涵盖子系统级别的多个系统族功能的特定部分。

在垂直域上定义的DSSA只能应用于成熟稳定的域,但这个条件很难满足:如果将域划分为更小的范围,则相对容易获得一致的解决方案。

五、DSSA的基本活动

实施 DSSA 涉及一些基本活动。虽然具体的 DSSA 方法可能会定义不同的概念、步骤、产品等,但这些基本活动通常是相同的。

1.领域分析

这个阶段的主要目标是获得领域模型。领域模型描述了领域内系统之间的共同需求,即领域模型所描述的需求就是领域需求。在这个阶段首先进行一些准备活动,包括定义域的边界。从而明确分析的对象;识别信息来源,整个领域工程过程中的信息来源,可能的信息来源包括现有系统、技术文献、问题领域和系统开发的专家、用户调查和市场分析、领域演变的历史记录等。 ,我们可以分析域中系统的需求,确定哪些需求被域中的系统广泛共享,并建立领域模型。当域中存在大量系统时,需要选择其中的一个子集作为样本系统。检查样本系统需求将揭示领域需求的一系列变化。有些要求对所有考虑的系统都是通用的,有些要求是单个系统独有的。许多需求位于这两个极端之间,即由系统的各个部分共享。

2. 领域设计

此阶段的目标是获得 DSSA。DSSA 描述了域模型中表达的需求的解决方案,它不是单个系统的表示,而是可以适应域中多个系统的需求的高级设计。领域模型建立后,可以衍生出满足建模领域需求的DSSA。由于领域模型中的领域需求具有一定的可变性,因此DSSA也应该具有相应的可变性。它可以通过表示-()、()等解决方案来做到这一点。模型和DSSA是组织起来的,因此通过在这个阶段获得DSSA,重用基础设施的规范也形成了。

3.领域实现

薪酬结构和绩效体系_体系结构设计_长城的防御体系及结构

此阶段的主要目标是根据领域模型和 DSSA 开发和组织可重用信息。这种可重用的信息可能是从现有系统中提取的,也可能需要通过新的开发来获得。它们是根据领域模型和DSSA组织的,即领域模型和DSSA定义了这些可重用信息何时可以重用,从而支持系统的软件重用。这个阶段也可以看作是重用基础设施的实施阶段。

值得注意的是,上述过程是一个迭代、渐进的细化过程。在实施领域工程的每个阶段,都可以回到之前的步骤,对之前步骤中得到的结果进行修改和改进,然后再回到当前步骤,在新的基础上开展这一阶段的活动。

六、参与 DSSA 的人员

参与 DSSA 的人可以分为 4 个角色:领域专家、领域分析师、领域设计师和领域实施者。

1.领域专家

领域专家可能包括领域内系统的经验丰富的用户、从事领域内系统的需求分析、设计、实施和项目管理的经验丰富的软件工程师。领域专家的主要任务包括提供有关领域内系统的需求规范和实现的知识,帮助组织标准化和一致的领域字典,帮助选择示例系统作为领域工程的基础,审查领域模型、DSSA 等领域工程产品等领域专家应熟悉该领域系统的软件设计和实现、硬件限制、未来用户需求和技术趋势。

2.领域分析师

领域分析师应该是具有知识工程背景的经验丰富的系统分析师。领域分析师的主要任务包括控制整个领域分析过程,获取知识,将获取的知识组织到领域模型中,根据现有系统、标准规范等验证领域模型的准确性和一致性,以及维护领域模型。领域分析师应熟悉软件重用和领域分析方法;熟悉知识获取和知识表示所需的技术、语言和工具;应具备一定的领域经验,能够分析领域内的问题并与领域专家互动;应具有较高的抽象、关联和类比能力;应具有较高的与他人互动和合作的能力。

3. 领域设计师

领域设计师应该是一位经验丰富的软件设计师。领域设计师的主要任务包括控制软件设计过程,基于领域模型和现有系统开发DSSA,验证DSSA的准确性和一致性,建立领域模型和DSSA之间的链接。领域设计人员应熟悉软件重用和领域设计方法;熟悉软件设计方法;应具有一定的领域经验,以便分析领域中的问题并与领域专家互动。

4. 现场执行者

领域实现者应该是经验丰富的程序员。领域实现者的主要任务包括根据领域模型和DSSA从头开始开发可重用组件,或利用再工程技术从现有系统中提取可重用组件,验证可重用组件,以及建立DSSA和可重用组件之间的关系。接触。领域实施者应熟悉软件重用、领域实施和软件再造技术;熟悉程序设计;并在该领域有一定的经验。

七、DSSA建立过程

由于领域不同,DSSA的创建和使用过程也不同。Tract提出了一个通用的DSSA申请流程,这些流程也需要根据应用领域进行调整。一般来说,DSSA模型需要使用应用领域的应用开发者习惯使用的工具和方法来建立。同时,Tracz 强调了 DSSA 参考架构文档工作的重要性。因为新应用程序的开发和现有应用程序的维护都是基于此。

DSSA的建立过程分为5个阶段,每个阶段又可以进一步细分为一些步骤或子阶段。每个阶段由一组要回答的问题、一组所需的输入、一组将产生的输出和验证标准组成。这个过程是()、()和()。或者你可以说,它是螺旋模型()。完成这个过程可能需要多次经历每个阶段体系结构设计,每次都添加更多细节。

(1)定义领域范围。这一阶段的重点是确定感兴趣的领域中的内容以及流程何时结束。这一阶段的主要输出是领域中的应用程序需要满足一系列用户需求。

(2) - : 这一阶段的目标是编译一个领域词典和一个领域术语的同义词词典。在领域工程过程的前一阶段生成的高级块圆将被扩充更详细,特别是识别领域中应用程序之间的共性和差异。

(3)定义特定领域的设计和实现需求约束:这个阶段的目标是描述解决方案空间的区别属性。不仅要识别约束,而且约束对设计和实现决策的后果是记录在案,同时记录在处理这些问题时出现的任何问题的讨论。

(4)定义领域模型和架构:这个阶段的目标是生成通用架构体系结构设计,并指定组成它们的模块或组件的语法和语义。

(5)生成、收集可重用的产品单元:此阶段的目标是向 DSSA 添加可用于在问题域中生成新应用程序的组件。

DSSA的建立过程是并发的、递归的和迭代的。此过程的目的是根据定义 DSSA 的实施约束集将用户需求映射到软件需求。以往的领域工程和领域分析过程,并没有区分系统的功能需求和实现约束,而是统称为“需求”。

DSSA 三级系统模型

版权声明: 本站内容部分来源网络,版权归作者所有,如有侵权,请联系我们删除!