UML学习笔记

这两天一直在学习UML,对UML有了一个新的认识。以前本科学软件工程的时候,其实也接触过UML,不过那时大多是为了应付考试,也没有走心去学,背了一大堆的概念,没有过实际的操作,考完试也就全给忘记了。这两天会去复习UML的知识也是由于最近想自己写一个APP,又感觉以前开发APP的方式不够规范,自己想到哪就写到哪,导致后来再回过头来看项目,都不忍心。想重构一下却又发现耦合性太强,无从下手,于是就狠下心来再学习学习软件工程相关的知识,这部分内容真的是很无聊,看了两天,看着看着总有睡着的冲动,而且还奇烦无比。好啦,废话不多说,来总结一下这两天学的内容。

首先来看什么是UML?UML全称为UnifiedModeling Language 统一建模语言,是一种对真实世界的物体进行建模的标准标记。UML分为很多种模型图,具体的我也不一一介绍,相关的知识大家可以直接百度,在这里我只总结一下最常用的三种图:1.用例图2.类图3.时序图

1.  用例图

什么是用例图?用例图使用在什么阶段?

用例图是由主角,用例以及它们之间的关系构成的图。用例图用来描述需求场景,在于用户交流过程中快速建立用户业务描述,并且跟用户确认。设计好的用例图用来检验程序实现情景。用例图一般用于需求分析阶段。

用例图包括如下元素:

1. 参与者(Actor)

  表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。


2. 用例(UseCase)

  用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示。


4. 关系

  用例图中涉及的关系有:关联、泛化、包含、扩展。

a. 关联(Association)

表示参与者与用例之间的通信,任何一方都可发送或接受消息。

【箭头指向】:指向消息接收方


b. 泛化(Inheritance)

  就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。

  【箭头指向】:指向父用例



c. 包含(Include)

  包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。

  【箭头指向】:指向分解出来的功能用例



d. 扩展(Extend)

  扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。

  【箭头指向】:指向基础用例


e. 依赖(Dependency)

  以上4种关系,是UML定义的标准关系。但VS2010的用例模型图中,添加了依赖关系,用带箭头的虚线表示,表示源用例依赖于目标用例。

  【箭头指向】:指向被依赖项


接下来就来描述一下网上订餐的场景:



2  类图

类图是我们经常在开发中用到并且非常重要的一个图。学好类图的关键时搞清楚它们之间的关系,介绍类图之间关系的文章网上有很多,我就不重复造轮子了,给出几个链接,有兴趣的可以看看

http://www.open-open.com/lib/view/open1328059700311.html

3.  时序图

时序图顾名思义就是表示行为时间顺序的图。时序图包括以下元素:

a.角色(Actor)

系统角色,可以是人或者其他系统,子系统。

b.对象(Object)

  对象包括三种命名方式:

  第一种方式包括对象名和类名;

  第二中方式只显示类名不显示对象名,即表示他是一个匿名对象;

  第三种方式只显示对象名不显示类明。


c.消息(Message)

消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。消息分为:普通消息和自关联消息。


  以上就是这几天学习的UML知识的简化,省略了很多东西,也忽略了很多东西,只有以后用到了再不断的补充吧。




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值