本节书摘来自异步社区《UML面向对象设计基础》一书中的第2章2.2节面向对象的成熟期,作者【美】Meliir Page-Jones,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.2 面向对象的成熟期
UML面向对象设计基础
本节介绍软件工业如何促进面向对象时代的真正到来。
老生物学家们常爱发表这样的言论:个体生物重演了生物发展史。其含义是个体生物胚胎的发展通常演绎着生物整体发展的进化过程(如人类胚胎的发育过程)。当然在时间上存在很大的差异。个体生物的发展可能只有几个月,而整体生物却世代繁衍。
尽管老生物学家的说法无庸置疑,但在软件工程中却出现了一种新观点:面向对象软件工程的历史重演了传统软件工程的历史。当然在时间跨度上也存在很大的差异。形成成熟的过程和数据库结构花费了几十年的时间,而钻研面向对象软件只有几年的时间。
软件开发几乎是从编程开始的。随着系统规模扩大及人们经验的不断丰富,人们意识到编写应用程序代码仅仅依靠个人水平是有问题的。即便这样开发出来的应用程序可以奇迹般地运行,但由于代码缺乏规范而使得对代码的任何修改几乎是不可能的。
由此而引入设计。软件设计是在编写代码之前,对代码的相关部分进行规划。这种根本的改进甚至可使人们解决潜在的维护问题。
到目前为止一切顺利,现在可以生产出精致的软件。但一些敏锐的人发现这些精致软件大部分不能满足用户的需求。为满足用户对于可用软件的不断追求,有规律地以及更加严格的分析方法应运而生。
最终,我们有幸得到了计算机辅助软件工程(Computer-Aided Software-Engineering,CASE)工具。起初,这些工具的名声并不乐观。但随着工具的改进,逐渐改变了状况,并在联邦保护软件(Federal Protection Program)中恢复了名誉。今天,以前的CASE工具称为自动建模工具。建模工具帮助我们进行需求分析、软件设计和软件构造,并且使软件开发和维护更加便于管理。
在软件发展的整个历史中,人们一直试图提高软件的可重用性。但不幸的是大多数代码过程单元不是独立的,因此难以独立地重用。时至今日,面向对象的应用使软件重用获得生机。
然而,面向对象并不是万能的。如果对象的类不按照本书后面介绍的指导精心设计,那么面向对象也不可能提供可重用和可靠的软件。发生这种不幸情形,多数源于管理者对面向对象缺乏真正的认识。
如前所述,面向对象的历史是与软件的主流史并行发展的。然而对面向对象而言,从实现到抽象的发展异常迅速。面向对象编程在20世纪80年代开始流行。在同一时期引入了面向对象设计和面向对象分析。大约在90年代出现了面向对象数据库管理系统(ODBMS)和面向对象建模工具。
面向对象领域的迅猛发展使人们患上了奇怪的健忘症。一些人经历了面向对象的个体发展而一时忘记了整个软件主流的发展。他们的口号是:“1990年以前的任何知识都不必了解!”他们是热血而又执着的面向对象革命者。谴责当时使用已过时的COBOL语言建立的软件就像是纸老虎,而认为通向叶卡特琳堡的路只有一条。
现在他们的革命热情有所降温。对象革命已经取得胜利,其煽动者和拥互者自身已成为建设者。现在软件市场中的许多工具和技术或多或少地依赖于面向对象技术。客户/服务器领域和其他分布式系统更是如此。
软件王国总是充满着革命。下一场解放程序员的革命,分布式组件软件已经影响着我们。从一些热烈的讲演中得知,使用分布式组件可以获得比起初的对象革命更多的益处。
第15章讨论从面向对象到组件软件的应用。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。