面对对象的设计方法

(整期优先)网络出版时间:2010-05-15
/ 2

面对对象的设计方法

李双双1,李探2

李双双1,李探2

(中国矿业大学信息与电气工程学院,江苏徐州221116)

摘要:随着软件技术的发展,面向对象的设计方法越来越受欢迎。文章介绍了面向对象的技术,重点阐述了其建模方式。

关键词:面对对象技术面向对象的建模语言

中图分类号:TP311文献标识码:A文章编号:1007-9599(2010)05-0000-01

DesignMethodsofObject-oriented

LiShuangshuangLiTan

(ChinaUniversityofMining&Technology,Information&ElectricalEngineeringCollege,Xuzhou221008,China)

Abstract:Alongwiththedevelopmentofsoftwaretechnology,object-orienteddesignmethodhasbecomemoreandmorepopular.Thispaperintroducesthetechnologyofobject-orientedmodeling,emphaticallyexpoundsthemodelingmethod.

Keywords:Theoryofobject-orientedtechnology;Object-orientedmodelinglanguage

一、面对对象技术

面向对象技术(Object-Orientedtechnology)是一种全新设计和构造软件的技术,它使计算机解决问题的方式更符合人类的思维方式,更能直接地描述客观世界,可增加代码的可重用性,是软件开发的发展方向和趋势。

针对软件规模趋向庞大,结构更加复杂的情况,软件业界发展出了面向对象(OO)的开发模式。1980GradyBooch首先提出面向对象设计(OOD)的概念;1985年,第一个商用面向对象数据库问世;1990年以来,面向对象的分析、测试、度量和管理等研究都得到较大的发展[1]

面向对象的开发强调从问题域的概念到软件程序和界面的直接映射。在软件系统中,对象比函数更为稳定,软件需求的变动往往是功能相关的变动,而其功能的执行者——对象——通常不会有大的变动。另外,面向对象的开发也支持、鼓励软件工程实践中的信息隐藏、数据抽象和封装,在一个对象内部的修改被局部隔离,这使得面向对象开发的软件更易于修改、扩充和维护。

与软件编码相比,系统需求和分析的问题更加普遍,而且它们的纠错代价更加昂贵。因此,对面向对象开发技术的关注就不能仅仅集中在编码上面,更应集中关心软件工程的其他方面,特别是软件的生命周期。目前最常见的生命周期模型是结构化设计的“瀑布”模型,它是在60年代末“软件危机”后出现的第一个生命周期模型,其过程次序分为:分析—>设计—>编码—>测试—>维护。瀑布式生命周期的开发过程是顺序行进的,活动流向基本是单向的。它假设开发者在开发初期对系统的了解足够清楚,然而任何软件开发活动都不可避免地要涉及大量迭代过程。总的来说,瀑布式生命周期的缺点表现在三个方面:1)后期的变化、迭代、改动困难;2)不支持重用;3)没有一个联系各个阶段的统一模型。

面向对象的方法从问题模型开始,然后就是识别对象、不断细化的过程。它本质上是迭代的和渐增的,随着迭代的进行,系统的功能不断完善。在面向对象的软件开发方法中,传统开发模式中的分析、设计和编码等各个阶段之间的明显界限变得模糊起来,其原因是因为整个开发过程都使用到了对象,对象和它们之间的关系成为分析、设计和编码等各个阶段的共同表达媒介,开发的重心从编码向分析偏移,从以功能为中心向以数据为中心偏移。而且,面向对象开发的迭代和无缝性使得重用变得更加自然。

总的来说,面向对象的技术是软件开发技术自然发展的成果,对许多应用领域的软件开发都极具前途。

二、面向对象的建模语言

统一建模语言(UnifiedModelingLanguage,UML)是用来设计软件蓝图的可视化建模语言。它支持面向对象系统的分析、设计、实现和交付等各个环节,可用于系统的理解、设计、浏览、维护和信息控制[2]。

在UML出现之前,以各种形式提出的面向对象建模语言或方法不下50种,这种局面对面向对象技术的研究和发展起到了很大的促进作用,然而多种建模语言并存也对沟通带来很大的问题。

三、面向对象的开发工具

对软件进行分析设计之后,需要使用一种或者几种支持面向对象的开发工具编码实现。随着计算机技术不断发展,各种开发工具也随着发展,比较流行的开发工具有:VisualBasic,VisualC++,PowerBuilder,Delphi,C++Builder,Java。

ViusalBasic适合于初学者开发与系统无关的综合应用程序。PowerBuilder仅仅适合于开发大型MIS及各类数据库跨平台的前端应用。C++Builder与Delphi是唯一能够同时适用于开发数据库应用、网络及Web应用、分布式应用、可重用组件、系统软件、驱动程序、多媒体及游戏等所有软件的高效率开发环境。ViusalC++除了跨平台应用外什么都可开发,但从开发效率的角度考虑,只局限于开发Windows系统应用、可重用组件及驱动程序。Java适用于开发除了系统软件、驱动程序、高性能实时系统、大规模图像处理以外所有的应用,主要用于大型信息系统的中间件开发,它最大的优点是平台无关性。

四、结论

软件的前期建模与系统分析工作决定软件生存周期,使用传统方法开发出的软件存在着稳定性、可维护性和可重用性都比较差的问题,所以面向对象的系统分析方法被认为是最具发展潜力的分析方法。UML是一种用来说明面向对象系统,为系统建模以及描述系统架构的标准图形化建模语言与工业标准。而各种面向对象的开发工具为软件的实现提供了多样的选择,奠定了坚实的基础。

参考文献

[1]唐学忠,胡智喜.UML面向对象分析与建模[M].北京:电子工业出版社

[2]蒋慧.UMLProgrammingGuide设计核心技术[M].北京:北京希望电子出版社,2001