软件开发方法-技术.ppt

Thank you * 第*|83页 接口定义语言IDL OMG IDL是CORBA的重要组成部分,是一种严格定义的接口定义语言。用OMG IDL编写的接口定义能完整地定义接口,并完备地说明每个操作的参数。OMG IDL已被ISO ORB采纳,自1991年公布以来,基本上没有改变。 OMG IDL是独立于具体编程语言的,一个IDL文件可以向多种编程语言映射。CORBA包含IDL向具体编程语言的映射规约,例如,IDL到C,C++,Java等的映射。 OMG IDL是独立于平台的,由IDL定义的接口可以在不同的ORB和平台上一致地表达。 OMG IDL是一个纯规约,不涉及实现问题,IDL定义的接口不对对象实现进行任何约束。IDL将客户从对象实现细节中清晰地分离出来,从而更利于软件复用,因此被广泛接受。 第*|83页 软件复用技术 软件复用是指在软件开发过程中重复使用相同或相似软件元素的过程。软件复用是在软件开发中避免重复劳动的解决方案,它使得应用系统的开发不再采用一切从零开始的模式,而是以已有的工作模式为基础,充分利用过去应用系统开发中积累的知识和经验,从而将开发的重点集中于应用的特有构成成分。 为了能够在软件开发过程中重用已有的复用件,必须不断地进行复用件的积累,并将它们组织成复用件库。因此,软件复用不仅要解决如何检索所需的复用件,还要解决如何选取复用件、如何组织复用件库等问题。这类项目通常称为软件复用项目。 软件重用过程可借助于支持软件重用的CASE工具,其主要任务是:用某种组织结构实现复用件库的存储,提供友好的人机界面,帮助用户浏览、检索和修改复用件库,并且对用户感兴趣的复用件进行解释。 第*|83页 软件复用方式分类 ⑴ 依据复用的对象分类;可以分为: 产品复用指复用已有的软件构件,通过构件集成得到新系统。产品复用是目前现实的、主流的途径。 过程复用指复用已有的软件开发过程,过程复用依赖于软件自动化技术的发展。 ⑵ 依据对可复用信息进行复用的方式分类,可分为: 白盒复用 指已有构件并不能完全符合用户要求,需要根据用户需求进行适应性修改后才能使用。 黑盒复用 指对已有构件不需作任何修改,通过构件组装的方式直接进行复用。这是目前的研究热点,也是将来的发展趋势。 第*|83页 可复用的复用件 Caper Jones定义了可候选的十种复用件: ⑴ 项目计划:计划的基本结构和内容(如,SQA计划)。 ⑵ 成本估计:有可能复用对某个功能的成本估计。 ⑶ 体系结构:可能创建一组类属的体系结构模板(例如,事务处理体系结构),并将模板作为可复用的设计框架。 ⑷ 需求模型和规约:类和对象的模型和规约是可复用的,用传统软件工程方法开发的分析模型(例如,数据流图)也是可复用的。 ⑸ 设计:用传统方法开发的体系结构、数据、接口和过程化设计是复用的候选者,更常见的是,系统和对象设计是可复用的。 ⑹ 源代码:验证过的程序构件(用兼容的程序设计语言书写的)。 ⑺ 用户和技术文档:对特定的不同应用,可复用大部分用户和技术文档。 ⑻ 用户界面:可能是最广泛被复用的(例如GUI)。 ⑼ 数据:包括:内部表、列表和记录结构,以及文件和完整的数据库。 ⑽ 测试用例:一旦设计或代码构件将被复用,相关的测试用例也可复用。 第*|83页 建立复用途径的一些建议 ⑴ 建立内部的软件复用计划。这样一个计划可以帮助组织控制软件的质量和成本。 ⑵ 要求将软件复用作为任何技术和管理培训的内容。对OO的培训尤其应该如此。 ⑶ 按照内部的软件复用计划,寻求对软件复用有积极贡献的工具和库。 ⑷ 鼓励采用已被证明为可以促进软件复用的方法和工具。 ⑸ 跟踪并测度软件复用以及软件复用的影响;应客观评价,而不是主观臆测。 ⑹ 管理上必须积极地鼓励软件的复用。 ⑺ 认识除“模块”外,工具、测试数据、设计、计划、环境及其他软件均可复用。 ⑻ 最重要的是认识到软件复用不是“平常的业务”,大多数技术和管理人员是不接受软件复用的概念的。 第*|83页 软件复用面临的问题 ⑴ 管理问题。没有相应的鼓励机制等。 ⑵ 复用的障碍。 ⑶ 技术方面的问题 ⑷ 法律问题 显然,很多其他相关问题对复用也有影响,政治的、文化的、财政的、市场的、以及产品化等方面的问题也必须考虑。 第*|83页 复用的障碍 自负;太多的开发人员认为不是他们亲自编写的程序不可能是好程序; 检索问题。如何从庞大的复用件库中所需要的复用件; 几乎没有相应的复用培训; 复用代价昂贵。有人估计,仅使一个构件可复用,就将至少增加60%的成本; 虽然存在软件复用的CASE工具或构件,但大多数软件开发者并不使用它们; 经济利益方面。一些开发人员尽力避免编写那些太通用的例程,唯恐使自己失业。 第*|83页 技术方面的问题 采用软件复用可以降低开发成本

文档评论(0)

1亿VIP精品文档

相关文档