第四章_特定领域的软件体系结构
软件体系结构

软件体系结构引言软件体系结构是指在软件系统中,对系统整体结构进行组织和设计的过程。
一个合理的软件体系结构能够帮助开发者降低系统的复杂度,提高系统的可维护性和可扩展性。
本文将介绍软件体系结构的基本概念和常用的体系结构模式,以及如何进行软件体系结构设计。
软件体系结构的基本概念软件体系结构是一个抽象的概念,用于描述软件系统中各个组件之间的关系和交互方式。
它主要由以下几个基本概念组成:1.组件(Component):组件是软件系统中的一个独立的功能单元,可以由一个或多个模块(Module)组成,实现特定的功能。
2.接口(Interface):接口定义了组件之间的通信方式和消息传递方式。
一个组件可以提供多个接口供其他组件使用。
3.关系(Relationship):组件之间的关系可以是依赖关系(Dependency)、关联关系(Association)、聚合关系(Aggregation)和组合关系(Composition)等。
这些关系将多个组件链接起来,形成一个组织结构。
4.架构风格(Architectural Style):架构风格定义了软件系统的整体结构的模式和约束。
常见的架构风格包括层次结构(Layered)、客户端-服务器(Client-Server)、发布-订阅(Publish-Subscribe)等。
常用的软件体系结构模式在进行软件体系结构设计时,可以借鉴一些常用的体系结构模式。
下面介绍几种常见的模式:1.层次结构(Layered):层次结构将软件系统划分为若干层,每一层负责特定的功能。
上层的组件可以调用下层的组件,反之则不行。
这种模式可以降低系统的复杂度和耦合度,提高系统的可维护性。
2.客户端-服务器(Client-Server):客户端-服务器模式将软件系统划分为客户端和服务器两个部分。
客户端负责与用户进行交互,而服务器负责处理客户端的请求并返回结果。
这种模式可以实现系统的分布式部署,提高系统的可伸缩性。
软件体系结构

7
践者提供设计体系结构更好的方法,以便设计人员相互交流,并可以使 用支持体系结构描述语言的工具来分析案例。 这些内容将在第5 章介绍。 第二类是体系结构领域知识的总结性研究。这一领域关心的是工程 师通过软件实践总结而来各种体系结构原则和模式的分类和阐释。 第三类是针对特定领域的框架 [SEI90,Tra94] 的研究。这类研究产生 了针对一类特殊软件的体系结构框架,比如,航空电子控制系统、移动 机器人、用户界面。这类研究一旦成功,这样的框架便可以被毫不费力 实例化来生产这一领域新的产品。这部分内容将在第 7 章介绍。 第四类是软件体系结构形式化支持的研究。随着新的符号的产生, 以及人们对体系结构设计实践的理解逐步深入,需要用一种严格的形式 化方法刻画软件体系结构及其相关性质。这些内容将在第 5 章介绍。
8
设计或实现中一种特殊的重复出现的问题。例如,Bridge 模式,它为解 决抽象部分和实现部分独立变化的问题提供了一种通用结构。因此,设 计模式更强调直接复用的程序结构。 3. 应用框架(Application Framework) 应用框架是整个或部分系统的可重用设计,表现为一组抽象构件的 集合以及构件实例间交互的方法。可以说,一个框架是一个可复用的设 计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的 依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协 作的方法,它为构件复用提供了上下文 (Context) 关系。在很多情况下, 框架通常以构件库的形式出现,但构件库只是框架的一个重要部分。框 架的关键还在于框架内对象间的交互模式和控制流模式 [2]。 设计模式是对在某种环境中反复出现的问题以及解决该问题的方 案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复 用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的 元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特 定应用领域,但同一模式却可适用于各种不同的应用。体系结构风格描 述了软件系统的整体组织结构,它独立于实际问题。而设计模式和应用 框架更加面向具体问题。 体系结构风格、设计模式和应用框架的概念是从不同的目的和出发 点讨论软件体系结构,它们之间的概念经常互相借鉴和引用。
软件体系结构

这种系统主要适用于控制系统,信息管理系 统,CAD系统,CASE工具集。
13
集成的CASE工具集的体系结构 以数据仓库为核心
设计编辑器
代码生成器
设计翻译器
项目数据仓库
程序编辑器
设计分析器
报告生成器
14
这种体系结构包括数据库、超文本系统及数 据黑板系统等。它包含两种成分:一是共享 的结构化数据;二是所有访问这些数据的操 作。
集中控制模型分为两类: 控制子系统顺序执行 控制子系统并发执行
作为集中控制器的子系统在将控制转交给另 一子系统后,该子系统完成它的功能后控制 权还要归还给集中控制器子系统。
33
(1)调用-返回模型 (Call-Return model)
此即熟悉的自顶向下的子程序模型。 控制始于子程序层次的顶部,通过子程序调
用,从层次结构较高层的程序向较低层的程 序传递控制信息。程序执行结束将向较高层 的父程序返回。 这种程序模型仅应用于顺序系统。 该模型可以在模块层使用,以控制函数或对 象。
34
控制的Call-Return模型
Main Program
Routine Routine Routine
1
2
3
Routine Routine
6
4) 控制构件: 管理其它构件运行的时间、时 机及次序。例如,调度器、同步器等。
5) 链接构件: 在实体之间传递信息。例如, 通信机制、用户界面等。
1.5 构件之间的连接方式
1) 过程调用: 在某一特定执行路径中传递执行 指针。如普通过程调用、远程过程调用。
2) 数据流: 相互独立的处理通过数据流进行交 互,在得到数据的同时被赋予控制权限。 如 UNIX 系统中的管道。
软件体系结构概述

软件体系结构概述软件体系结构是指软件系统的组织方式和结构框架,包括系统的组件、模块、连接方式以及它们之间的关系。
软件体系结构定义了系统的主要构成和交互方式,以及系统的整体特性和行为。
软件体系结构的设计和选择对于系统的可维护性、可扩展性、可靠性和性能等方面都有重要影响。
软件体系结构可以理解为一个软件系统的蓝图或者设计模板,它指导和限制了系统在开发和维护过程中的各个方面,并对系统的演化和重用性提供支持。
常见的软件体系结构包括客户端-服务器体系结构、分层体系结构、面向对象体系结构、面向服务体系结构等。
客户端-服务器体系结构是最常见的软件体系结构之一,它将软件系统划分为客户端和服务器两部分。
客户端负责用户界面和用户交互,服务器负责处理业务逻辑和数据存储。
这种体系结构可以提高系统的可伸缩性和可靠性,同时也增加了系统的复杂性和通信开销。
分层体系结构将软件系统划分为多个层次,每个层次具有特定的功能。
常见的层次包括表示层、业务逻辑层和数据访问层。
表示层负责用户界面的展示和交互,业务逻辑层负责系统的业务逻辑处理,数据访问层负责数据的存储和访问。
分层体系结构可以提高系统的可重用性和可维护性,同时也增加了系统的复杂性和通信开销。
面向对象体系结构利用面向对象的思想和技术进行软件系统的设计和实现。
它将软件系统划分为多个对象,每个对象具有特定的属性和方法,并通过消息传递进行交互。
面向对象体系结构可以提高系统的可重用性和可维护性,同时也增加了系统的复杂性和内存开销。
面向服务体系结构将软件系统划分为多个服务,每个服务具有特定的功能和接口。
这些服务通过网络进行通信和交互,从而实现系统的功能需求。
面向服务体系结构可以提高系统的可扩展性和跨平台性,同时也增加了系统的通信开销和服务管理的复杂性。
除了以上常见的软件体系结构外,还有其他一些特定领域的体系结构,如实时系统体系结构、并行系统体系结构等。
实时系统体系结构适用于对响应时间有严格要求的系统,它需要快速的响应和高可靠性。
第4章 特定领域的软件体系结构

领域实现
领域实现的主要目标是根据领域模型、 DSSA来开发和组织可重用软件元素。领域 实现的主要活动包括:
开发可重用软件元素; 对可重用软件元素进行组织,一种重要的方法 是将可重用构件加入可重用构件库中。这些可 重用软件元素可能是利用再工程技术从现有系 统中提取得到的,也可能是在新开发过程中获 取的。
问题领域的内聚性和稳定性。关于现实世界问题领域的 解决方法的知识是充分内聚和稳定的,这才能使得获取 和表示这些知识的努力是有意义的,这一基本认识是实 际观察的结果。一个问题领域的规约和实现知识的内聚 性,便得可以通过一组有限的、相对较少的可重用信息 来把握这些可以解决大量问题的知识。领域的稳定性, 使得获取和表示这些信息所付出的代价可以通过在一段 较长的时间内多次重用它们来得到补偿。
4.5 DSSA的生命周期
与传统的软件工程一样,基于特定领域的软件体系结构 DSSA的开发也存在着生命周期。R· Balzer提出一个基 于DSSA的软件开发生命周期,如图所示。
领域需求 领域分析 领域模型 参考体系 结构规范 重用构件的 获取和生成
应用系 统需求
应用系统 需求分析
应用系 统规范
领域设计
领域设计是领域工程的第二个阶段,此阶段的主要目标是针对 领域分析阶段获得的对目标领域的问题域系统责任的认识,开 发出相应的设计模型。与领域分析模型一样,领域设计框架必 须被一般化、标准化和文档化,使之能够在创建多个软件产品 时被使用。领域设计框架一般化处理的步骤: (1)从实现中分离依赖关系,使之容易辨认和修改,以适应特定 软件产品的需求,或者满足新应用环境与技术的需要。 (2)将框架分层,使软件资源(诸如过程和服务)可以按照特定应 用、特定操作系统以及特定硬件平台的要求进行分层。这样, 将使领域设计框架更容易适应特定领域软件开发的需求。 (3)在每一层上,寻找适合领域设计框架的通用软件资源;然后 以此为基础,寻找适合框架的其他基础性资源。
软件体系结构

软件体系结构在软件开发过程中,软件体系结构是一个至关重要的概念。
软件体系结构是指软件系统中的各个组件、模块和它们之间的关系。
一个优秀的软件体系结构可以提高软件系统的可维护性、可扩展性和可重用性,同时也有利于降低开发成本和提高软件质量。
软件体系结构的定义软件体系结构是指软件系统中各个部分相互之间的组织方式。
它包括软件系统中的组件、组件之间的关系,以及这些组件和关系在整体上所形成的结构。
软件体系结构描述了软件系统的整体结构,以及各个组件之间的相互作用。
软件体系结构的重要性软件体系结构在软件开发过程中起着至关重要的作用。
一个良好的软件体系结构可以帮助开发人员更好地理解软件系统的结构和设计,从而更容易进行软件开发、测试、部署和维护。
此外,良好的软件体系结构还可以提高软件系统的性能、可靠性和安全性,降低软件开发和维护的成本。
软件体系结构的组成一个软件系统的体系结构通常由以下几个组成部分组成:1.组件(Components):软件系统中的各个部分。
2.接口(Interfaces):组件之间进行通信和交互的方式。
3.关系(Relationships):描述组件之间的依赖关系,如依赖、引用、调用等。
4.约束(Constraints):对组件之间交互的限制条件。
5.配置(Configurations):软件系统中各个组件的布局和部署方式。
软件体系结构的类型软件体系结构可以分为多种类型,常见的软件体系结构包括:•分层体系结构:软件系统按层次结构组织,每一层负责不同的功能。
•客户端-服务器体系结构:软件系统分为客户端和服务器,客户端负责用户界面,服务器负责处理业务逻辑。
•面向服务的体系结构:软件系统以服务为中心,各个组件之间通过服务进行通信和交互。
•事件驱动体系结构:软件系统通过事件进行通信和控制。
•管道和过滤器体系结构:软件系统通过一系列过滤器进行数据处理。
软件体系结构的设计原则在设计软件体系结构时,需要遵循一些设计原则,以确保软件系统的质量和可维护性:1.模块化:将软件系统划分为多个独立的模块,每个模块负责一个特定的功能。
DSSA特定领域软件体系结构

DSSA特定领域软件体系结构⼀、何为DSSA特定领域软件架构(Domain Specific Software Architecture,DSSA)是⼀种有效实现特定领域软件重⽤的⼿段。
简单地说,DSSA就是在⼀个特定应⽤领域为⼀组应⽤提供组织结构参考的标准软件体系结构。
按照Tracz的说法,DSSA就是⼀个特定的问题领域中由领域模型、参考需求、参考架构等组成的开发基础架构,其⽬标就是⽀持⼀个特定领域中多个应⽤的⽣成。
特定领域软件架构可以看作开发产品线的⼀个⽅法或理论,它的⽬标就是⽀持在⼀个特定领域中有多个应⽤的⽣成。
⼆、DSSA与体系结构之间有何关联?1、DSSA是以问题域为出发点,⽽软件体系结构是以解决域为出发点的;2、DSSA只对某⼀个领域进⾏设计专家知识的提取、存储和组织,但可以同时使⽤多种体系结构风格;⽽在某个体系结构风格中进⾏体系结构专家知识的组织时可以扩展到多个应⽤领域;3、DSSA的特定领域参考体系结构通常选⼀个或多个体系结构风格,并设计⼀个专⽤的体系结构分析设计⼯具;4、体系结构风格的定义和应⽤领域是直交的,提取的设计知识⽐⽤DSSA提取的设计专家知识的应⽤要⼴泛。
三、DSSA的特征(1)⼀个严格定义的问题域和问题解域。
(2)具有普遍性。
使其可以⽤于领域中某个特定应⽤的开发。
(3)对整个领域的构件组织模型的恰当抽象。
(4)具备该领域固定的、典型的在开发过程中可重⽤元素。
四、DSSA领域的含义从功能覆盖的范围⾓度通常有两种理解DSSA中领域的含义的⽅式。
(1)垂直域:定义了⼀个特定的系统族,包含整个系统族内的多个系统,结果是在该领域中可作为系统的可⾏解决⽅案的⼀个通⽤软件体系结构。
(2)⽔平域:定义了在多个系统和多个系统族中功能区域的共有部分。
在⼦系统级上涵盖多个系统族的特定部分功能。
在垂直域上定义的DSSA只能应⽤于⼀个成熟的、稳定的领域,但这个条件⽐较难以满⾜:若将领域分割成较⼩的范围,则更相对容易,也容易得到⼀个⼀致的解决⽅案。
特定领域软件体系结构

Food.OraclDAL
Food.SQLServerDAL
Food.SybaseDAL
应用实例2(续)
1.Food.ConfigTool:用来加密连接字符串和创建事件同志源的管理应用程序。 2.Food.Utility:起到的是数据访问辅助的作用。 3.Food.UI.Main:主要是处理表示层最后要生成的可执行文件的项目,主要是 程序主界面的处理。 4.Food.UI.Base:主要是处理表示层所要继承的窗体和调用的公共类。 5.Food.UI.Fly:主要是处理表示层航班管理的业务。 6.Food.UI.Eqp:主要是处理表示层配送管理的业务。 7.Food.UI.Std:主要是处理表示层标准管理的业务。 8.Food.UI.Sys:主要是处理表示层系统管理的业务。 9.Food.Model:主要是对数据集的处理。 10.Food.UI.Common:主要是处理对多种连接方式的处理。 11.Food.IDAI。:数据接口,主要是对外提供数据接 12.Food.DALFactory:数据工厂,主要是配置对不同数据库的访问,用来确定加载
(1)认定RC
(2)库中有否?
N
Y
(5)满足要求否?
N
Y
(6)定制RC
(3)描述RC (4)制作RC (7)测试RC (8)归类RC
(9)应用RC
RC库
应用实例1--保险行业特定领域软件体系 结构
I
已有具体需求
保险领域知识和 a 软件体系结构方法
新应用需求
1
II 应用抽象描述和 分解
III 实现分解的子系 统(构件)
RC开发
DSSA DSSA维护
领域工程 领域知识
RC库
系统设计与开发 应用系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
领域实现
领域实现的主要目标是根据领域模型、DSSA来 开发和组织可复用软件元素 其主要活动包括:开发可复用软件元素,对可复 用软件元素进行组织
4.2.1 DSSA的领域工程
领域实现阶段的重要产品就是与特定领域相关的 可复用构件库 复用构件库覆盖了领域模型、领域设计框架和源 代码多种抽象层次,体现为系统、框架以及类的 不同粒度和形态 可复用构件的组织也是根据领域模型和领域设计 框架来完成的 开发可复用构件的基本原则是:
根据领域工程所获取的分析模型,对照用户的实 际需求,确认领域分析模型中的变化性因素,或 者提出新的应用需求,以建立该系统的分析模型
4.2.2 DSSA的应用工程
应用系统设计
以领域工程所获得的DSSA为基础,对照应用的 具体分析模型,给出该系统的体应用的设计 模型,按照框架来集成组装构件,同时进行必要 的代码编写工作,以实现并测试最终的系统
第四章 特定领域的软件 体系结构
本章内容
4.1 特定领域软件体系结构定义 4.2 DSSA的基本活动
4.2.1 DSSA的领域工程 4.2.2 DSSA的应用工程 4.2.3 领域工程与应用工程的关系
4.3 DSSA的参与者 4.4 DSSA的生命周期 4.5 DSSA的建立
4.2.1 DSSA的领域工程
领域分析所关心的是一个特定领域内所有相似系 统的对象和活动的共同特征与演化特性,所产生 的是支持系统化复用的基础设施 领域分析是DSSA开发的基础,是DSSA开发的 出发点,也是这种方法成败的关键 领域模型是领域分析过程中的一个重要概念,是 领域分析活动的输出结果 领域模型是一组能够反映领域共性与变化特征 (例如:功能、对象、数据及其关系)的相关模型 和文档资料
4.2 DSSA的基本活动
基于DSSA的开发不以实现某个特定应用为 目标,而是关注整个领域
通过对某个特定领域进行分析,提出该领域的典 型需求,建立相应的领域模型,设计与之对应的 参考架构,进而实现各个组成模块 针对领域分析模型中的需求,DSSA给出了相应 的解决方案,该解决方案不仅满足单个系统,而 且也适应领域中的其它系统需求,是领域范围内 的一个高层次设计框架
4.1 特定领域软件体系结构定义
以DSSA为基础,通过大规模重用,可以快 速地、高效地实例化出一系列的软件产品, 提高软件开发的效率 DSSA的定义:
DSSA是软件构件的集合,以标准结构组合而成, 对于一种特殊类型的任务具有通用性,可以有效 地、成功地用于新应用系统的构建 DSSA是问题元素和解元素的样本,同时给出了 问题元素和解元素之间的映射关系
4.1 特定领域软件体系结构定义
DSSA是一个特定问题领域中,支持一组应用的 领域模型、参考需求和参考体系结构所形成的开 发基础
特定领域软件体系结构具有以下特征:
DSSA对整个领域进行适度抽象 DSSA具有严格定义的问题域和解决方案 在领域中,DSSA应该具有固有的、典型的可复 用软件元素,用于工程开发 DSSA具有普遍性,可用于开发领域中的某类特 定应用
4.2.3 领域工程与应用工程的关系
领域中的共性部分是通过领域中的所有应用 来体现的,一旦得到实现之后,在应用工程 中便不再作为关注的重点 选择和配置不同抽象层次的变化性因素,将 成为贯穿应用工程全过程的主要活动 在领域设计阶段,建立比较合理、灵活的 DSSA,将系统中的可变部分与固定部分分 离开来,将系统成分在DSSA和构件之间进 行合理的分配,把变化性因素封装为构件
4.2.1 DSSA的领域工程
领域模型描述领域中应用的共同需求,领域模型 所描述的需求经常被称为领域需求 领域模型是针对某一特定领域的需求规约模型 领域模型描述了多种不同的信息:
领域范围:领域定义和上下文分析 领域字典:定义领域内相关术语 符号标识:描述概念和概念模型,利用符号系统对 领域模型内的概念进行统一的说明 领域共性:领域内相似应用的共性需求和共同特征 特征模型:定义领域特征,描述领域特征之间的相 互关系
4.2.1 DSSA的领域工程
领域分析依赖于领域工程、应用工程、知识工程、 人工智能和信息管理等学科的支撑 领域建模过程必须以业务领域为中心
领域设计
领域设计的主要目标是创建特定领域软件体系结 构DSSA 与领域分析模型一样,领域设计框架必须被一般 化、标准化和文档化,使之能够在创建多个软件 产品时被使用
4.2.3 领域工程与应用工程的关系
领域工程与应用工程二者之间是有区别的
在领域工程中,开发人员的基本任务是对领域中 所有应用的需求进行抽象,而不仅仅局限于个别 系统 在应用工程中,开发人员的主要任务是,以领域 工程的成果为基础,针对特定需求产生一系列的 具体设计方案 领域工程是在一个较高的层次上,对领域应用中 的共同特征进行抽象,并通过领域模型和DSSA 来表示这些共同特征之间的关联关系
4.2.1 DSSA的领域工程
在软件工程中,领域是指一组具有相近或相 似需求的应用系统所覆盖的功能、问题、解 决方案以及知识区域 从软件复用角度出发,可以将领域划分为垂 直领域和水平领域
垂直领域是指具有相似需求的一系列应用所覆盖的 业务区域 水平领域则指根据应用系统内部模块的功能分类, 所得到的相似问题空间
从设计到编码必须遵循此前定义的DDSA,与 DDSA始终保持高度的一致
4.2.1 DSSA的领域工程
应该采用适当的映射规则来指导设计元素到编程语 言的映射过程 采取模块化、信息隐蔽和分而治之等传统的软件工 程原则,来减少构件与外部环境之间的依赖关系 应为可复用构件建立良好的接口规约
在领域工程中,可复用软件资源的选择是极为重 要的
4.2.1 DSSA的领域工程
复用元素的选择原则是:
在软件开发和维护过程中,最频繁使用的软件元素 提供最大利益的软件元素,例如:节省费用、节省 时间、减少项目失败的风险、以及强化重用标准等 用于创建和维护对本公司具有重要意义的策略性软 件元素 是复用消费者(例如:领域专家、系统框架设计人 员、软件开发人员和软件维护人员)所需要的软件 元素
针对领域模型所表示的需求,DSSA给出了相应 的解决方案,是适应领域中多个系统需求的高层 次设计框架
4.2.1 DSSA的领域工程
领域设计要满足的需求具有一定的变化性,因此 解决方案也应该是可变的 DSSA的各个组成部分应该是现有系统设计框架 的泛化,便于今后的实例化与信息参考 领域设计应该紧紧地围绕着领域模型展开
4.2 DSSA的基本活动
DSSA包含两个过程,即领域工程和应用工 程
领域工程是为一组相近或相似的应用建立基本能 力与必备基础的过程,它覆盖了建立可复用软件 元素的所有活动 应用工程是通过重用软件资源,以领域通用体系 结构为框架,开发出满足用户需求的一系列应用 软件的过程
4.2.1 DSSA的领域工程
4.2.1 DSSA的领域工程
JIAWG面向对象的领域分析(JODA),包括领域准 备、领域定义和领域建模 领域分析与设计过程(DADP),包括标识领域、界 定领域、分析领域和设计领域 动态领域分析(DDA),收集信息,确定领域范围, 区分共性、个性和动态元素,描述领域中的各类元 素
在应用工程中已经被广泛使用的各种方法、技术 和原则,经过补充和修改后,都可以在领域分析 过程中使用 领域分析依赖于领域工程、应用工程、知识工程、 人工智能和信息管理等学科的支撑
在启动一个软件项目时,我们应该关注软件 涉及的领域 对领域的理解主要有如下三种观点:
一组或一族相关系统,所有这些系统具有一种能 力或共享同一数据集 具有相同需求的一个应用程序族所描述的问题空 间 一个问题或任务领域,在其中可以开发出多重高 度相似的应用系统,以满足各种不同用户的特定 需求
4.2.1 DSSA的领域工程
领域分析是在一个特定的领域范围内,对一系列 共性、个性、以及动态元素进行识别、收集和组 织,并最终形成可指导的软件复用模型的过程 比较有影响的领域分析方法有:
面向特征的领域分析(FODA),包括上下文分析、 领域建模和体系结构建模3个不同的阶段 组织领域分析模型(ODM),包括领域规划、领域建 模和可复用资源的建设 基于DSSA的领域分析(DSSA Domain Analysis), 获取领域开发环境,设计DSSA和原型系统,利用 原型系统和DSSA来实现应用系统
4.2.3 领域工程与应用工程的关系
在应用工程中被广泛使用的方法、技术和原 则都可以在领域工程中加以利用
例如:结构化分析方法、面向对象设计技术、实 体-关系图、以及数据流图等
4.3 DSSA的参与者
DSSA的参与者包括领域工程人员和应用工 程人员 领域工程人员包括:领域专家、领域分析人 员、领域设计人员和领域实现人员 领域专家包括该领域中有经验的用户、从事 该领域系统需求分析、设计、实现以及项目 管理的软件工程师等
4.2.1 DSSA的领域工程
领域的基本特征:
领域中的系统具有相关性,具体表现为:具有类 似的用户需求;共享领域范围内的数据;共同实 现一个目标;共同描述一个问题空间 对领域内各个系统所形成的问题空间进行求解, 可以导出新的应用系统 领域内的重要资源、资源的义务和资源之间的相 互关系是以一定的基础结构来进行表示的
本章内容
4.6 4.7 4.8 4.9 基于DSSA的软件开发 DSSA与软件体系结构风格 DSSA对软件开发的意义 DSSA的应用实例
4.1 特定领域软件体系结构定义
目前,软件开发的总体趋势是领域驱动的设 计与实现 特定领域软件体系结构(Domain Specific Software Architecture,DSSA)代表了某 一特定领域中软件系统的整体框架结构 DSSA描述了领域中各个应用的公共特征和 动态行为 DSSA是作用于领域中不同应用的设计蓝图