首页 理论教育面向对象系统开发的语言与工具

面向对象系统开发的语言与工具

【摘要】:面向对象的系统开发不仅限于编码,还包括系统前期分析与设计。Booch是面向对象最早的倡导者之一。从此以后,面向对象的技术逐渐占据了软件开发的主导地位。因此,一个好的、支持面向对象建模语言的设计工具是必不可少的。

面向对象的系统开发不仅限于编码,还包括系统前期分析与设计。这里说的设计就是前面提到的建模,设计的过程是对现实世界建模的过程。

1.面向对象的建模语言

自面向对象技术出现后,在软件业得到了广泛应用。为了解决复杂系统的开发,各种面向对象的建模语言开始出现,1989~1994年,面向对象建模语言的数量从最初的不到10种增加到了50多种。20世纪90年代中期,以Booch 1993、OOSE和OMT-2等为代表的新的建模语言被提出,建模语言逐渐成熟。

Booch是面向对象最早的倡导者之一。他提出的Booch 1993方法比较适合系统的设计和构造。Rumbaugh等人提出的OMT-2方法引入了各种独立于语言的表示符。这种方法用对象模型、动态模型、功能模型和用例模型共同完成对整个系统的建模,所定义的概念和符号可用于系统开发的分析、设计和实现的全过程,系统开发人员不必在开发过程的不同阶段进行概念和符号的转换。Jacobson于1994年提出了OOSE方法,该方法的最大特点是面向用例,并在用例的描述中引入了外部角色的概念。用例贯穿于整个开发过程,包括对系统的测试和验证。OOSE比较适合商业工程和需求分析。

用户由于不了解各种建模语言的优缺点以及相互之间的差异,所以很难根据应用特点选择合适的建模语言。1994年10月,Grady Booch和Jim Rumbaugh开始致力于统一建模语言的工作。他们首先将Booch 1993和OMT-2统一起来,于1995年10月发布了第一个公开版本,称之为统一方法UM 0.8(Unified Method)。1995年秋,OOSE的创始人Ivar Jacobson加盟统一建模的工作。三人于1996年6月和10月分别发布了两个新的版本,即UML 0.9和UML 0.91,并将UM重新命名为UML(Unified Modeling Language)。UML 0.9结合了Booch等3人建模语言的主要技术,并吸收了其他方法,如Fusion、Shlaer-Mellor、Coad-Yourdon的长处。

2.面向对象的程序设计语言

最早出现的比较完善的面向对象的程序设计语言是1981年美国XEROX公司的Palo Alto研究中心推出的Smalltalk-80,它几乎包含了面向对象技术的核心元素,并由此提供了支持面向对象开发的基本机制。可以说,Smalltalk的出现引发了计算机软件领域的一场深刻变革。从此以后,面向对象的技术逐渐占据了软件开发的主导地位。随着面向对象技术的成熟与推广,许多传统的程序设计语言也进行了改造,增加了面向对象的功能,如C/C++、Basic、Pascal等。新出现的语言,如Java更是摒弃了面向过程的元素,完全面向对象设计。

3.面向对象的开发工具(www.chuimin.cn)

当今主流的面向对象的程序设计语言如C++、Basic、Pascal、Java等都有对应的可视化的集成开发环境。C++和Basic有Microsoft公司的Visual C++、Visual Basic的支持,Pascal有Borland公司的Delphi支持,Java不仅有Borland公司的JBuilder支持,还有开源开发工具Eclipse这样的后援团。这些集成开发环境不仅支持面向对象语言的可视化编程,而且预定义了大量的常用的系统对象类供程序员使用,有的开发工具还提供了支持软件开发的动态链接库。

有了这些集成开发工具,大大减少了软件开发人员在界面设计方面耗费的精力,而使他们更专注于分析与解决实际问题,同时可以极大减少编程工作量,使程序的维护与修改变得更加方便。

4.面向对象的设计工具

尽管面向对象的语言已被称为主流的程序设计语言,但编码并非是软件开发中出现问题的根源,需求和分析设计时出现的问题更加普遍,而且它们的纠错代价更加昂贵。因此对面向对象开发技术的关注就不能仅仅集中在编码上,更应关心软件工程的其他方面,如系统的分析与设计。系统的分析设计可以使用面向对象的建模语言。因此,一个好的、支持面向对象建模语言的设计工具是必不可少的。

面向对象的设计工具是CASE(Computer Aided Software Engineering)的一种。早期的CASE工具支持传统的软件生命周期法,而新型的CASE工具支持面向对象的软件开发方法。CASE是集成化的软件开发环境,覆盖软件生命周期的各个阶段。一般来讲,CASE工具应当包括需求分析工具、软件设计工具、代码生成工具、软件测试工具、软件文档编制与生成工具、逆向工程工具等。随着系统的构建变得日益复杂,软件开发人员迫切需要一个好的CASE工具对系统进行面向对象分析和设计,以便远离纠缠不清的源代码,使构建和设计变得更直观、更容易理解与修改。

目前最流行的CASE工具为IBM Rational的Rational Rose,它支持面向对象的建模,尤其支持统一建模语言(UML)。