UML之二、建模元素(1)
本章介绍UML建模元素
1:Stereotype-也被称为类型、构造型
UML里的元素扩展,简单来说其功能就是在已有的类型上添加一些标记,类似于打个戳,从而生成新的东西。
简单的说加一句话来更加清楚准确描述这个类。
2:Actor(主角、参与者)-是在系统之外与系统交互的某人或某事物,在建模过程中处于核心地位。
参与者和系统之间有一个明确的边界,参与者只能存在于边界之外,边界之内的所有人和事物都不是参与者。
人或物都可以时参与者;
3:如何确定参与者-一定是启动业务的主角
4:业务主角和业务工人
业务主角(business actor)是参与者的一个版型,用于定义业务的主角,不依赖计算机系统。业务主角是与业务系统有着交互的人和事物,用来确定业务范围。
业务范围:项目所涉及的所有客户业务的客观存在;系统范围:软件将要实现对应业务的系统功能。
业务工人被动参与业务
5:参与者和干系人
干系人-是与要建设的这个系统有利益相关的一切人和事
参与者就是干系人代表,对系统提出要求来获得他所代表的涉众的利益。
用户(user),指的是系统的使用者,是参与者的代表,一个用户可以代理多个参与者。

6:用例:一种把现实世界的需求捕获下来的方法。用例定义了一组用例实例,其中每个实例都是系统所执行的一系列操作,这些操作生成特定主角可以观测的值。
一个用例就是与参与者互动,并且给参与者提供可观测的有意义结果的一系列活动的集合。
一个场景就是一个用例的实例。捕获功能性需求就是用例的作用
一个完整的用例定义由参与者、前置条件、场景、后置条件构成。如下图所示
用例的特征:相对独立的、结果可观测和有意义。
这件事必须由一个参与者发起。不存在没有参与者的用例,用例不应该自动启动,也不应该主动启动另一个用例。
用例必然是以动宾短语形式出现的
一个用例就是一个需求单元、分析单元、设计单元、开发单元、测试单元,甚至部署单元。
7:用例的粒度-是指的一个用例所描述事件的大小
在业务建模阶段,用例的粒度以每个用例能够说明一件完整的事情为宜,即一个用例可以描述一项完整的业务流程。
在概念建模阶段,以每个用例能完整描述事件流为宜;
在系统建模阶段,用例视角是针对计算机的,因此用例的粒度以一个用例能够描述操作者与计算机的一次完整交互为宜。
现实情况中,根据系统的大小选择不同用例粒度,可以更好适应其需求范围。
不论粒度如何选择,必须把握的原则是在同一个需求阶段,所有用例的粒度应该是同一个量级的。
8:用例的获得
9:用例和功能的误区
用例需要从使用者的观点出发来描述软件;功能是脱离使用者的愿望而客观存在的。
用例是系统性的,以开灯为例,需要描述谁在什么情况下通过什么方式开灯结果是什么;
功能是孤立的,只要按下开关灯就亮;
描述一个事物可以从三个方面:
- 这个事物是什么--强调结构组成,比如车由发动机、刹车系统……组成
- 这个事物能做什么--强调功能,可以带人、载物、空调……
- 人们能够用这个事物做什么--可以踩油门提高车速,踩刹车减速…
用例可以解释为一系列完成一个特定目标的功能的组合,针对不同的应用场景,这些功能体现不同的组合方式。
10、目标和步骤的误区
步骤不能完整反映参与者的目标,不能作为用例;
用例体现的完整的目标,达成目标需要几个步骤;
当边界发生变化,步骤也可以变为用例,
11、用例颗粒--在同一需求阶段的用例颗粒应该保持在同一量级
UML之二、建模元素(1)的更多相关文章
- UML之三、建模元素(2)
本章继续介绍建模元素 https://blog.csdn.net/bit_kaki/article/details/78471760 1:边界 任何一个对象都有一个边界,外界只能通过这个边界来认识对象 ...
- think in UML(二)
基础篇——在学习中思考! 在大概了解了UML之后就该系统的学习UML的主要建模元素了,一个个实例帮助我们更好的理解这些元素的重要性并运用相关知识解决实际问题. 在UML里有一个概念叫版型,有些书里也称 ...
- 基于UML的时空建模
一.基本信息 标题:基于UML的时空建模 时间:2018 出版源:东北大学学报(自然科学版) 领域分类:UML模型:RCC-8空间拓扑:Allen-13时态拓扑:时空数据:建模 二.研究背景 问题定义 ...
- 基于 UML 的业务建模举例
简介: 对于管理流程咨询项目.大型信息化建设项目和套装管理软件实施项目,对业务环境的分析和理解对项目的成功至关重要.系统.全面理解 IT 系统所处的业务环境,可以帮助 IT 系统能提供正确系统功能,并 ...
- 【UML分析、建模与设计】我在工作时遇到UML
一.前言 UML分析.建模与设计 来自现实世界中的概念的抽象描述方法(摘取自<UML面向对象分析.建模与设计(第2版)>) 就我对UML分析与建模技术的认知,最早可追溯至2019年时的学习 ...
- 【UML】统一建模语言
如果是准备学习设计模式的同学,可以只了解类图相关的知识 而如果是在准备软件设计师考试的同学,或许会对你有点帮助 正在施工...... 参考博客:https://blog.csdn.net/unique ...
- 使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处
使用 UML 进行业务建模:理解业务用例与系统用例的相似和不同之处 作者:Arthur V. English 出处:IBM 本文内容包括: 背景 业务用例模型与系统用例模型有什么相似之处? 业 ...
- Selenium+Python系列(二) - 元素定位那些事
一.写在前面 今天一实习生小孩问我,说哥你自动化学了多久才会的,咋学的? 自学三个月吧,真的是硬磕呀,当时没人给讲! 其实,学什么都一样,真的就是你想改变的决心有多强罢了. 二.元素定位 这部分内容可 ...
- UML用例建模解析(二)---------用例执行者之间关系
(1) 关联关系 关联关系是指执行者与用例之间的关系,又称为通信关系,如果某个执行者可以对某个用例进行操作,它们之间就具有关联关系,如下图所示,“经理”有一个功能为“查看库存报表”,因此可以在执行者“ ...
随机推荐
- 「 从0到1学习微服务SpringCloud 」03 Eureka的自我保护机制
系列文章(更新ing): 「 从0到1学习微服务SpringCloud 」01 一起来学呀! 「 从0到1学习微服务SpringCloud 」02 Eureka服务注册与发现 Eureka的高可用需要 ...
- 【java面试】IO流
一.IO 1.IO概念 ·输入流:把能够读取一个字节序列的对象称为输入流(百度百科) ·输出流:把能够写一个字节序列的对象称为输出流(百度百科) 从定义上看可能会让你感到困惑,这里解释一下:]; ...
- python类型-集合
集合对象是一组无序排列的可哈希的值,集合成员可以做字典的键.集合有两种类型:可变集合,可以添加和删除元素,可变集合不是可哈希的,不能用作字典的键也不能作为其它集合中的元素:不可变集合相反,有哈希值,可 ...
- 数据结构——栈的应用 NOI2.2 括号匹配问题
栈是一种数据结构,相当于一个容器,将一个又一个变量从顶端压进去,需要使用时,又从顶端拿出来,其具体使用方法,下面是详细讲解: #include<stack>必须使用此头文件 stack&l ...
- 面试必备!Java核心技术100+面试题
一线互联网公司工作了几年,我作为求职者参加了不少面试,也作为面试官面试了很多同学,整理这份面试指南,一方面是帮助大家更好的准备面试,有的放矢,另一方面也是对自己知识框架做一个体系化的梳理. 这篇文章梳 ...
- 浅谈JS异步(asychrouous)
一.概念 (1)asychronous 异步 是JS这种单线程语言解决多任务的一种方法,将耗时的任务(io)设定为异步工作,先交给浏览器负责相关功能的线程来实现耗时的部分工作,按顺序放入任务队列中,等 ...
- python文件夹中文件读取踩坑
Q: 进行数据集图片预处理时,初始命名如下图(Fig1左),发现读取文件时,读取的结构并非如所设想的那样顺序读取 Fig 1 A: pyhton读取文件的时候,按照文件名的ascii码中的顺序进行逐位 ...
- python之路:day3
内容 变量的创建过程 身份运算和None 数据类型 一. 变量创建过程 首先,当我们定义了一个变量name = ‘oldboy’的时候,在内存中其实是做了这样一件事: 程序开辟了一块内存空间,将‘ol ...
- vue-cli3中引入图片的几种方式和注意事项
如果你是在数据中引入图片,他是从项目中引入的应该按第一种方式引入 如果不是在数据中引入图片,按第二种方式引入
- Java练习题1
题目1: 编程实现,现在有如下的一个数组: int oldArr[] = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}; 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的 ...