特定领域的软件体系结构课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《特定领域的软件体系结构课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 特定 领域 软件 体系结构 课件
- 资源描述:
-
1、本章内容o4.6 基于DSSA的软件开发o4.7 DSSA与软件体系结构风格o4.8 DSSA对软件开发的意义o4.9 DSSA的应用实例4.1 特定领域软件体系结构定义o目前,软件开发的总体趋势是领域驱动的设计与实现o特定领域软件体系结构(Domain Specific Software Architecture,DSSA)代表了某一特定领域中软件系统的整体框架结构oDSSA描述了领域中各个应用的公共特征和动态行为oDSSA是作用于领域中不同应用的设计蓝图4.1 特定领域软件体系结构定义o以DSSA为基础,通过大规模重用,可以快速地、高效地实例化出一系列的软件产品,提高软件开发的效率oDSS
2、A的定义:nDSSA是软件构件的集合,以标准结构组合而成,对于一种特殊类型的任务具有通用性,可以有效地、成功地用于新应用系统的构建nDSSA是问题元素和解元素的样本,同时给出了问题元素和解元素之间的映射关系4.1 特定领域软件体系结构定义nDSSA是一个特定问题领域中,支持一组应用的领域模型、参考需求和参考体系结构所形成的开发基础o特定领域软件体系结构具有以下特征:nDSSA对整个领域进行适度抽象nDSSA具有严格定义的问题域和解决方案n在领域中,DSSA应该具有固有的、典型的可复用软件元素,用于工程开发nDSSA具有普遍性,可用于开发领域中的某类特定应用4.2 DSSA的基本活动o基于DSS
3、A的开发不以实现某个特定应用为目标,而是关注整个领域n通过对某个特定领域进行分析,提出该领域的典型需求,建立相应的领域模型,设计与之对应的参考架构,进而实现各个组成模块n针对领域分析模型中的需求,DSSA给出了相应的解决方案,该解决方案不仅满足单个系统,而且也适应领域中的其它系统需求,是领域范围内的一个高层次设计框架4.2 DSSA的基本活动oDSSA包含两个过程,即领域工程和应用工程n领域工程是为一组相近或相似的应用建立基本能力与必备基础的过程,它覆盖了建立可复用软件元素的所有活动n应用工程是通过重用软件资源,以领域通用体系结构为框架,开发出满足用户需求的一系列应用软件的过程4.2.1 DS
4、SA的领域工程o在启动一个软件项目时,我们应该关注软件涉及的领域o对领域的理解主要有如下三种观点:n一组或一族相关系统,所有这些系统具有一种能力或共享同一数据集n具有相同需求的一个应用程序族所描述的问题空间n一个问题或任务领域,在其中可以开发出多重高度相似的应用系统,以满足各种不同用户的特定需求4.2.1 DSSA的领域工程o领域的基本特征:n领域中的系统具有相关性,具体表现为:具有类似的用户需求;共享领域范围内的数据;共同实现一个目标;共同描述一个问题空间n对领域内各个系统所形成的问题空间进行求解,可以导出新的应用系统n领域内的重要资源、资源的义务和资源之间的相互关系是以一定的基础结构来进行
5、表示的4.2.1 DSSA的领域工程o在软件工程中,领域是指一组具有相近或相似需求的应用系统所覆盖的功能、问题、解决方案以及知识区域o从软件复用角度出发,可以将领域划分为垂直领域和水平领域o垂直领域是指具有相似需求的一系列应用所覆盖的业务区域o水平领域则指根据应用系统内部模块的功能分类,所得到的相似问题空间4.2.1 DSSA的领域工程o领域工程是识别和创建面向特定领域的可重用软件资源的过程,是特定领域软件体系结构的实现基础o领域工程主要包括三个部分,即领域分析、领域设计和领域实现o领域分析n领域分析是在一个特定领域范围内开展的以领域定义、共性抽象、特性描述、概念阐述、数据抽取、功能分析、关系
6、识别、以及结构框架开发为目标的系统化分析过程4.2.1 DSSA的领域工程n领域分析所关心的是一个特定领域内所有相似系统的对象和活动的共同特征与演化特性,所产生的是支持系统化复用的基础设施n领域分析是DSSA开发的基础,是DSSA开发的出发点,也是这种方法成败的关键n领域模型是领域分析过程中的一个重要概念,是领域分析活动的输出结果n领域模型是一组能够反映领域共性与变化特征(例如:功能、对象、数据及其关系)的相关模型和文档资料4.2.1 DSSA的领域工程n领域模型描述领域中应用的共同需求,领域模型所描述的需求经常被称为领域需求n领域模型是针对某一特定领域的需求规约模型n领域模型描述了多种不同的
7、信息:o领域范围:领域定义和上下文分析o领域字典:定义领域内相关术语o符号标识:描述概念和概念模型,利用符号系统对领域模型内的概念进行统一的说明o领域共性:领域内相似应用的共性需求和共同特征o特征模型:定义领域特征,描述领域特征之间的相互关系4.2.1 DSSA的领域工程n领域分析是在一个特定的领域范围内,对一系列共性、个性、以及动态元素进行识别、收集和组织,并最终形成可指导的软件复用模型的过程n比较有影响的领域分析方法有:o面向特征的领域分析(FODA),包括上下文分析、领域建模和体系结构建模3个不同的阶段o组织领域分析模型(ODM),包括领域规划、领域建模和可复用资源的建设o基于DSSA的
8、领域分析(DSSA Domain Analysis),获取领域开发环境,设计DSSA和原型系统,利用原型系统和DSSA来实现应用系统4.2.1 DSSA的领域工程oJIAWG面向对象的领域分析(JODA),包括领域准备、领域定义和领域建模o领域分析与设计过程(DADP),包括标识领域、界定领域、分析领域和设计领域o动态领域分析(DDA),收集信息,确定领域范围,区分共性、个性和动态元素,描述领域中的各类元素n在应用工程中已经被广泛使用的各种方法、技术和原则,经过补充和修改后,都可以在领域分析过程中使用n领域分析依赖于领域工程、应用工程、知识工程、人工智能和信息管理等学科的支撑4.2.1 DSS
9、A的领域工程n领域分析依赖于领域工程、应用工程、知识工程、人工智能和信息管理等学科的支撑n领域建模过程必须以业务领域为中心o领域设计n领域设计的主要目标是创建特定领域软件体系结构DSSAn与领域分析模型一样,领域设计框架必须被一般化、标准化和文档化,使之能够在创建多个软件产品时被使用4.2.1 DSSA的领域工程n领域设计框架一般化处理的步骤:o将依赖关系从实现中分离出来,使之容易辨认和修改,以适应特定软件产品的需求,或者满足新应用环境与技术的需要o将框架分层,使软件资源可以按照特定应用、特定操作系统、以及特定硬件平台的要求进行分层o在每一层上,寻找适合领域设计框架的通用软件资源,然后以此为基
10、础,寻找适合框架的其它基础性资源n在领域工程中,可复用软件资源的选择是极为重要的4.2.1 DSSA的领域工程n复用元素的选择原则是:o在软件开发和维护过程中,最频繁使用的软件元素o提供最大利益的软件元素,例如:节省费用、节省时间、减少项目失败的风险、以及强化重用标准等o用于创建和维护对本公司具有重要意义的策略性软件元素o是复用消费者(例如:领域专家、系统框架设计人员、软件开发人员和软件维护人员)所需要的软件元素n针对领域模型所表示的需求,DSSA给出了相应的解决方案,是适应领域中多个系统需求的高层次设计框架4.2.1 DSSA的领域工程n领域设计要满足的需求具有一定的变化性,因此解决方案也应
11、该是可变的nDSSA的各个组成部分应该是现有系统设计框架的泛化,便于今后的实例化与信息参考n领域设计应该紧紧地围绕着领域模型展开o领域实现n领域实现的主要目标是根据领域模型、DSSA来开发和组织可复用软件元素n其主要活动包括:开发可复用软件元素,对可复用软件元素进行组织4.2.1 DSSA的领域工程n领域实现阶段的重要产品就是与特定领域相关的可复用构件库n复用构件库覆盖了领域模型、领域设计框架和源代码多种抽象层次,体现为系统、框架以及类的不同粒度和形态n可复用构件的组织也是根据领域模型和领域设计框架来完成的n开发可复用构件的基本原则是:o从设计到编码必须遵循此前定义的DDSA,与DDSA始终保
12、持高度的一致4.2.1 DSSA的领域工程o应该采用适当的映射规则来指导设计元素到编程语言的映射过程o采取模块化、信息隐蔽和分而治之等传统的软件工程原则,来减少构件与外部环境之间的依赖关系o应为可复用构件建立良好的接口规约nDSSA定义了可复用软件资源的重用时机,从而支持了系统化的软件重用4.2.2 DSSA的应用工程o应用工程是在领域工程基础上,针对某一具体应用所实施的开发过程o应用工程是对领域模型的实例化过程,可以为单个应用设计提供最佳的解决方案o应用工程可以划分为应用系统分析、应用系统设计和应用系统实现与测试3个阶段o应用系统分析n根据领域工程所获取的分析模型,对照用户的实际需求,确认领
13、域分析模型中的变化性因素,或者提出新的应用需求,以建立该系统的分析模型4.2.2 DSSA的应用工程o应用系统设计n以领域工程所获得的DSSA为基础,对照应用的具体分析模型,给出该系统的设计方案o应用系统实现与测试n以领域构架和构件为基础,对照具体应用的设计模型,按照框架来集成组装构件,同时进行必要的代码编写工作,以实现并测试最终的系统4.2.3 领域工程与应用工程的关系o领域中的共性部分是通过领域中的所有应用来体现的,一旦得到实现之后,在应用工程中便不再作为关注的重点o选择和配置不同抽象层次的变化性因素,将成为贯穿应用工程全过程的主要活动o在领域设计阶段,建立比较合理、灵活的DSSA,将系统
14、中的可变部分与固定部分分离开来,将系统成分在DSSA和构件之间进行合理的分配,把变化性因素封装为构件4.2.3 领域工程与应用工程的关系o领域工程与应用工程二者之间是有区别的n在领域工程中,开发人员的基本任务是对领域中所有应用的需求进行抽象,而不仅仅局限于个别系统n在应用工程中,开发人员的主要任务是,以领域工程的成果为基础,针对特定需求产生一系列的具体设计方案n领域工程是在一个较高的层次上,对领域应用中的共同特征进行抽象,并通过领域模型和DSSA来表示这些共同特征之间的关联关系4.2.3 领域工程与应用工程的关系o领域工程和应用工程是互相联系的:n应用工程所建立的系统,包含了需求规约、设计方案
15、和实现细节等多种信息,这些又是领域工程的信息来源n领域工程负责对应用工程各个阶段中的产品进行抽象n领域工程所获取的资源,将对本领域新应用的开发提供支持n领域工程和应用工程都需要解决一些相似的问题n领域工程的步骤、行为和成果与应用工程是一一对应的4.2.3 领域工程与应用工程的关系o在应用工程中被广泛使用的方法、技术和原则都可以在领域工程中加以利用n例如:结构化分析方法、面向对象设计技术、实体-关系图、以及数据流图等4.3 DSSA的参与者oDSSA的参与者包括领域工程人员和应用工程人员o领域工程人员包括:领域专家、领域分析人员、领域设计人员和领域实现人员o领域专家包括该领域中有经验的用户、从事
16、该领域系统需求分析、设计、实现以及项目管理的软件工程师等4.3 DSSA的参与者n提供关于领域中的系统需求规约和实现知识,帮助组织规范一致的领域术语字典,选择样本系统作为领域工程的参考,以及复审领域模型和领域设计框架等相关产品o领域分析人员由具有领域专业知识、工程背景和领域实现经验的系统分析人员来担任n控制领域分析过程,获取领域知识,并将领域知识组织到领域模型中,同时根据现有系统规约、标准规范来验证领域模型的准确性和一致性,以实现领域模型的维护任务4.3 DSSA的参与者o领域设计人员由有经验的软件设计人员担任n控制整个领域设计过程,从领域模型和现有应用系统发出,设计DSSA,验证DSSA的准
17、确性与一致性,建立领域模型和DSSA之间的关联关系o领域实现人员由有经验的程序设计人员担任n根据领域模型和DSSA,开发可复用软件构件,利用再工程技术从现有系统中提取可复用软件构件,验证可复用构件,建立DSSA与可复用构件之间的关联关系4.3 DSSA的参与者o参与应用工程的人员划分为三种角色,系统分析人员、系统设计人员和系统实现人员o系统分析人员是指完成系统分析任务的项目组成员,包括:系统分析人员、系统设计人员、系统实现人员和用户n系统分析人员对新应用进行综合考察,以领域分析模型为基础,结合系统的个性差异,获取其应用需求4.3 DSSA的参与者o系统设计人员是系统的技术专家,对选择何种信息技
展开阅读全文