UML Distilled-Chapter 1 Introduction

What Is the UML?

  统一模型语言(Unified Modeling Language , UML)由一组拥有共通的元模型(meta-model)的图形表示法所构成, UML可帮助我们描述和设计软件系统,尤其是采用面向对象设计思想来构建的软件系统。这个定义过于简单,事实上,不同的人对UML有不同的看法。之所以为有这样的差异,一半来源于它的历史,另一半则是因为大家对什么使软件开发流程更高效有不同的看法。因此,本章的主要任务是设定好本书的场景,说明大家看待与使用UML的不同方式。

  在软件行业中,图形建模语言已经存在了很长一段时间。引发大家使用这些模型语言背后的原因是:程序设计语言的抽象程度不够高,以至于我们无法很方便的去讨论程序的设计。

  尽管图形建语言已在存在了较长时间,但是大家对它们在软件行业中所扮演的角色仍然有很大的争议。

  UML是一个相对开放的标准,由对象管理(Object Management Group, OMG)协会负责管理它,OMG是一个由多家公司所组成的开放性联合组织。OMG成立的宗旨为是了建立支持互通性(interoperability)的开发标准,特别是面向对象软件系统的互通性。OMG最广为人知的事迹或许是CORBA(Common Object Request Broker Architecture)标准。

  在1980年代末期到1990年代初期,UML诞生于众多图形建模语言的统一。它在1997年的正式出现,使得当时一片杂乱的景象总算进行历史,我和许多开发人员一样,都深深感谢它的出现。

Ways of Using the UML

  深入了解UML在软件开发过程中所扮演的角色,我们发现大家会以不同的方式来使用它,这些差异其实是从其它图形建模语言延续过来的,也因此导致了一个长久以来难以解决的问题:我们该如何使用UML?

  为了理清这个纠结不清的问题,我和Steve Mellor分别针对人们使用UML的特性提出了三种使用模式:草图、设计图和编程语言。将UML视为草图应该是这三种用法中最为常见的一种用法了。采用这种用法时,开发人员会用UML来帮助他们与别人沟通系统的某些方面。将草图与设计图搭配使用时,我们可以从正向工程或反向工程两个不同方向来使用草图。如果是采用正向工程的话,我们会在编写程序代码之前绘制UML图。如果是采用反向工程的话,则是根据现有的代码来产生相应的UML图,以帮助理解代码。

  草图的本质是具有选择性。以正向使用草图来看,在真正编写代码之前,你会草拟出一些议题,然后和开发小组内的成员来讨论它们。使用草图的目的是为了帮助我们沟通想法或讨论即将要实现的方案的一些替代方案。你不会想要跟大家说明所以预计要编写的程序代码,而只会是针对一些重要的议题跟同事讨论一下,或者在开始写代码之前,先将部分设计以视觉方式展现出来。像这样的会议通常非常短,我们有可能开十分钟的会以讨论未来几小时的编程工程,或者花费一天来讨论未来两周的迭代工作。

  以反向使用草图的方式来看,你可能会使用草图来解释系统中某个部分是如何工作的。你不会画出所有的类,而只是画出那些有兴趣或深入代码之前值得一提的部分。

  相反地,将UML视为设计图则是强调完整性的做法。

转载于:https://www.cnblogs.com/manshuai/archive/2012/01/07/2315582.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值