资源描述:
《基于构件组装模型的汽车租赁管理系统的设计【文献综述】》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、毕业论文文献综述计算机科学与技术基于构件组装模型的汽车租赁管理系统的设计一、构件技术构件思想是把工业中利用零部件组装成品的思想应用于软件开发,即开发现成的构件作为应用单元,用户可以根据自己的需要选择合适的构件,以某种标准来搭建自己的系统,也可以将其形象地称为“搭积木”[1]。无论是哪种称谓,构件思想的主要目的是软件复用,缩短软件的开发周期,增强软件的升级能力和可维护性。那么,到底什么是构件?至今,构件还没有一个严格的定义。我们可以从以下几个方面进行理解和把握。从封装角度来讲,构件是自包含的,且其封装内容较广泛。构件可以是被封装的对象、类、类树、一些功能模块、软件框架(f
2、ramwork)、软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等。从而提高软件开发中的构件复用程度,缩短软件的开发周期,提高系统的稳定性[2]。而对软件人员来说,基于构件的软件开发中,系统开发的重点从程序设计变成构件组装,软件人员的思路不再被具体细节所拘束,更能把握复杂的软件元素。从分布式应用的角度来说,可以把分布式对象技术当作是一种基础设施,而把构件看作是能够应用于不同的基础设施的抽象和实现。适合应用于不同的基础设施的抽象和实现。适合于现在面向Internet网络的应用,解决更加复杂的分布式需求。从维护和分布计算的角度考虑
3、,构件就是实现软件的“即插即用”的基础。硬件维护升级只是更换芯片等设备,同该思路相似,软件的维护和升级也可以想象为软件构件的插、拔或替换。从对现实世界的描述来看,面向对象的封装是细粒度的,相对来说,构件的封装是粗粒度的,更容易实现对复杂现实世界的呈现。从发展的角度来看,构件技术是在面向对象技术之上的软件复用的技术[3]。构件技术之所以成为构件技术而不是面向对象技术,必定有其自身的特点。①有用性(Usefulness):构件必须提供有用的功能,尤其是专业领域的构件;②可用性(Usability):构件必须易于理解和使用;③质量(Quality):构件及其变形必须能正确工作
4、;④适应性(Adaptability):构件应该易于通过参数化等方式在不同语境中进行配置;⑤可移植性(Portability):构件应能在不同的硬件运行平台和软件环境中工作。构件的可用性是前提,对于开发人员来说,构件技术不仅仅是自己开发构件,利用现有的标准的构件也是其中重要部分,如何开发构件的有用性不是技术问题,而要从各方因素来综合考虑[4]。从应用的角度,构件也可以按照功能分为3种功能:①通用基本构件:是特定于计算机系统的构成成分,如基本的数据结构、用户界面元素等,它们可以存在于各种应用系统中,此种构件现在市场上就有;②领域共性构件:是应用系统所属领域的共性构成成分,
5、它们存在于该领域的各个应用系统中;③应用专用构件:是每个应用系统的特有构成成分。可以预见,通用基本构件的开发应该采用“拿来主义”,可以利用通用化的软件构件组装成各种应用软件。领域共性构件和应用专用构件应该是面向不同领域的开发人员所要着眼的构件技术从一开始就不是孤立的,它引发了一系列的新思维和新技术。这里姑且称之为构件相关技术。二、软件工程软件工程[5](SoftwareEngineering,简称为SE)是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以
6、经济地开发出高质量的软件并有效的维护它,这就是软件工程。它现在软件开发中的指导地位已经越来越多地得到IT业界的高度重视。目前,软件工程已经成为计算机及其相关专业的专业核心课程,在美国IEEE-CS和ACM联合专题组发表的CC2001报告中,软件工程便是计算机学科的14个知识领域之一。中国计算机学会教育委员会、全国高等院校计算机教育研究所所提出的“计算机专业教学计划1993”也把软件工程列为一门主要的课程。它有以下几个特点[6]:(1)综合性强。软件开发是一项系统工程,因此它需要学习者或开发者具有数据库系统、数据结构、操作系统和多种开发工具等多方面知识和综合能力。同时,它
7、还涉及工程学、管理学、经济学等多个领域的知识,并且它本身还在不断地发展。(2)实践性强。本课程是实用工程学科,它是以工程化的手段来为制造开发软件服务的,因此本课程是一门实践性很强的课程,课程中介绍的一些原理和方法,也是专家和学者实践经验和教训的体现,学生只有真刀真枪地进行实践,才能真正达到学以致用,达到理论与实践相结合的目的。(3)发展迅速。随着全球软件产业的蓬勃发展,软件工程已经成为一门热门学科。在过去十几年中,软件开发方法百家争鸣,除了传统软件过程和面向对象软件工程外,还出现了面向构件软件工程、净室软件工程和形式化软件工程等[7]。软