《大象 Thinking in UML》学习笔记(一)——为什么需要UML?

转自:https://blog.csdn.net/bit_kaki/article/details/78324529

一、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的三个模型的建立过程解决了面向对象的三个困难。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值