09

2024-05

当前位置: 网事范文网 > 作文大全 >

基于软件重用技术的研究

| 来源:网友投稿

[摘 要] 随着计算机技术的发展,[2]社会对软件的需求量日益增大,而软件的开发完全依赖于人工,致使软件开发成本费不断上涨,在美国软件成本约占计算机系统总成本的90%,已成为司空见惯的现象。人们在大型软件项目开发面前显得力不从心,以至于20世纪60年代末至20世纪70年代初,“软件危机”一词在IT界广为流传。许多重要的大型软件开发项目,如IBM OS/360和世界范围的军事命令和控制系统(WWMCCS),在耗费了大量的人力和财力之后,由于离预定目标相差甚远不得不宣布失败。软件危机达到了令人难以忍受的地步。“软件危机”的解决方法有两种:一是软件工程,一是软件重用。本文结合《软件工程》的思想对软件重用技术进行探讨。

[关键词] 软件重用、模块、重用技术

0引言

通过对软件重用的理论与关键技术的分析,解释了软件重用的基本定义、特点、当前流行的技术和重用关键,指出了几种重要的软件重用技术在进行程序设计时应注意的事项,并在此基础上展望了软件重用的优点和未来。

1软件重用的定义、分类及特点

1.1 软件重用的定义

[1]软件重用(Software Reuse,又称软件复用或软件再用)的概念早在1968年的NATO软件工程会议上就已经提出可复用库的思想。软件重用的定义也很多,比较权威和通用的一种是:软件重用是利用事先建立好的软件产品创建新软件系统的过程。这个定义蕴含着软件重用所必须包含的两个方面:一是系统地开发可重用的软件产品。二是系统地使用这些软件产品作为构筑模块,来建立新的系统。

1.2 软件重用的分类

为软件重用分类比较困难,因为软件重用技术众多,一种重用技术可以包括多种重用形式。按照软件重用所应用的领域范围,可以把软件重用划分为横向重用和纵向重用。

1.3 软件重用的好处

软件重用会带来以下好处:

(1)提高软件生成率。

(2)缩短开发周期。

(3)降低软件开发和维护费用。

(4)生产更加标准化的软件。

(5)提高软件开发质量。

(6)增强软件系统的互操作性。

(7)减少软件开发人员数量。

(8)使开发人员能比较容易的适应不同性质的项目开发。

2流行的软件重用技术

最理想的重用技术是它的重用产品能够和用户的需求完全一致,不需要用户做任何自定义,并且能够无需用户学习就能够被使用。自从软件重用思想产生以来,计算机科学家和软件工程师就致力与软件重用的技术的研究和实践。在30多年的时间内,出现多种软件重用技术,如:函数和数据结构,模板,面向对象、设计模式、组件、框架、构架等,下面我主要就函数和数据结构重用进行说明。

2.1函数和数据结构重用

通用的与平台无关的函数,以及对常用的数据结构(如队列、链表等)的操作过程均是可以重用的。[3]为了保证函数与数据结构的重用,需要注意以下事项:

(1)对于链表等常用数据结构的操作采用宏定义方式进行定义,形成标准数据结构宏库。

(2)将与平台无关的函数作成函数库,这个函数库可以根据需要不断扩充,也可以根据功能分为几个独立的函数库。

(3)对要重用的宏或函数要有相应的说明文档,文档内除对函数本身、输入/输出参数和返回值的含义进行说明外,还要特别说明其使用时的注意事项。对于每一种使用情况,最好提供例子加以解释。

(4)重用函数内要进行严格的入口参数判断及错误处理,重用函数内要增加必要的注释。

3软件重用的关键

软件重用关键在于可重用模块的定义和划分,模块的划分原则应以软件功能分解为基础,使每个模块实现一个特定的功能;并且,每个模块只包含实现此功能的各项任务的所有成分——即模块要独立。具体设计时要遵循以下原则:

1)模块的独立性设计原则

⑴尽量使用数据耦合——模块间的联系只通过传递数据参数来实现。

⑵尽量少用控制耦合——模块之间避免传递控制信息。

⑶将可能发生变化的因素或经常需要改动的部分限制在某个模块内。

⑷将那些与外部环境有密切联系的部分限制在某几个模块中。

⑸适当限制模块间传递参数的个数。

⑹不要直接访问模块的内部信息。

⑺模块内的变量要局部化,仅通过函数参数与外部进行联系。

2)模块的结构设计原则

扇出—— 一个模块所属的直接下级模块的个数。

扇入—— 直接调用的该下属模块的上一级模块个数。

⑴模块的扇出数最好不超过7个。

⑵块的扇入数最好不超过9个。

⑶高层模块应有较高的扇出,低层模块应有较高的扇入。

3)模块的规模原则

每个模块一般不能超过200条可执行语句。

4)模块间的控制关系原则

⑴任何模块之间通信只限于上级模块和下级模块,不能与其他上下级模块直接通信。

⑵同一级模块之间发生联系,必须通过它们的上级模块进行。

⑶每个模块必须有唯一的入口和出口。

5)模块间的控制结构原则

必须采用以下5种控制结构:

⑴顺序控制结构

⑵条件控制结构

⑶循环控制结构

⑷分情况控制结构

⑸并行控制结构

4 展望未来

软件可重用性是从设计、开发到调试、归档的一个系统工程,在每一个步骤都要围绕可重用性进行工作,绝不能为了图一时的方便而引起可重用性的破坏。从设计的标准化开始,到开发的标准化,最后是文档的标准化,这一系列过程都必须有统一的管理。有人预测:到2003年至少70%的新应用程序将会由构筑模块(building blocks)构成,这些构筑模块(如软构件和应用程序框架)加快了产品的开发速度和企业的应变能力。以设计模式,框架和商业构件形势出现的软件产品可以通过重用显著的提升开发品质和生产力,重用反过来也可以显著的降低成本和缩短软件开发周期。未来应用程序的开发依存于一个开放的,便利构件选择和装配的综合体系结构。信息系统组织必须为基于构件开发制定一项战略。

参考文献

[1].cn/htm/produ/corner/02_1_28_3.asp

[2]/zsyd/xslw/patent/t20040331_27326.htm

[3]郑人杰 殷人昆 软件工程概论[M] 清华大学出版社 1998.4■

推荐访问:重用 研究 技术 软件

最新推荐New Ranking

1聘用合同范本大全19篇

聘用合同范本大全第1篇甲方(聘用单位):住所:乙方(受聘人):住所:身份证号码:甲、乙双方根据《中华...

2结婚纪念日感言大全12篇

结婚纪念日感言大全第1、每一年的结婚纪念日,我都会感谢你,给我这份节日的权利,给你带来幸福和感动...

32023年小学二年级作文评语8篇

小学二年级作文评语第1、朴实自然的童心体现在文中,使文章散发着清新活泼的气息。2、这篇文章以具体...

4小组评语大全10篇

小组评语大全第1篇该同学在实习期间一贯积极主动,认真学习业务知识,在很短的时间里就掌握了工作的要...

52023年度工厂岗位职责大全

工厂岗位职责大全第1篇保证生产工艺满足工厂内生产的正常运行。进行工艺改进,实施工艺规程及ODS的标...

62023年度对员工评语大全(2023年)

对员工评语大全第1 工作认真刻苦,服务态度非常好,使经理在xxx的时候没有后顾之忧;工作积极,热情周...

7小学六年级评语大全17篇(全文完整)

小学六年级评语大全第1、这学期,你的胆子大了,声音亮了,课堂回答问题的小手举得高了,这是多好的现...

82023年学生个人总结范本大全11篇(全文)

学生个人总结范文大全第1篇在思想方面,首先我端正了学习态度,认识到大学仍需付出极大的努力用功学习...

9保险承诺书范本大全(完整)

保险承诺书范文大全第1篇保险公司目标承诺书篇一:我是,请大家为我见证:作为团队的一名营销主管,我...

10小学生观后感作文23篇

小学生观后感作文第1篇一直以来,我对于漫威的电影都处在感官上的刺激阶段,对于它所要创造出来的宇宙...