本章介绍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. Oracle GoldenGate to Confluent with Kafka Connect

    Confluent is a company founded by the team that built Apache Kafka. It builds a platform around Kafk ...

  2. python 封装底层实现原理

    事实上,python封装特性的实现纯属"投机取巧",之所以类对象无法直接调用私有方法和属性,是因为底层实现时,python偷偷改变了它们的名称. python在底层实现时,将它们的 ...

  3. [bzoj4011] [洛谷P3244] [HNOI2015] 落忆枫音

    Description 「恒逸,你相信灵魂的存在吗?」 郭恒逸和姚枫茜漫步在枫音乡的街道上.望着漫天飞舞的红枫,枫茜突然问出 这样一个问题. 「相信吧.不然我们是什么,一团肉吗?要不是有灵魂--我们也 ...

  4. C语言实现按位拷贝

    在程序开发过程中,我们经常会用到按位拷贝一串二进制数,在此提供一个按位拷贝的函数给大家参考,函数源码如下: #define char_t char #define uint8_t unsigned c ...

  5. 指定表单使用的路由 Specifying the Route Used by a Form

  6. 龙芯 fedora28 安装指南

    版权声明:原创文章,未经博主允许不得转载 关于硬件 龙芯3号的板子安装系统都差不多,我分别在 Lemote A1310 和 Lemote A1901 上都尝试过. 本文主要依据 Lemote A190 ...

  7. Git详解之服务部署

    前言 到目前为止,你应该已经学会了使用 Git 来完成日常工作.然而,如果想与他人合作,还需要一个远程的 Git 仓库.尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心 ...

  8. 数百个 HT 工业互联网 2D 3D 可视化应用案例分享 - 2019 篇

    继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...

  9. ELK同步kafka带有key的Message

    需求 kafka中的message带有key,带有相同key值的message后入kafka的意味着更新message,message值为null则意味着删除message. 用logstash来同步 ...

  10. Python 代码风格规范(Google)

    Python风格规范 分号 tip 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 tip 每行不超过80个字符 例外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Py ...