《UML面向对象设计基础》—第2章2.2节面向对象的成熟期

简介:

本节书摘来自异步社区《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章讨论从面向对象到组件软件的应用。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
9月前
|
uml
UML基础与应用之面向对象
UML基础与应用之面向对象
51 0
|
测试技术 uml
『软件工程13』浅谈面向对象方法,统一建模语言UML
在下面的这篇文章中,将讲解我们平常常用的一种面向对象的画图方法,即统一建模语言UML(Unified Modeling Language)。 接下来开始进行讲解。
『软件工程13』浅谈面向对象方法,统一建模语言UML
|
uml
<十>面向对象分析之UML核心元素之关系
关系        --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构。        一,关联关系(association)         --->关联关系是用一条直线表示的。
963 0
|
uml
<十一>面向对象分析之UML核心元素之组件
组件一:概念        --->组件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。        --->组件代表系统中的一部分物理实施。包括软件代码(源代码,二进制代码或可执行代码)或其等价物(如脚本或命令文件)        --->在UML的定义中,组件之间唯一的关系就是依赖。
869 0
|
uml
<十二>面向对象分析之UML核心元素之节点和设备
节点,设备一:概念        ---->是带有至少一个处理器,内存以及可能还带有其他设备的处理元素。在实际工作中,一般说来服务器,工作站或者客户机都可以称为一个节点。        ---->节点就是应用程序的部署单元。
870 0
|
uml C++
<九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性
设计类         --->设计类是系统实施中一个或多个对象的抽象。        --->设计类已经直接映射到实现代码了,因此设计类依赖于实施语言。另一方面,设计类来源于前期的系统分析,在统一过程中,类不是品空想像出来的。
962 0
|
uml 测试技术
<五>面向对象分析之UML核心元素之边界
一:基本概念        ---->边界在UML图符里的定义只是一个简单的矩形,四个边决定了边界的内外。参与者,用例和边界相生相克。        ---->边界是一个很重要的概念,和封装的概念师出同门。
915 0
|
uml
<六>面向对象分析之UML核心元素之业务实体
一:基本概念          ---->业务实体类(class)的一种版型。特别用于在业务建模阶段建立领域模型。业务实体是业务模型中非常重要的一个因素,它为问题领域中的关键概念建立概念化的理解。是人们认识问题领域的重要手段。
1132 0