《大象 Thinking in UML》学习笔记——为什么需要UML?
Posted bit_kaki
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《大象 Thinking in UML》学习笔记——为什么需要UML?相关的知识,希望对你有一定的参考价值。
一、UML的定义UML,即Unified Modeling Language又称统一建模语言或标准建模语言,是始于1997年一个OMG(对象管理组织)标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
UML是一种是面向对象软件的标准化建模语言,要弄清UML,首先得搞清楚面向对象和面向过程。
二、面向对象和面向过程
面向对象和面向过程是两种不同描述世界的方法。
面向过程:世界视为过程,世界由一个个相互关联的小程序构建来的。但是构成一个系统的因素太多,要把所有可能的因素都考虑到,把所有因素的因果分析都分析清楚,再把这个过程模拟出来实在是太困难了。
面向对象:世界视为对象,世界由一个个相互独立、相互之间没有因果关系的对象构成。但是难点在于为什么这样抽象对象?怎样组合对象?对象的组合表达了怎样的含义?
以知乎上的一个例子来区分面向过程和面向对象:
面向过程:
为了把大象装进冰箱,需要3个过程。
1) 把冰箱门打开(得到打开门的冰箱)
2) 把大象装进去(打开门后,得到里面装着大象的冰箱)
3) 把冰箱门关上(打开门、装好大象后,获得关好门的冰箱)
冰箱开门(冰箱)
冰箱装进(冰箱, 大象)
冰箱关门(冰箱)
面向对象:
为了把大象装进冰箱,需要做三个动作(或者叫行为)。
每个动作有一个执行者,它就是对象。
1) 冰箱,你给我把门打开
2) 冰箱,你给我把大象装进去(或者说,大象,你给我钻到冰箱里去)
3) 冰箱,你给我把门关上
冰箱.开门()
冰箱.装进(大象)
冰箱.关门()
三、面向对象的困难
面向对象是把世界看作是由许多对象组成的,然而现实世界和对象世界之间存在着一道沟壑,这道沟壑的名字叫抽象,抽象是面向对象的精髓所在,同时也是面向对象的困难所在。要跨越这道沟壑,我们需要:
一种把现实世界映射到对象世界的方法;
一种从对象世描述现实世界的方法;
一种验证对象世界行为是否正确反映了现实世界的方法。
而UML就是跨越这道沟壑的方法。
四、UML的特点
UML是一种建模用的语言,就是一种建模用的语言,包含模型和关系,类似于语言中的基本词汇和语法。
UML的特点是统一,形成一种标准让人和机器都能读懂。
UML的优点是可视化,通过原模型和表示法,更加准确直观表达出文字难以表达的内容。
五、从现实世界到业务模型
建模是对客观事物建立一种抽象方法,用来表征事物以及对事物本身的理解。
知道如何抽象现实世界:人、事、物、规则,人驱动系统、事体现过程、物记录结果、规则是控制;
在UML里:参与者(actor)代表人,用例(use case)代表事,业务对象模型(business object model)代表物,业务场景(business scenario)代表规则。
六、从业务模型到概念模型
UML通过称之为概念化的过程(Conceptual)来建立适合计算器理解和实现的模型,这个模型成为分析模型(Analysis Mode)。
原模型包含:边界类、实体类、控制类。
边界类类似于系统中的界面,决定操作能不能做,代表了事;
实体类由领域模型转化而来,重新表达了业务实体,代表了物;
控制类表达了需求中的动态信息,体现了规则。
七、从概念模型到设计模型
实现类可以简单地从分析类映射而来:
边界类可以被转化为操作界面或者系统接口;控制类可以被转化为计算程序或者控制程序,例如工作流、算法题等。
实体类可以转化为数据库表、XML文档等。
UML的三个模型的建立过程解决了面向对象的三个困难。
以上是关于《大象 Thinking in UML》学习笔记——为什么需要UML?的主要内容,如果未能解决你的问题,请参考以下文章