UML讲解

很多产品小白刚开始工作都是从写产品需求文档(PRD)开始的,那么想写好一篇高质量的需求文档,有一项技能是必不可少的——画UML“图纸”。那什么是UML呢,下面我们就来聊聊需求中UML的那些事~~

可能一些了解过UML的人会知道,它有很多复杂和容易混淆的语法,让人云里雾里摸不着头绪。但是不要急,当UML应用于软件需求分析时,其学习门槛将会大大降低,语法复杂度也会降低。而且你基本不需要掌握软件开发的知识。只要你对软件需求分析感兴趣,认真学习和应用UML,就很有机会成为软件需求分析高手:)。以下是我学习UML的一些总结,和大家一起分享。

UML全称Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言。

可这明明是一种图形,为什么说是语言呢?其实有很多内容用文字是无法表达清楚的,就像在建筑界的设计图纸一样,有一套标准来描述建筑物的设计,同样,在软件界,我们也需要一套标准来帮助我们做好软件开发的工作。UML就是这样一种标准,但它不是唯一标准,只是UML是大家比较推崇的一种标准而已。

在软件设计和开发过程中会有不同的人参与其中,比如投资人、老板、客户、需求人员、开发人员等等,每个人都各有所长,涉及的工作内容也不尽相同,这就增加了不同人之间的沟通成本,有可能客户需要A,产品人员理解成了B,在传达给开发人员后开发出了C。。。为了尽量避免这样的事情发生,显然UML这张“图纸”还是很有必要存在的。

那么作为一个产品小白又要掌握哪些UML知识呢,那么多图我们都要掌握吗,答案当然是否定的,请看下图↓

1

何为静态、动态呢?静态视图所描述的结构,某段时间内应该是稳定的,静态的;而动态视图描述的是某种行为,是动态的。

如图中红字标出的图是作为一名产品人员所必须掌握的,那么在工作中如何应用呢?下面我们就一起来学(gao)习(ding)这五个图吧。

举个栗子:小明由于最近加班比较累,想请假休息几天,那么他需要在请假系统上提交请假申请并说明原因,等待领导审批,如果领导同意,那就快乐的休假啦,如果领导拒绝,小明就要考虑是修改下继续申请,还是就这样默默地继续工作。

那么通过UML图是如何表达这样一个场景呢?我们来一个一个说。

一、类图:

1、在学习类图之前,我们来说下什么是类

类是一类或一组具有类似属性和共同行为的事务。说白了就是将周围的事物分下类,比如手机、电脑、电视机。。。这都是一类事物的总称,比如苹果手机、三星手机、小米手机等都归属于手机这个类。

那么上边请假这个场景中都哪些可以归为类呢?首先小明身边还有很多像小明这样的人,他们都是一个公司工作的同事,那么他们就可以归为员工类;请假申请呢?今天小明提一个,明天小红提一个,那就是好多请假的总称,它们就可以称为请假条类;同理还有个领导类。好了,类分好了,如何用类图表示呢?

2、如何表示?

首先看下类图的表示规则:

类1

请假场景中的类图表示如下图,其中类与类之间的直线表示两个类之间存在某种关系,这种关系将两个类关联到了一起。

类2

员工和领导通过请假条有了联系(当然员工和领导还可以通过很多事情联系到一起,我们就撇开其他事情,单看这个请假场景中这两个类的关系),就这样把分好的类列出来,再找到它们之间可能存在的关系,duang就画好了,简单吧。

在上图中已经理清了请假场景中到底有哪些类,他们之间存在什么样的关系,好,那接下来看看这些类都能干什么。

二、用例图:

1、什么是用例?

用例(use case):从用户的观点对系统行为的描述。也就是站在用户的角度来描述这个系统到底能干嘛,而不用考虑实现细节。

2、如何表示?

请假场景用用例图的表示:

用例

图中表示了在请假系统中,员工可以请假,领导可以审核。看,每个用户可以做什么是不是一目了然。用例图就是先画个小人,再看他们都要在系统中做哪些事,然后画个圈把能事情装进去,再画个箭头把小人和圈圈联系起来就完成啦!

知道了哪些类可以干什么,我们再来说说他们都是怎么做的。接下来要介绍的三个图从不同的角度对怎么做进行描述。可以根据需要自行选择用哪个,原则就是把想表达的事情表达清楚就行。

三、状态图:

1、什么是状态图?

介绍状态图前,我们先说下什么是对象,还记得类的定义吗?类就是一类事物的总称,那对象呢?对象就是这类事物中的个体,比如手机类,苹果手机就是手机类的一个对象。

那回到请假这个场景中,显然一个请假条就是请假条类中的一个对象。而一个请假条对象在不同时间所处的状态是不相同的,比如是批准还是拒绝。那么不同的状态如何表示呢,状态图就是用来描述一个对象的可能状态以及各个状态之间的转换关系的一种图。

2、如何表示?

我们来看下一个请假条对象的状态变化,和表示方法:

状态

先解释下图中标注:

  • 开始符号和结束符号就不必多说啦,就是表示开始和结束。
  • 动作:触发状态改变的动作。就是是什么事情让状态改变的。
  • 状态:对象当前所处的状态。

我们用文字来描述一下这个状态图要表达的事情:

  1. 刚提出请假申请时是提出状态。
  2. 领导同意则改为批准状态。
  3. 领导不同意则改为拒绝状态。
  4. 拒绝后可以重新申请或直接撤回。

有没有感觉用画图的形式比文字表述更清晰明呢,也许在这里感受并不明显,但当状态复杂时就很难用文字描述清楚了。学会它会在必要时帮你梳理复杂的逻辑关系。

四、顺序图:

1、什么是顺序图?

刚刚说的状态图是对单个对象的描述,而顺序图是对一个对象如何与其他对象进行交互的描述。也就是说你说这两个对象有关系,那到底有什么关系,怎么联系到一起的。顺序图就是用来描述这种关系的,但要注意顺序图的关键词是顺序时间

  • 顺序:对象间的交互按照特定的顺序发生的。
  • 时间:交互从开始到结束需要一定的时间。

2、如何表示?

看图:

顺序

沿着生命线从上到下就是对象间交互发生的顺序,生命线上的长条方框就表示交互的时间,这个时间只是估计的时间,不需要过分纠结长短。

从图中可以看出请假所需的步骤:

  1. 员工提交请假申请。
  2. 保存请假申请。
  3. 提醒领导审批。
  4. 领导审批批准/拒绝。
  5. 修改请假状态。
  6. 提醒员工审批完成。

相比上边这段文字,是不是觉得顺序图的表达更直接呢?

五、活动图:

1、什么是活动图?

活动图向我们展示了一个操作或过程的步骤。也就是说做一件事情总共分几步,先干嘛,后干嘛。如果用过流程图的人会发现活动图和流程图很相似,他们要表达的事情是一样的,只是表示形式不同而已。甚至可以直接理解为活动图就是一种流程图。

2、如何表示?

下面就来看下用活动图如何表达请假这个场景:

活动

解释下图中标注:

  • 泳道:为什么起这个名字呢,就是长得很像游泳池的泳道啦,泳道的名字以通常以角色名字命名,请假场景中有两个角色,员工和领导。
  • 活动:主要由“动宾”结构的词构成,描述当前进行的活动。

也许有人问,这不是状态图吗?的确,活动图不仔细看确实和状态图很相似,但它们表达的内容是完全不同的,状态图是表示单个对象的状态变化,而活动图是表述操作步骤。仔细看两个图是不难区分的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: UML精萃潘加宇PDF是一本基于UML图表的经典书籍。本书是作者多年实践应用UML图表的经验总结,重点讲解UML图表的核心概念和实现方法。书介绍了UML的基本图表,包括用例图、类图、对象图、序列图、协作图、状态图、活动图、组件图和部署图。 该书的语言简洁明了,结合实际场景讲解,可操作性强,有助于开发人员深入了解UML图表的使用方法。不仅如此,本书还详细讲解UML建模的精髓和实际应用,包括UML的组件化体系结构、模拟场景、代码自动生成、测试等细节方面的实现方法。在软件设计UML尤为重要,使用UML可使软件设计人员更好地进行项目规划、场景模拟、代码生成和测试,提高软件开发质量和效率。 总之,UML精萃潘加宇PDF是一本理论和实践并重的优秀书籍,其详尽的解读和具体实现案例对于UML的学习和应用有很大的价值。因此,我们认为这本书对于IT从业人员和软件工程师来说,是一本必备的参考书籍。 ### 回答2: 《UML精萃》是由潘加宇所撰写的UML建模领域的经典著作。本书是面向软件开发者的一本UML建模实战指南,详细讲解了常用UML建模语言、建模方法及实践技巧,内容涵盖了UML 1.x至UML 2.5的所有核心概念和技术。 作者潘加宇是UML知名专家和国际公认的UML建模权威,他在本书把自身多年的UML建模实践经验和理论知识进行了深入的融合和总结,尽可能地简洁、清晰地呈现给读者。这种风格之所以令人信服,是因为它表现出了计算机科学领域所必须的准确性、深度和强大的逻辑思考能力。 值得一提的是,本书不仅是一本UML建模入门级书籍,更是高级读者深入学习UML建模的必备之选。它涵盖了各种建模类型和元素,包括用例图、类图、序列图、状态机图、活动图等等。此外,本书还介绍了UML建模工具的使用,帮助读者更好地应用UML建模技术实际开发项目。 总之,《UML精萃》是学习UML建模必不可少的参考书。它既提供了UML建模的理论基础,也给出了大量的实践案例,帮助读者更好地理解和应用UML建模技术。 ### 回答3: UML(统一建模语言)是当今广泛运用于软件开发领域的一种建模语言。《UML精萃》是潘加宇编写的一本介绍UML建模语言的书籍,内容涵盖了UML的语法、设计原则、应用场景以及开发实践等方面。 该书以通俗易懂的方式来介绍UML的基本原理和模型应用,向读者展示了如何使用UML来实现复杂系统的分析、设计和开发。不同于其他UML教材的是,该书将UML与实际开发场景紧密结合,并针对常见问题给出实用性解决方案,使读者能够更加深入地了解UML的作用和意义。 此外,该书还介绍了UML的各种图形符号和概念,如用例图、时序图、活动图、类图等等,这些都是软件开发过程不可或缺的工具。读者通过学习这些内容,可以掌握如何使用UML来设计和构建自己的软件系统。 总之,《UML精萃》是一本系统全面的UML入门指南,既适合初学者快速掌握UML语法和基础知识,也适合有一定经验的软件开发工程师巩固和提高自己的技能水平。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值