基于软件重用技术的研究

来源 :科学与财富 | 被引量 : 0次 | 上传用户:heyunhu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
   [摘 要] 随着计算机技术的发展,[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]http://www.ccw.com.cn/htm/produ/corner/02_1_28_3.asp
  [2]http://www.cnipr.com/zsyd/xslw/patent/t20040331_27326.htm
  [3]郑人杰 殷人昆 软件工程概论[M] 清华大学出版社 1998.4■
其他文献
为了科学评价考洲洋海洋生态养殖示范区的渔业生态环境质量状况,1999年2月和8月对该湾浮游植物的种类组成及数量分布进行了调查研究,结果表明,调查海域共出现浮游植物188种,
供电线路中,220KV输电线路是最重要的工程环节,其施工质量对于整个供电网络的安全运行有着直接的影响。紧线施工技术作为架空输电线路的主要施工工序,明确其当前存在的不足,进一
设计并采用优化的MBE工艺制备了GaAsPHEMT结构材料,运用非接触霍尔、霍尔等测试方法研究了影响p。和ns的主要因素,优化了OaAs基GaAsPHEMT材料结构,使其u。×n。达到了2.52&#2
商业是专门从事商品流通的经济部门,是第三产业的重要组成部分,也是联系生产和消费、工业和农业、城市和乡村的桥梁和纽带。商业的地理特征的分析对商业的空间布局发展有重要意
目前,割灌机的使用范围较广,在我国多个行业都有广泛的应用,如农牧、园艺、林业等,为保证割灌机的工作效率和使用效益,在其作业过程中,操作人员必须按规范、要求进行,并对之予以科学
公允价值理论的讨论在全球经济危机,在与公允价值会计相关的诸多问题当中,计量问题仍是争论的焦点。我国颁布的新会计准则《企业会计准则第22号——金融工具确认和计量》中涉及
[摘 要] 人类活动的越来越频繁,对环境的影响日益加据,由此引起的各类土地利用变化情况尤其引起社会关注。及时准确的获取土地利用现状信息对政府决策部门和科学研究都具有重要意义。随着遥感平台的多样化和图像分辨率的提高,遥感技术已成为土地利用现状调查研究中不可或缺的手段。遥感技术以其宏观性、实时性、周期性及综合性等特点,为快速、客观、准确地获取土地利用现状信息提供了可能。本文通过大安市土地利用现状调查研
"对虾白斑病的围栏封闭预防技术"是一项针对沿海低位池塘、以切断传染病源为主旨、以设置防蟹围栏为特色的对虾白斑病综合预防技术.其主要措施为:首先在贮水(兼水处理)池和养
与传统会计模拟实验方法相比较,“系统运转型”实验模式是会计实验模式的创新。基于这种实验模式对会计实验教学改革中应注重实验师资队伍建设、加强实验室基础设施建设、完善
[摘 要] 当前,我国的农业已经进入到由传统农业向现代农业进军的新阶段,其难点在于如何按市场机制配置资源发展市场农业,如何提高科技含量发展知识农业,如何全方位伸拓产业链条发展产业化农业。这三方面的互助互动,有机结合,同步发展,就构成了推动农业现代化的强大动力。   [关键词] 农业现代化;信息技术  20世纪80年代以来,以计算机技术、光纤和卫星通信技术为特征的信息化浪潮席卷全球,信息化水平已经