本章介绍UML建模元素

1:Stereotype-也被称为类型、构造型

UML里的元素扩展,简单来说其功能就是在已有的类型上添加一些标记,类似于打个戳,从而生成新的东西。

简单的说加一句话来更加清楚准确描述这个类。

2:Actor(主角、参与者)-是在系统之外与系统交互的某人或某事物,在建模过程中处于核心地位。

参与者和系统之间有一个明确的边界,参与者只能存在于边界之外,边界之内的所有人和事物都不是参与者。

人或物都可以时参与者;

3:如何确定参与者-一定是启动业务的主角

 4:业务主角和业务工人

业务主角(business actor)是参与者的一个版型,用于定义业务的主角,不依赖计算机系统。业务主角是与业务系统有着交互的人和事物,用来确定业务范围。

业务范围:项目所涉及的所有客户业务的客观存在;系统范围:软件将要实现对应业务的系统功能。

业务工人被动参与业务

 5:参与者和干系人

干系人-是与要建设的这个系统有利益相关的一切人和事

参与者就是干系人代表,对系统提出要求来获得他所代表的涉众的利益。

用户(user),指的是系统的使用者,是参与者的代表,一个用户可以代理多个参与者。

角色(role),指的是参与者的职责,一个角色代表了系统中的一类职责。

 6:用例:一种把现实世界的需求捕获下来的方法。用例定义了一组用例实例,其中每个实例都是系统所执行的一系列操作,这些操作生成特定主角可以观测的值。

一个用例就是与参与者互动,并且给参与者提供可观测的有意义结果的一系列活动的集合。

一个场景就是一个用例的实例。捕获功能性需求就是用例的作用

一个完整的用例定义由参与者、前置条件、场景、后置条件构成。如下图所示

用例的特征:相对独立的、结果可观测和有意义。

这件事必须由一个参与者发起。不存在没有参与者的用例,用例不应该自动启动,也不应该主动启动另一个用例。

用例必然是以动宾短语形式出现的

一个用例就是一个需求单元、分析单元、设计单元、开发单元、测试单元,甚至部署单元。

 7:用例的粒度-是指的一个用例所描述事件的大小

在业务建模阶段,用例的粒度以每个用例能够说明一件完整的事情为宜,即一个用例可以描述一项完整的业务流程。

在概念建模阶段,以每个用例能完整描述事件流为宜;

在系统建模阶段,用例视角是针对计算机的,因此用例的粒度以一个用例能够描述操作者与计算机的一次完整交互为宜。

现实情况中,根据系统的大小选择不同用例粒度,可以更好适应其需求范围。

不论粒度如何选择,必须把握的原则是在同一个需求阶段,所有用例的粒度应该是同一个量级的。

 8:用例的获得

用例的来源就是参与者对系统的期望。
 一个明确的有效的目标才是一个用力的来源。
 一个真实的目标应当完备地表达主角的期望。
 一个有效的目标应当在系统边界内,由主角发动,并具有明确的后果。

9:用例和功能的误区

用例需要从使用者的观点出发来描述软件;功能是脱离使用者的愿望而客观存在的。

用例是系统性的,以开灯为例,需要描述谁在什么情况下通过什么方式开灯结果是什么;

功能是孤立的,只要按下开关灯就亮;

描述一个事物可以从三个方面:

  • 这个事物是什么--强调结构组成,比如车由发动机、刹车系统……组成
  • 这个事物能做什么--强调功能,可以带人、载物、空调……
  • 人们能够用这个事物做什么--可以踩油门提高车速,踩刹车减速…

用例可以解释为一系列完成一个特定目标的功能的组合,针对不同的应用场景,这些功能体现不同的组合方式。

10、目标和步骤的误区

步骤不能完整反映参与者的目标,不能作为用例;

用例体现的完整的目标,达成目标需要几个步骤;

当边界发生变化,步骤也可以变为用例,

11、用例颗粒--在同一需求阶段的用例颗粒应该保持在同一量级

 

UML之二、建模元素(1)的更多相关文章

  1. UML之三、建模元素(2)

    本章继续介绍建模元素 https://blog.csdn.net/bit_kaki/article/details/78471760 1:边界 任何一个对象都有一个边界,外界只能通过这个边界来认识对象 ...

  2. think in UML(二)

    基础篇——在学习中思考! 在大概了解了UML之后就该系统的学习UML的主要建模元素了,一个个实例帮助我们更好的理解这些元素的重要性并运用相关知识解决实际问题. 在UML里有一个概念叫版型,有些书里也称 ...

  3. 基于UML的时空建模

    一.基本信息 标题:基于UML的时空建模 时间:2018 出版源:东北大学学报(自然科学版) 领域分类:UML模型:RCC-8空间拓扑:Allen-13时态拓扑:时空数据:建模 二.研究背景 问题定义 ...

  4. 基于 UML 的业务建模举例

    简介: 对于管理流程咨询项目.大型信息化建设项目和套装管理软件实施项目,对业务环境的分析和理解对项目的成功至关重要.系统.全面理解 IT 系统所处的业务环境,可以帮助 IT 系统能提供正确系统功能,并 ...

  5. 【UML分析、建模与设计】我在工作时遇到UML

    一.前言 UML分析.建模与设计 来自现实世界中的概念的抽象描述方法(摘取自<UML面向对象分析.建模与设计(第2版)>) 就我对UML分析与建模技术的认知,最早可追溯至2019年时的学习 ...

  6. 【UML】统一建模语言

    如果是准备学习设计模式的同学,可以只了解类图相关的知识 而如果是在准备软件设计师考试的同学,或许会对你有点帮助 正在施工...... 参考博客:https://blog.csdn.net/unique ...

  7. 使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处

    使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处   作者:Arthur V. English 出处:IBM   本文内容包括: 背景 业务用例模型与系统用例模型有什么相似之处? 业 ...

  8. Selenium+Python系列(二) - 元素定位那些事

    一.写在前面 今天一实习生小孩问我,说哥你自动化学了多久才会的,咋学的? 自学三个月吧,真的是硬磕呀,当时没人给讲! 其实,学什么都一样,真的就是你想改变的决心有多强罢了. 二.元素定位 这部分内容可 ...

  9. UML用例建模解析(二)---------用例执行者之间关系

    (1) 关联关系 关联关系是指执行者与用例之间的关系,又称为通信关系,如果某个执行者可以对某个用例进行操作,它们之间就具有关联关系,如下图所示,“经理”有一个功能为“查看库存报表”,因此可以在执行者“ ...

随机推荐

  1. OGG bi-directional replication for Oracle DB

    Overview of an Active-Active Configuration Oracle GoldenGate supports an active-active bi-directiona ...

  2. python模拟鼠标拖动操作的方法

    本文实例讲述了python模拟鼠标拖动操作的方法.分享给大家供大家参考.具体如下: pdf中的书签只有页码,准备把现有书签拖到一个目录中,然后添加自己页签.重复的拖动工作实在无趣,还是让程序帮我实现吧 ...

  3. VScode前端插件推荐

    工欲善其事,必先利其器,安利一波前端插件. Chinese (Simplified) Language Pack for Visual Studio CodeVScode汉化插件 Beautify代码 ...

  4. flask使用blinker信号机制解耦业务代码解决ImportError: cannot import name 'app',以异步发送邮件为例

    百度了大半天,不知道怎么搞,直到学习了blinker才想到解决办法,因为之前写java都是文件分开的, 所以发送邮件业务代码也放到view里面,但是异步线程需要使用app,蛋疼的是其他模块不能从app ...

  5. ubuntu19配置静态IP并开启SSH远程登陆

    前言  从ubuntu从17.10开始,已经不再在/etc/network/interfaces里配置IP,即使配置了也不会生效,而是改成netplan方式 ,配置写在/etc/netplan/文件夹 ...

  6. Perl Tk在IC设计中的应用、Windows、Linux平台下的安装-各种错误的摸索解决

    本文转自:自己的微信公众号<集成电路设计及EDA教程> <Perl Tk在IC设计中的应用.Windows.Linux平台下的安装-各种错误的摸索解决> Perl在IC设计中有 ...

  7. 今天更新IDEA后,我依旧要永久激活(支持2019.3.3版本)

    起因 今天一早用IDEA写代码,看到有下角有提示更新,有点强迫症的我,就手欠的又点了下更新,结果尼玛悲剧了,居然许可证过期,IDEA过期了,如下图所示: 就想用下新功能,就这样对我,就给两天的使用时间 ...

  8. 自己动手写个异步IO函数 --(基于 c# Task)

    前言    对于服务端,达到高性能.高扩展离不开异步.对于客户端,函数执行时间是1毫秒还是100毫秒差别不大,没必要为这一点点时间煞费苦心.对于异步,好多人还有误解,如: 异步就是多线程:异步就是如何 ...

  9. 【5min+】 这些C#的运算符您都认识吗?

    系列介绍 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net ...

  10. 洛谷P1649 【[USACO07OCT]障碍路线Obstacle Course】

    题目描述 Consider an N x N (1 <= N <= 100) square field composed of 1 by 1 tiles. Some of these ti ...