软件构件与体系结构——原理、方法与技术 教学课件 作者 王映辉 3 软件复用和领域工程.pptVIP

软件构件与体系结构——原理、方法与技术 教学课件 作者 王映辉 3 软件复用和领域工程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mail:wyh_925@163.com 软件体系结构 --- 软件复用与领域工程 王映辉 博士(后),教授,博导 Part 2:软件复用与领域工程 软件复用的基本概念 软件复用:是指重复使用“为了复用目的而设计的软件”的过程; 软件复用的基本概念(续) 依据复用的对象,可以将之分为: 产品复用:指复用已有的软件构件,通过构件集成(组装)得到新系统。产品复用是目前复用的主流途径。 过程复用:指复用已有的软件开发过程,使用可复用的应用生成器来自动或半自动地生成所需系统。过程复用依赖于软件自动化技术的发展。 软件复用的基本概念(续) 依据信息复用的方式,可将复用分为: 白盒(White-box)复用:指能对已有构件根据用户需求进行适应性修改后的复用。 黑盒(Black-box)复用:指对已有构件不需作任何修改,通过构件组装的方式直接进行复用。这是目前的研究热点,也是将来的发展趋势。 如何实现复用 软件复用有以下三个基本问题: 必须有可复用的对象 所复用的对象必须是有用的 复用者需要知道如何使用被复用的对象 软件复用包括两个相关的过程: 可复用软件(构件)的开发(Development for Reuse) 基于可复用软件(构件)的应用系统构造(集成和组装)(Development with Reuse) 解决好这几个方面的问题才能实现真正成功的软件复用 实现软件复用的关键因素 Part 2:软件复用与领域工程 P2-2、领域工程 领域工程与应用工程 领域共性与变化性 领域工程的实施过程 基于领域工程的软件开发过程 领域工程与应用工程 领域工程与应用工程(续) 领域 :是指一组具有相似 或相近 需求的软件应用系统所覆盖的功能区域 领域工程:是为一组相似或相近系统的应用工程 建立基本能力和必备基础的过程,它覆盖了建立可复用软件构件的所有活动 应用工程:是开发单个特定应用系统的活动 领域工程与应用工程的关系(总结) 通过应用工程得到的现有系统是领域工程的主要的信息来源; 领域工程的产品对本领域中新系统的应用工程提供了支持; 领域工程的主要活动和产品 领域工程的主要活动和产品(续) 领域工程包括三个主要的阶段: 领域分析:这个阶段的主要目标是获得领域模型(Domain Model)。领域模型描述领域中系统之间的共同的需求(共性) ,并尽可能地识别和描述领域变化性。 领域设计:这个阶段的目标是获得领域构架(Domain-Specific Software Architecture,缩写为DSSA)。DSSA描述在领域模型中表示的需求的解决方案,它不是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次的设计。 领域实现:实现DSSA和构件,并依据领域分析模型和DSSA组织可复用构件库。 主要参与人员 P2-2、领域工程 领域工程与应用工程 领域共性与变化性 领域工程的实施过程 基于领域工程的软件开发过程 领域共性与变化性 当在某个领域中考虑问题时,就会发现一些特性是领域中所有系统共同具有的,而其它特性只是个别系统具有: 变化性的分类 时间上的变化性和空间上的变化性 时间上的变化性:产品随着时间的变化 -解决产品的演化问题 空间上的变化性:产品家族中产品间的区别 -解决产品的复用问题 变化性的分类(续) 变化性模式 必须的(Mandatory)需求:所有现有系统都具有这类需求 可选的(Optional)需求:部分现有系统具有这类需求 多选一的(Alternative):对存在互斥关系的多个变化项只能选择其中一个满足需求 多选多的(Multiple Parallel Variability):这些变化性之间不存在互斥的关系,可以同时选取满足需求 变化性的参数 变化项(每个变化性都有一组相关的变化项) 数据结构、行为、算法、非功能属性、外部属性 变化性之间的关系 依赖关系: 只有在需求a存在的情况下,才能存在需求b,这时称需求b依赖于需求a 互斥关系: 需求a和b不能同时存在于一个系统中 P2-2、领域工程 领域工程与应用工程 领域共性与变化性 领域工程的实施过程 基于领域工程的软件开发过程 领域工程的实施过程 领域分析 领域设计 领域实现 领域分析 领域分析——目标 领域分析是领域工程的第一个阶段,主要目标是产生领域分析模型: 领域分析——过程与活动 领域分析——产品 领域设计 领域设计——目标 目标:针对领域分析阶段获得的对问题域和系统责任的认识,开发出相应的设计模型,并显式地表示出来。 领域设计-过程与活动 解空间的范围定义 定义解空间的范围,包括设计和实现当

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档