信息工程方法ppt课件.ppt_第1页
信息工程方法ppt课件.ppt_第2页
信息工程方法ppt课件.ppt_第3页
信息工程方法ppt课件.ppt_第4页
信息工程方法ppt课件.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息工程方法 软件工程应用实践教程 第11章软件复用 11 1软件复用技术的发展和存在的障碍11 2几种构件模型的比较11 3基于可复用构件的软件开发11 4构件的开发 概述 软件复用是指重复使用 为了复用目的而设计的软件 的过程 而可复用软件则是指为了复用目的而设计的软件 软件复用更强调的是复用的目的 它是一种系统化的方法 为了复用而进行设计 为了复用而开发 并且要有效地组织和管理这些复用产品 方便人们的查找和使用 软件复用的意义 软件复用能够提高软件生产率 从而降低开发成本 软件复用能够减少系统的维护代价 软件复用能够提高系统间的互操作性 软件复用能够支持快速原型设计 软件复用还能够减少培训开销 大量使用可复用软件部件 可以提高软件的灵活性和标准化程度 11 1软件复用技术的发展和存在的障碍 结构化程序设计的时代 软件复用主要体现 源代码复用目标代码级复用面向对象程序设计复用方式类库复用软件构件复用 11 1软件复用技术的发展和存在的障碍 可复用的软件制品项目计划成本估计体系结构需求模型和规约设计源代码用户手册和技术文档用户界面数据测试用例其他元素 特定的分析建模方法 检查技术 测试用例设计技术 质量保障过程等 11 1软件复用技术的发展和存在的障碍 软件复用存在的一些障碍很少有公司或开发机构制定了可复用软件的开发计划 虽然越来越多的软件销售商正在销售有助于软件复用的辅助工具和构件 但是大多数软件开发商不使用它们 几乎没有相应的培训 帮助软件工程师和管理者理解并应用复用 很多软件实践者仍然相信复用相对于其价值来说会带来更多的麻烦 很多公司仍然使用对复用活动毫无促进作用的软件开发方法学 而不鼓励使用那些可能对复用活动有促进的方法学 很少有公司对生产可复用软件构件有激励措施 因为 在开发可复用的软件构件时可能会提高成本 11 2几种构件模型的比较 COM DCOM JavaBean EnterpriseJavaBean CORBA构件模型三足鼎立CORBACORBA CommonObjectRequestBrokerArchitecture 即公共对象请求代理体系结构 是国际对象管理组织 OMG 在20世纪90年代早期提出的分布式对象规范 一个对象请求代理提供了一系列服务 它们使得一个构件可以和其他构件通信 而不管这些对象在系统中的位置 CORBA构件模型的底层结构为ORB ObjectRequestBroker 对象请求代理 一个CORBA构件采用接口描述语言 InterfaceDescriptionLanguage 进行描述 CORBA提供了IDL到C C Java COBOL等语言的映射机制 IDL编译器 CORBA同时提供了一系列的公共对象服务规范 CommonObjectServiceSpecification COSS CORBA是一种语言中性的构件模型 可以跨越不同的网络 不同的机器和不同的操作系统 实现分布式对象之间的互操作 11 2几种构件模型的比较 COM DCOMCOM ComponentObjectModel DCOM DistributedComponentObjectModel 是微软与其他业界厂商合作提出的一种构件 分布式构件对象模型DCOM起源于动态数据交换 DDE 技术 对象链接与嵌入OLE 微软引入了构件对象模型COM 形成了COM对象之间实现互操作的二进制标准 COM规定了对象模型和编程要求 使COM对象可以与其他对象互操作 这些对象可以用不同的语言实现 其结构也可以不同 DCOM是COM在分布式计算方面的发展 它为分布在网络上不同节点的COM构件之间提供了互操作的基础结构 在公共服务方面 微软提出了自己的事务服务器MTS MicrosoftTransactionServer 和消息队列服务器MSMQ MicrosoftMessageQueueServer 前者与CORBA对象事务服务目标类似 后者则是为了保证应用之间进行可靠的消息通信和管理 11 2几种构件模型的比较 JavaBeanJava是一个应用程序开发平台 它按照高性能 可移植 可解释的原则 提供面向对象的编程语言和运行环境 在Java中 软件构件是能够进行可视化操作的可复用软件 它满足一定的特征要求 并可以根据需要进行定制和组装 Java的软件构件称为JavaBean 或者简称Bean 作为一种典型的构件模型 JavaBean具有属性 方法 事件 自我检查 定制和永久性等6个方面的特征 11 2几种构件模型的比较 软件构架技术软件构架 又称软件体系结构 描述的是系统整体设计格局 它为基于构件的软件开发提供了构件组装的基础和上下文 一个典型的软件构架是由系统中的构件 接口和约束构成的配置格局 软件开发实际上是从问题域向最终解决方案逐步映射和转换的过程 而特定领域软件构架和软件构架风格分别从问题域和软件解决方案两个方向提供了若干经过考验的候选转换路径 软件构架风格则根据系统结构的组织模式确定了一组可以用于实例中的构件和接口 以及它们的拓扑结构 组装规则 局部和全局约束 从而定义了一个面向系统结构的构架家族 软件构架风格与面向对象的设计模式或框架一样 为设计经验的复用提供了技术支持 客户 服务器 Client Server 分层的体系结构 分布式对象计算 管道和过滤器 黑板系统等都是广泛使用的软件构架风格 11 2几种构件模型的比较 比较分析 11 3基于可复用构件的软件开发 当复用占据了一个应用开发的主导地位时 构造方法被称为基于构件的软件开发 软件复用过程包括两个并发的子过程 领域工程和软件工程 领域工程提供了基于构件开发所需要的可复用构件库 软件工程可在新系统的开发中选择这些软件构件进行复用 11 3基于可复用构件的软件开发 构件的获取商业采购利用项目承包商和合作伙伴开发的NDI构件 NonDevelopmentalItem 在领域工程和再工程的基础上从已有的应用系统中发掘和提炼自主开发新构件 11 3基于可复用构件的软件开发 构件的表示和检索一方面 拥有大量可复用构件的组织必须以一种易于分类管理而又方便复用者检索的机制来表示和保存软件构件 另一方面 有效的构件检索机制有助于构件查找和理解 而构件的合理表示和分类正是实现高效 方便检索的基础 3C模型 概念 concept 内容 content 上下文 context 概念是关于 构件做什么 的抽象描述 可以通过概念去理解构件的功能 概念包括接口规约和语义描述两个部分 内容是概念的具体实现 描述构件如何完成概念所刻画的功能 上下文描述构件和外围环境在概念级和内容级的关系 它刻画构件的应用环境 为构件的选用和适应性修改提供指导 将3C模型用于实际环境中 必须把概念 内容和上下文描述转换为具体的规则 从构件表示出发可以分为人工智能方法 超文本方法和信息科学方法3类 其中 使用信息科学方法进行构件分类是实际应用中比较成功的一种方法 11 3基于可复用构件的软件开发 信息科学方法以枚举 刻面 属性 值 关键词和正文检索等技术为核心 枚举分类刻面分类属性 值分类法 11 3基于可复用构件的软件开发 构件组装基于构件的开发通过构件组装得到最终应用系统 构件组装必须以某个框架或构架为蓝图 实际可以看做是用构件实例将软件构架具体化的过程 构件组装技术以构件模型 构件 构架描述和开放系统技术为基础 成功的组装必须以开放构件模型和规范的构架描述 包括对构件连接和交互协议的严格定义 为基础 构件实例必须符合系统中其他部分的要求 真正意义上的基于构件的软件开发应该在分析 设计 实现和测试等不同阶段 在函数 对象 模块 框架 服务进程和程序等不同粒度上 从构件构架的开发 描述 浏览 插装 定制等不同方面对构件组装提供全面的支持 目前仍然缺乏通用的构件组装平台 11 4构件的开发 域分析 11 4构件的开发 开发可复用构件的分析和设计数据 功能和行为模型可以用于描述特定应用必须完成的任务 首先应该研究分析模型 以确定模型中的哪些部分用现存的可复用软件构件 当构件库中没有需要的可复用构件时 就要由开发人员创建新的构件 这时要考虑可复用构件的设计 软件工程师在已有的设计概念和原则的基础上 要考虑应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论