UML之情有独钟

       自从与UML相识之后,越来越觉得她是那么的美好,是那么的单纯,简单和高效,这让我寝食难安,想要更多地去了解她,认识她,并且掌握她。那么就让我们走进她的心里,去看看她是怎样看待和描述这个多姿多彩的世界的。

       众所周知,UML是一种可视化的面向对象建模语言,既然是作为一种语言,那么它应该有自己的最基本的“单词”和“语法”,下面我们就来了解这些基本元素。

       UML的基本元素主要是3种构造块(BuildingBlocks):

       1.      事物(Things):构成模型图的一些基本图示符号,它们表示一些面向对象的基本概念。

       2.      关系(Relationships):表示基本图示符号之间的关系。

       3.      图(Diagrams):特定的视角对系统所作的抽象描述。

        三者之间的关系可以这样理解:Things是对模型中最具有代表性的成分的抽象;Relationships把事物结合在一起,而Diagrams则聚集了相关的事物。

        那么UML中都有哪些事物呢?请看下面的图:

        对于每种事物的具体含义在这里先不阐述,在后面的UML实战中用到哪种会给大家详细介绍的,下面我们来看UML中的关系都有哪些?同样还是通过一幅图来了解:


        同样对于每一种关系的含义,会在后续的博文中通过实例给出详细的阐述。

        基本构造块的最后一个是图,所谓的图就是在上篇博文里提到的UML的9种图。

        接下来我们来看UML的“语法”,即规则有哪些?

        1.  命名:必须为事物、关系和图命名,也就是说每一种元素都要有自己的名称

        2.  范围:给一个名称以特定含义的语境,即不允许脱离现实世界

        3.  可见性:怎样让其他人使用或看见名称

        4.  完整性:事物如何正确、一致的相互联系起来

        5.  执行:运行或者模拟动态模型的含义是什么药明确

        最后我们来了解一下UML中的公共机制:

        规格说明:UML不只是一种图形语言。其实,在它的图形表示法的每部分背后都有一个规格说明,这个规格说明提供了对构造块的语法和语义的文字描述。也就是说,UML的图用来对系统进行可视化,而UML的规格说明用来描述系统的细节。

        修饰:UML表示法中的每个元素都有一个基本符号,可以把各种修饰细节加到这个符号上。

        通用划分:一般有两种方法,即类/对象二分法;接口/实现二分法

        扩展机制:对UML图示符号的扩展,包括:构造型Stereotype、标注型Taggedvalue和约束Constraint。

        以上都是UML的基础的一些东西,后续我们就要用这些构造块去画UML的9种图,进行UML的实战演练。


假设你是一个系统分析员,要建立篮球比赛模型。现在你正在会见一名教练员来了解比赛规则情况。谈话的过程可能如下: 分析员:“教练,请大致介绍一下篮球比赛” 教练员:“比赛的目标是要把篮球投入蓝框并且要尽量比对手得更多的分。每个篮球队由5名队员组成:两名后卫、两名前锋和一名中锋。每个队要将球推进到篮框附近,将篮球投中篮框。” 分析员:“如何将球推进?” 教练员:“通过运球和传球。但是某一方必须在规定的进攻时间内投篮。” 分析员:“规定的进攻时间?” 教练员:“是的,在某一方获得控球权后,必须在规定的进攻时间内投篮。美国职业篮球比赛是24秒,国际篮球比赛是30秒,美国大学篮球比赛是35秒。” 分析员: “如何计算篮球比赛得分? 教练员: “三分线之内每投中一次篮框得两分,三分线之外投中一次得三分。一次罚球得一分。顺便说一下,罚球是对方犯规后判罚的投球。如果某一个队员犯规,则比赛暂停,由被侵犯的队员在罚球线处罚球。” 分析员: “再详细说明一下每个篮球队员在比赛中的情祝好吗?” 教练员: “后卫队员通常主要是运球和传球。他们一般都比前锋队员矮,前锋队员通常又比中锋矮。所有的队员必须都要能运球、传球、投球、抢篮板球,大部分抢篮板球和中距离投篮都由前锋队员完成,而中锋通常离篮框最近,一般由他来篮下进攻。” 分析员:“场地大小如何?另外,每场比赛时间是多少?” 教练员:“国际比赛场地为28米长、15米宽。篮框离地面3.05米高。在美国职业篮球比赛中,一场比赛为48分钟,分为4节,每节12分钟。在美国大学和国际比赛中,一场比赛40分钟,分为上下两个20分钟的半场。有专门的比赛时钟记录比赛还剩下多少时间。 下面是你在对话中发现的名词:篮球(Ball),篮框(Basket ),篮球队(Team )、队员( Player)、后卫队员(Gurad )、前锋队员(Forward)、中锋( Center )、投球(Shot )、规定的进攻时间 (Shot Clock)、三分线(three-point line) ,罚球(free throw )、犯规(Foul )、罚球线(free-throw 1ine)、球场(Court)、比赛时钟(Game Clock)。 还有一些动词:投篮(shoot)、推进( advance }、运球(dribble )、传球(pass)、犯规(Foul)、抢篮板球(rebound)。你还可得到上述名词的一些附加信息—例如每个位置的队员的相对高度、篮球场大小、进攻时间以及比赛时间。 最后,根据常识可以为这些类建立一些属性和操作。例如,通常球类都有体积(volume )和直径(diameter)等属性。 使用这些信息,建立一个类图。 要求能在plantUML Web Server上绘制,将里面的信息换成英文如球场换成court,队伍换成team等等
最新发布
04-02
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值