欢迎来到天天文库
浏览记录
ID:20626241
大小:70.00 KB
页数:15页
时间:2018-10-14
《计算机软件开发的进展研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、计算机软件开发的进展研究1引言当前,计算机技术的迅速更新、软件处理对象如企业业务过程的不断变化以及软件开发竞争的日趋激烈已经使传统的从源代码级开发软件系统的方法面临越来越大的挑战。利用传统开发方法开发的大多数系统所使用的是在开发初始时所能得到的技术,面向的是当时所需处理的问题,要使这些软件系统适应处理对象如业务过程的变化以及计算机技术的进步是一件非常复杂的工作,往往必须对原有系统在代码上进行重大修改,这种修改代价较高并且也有一定的风险,从而造成软件的可扩充性Scalabiltiy)较差。在开发过程中,为减少软件开发费用、缩短软件开发周期,保持开发者的技术水平变得越来越重要,因为只有这
2、样才能达到一个较高的开发效率,使得项目按时完成。而在传统的开发方法中,由于开发不同的软件时常需要不同的开发工具,这使得开发者必须不断学习新的开发工具,原有的技巧以及已具备的经验难以被再次利用。当今的软件开发经常需要利用现有成果,开发时可能要集成不同的系统、新的应用、标准的软件包以及已在业务开展中使用了的与任务有关的现有数据与系统,通过集成可以减少不必要的工作量,提高软件的可用性,加快开发进度。但是传统的代码开发方法主要着眼于从无到有的构造,对软件集成Integration)的支持不够,大量的开发时间被投入到底层编程中,这种编程不仅耗时而且可能是重复劳动,从长远看还会造成代码难于维护。
3、随着软件构件技术的成熟,大量的构件作为现成的商品在软件市场出现,基于构件的软件开发CBSD:ponent-basedSoftent)也作为一种新的工业化的软件开发方法被提了出来。该方法是对以前传统开发方法的一种改变,它使得软件开发从代码开发转移到对已测试、已使用的,并且在内部互操作的构件的集成是软件重用的一种实例。通过加强系统的灵活性以及可维护性,CBSD可以被用来减少软件的开发费用、快速的集成系统以及减少与支持升级大型系统相关的维护费用,从而使软件开发者处于有利的竞争地位。该方法的基础是基于这样的假设:大型软件系统的某些部分会不断重现;系统的公用部分应当编写一次而不是多次;公共系统
4、应通过重用被集成而不是一而再,再而三的重写,它体现了FredBrooks所支持的购买而不构造”的开发思想。在CBSD中的构件主要是指可以通过商业手段获取的构件mercialOff-the-shellponent),主要是遵循已有的C0M/DC0M、C0GBA以及JAVABEALS构件标准的构件、开发者可以加以剪裁的应用框架以及已被其他应用集成或扩展的独立软件系统。当今世界上许多研宄机构如美国的卡耐基梅隆大学、加拿大的国立研宄委员会NationalResearchCouncil)都在积极对CBSD展开研究,该文将对这一领域的研究成果、进展加以综述。2CBSD的主要活动CBSD的开展主要
5、是通过集成已存在的构件来进行的,这与传统的开发方法有着明显的不同,在后者中,系统集成通常是实现工作的结束部分,而在CBSD中,构件集成是构造系统的核心内容。因此,在决定获取、重用甚至构造构件时,可集成性是所需考虑的关键因素。CBSD由4个主要活动组成:构件的评选、构件的适配、构件的组装以及系统的演化。2.1构件的评选构件的评选是一个从市场上的一批相互竞争的构件中加以选择的过程,该过程要求在众多侯选者中选出最适合在该软件环境中使用的构件。在安全性要求较高的应用中,构件的选择可以扩充到包括对创建与维护构件的开发过程的选择,但这样也会减少使用现有构件的一些好处。一个适合使用的构件可能本身就
6、是一个复杂的软件,为了有效地使用该构件,必须深入了解它。但较好地了解一个构件并不是一件容易的事情。首先构件的文档可能不全或者错误。即使构件的提供者有意识作好文档,一个复杂的软件是不可能在文档中被完全并且正确说明的。即使不完全的文档可能也是庞大的,除了非常有经验的使用者,其他人将很难理解;其次构件的接口可能非常复杂。许多构件有上百个API调用,即使编制这些构件的人都很难知道每个API调用的行为或者特殊调用序列的结果;最后在构件中存在错误。所有这些问题都对了解构件造成困难。构件的评选有两个阶段:发现与评价。在发现阶段,要判别构件的特性。这些特性包括构件的功能提供什么样的服务)、构件界面的
7、其他方面如使用的标准)以及其他难以分离出的质量特点如构件的可靠性,可预测性以及可用性。在一些情况下,在发现构件时也应该考虑构件的非技术特性,如提供者的市场占有率、以前的业绩以及构件开发组织的过程成熟度。发现构件是一个艰难的无法精确定义的过程,所需的信息很难量化,有时也难以得到。构件的评价是一种决策。评价构件用来支持作出编制还是购买、买A还是买B以及使用特征A还是使用特征B的决定。当前已经存在了一些相对成熟的评价技术,如ISO的通用标准以及IEEE的特定域的
此文档下载收益归作者所有