UML从需求到实现----用例
关于用例图的概念相信不用我去说了 .能看到这篇文章的都是知道用例图概念的人.
UML 中最重要的是什么图呢 ?毫无疑问应该是用例图 ,用例是后期时序图 和实际开发的重要依据.
说明一下用例图是怎么产生的.了解他的产生对我们了解它本身有很大帮助,
首先用例产生在需求分析阶段 ,这这个阶段系统分析人员对用户对系统要求的理解 .也就是用户的愿望的描述.有时候我们习惯把用例说成系统的功能.
但是.用例一定是系统的功能.但是功能不一定是系统的用例比如系统要求我在断电的时候要把数据保存起来.但是这个能写在用例里面吗?当然不能
这只不过是系统的一个限制.不能算是一个完整的愿望.
接着说明一下用例的特点.然后根据特点来说明用例的建立过程
用例特点:
一:用例是相对独立完整的.一个用例不需要其他用例来完成和它进行交互.也就是说.我在实现这个用例的过程中.不能出现做完用例1,然后才能做用例2.
比如
我们去买菜
显然第一个不是一个用例.给钱只是买菜的一部分.不能单独成为一个用例
二:用例的执行结果对于参与者来说是可见的.有意义的.
这句话的意思就是说.一个用例必须有一个确定的结果.这个结果是有意思的.比如到银行取钱.
显然第一个不是一个用例.因为输入密码以后到底是什么结果.密码正确?还是错误.这些结果都是未知的.一个结果未知的过程.不能算做一个用例.
三:一个用例必须是由一个参与者发起.不存在没有角色的用例.用例也不该自动启动.
这个也是我们经常遇到的一个问题.
解决这个问题的时候.我们要首先确定用例边界.我们在那个范围之外去寻找用例.不同的范围会产生不同的用例.
比如我们要以系统为边界去确定用例.那么角色就应该是系统之外的东西.不应该是系统.
比如:
显然ATM不是一个角色,我们设计的用例也不应该包括ATM出钱这个用例.ATM是我们系统的一个部分.他最终出现在部署图上.就像是我们的一台PC 一样.不在边界之外.
四:用例一定是动宾短语
比如:喝水 取钱 买菜 做饭等
因为这样才能构成一个完整的事件.角色是主语.动宾短语是动作和动作的受体.这样主,谓,宾都有了,才是一个完整的事件.
五:一个用例是一个需求单元,分析单元,设计单元,开发单元,测试单元.
设计完一个用例.我们接下来的工作都要以单个用例为主线去开发.测试.这样就印证了开篇的那句话.用例对于开发来说是相当重要的.
那么用例是如何确定的呢?
一:确定系统的边界
二:确定业务主角.这个是最重要的,也是常常困扰我们的地方.业务主角是与系统交互的人和事物.
让我们常常困惑的是.有些业务人员.他明明参加了业务.但是他却是被动参加的.不好说明他有什么目的.但是又确实是在系统中做了事情.
这样的业务人员.我们把它叫做业务工人 .不是业务主角.
区别他的办法就是回答下面三个问题.
1:他是主动向系统发出请求的吗?
2:他是完整的业务目标吗?
3:系统为他服务吗?
三:参与者到角色的过度.
参与者是一个具体的概念.角色是一个抽象的概念.从众多的参与者当中,抽象出相同的一部分.就形成一个角色.
比如:教授,副教授都可以讲课 ,把它们抽象出来.做出老师讲课.
最后.检查是否找到了所有的参与者.
通过下面这些问题来做出测试:
1:是否对系统中的所有角色都进行了建模和说明
2:每个参与者是否至少涉及到一个用例
3:你是否列出至少两名可以作为特定参与者的人员
4:是否有两个参与者担任与用力相关的角色
5:参与者是否有直观的描述性名称
最后将参与者和他们的愿望结合起来.就形成了用例图.记得最后形成的一定是一个完整的事情.由参与者做主语.用例做谓语和宾语.
PS:
用例图只是一些符号.抽象程度较高.一百个人看了也不一定结果相同.所以用例要附加相关的用例文档加以说明.
用例形成映射基本就是用户界面(UI).这一点大家要清楚.不要做了用例.再回头从新找界面.
下一篇:UML图的出现顺序
转载于:https://www.cnblogs.com/gwysydw/archive/2011/03/10/2154837.html
UML从需求到实现----用例相关推荐
- UML建模(六)需求之系统用例规约
image.png 1.用例规约的内容 用例规约就是以用例为核心来组织需求内容的需求规约 用例通过前置条件(precondition).后置条件(postcondition)以契约的形式表达需求 前置 ...
- 《大象:thinking in uml 》(第二版) 3章 UML核心元素 3节 用例
只供参考,喜欢请支持正版图书 3.3 用例 用例在UML建模中是最最重要的一个元素.之所以说它重要,是因为UML是面向对象的,除用例之外,所有其他元素都是"封装"的."独 ...
- UML从需求到实现---类图(2)
上节写到了UML中的类图:UML从需求到实现---类图(1) 写完以后总觉得写的不够详细.里面很多细节没有说到.一篇文章就把强大的面向对象的类说完.当然是不可能的.这次我再补充一些关于UML中类图和类 ...
- 思特沃克(ThoughtWorks) 外企面试题 面试经验分析 面试题 软件测试工程师 测试面试题分享 测试需求理解和用例设计编写 SeleniumUI自动化测试 接口测试 性能测试 实战之战损版
文章目录 一.前言 二.面试问题 1.面试题问题汇总 展示 2.Automation Testing Homework V2.pdf 2.1 自动化家庭 作业 2.2 自动化家庭作业 Selenium ...
- UML建模-如何使用用例获取需求
简介: 开发都通常都使用典型场景(scenarios)来理解一个系统的需要是什么和系统是怎样工作的.不幸的是,尽管开发都已经这样做了,但它极少用有效的形式归档.用例(Use Cases)就是将这些场景 ...
- 《Thinking in UML》读书笔记 4 : 用例(Use Case)
用例是UML建模中最重要的一个元素,因为UML是面向对象的,除了用例以外,其他所有的元素都是"独立"的,"封装"的.在没有外力的驱动下,这些独立的元素就是孤独的 ...
- 使用UML描述需求都实现的过程
一.用例设计 1.要标明用例间的关系 2.用例表示要尽量细化(当然是和行为者相关这个级别) 3.行为中不一定非是触发者,也可以是被动触发者,如发信息 4.这一阶段是尽可能的列举概要用例.行为中及两 ...
- UML建模——以图书管理系统为例
一.用例图 用例图是指由参与者.用例以及它们之间的关系构成的用于描述系统功能的UML模型. - 参与者:系统用户(名词) - 用例:系统功能(动词) - 关联关系 :用户 ...
- UML活动图分析及用例生成实例
1 背景 UML活动图(Activity Diagram)用于描述系统.软件工作流程,能够表达并发.循环.分支等结构,是一种常见的设计输出. 相比基于自然语言的设计文档,活动图具有更好的结构化程度.这 ...
最新文章
- 密码学摘要算法之MD5
- GitLab 8.15中引入了自动部署和Web终端
- python 3.9特性,Python 3.9 正式版要来了,会有哪些新特性?
- 【大数据、数据挖掘、数据分析】用户画像是什么?如何制作用户画像?
- 学习总结:CSS(一)定义方式、选择器、选择器权重
- x264_sps_init
- django定时任务
- Mac 运行 psql postgres 报错
- chatbot2 RNN语言模型
- liunx 环境-配置docker阿里云镜像加速
- 断点下载 (记录上传、或下载的量
- bzoj 2151 种树 —— 思路+链表
- java导出建表语句_由 Java Entity 类自动生成 SQL建表语句
- unity图片导入尺寸改变了修改方法
- hive练习题(二)计算用户的复购率和回购率
- Ubuntu 18.04安装 Adob Flash player
- kubernetes HPA
- Ublox-F9P USB接口
- 【论文简述及翻译】FlowNet: Learning Optical Flow with Convolutional Networks(ICCV 2015)
- 小市值(股票)——Python量化
热门文章
- 用婴儿拍的视频训练自监督模型,学到了高级视觉表征
- 商汤使用AutoML设计Loss函数,全面超越人工设计
- 3DMAX安装包及近百GB素材资源,以及3D游戏建模教程
- MATLAB函数随笔之计算篇
- oracle数据库报错1033,Oracle联机日志出现错误ORA-16038 ORA-19809 ORA-00312 解决
- 弄潮儿数据_SINX 信息数据的“弄潮儿”
- 基因结构显示服务器,服务器固定结构 Server fixed structure
- 2020年计算机一级B押题,2021年全国计算机一级选择题真题押题.doc
- Linux下Elasticsearch-2.4.0的安装与简单配置(单节点)Head插件安装(已测试)
- C语言 int y=10 do,删除学生信息算法执行完case10输入y 之后do whil