信息工程方法.ppt

上传人:仙人指路1688 文档编号:2904462 上传时间:2023-03-02 格式:PPT 页数:18 大小:146KB
返回 下载 相关 举报
信息工程方法.ppt_第1页
第1页 / 共18页
信息工程方法.ppt_第2页
第2页 / 共18页
信息工程方法.ppt_第3页
第3页 / 共18页
信息工程方法.ppt_第4页
第4页 / 共18页
信息工程方法.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《信息工程方法.ppt》由会员分享,可在线阅读,更多相关《信息工程方法.ppt(18页珍藏版)》请在三一办公上搜索。

1、信 息 工 程 方 法,软件工程应用实践教程,第11章 软件复用,11.1 软件复用技术的发展和存在的障碍 11.2 几种构件模型的比较 11.3 基于可复用构件的软件开发 11.4 构件的开发,概述,软件复用是指重复使用“为了复用目的而设计的软件”的过程,而可复用软件则是指为了复用目的而设计的软件。软件复用更强调的是复用的目的,它是一种系统化的方法,为了复用而进行设计,为了复用而开发,并且要有效地组织和管理这些复用产品,方便人们的查找和使用。软件复用的意义:软件复用能够提高软件生产率,从而降低开发成本。软件复用能够减少系统的维护代价。软件复用能够提高系统间的互操作性。软件复用能够支持快速原型

2、设计。软件复用还能够减少培训开销。大量使用可复用软件部件,可以提高软件的灵活性和标准化程度。,11.1 软件复用技术的发展和存在的障碍,结构化程序设计的时代,软件复用主要体现:源代码复用 目标代码级复用 面向对象程序设计复用方式类库复用 软件构件复用,11.1 软件复用技术的发展和存在的障碍,可复用的软件制品项目计划 成本估计 体系结构 需求模型和规约 设计 源代码 用户手册和技术文档 用户界面 数据 测试用例 其他元素:特定的分析建模方法、检查技术、测试用例设计技术、质量保障过程等,11.1 软件复用技术的发展和存在的障碍,软件复用存在的一些障碍很少有公司或开发机构制定了可复用软件的开发计划

3、。虽然越来越多的软件销售商正在销售有助于软件复用的辅助工具和构件,但是大多数软件开发商不使用它们。几乎没有相应的培训,帮助软件工程师和管理者理解并应用复用。很多软件实践者仍然相信复用相对于其价值来说会带来更多的麻烦。很多公司仍然使用对复用活动毫无促进作用的软件开发方法学,而不鼓励使用那些可能对复用活动有促进的方法学。很少有公司对生产可复用软件构件有激励措施。因为,在开发可复用的软件构件时可能会提高成本。,11.2 几种构件模型的比较,COM+/DCOM,JavaBean/Enterprise JavaBean,CORBA构件模型三足鼎立 CORBACORBA(Common Object Req

4、uest Broker Architecture)即公共对象请求代理体系结构,是国际对象管理组织(OMG)在20世纪90年代早期提出的分布式对象规范。一个对象请求代理提供了一系列服务,它们使得一个构件可以和其他构件通信,而不管这些对象在系统中的位置。CORBA构件模型的底层结构为ORB(Object Request Broker,对象请求代理)。一个CORBA构件采用接口描述语言(Interface Description Language)进行描述。CORBA提供了IDL到C,C+,Java,COBOL等语言的映射机制IDL编译器。CORBA同时提供了一系列的公共对象服务规范(Common

5、Object Service Specification,COSS)CORBA是一种语言中性的构件模型,可以跨越不同的网络、不同的机器和不同的操作系统,实现分布式对象之间的互操作。,11.2 几种构件模型的比较,COM+/DCOM COM+(Component Object Model)/DCOM(Distributed Component ObjectModel)是微软与其他业界厂商合作提出的一种构件/分布式构件对象模型 DCOM起源于动态数据交换(DDE)技术。对象链接与嵌入OLE。微软引入了构件对象模型COM,形成了COM对象之间实现互操作的二进制标准。COM规定了对象模型和编程要求,使

6、COM对象可以与其他对象互操作。这些对象可以用不同的语言实现,其结构也可以不同。DCOM是COM在分布式计算方面的发展,它为分布在网络上不同节点的COM构件之间提供了互操作的基础结构。在公共服务方面,微软提出了自己的事务服务器MTS(Microsoft Transaction Server)和消息队列服务器MSMQ(Microsoft Message Queue Server)。前者与CORBA对象事务服务目标类似,后者则是为了保证应用之间进行可靠的消息通信和管理。,11.2 几种构件模型的比较,JavaBean Java是一个应用程序开发平台,它按照高性能、可移植、可解释的原则,提供面向对象

7、的编程语言和运行环境。在Java中,软件构件是能够进行可视化操作的可复用软件,它满足一定的特征要求,并可以根据需要进行定制和组装。Java的软件构件称为JavaBean,或者简称Bean。作为一种典型的构件模型,JavaBean具有属性、方法、事件、自我检查、定制和永久性等6个方面的特征。,11.2 几种构件模型的比较,软件构架技术 软件构架(又称软件体系结构)描述的是系统整体设计格局,它为基于构件的软件开发提供了构件组装的基础和上下文。一个典型的软件构架是由系统中的构件、接口和约束构成的配置格局。软件开发实际上是从问题域向最终解决方案逐步映射和转换的过程,而特定领域软件构架和软件构架风格分别

8、从问题域和软件解决方案两个方向提供了若干经过考验的候选转换路径。软件构架风格则根据系统结构的组织模式确定了一组可以用于实例中的构件和接口,以及它们的拓扑结构、组装规则、局部和全局约束,从而定义了一个面向系统结构的构架家族。软件构架风格与面向对象的设计模式或框架一样,为设计经验的复用提供了技术支持。客户/服务器(Client/Server)、分层的体系结构、分布式对象计算、管道和过滤器、黑板系统等都是广泛使用的软件构架风格。,11.2 几种构件模型的比较,比较分析,11.3 基于可复用构件的软件开发,当复用占据了一个应用开发的主导地位时,构造方法被称为基于构件的软件开发。软件复用过程包括两个并发

9、的子过程领域工程和软件工程。领域工程提供了基于构件开发所需要的可复用构件库。软件工程可在新系统的开发中选择这些软件构件进行复用。,11.3 基于可复用构件的软件开发,构件的获取 商业采购利用项目承包商和合作伙伴开发的NDI构件(Non Developmental Item)在领域工程和再工程的基础上从已有的应用系统中发掘和提炼自主开发新构件,11.3 基于可复用构件的软件开发,构件的表示和检索 一方面,拥有大量可复用构件的组织必须以一种易于分类管理而又方便复用者检索的机制来表示和保存软件构件;另一方面,有效的构件检索机制有助于构件查找和理解,而构件的合理表示和分类正是实现高效、方便检索的基础。

10、3C模型:概念(concept)、内容(content)、上下文(context)概念是关于“构件做什么”的抽象描述,可以通过概念去理解构件的功能。概念包括接口规约和语义描述两个部分。内容是概念的具体实现,描述构件如何完成概念所刻画的功能。上下文描述构件和外围环境在概念级和内容级的关系,它刻画构件的应用环境,为构件的选用和适应性修改提供指导。将3C模型用于实际环境中,必须把概念、内容和上下文描述转换为具体的规则。从构件表示出发可以分为人工智能方法、超文本方法和信息科学方法3类。其中,使用信息科学方法进行构件分类是实际应用中比较成功的一种方法。,11.3 基于可复用构件的软件开发,信息科学方法以

11、枚举、刻面、属性-值、关键词和正文检索等技术为核心。枚举分类刻面分类属性-值分类法,11.3 基于可复用构件的软件开发,构件组装基于构件的开发通过构件组装得到最终应用系统,构件组装必须以某个框架或构架为蓝图,实际可以看做是用构件实例将软件构架具体化的过程。构件组装技术以构件模型、构件-构架描述和开放系统技术为基础,成功的组装必须以开放构件模型和规范的构架描述(包括对构件连接和交互协议的严格定义)为基础,构件实例必须符合系统中其他部分的要求。真正意义上的基于构件的软件开发应该在分析、设计、实现和测试等不同阶段,在函数、对象、模块、框架、服务进程和程序等不同粒度上,从构件构架的开发、描述、浏览、插

12、装、定制等不同方面对构件组装提供全面的支持。目前仍然缺乏通用的构件组装平台。,11.4 构件的开发,域分析,11.4 构件的开发,开发可复用构件的分析和设计数据、功能和行为模型可以用于描述特定应用必须完成的任务。首先应该研究分析模型,以确定模型中的哪些部分用现存的可复用软件构件。当构件库中没有需要的可复用构件时,就要由开发人员创建新的构件,这时要考虑可复用构件的设计。软件工程师在已有的设计概念和原则的基础上,要考虑应用领域的特征。标准数据。应该研究应用领域,并且标识出标准的全局数据结构,例如,文件结构或完整的数据库,那么所有设计构件可以使用这些标准数据结构来刻画。标准接口协议。应该建立3个层次的接口协议模块内接口的本质、外部的技术接口的设计、人机界面。程序模板。结构模型可以作为新程序的体系结构设计的模板。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号