欢迎来到天天文库
浏览记录
ID:20158306
大小:54.00 KB
页数:4页
时间:2018-10-09
《软件开发中的复用问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、软件开发中的复用问题软件开发中的复用问题(恩施职业技术学院湖北恩施445000)向玉玲软件业是目前最有发展前途的产业,其营业额均以每年20%的速度递增,预计到2000年,年销售额将达9000亿美元,软件业将成为世界第一大产业。中国科学院软件所仲萃豪研究员特别针对软件业中构件技术的应用软件开发做一详细论述,其中仲萃豪教授着重强调的是应用软件开发模型和方法。软件构件技术在一、二年内将轰轰烈烈地开展起来。目前国内许多大工程、大项目都纷纷采用这项技术,如863计划近一半的项目、通信方面许多大项目的投标、金融行业的业务处理系统等,都在朝这个方向走。在领域工程技术:美国国防部高级研究项目署
2、建立了用于易修改的可靠系统的软件技术项目,研究领域特定的、基于复用的软件工程技术,并建立了三个示范工程项目。美国空军电子系统中心与美国航空航天局合作建立了可复用防务软件的中央档案库项目,以促进国防项目中的软件复用。在CORBA分布式对象技术:BellSouth公司在大型机上有大量的应用程序和数据,新的业务过程需要与之协作。CORBA技术提供的解决方案是将遗留系统包装为构件,以ORB为软总线集成新老系统。由摩托罗拉发起的著名的铱星工程中,最终采用了ORB产品作为软件构件之间的互连框架。在产品线技术:1985年,瑞典CelsiusTech系统公司,同时接到两份合同--瑞典海军和丹麦
3、海军的轮船系统,两个系统都需要很强的容错性和分散性,该公司采用SS2000产品线方法后,获得了巨大成功,将硬件与软件的费用比例从过去的35:65变成了80:20。预测,今后,软件开发商必须了解主要系统集成商和应用软件开发人员所需要的基本构件,因为他们在引导着构件技术的需求和功能走势。到2001年,所有新开发的应用至少有60%将是基于构件的组装,开发商的市场应变能力也因此得到提高。一、软件复用1.1复用技术概述软件复用(或软件重用)是指充分利用过去软件开发中积累的成果、知识和经验,去开发新的软件系统,使人们在新系统的开发中着重于解决出现的新问题、满足新需求,从而避免或减少软件开发
4、中的重复劳动。复用是将已有的软件及其有效成分用于构造新的软件或系统。它不仅是对软件程序的复用,还包括对软件生产过程中其它劳动成果的复用,如项目计划书、可行性报告、需求分析、概要设计、详细设计、编码(源程序)、测试用例、文档与使用手册等等。因此,软件复用包括软件产品复用和生成式复用用两部分的内容。产品式复用是指对软件开发中中间制品(程序代码,各阶段中的文档或模型,测试用例等)的复用,其实现途径关键是将可复用的程序代码组装(或集成)而生成软件应用系统,因此产品式复用亦称组装式复用;生成式复用主要是将软件的需求进行规约化(或形式化)描述,然后利用可复用的应用程序生成器自动或半自动地生
5、成所需的软件系统。目前组装式复用是软件复用的主流方式。软件复用不同于软件移植。软件移植是指对软件进行修改和扩充,使之在保留原有功能、适应原有平台的基础上,可以运行于新的软硬件平台。而复用则指在多个系统中,尤其是在新系统中使用已有的软件成分。1.2复用的方法从对复用产品的了解程度和复用方式看,也可分为白盒复用与黑盒复用。黑盒复用指对已有产品或构件不需作任何修改,直接进行复用,这是理想的复用方式。它主要基于二进制代码的复用,包括可执行程序的复用和基于库(包括动态链接库和静态库)的复用。白盒复用指根据用户需求对已有产品进行适应性修改后才可使用。白盒复用一般为源代码一级的复用,以及相应
6、的测试用例、文档等的复用。无论白盒复用还是黑盒复用,都需要花费一定的代价熟悉和掌握被复用的软件系统。作为经济上的考虑,要求复用的代价必须大大小于重新开发的代价,否则就不应该考虑。软件复用的一个关键因素是抽象。抽象是对软件可复用对象的提炼和概括,即将可复用对象的基本属性和相应的操作,从具体的语言、环境和其他细节中提炼出来。软件的复用性很大程度上取决于对可复用对象的认识深度或者说可复用对象的抽象层次。抽象层次越高、与具体环境和特定细节越无关,则它被未来系统复用的可能性也越大。领域分析则是进行抽象的有力工具。领域分析借助特定领域、特定行业的专业知识与技能,对软件系统对象进行抽象和分类
7、,提炼认知的对象及其相互关系,获得系统整体结构,从而生成可复用的软件构件。1.3)软件复用的层次我将软件复用的层次分为代码级,控件级,模块级,构架级,这四个级别在概念上依次上升。1.4)软件复用的优点复用技术所带来的最大优点正是由可复用构件来实现的,其优点主要体现在以下几个方面:(1)软件实现过程的效率提高(2)程序员所担负的压力减轻(3)软件测试过程的难度降低(4)软件系统性能的稳定性提高(5)软件企业的稳定性大大增强二、构件技术构件(ponent)就是使软件走向工业化的一种软件标准件,它
此文档下载收益归作者所有