《UML用户指南(第2版.修订版)》—第1章1.3节面向对象建模

简介:

本节书摘来自异步社区《UML用户指南(第2版.修订版)》一书中的第1章1.3节面向对象建模,作者【美】Grady Booch , James Rumbaugh , Ivar Jacobson,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 面向对象建模
UML用户指南(第2版.修订版)
土木工程师构造了很多种模型。通常这些模型能帮助人们可视化并说明系统的各部分以及这些部分之间的相互关系。根据业务或工程中所着重关心的内容(例如为了帮助研究一个结构在地震时的反应)工程师也可以建立动态模型。各种模型的组织是不同的,各有自己的侧重点。对于软件,有好几种建模的方法。最普通的两种方法是从算法的角度建模和从面向对象的角度建模。

传统的软件开发是从算法的角度进行建模。按照这种方法,所有的软件都用过程或函数作为其主要构造块。这种观点导致开发人员把精力集中于控制流程和对大的算法进行分解。这种观点除了常常产生脆弱的系统之外没有其他本质上的害处。当需求发生变化(总会变化的)以及系统增长(总会增长的)时,用这种方法建造的系统就会变得很难维护。

现代的软件开发采用面向对象的观点进行建模。按照这种方法,所有软件系统都用对象或类作为其主要构造块。简单地讲,对象通常是从问题空间或解空间的词汇中抽取出来的东西;类是对具有共同性质的一组对象(从建模者的视角)的描述。每一个对象都有标识(能够对它命名,以区别于其他对象)、状态(通常有一些数据与它相联系)和行为(能对该对象做某些事,它也能为其他对象做某些事)。

例如,可考虑把一个简单的计账系统的体系结构分成3层:用户界面层、业务服务层和数据库层。在用户界面层,将找出一些具体的对象,如按钮、菜单和对话框。在数据库层,将找出一些具体的对象,例如描述来自问题域实体的表,包括顾客、产品和订单等。在中间层,将找出诸如交易、业务规则等对象,以及顾客、产品和订单等问题实体的高层视图。

可以肯定地说,面向对象方法是软件开发方法的主流部分,其原因很简单,因为事实已经证明,它适合于在各种问题域中建造各种规模和复杂度的系统。此外,当前的大多数程序语言、操作系统和工具在一定程度上都是面向对象的,并给出更多按对象来观察世界的理由。面向对象的开发为使用构件技术(如J2EE或.NET)装配系统提供了概念基础。

选择以面向对象的方式观察世界,会产生一系列的问题:什么是好的面向对象的体系结构?项目会创造出什么样的制品?谁创造它们?怎样度量它们?

【第2章讨论这些问题。】

对面向对象系统进行可视化、详述、构造和文档化正是统一建模语言(UML)的目的。

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

相关文章
|
25天前
|
机器学习/深度学习 人工智能 测试技术
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
71 0
|
3月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
40 0
|
测试技术 数据库 uml
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
465 0
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
|
文件存储 uml
【UML建模】(8) UML建模之组件图
组件图是用来描述组件与组件之间关系的一种UML图,组件图在宏观层面上显示了构成系统某一特定方面的实现结构。它是一种结构型图表。
598 0
【UML建模】(8) UML建模之组件图
|
网络协议 uml
【UML建模】(7) UML建模之部署图
部署图是运行时进行处理的节点以及在节点上存在制品的配置的图。它阐述了在实际应用中软件和它的运行环境的关系,并且描述了软件部署在硬件上的具体方法。
381 0
【UML建模】(7) UML建模之部署图
|
测试技术 uml
【UML建模】(6) UML建模之状态机图
状态机图展示了一个对象如何根据当前状态对不同事件做出反应的动态行为。状态机图是一种行为图。
719 0
【UML建模】(6) UML建模之状态机图
|
测试技术 uml
【UML建模】(5) UML建模之活动图
活动图可以看成是面向对象版的流程图,它是一种行为型模型图,主要用于表达系统某个功能的流程。
269 0
【UML建模】(5) UML建模之活动图
|
数据建模 Java 项目管理
【UML建模】(X) UML建模之Enterprise Architect 15的使用
Enterprise Architect (后面简称EA)是一款优秀的UML建模软件。它兼容UML2.0中的所有图表。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发与部署等方面有着强大的支持,同时加上对10种编程语言的正反向工程,项目管理,文档生成,数据建模等方面。
240 0
【UML建模】(X) UML建模之Enterprise Architect 15的使用
|
测试技术 uml
【UML建模】(4) UML建模之时序图
时序图是按照时间顺序显示对象交互的图。它显示了参与交互的对象和所交互信息的先后顺序,用来表示用例图中的行为,用例图是一种交互图
236 0
【UML建模】(4) UML建模之时序图
|
uml
【UML建模】(3) UML建模之类图
类图是显示一组类、接口以及它们之间关系的图
307 0
【UML建模】(3) UML建模之类图