UML 用例图

   

用例模型

用例模型用来记录系统的需求,它提供系统与用户及其他参与者的一种通信手段。

执行者

用例图显示了系统和系统外实体之间的交互。这些实体被引用为执行者。执行者代表角色,可以包括:用户,外部硬件和其他系统。执行者往往被画成简笔画小人。也可以用带«actor»关键字的类矩形表示。

在下图中,执行者可以详细的泛化其他执行者:

用例

用例是有意义的单独工作单元。它向系统外部的人或事提供一个易于观察的高层次行为视图。 用例的标注符号是一个椭圆。

   

使用用例的符号是带可选择箭头的连接线,箭头显示控制的方向。下图说明执行者 "Customer"使用 "Withdraw"用例。

用途连接器(uses connector)可以有选择性的在每一个端点有多重性值,如下图,显示客户一次可能只执行一次取款交易。但是银行可以同时执行许多取款交易。

用例定义

一个典型的用例包括:

  • 名称和描述
  • 需求
  • 约束
  • 情形
  • 情形图
  • 附加信息。

    名称和描述

    用例通常用一个动词词组定义,而且有一个简短的文字说明。

    需求

    需求定义了一个用例必须提供给终端用户的正式功能性需求。它们符合构造方法建立的功能性规范。一个需求是用例将执行一个动作或提供多个值给系统的约定或承诺。

    约束

    一个约束是一个用例运行的条件或限制。它包括:前置条件,后置条件和不变化条件 。前置条件指明了用例在发生之前需要符合的条件。后置条件用来说明在用例执行之后一些条件必须为"真"。不变化条件说明用例整个执行过程中该条件始终为"真"

    情形

    情形是用例的实例在执行过程中,事件发生流程的形式描述。它定义了系统和外部执行者之间的事件指定顺序。 通常用文本方式来表示,并对应顺序图中的文字描述。

    包含用例

    用例可能包含其他用例的功能来作为它正常处理的一部分。通常它假设,任何被包含的用例在基本程序运行时每一次都会被调用。下面例子:用例"卡的确认"<Card Identification> 在运行时,被用例"取钱"<Withdraw>当作一个子部分。

    用例可以被一个或多个用例包含。通过提炼通用的行为,将它变成可以多次重复使用的用例。有助于降低功能重复级别。

    扩展用例

    一个用例可以被用来扩展另一个用例的行为,通常使用在特别情况下。例如:假设在修改一个特别类型的客户订单之前,用户必须得到某种更高级别的许可,然后"获得许可"<Get Approval>用例将有选择的扩展常规的"修改订单"<Modify Order>用例。

    扩展点

    扩展用例的加入点被定义为扩展点。

    系统边界

    它用来显示用例在系统内部,执行者在系统的外部。

       

转载于:https://www.cnblogs.com/yxx123/p/5227259.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MAUI初体验:爽

只是记录&#xff0c;只是Hello World体验&#xff0c;别期望太高。1. 前言经过几个小时折腾&#xff0c;Maui环境终于安装好了&#xff0c;先上Hello World截图&#xff1a;1.1 MAUI Windows上MAUI Windows1.2 MAUI Android上MAUI Android2. 今早看到一个群聊推送点击链接可以…

无法识别的属性“targetFramework”。请注意属性名称区分大写和小写。错误解决的方法...

“/CRM”应用程序中的server错误。 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查以下的特定错误具体信息并适当地改动配置文件。 分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大写和小写。源错误: 行 24: 设…

windows之nslookup命令

1 问题 今天是特别傻逼,既然问了一个很愚蠢的问题,登录后台需要相关的ip,但是我只有域名,这么太突然来,我既然不知道用nslookup命令,好吧,先记录起来,希望下次不要犯这样的傻逼错误 2 查看电脑的所有配置 在windowd 终端输入如下命令 ifconfig/all 3 nslookup正…

动态轮播图

1 /// <reference path"jquery-1.10.2.min.js" />2 var i 0;3 var timer; //设置定时器4 $(function () {5 $("#dlunbo").hover(function () {6 $(".btn").show();7 }, function () {8 $(".btn").hide…

eos操作系统_EOS相机统一的用户界面

自EOS相机诞生起就未改变的基本布局精心设计的操作系统EOS数码单反相机从普及机型到高端机型的按钮布局都是共通的。快门按钮的位置自不必说&#xff0c;主拨盘位置和背面按钮的配置也基本相同。特点是在手柄一侧集中配置用于进行主要操作的按钮。实现了只用右手就能完成拍摄相…

【C语言简单说】三:变量总结ASCII码扩展(5)

前面几个小节都在说变量&#xff0c;那么这一节我们就来总结一下 int表示整数&#xff0c;float表示小数&#xff0c;char表示字符。他们所匹配的&#xff0c;整数&#xff1a;%d&#xff1b;浮点数&#xff1a;%f&#xff1b;字符&#xff1a;%c。 我们来看一个程序&#xf…

Windows之Fiddler抓HTTP和HTTPS请求

1 Fiddler 1) 介绍:Fiddler是抓包工具,原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改 2)下载地址:到Fiddler官网下载,直接百度 Fiddler官网 2 Fiddler抓HTTP的包 比如我们需要抓谷歌浏览器的http请…

java继承与覆盖_简单的继承,方法重载与方法覆盖

[java]代码库package com.jiarui;public class Demo1 {public static void main(String[] args) {Dog dog1 new Dog(2,"大黄");System.out.println(dog1.name"的年龄为&#xff1a;"dog1.getAge());dog1.Cry();Cat cat1new Cat(3,"小花");cat1.C…

【C语言简单说】四:常量

常量和变量是一种相对的概念&#xff0c;在这里我开始跟大家说说常量和变量的区别。可能前几节的小伙伴们并没有能感受出来&#xff0c;不过有了常量的对比那么将会有很好的理解。 .._|||||.. 头昏眼花 常量&#xff0c;就是一些固定的数据&#xff0c;也就是说你把数据装到…

虚幻4 碰撞过滤

原创翻译&#xff0c;转载请注明出处。&#xff08;http://blog.csdn.net/sinat_24229853/article/details/51090259&#xff09; 英文原文&#xff1a;https://www.unrealengine.com/blog/collision-filtering?langzh-CN 选择什么样的碰撞显然是很重要的。但它可能会很棘手&…

基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客?

前言OK&#xff0c;我也来造轮子了博客系统从一开始用WordPress&#xff0c;再到后来用hexo、hugo之类的静态博客生成放github托管&#xff0c;一直在折腾折腾是为了更好解决问题&#xff0c;最终还是打算自己花时间搞一个好了本系列文章将记录博客的开发过程~ 将会持续更新&am…

Diocp截图

跑了个数据库的查询和插入&#xff0c;删除。 Http SVR DEMO http://123.232.98.202:8081/

【C语言简单说】五:常用运算符

其实。。。这一节我我猜大家几分钟就会了&#xff08;&#xff09;…(⊙_⊙;)… ○圭~○列~~怎麼酱&#xff1f; 因为我相信大家的智商&#xff0c;我就随便给大家提一下就好了。我们看以下的代码&#xff1a; #include<stdio.h> #include<stdlib.h> int main(){…

sql 注入神器sqlmap 源码分析之调试sqlmap

为什么80%的码农都做不了架构师&#xff1f;>>> 相信大家平时 用sqlmap 命令&#xff0c;比如 python sqlmap.py -u"https://team.oschina.net/action/team/create" --data"nameonlyGuest&identonlyGuest&sidentonlyGuest&temp1431349…

【C语言简单说】六:取模运算符以及变量的扩展

┴┴ &#xff08;╰(&#xff40;□′)╯&#xff08; ┴┴ … 这一节我们就来说另外的运算符——取模运算符&#xff08;说白了跟取余数差不多…&#xff1c;—_-)&#xff01;&#xff01;&#xff01;&#xff09; 先看看好难懂的定义&#xff1a;取模运算和取余运算两个…

ExtJs5.0在WebStorm上的使用之入门教程(一)编写第一个网页 HelloExt

首先&#xff0c;必须声明一下笔者使用的软件版本&#xff1a; 前端开发工具&#xff1a;WebStorm 11.0.3 辅助插件&#xff1a;ext-5.0.0-gpl 以上工具包括下面的代码我已经打包上传在此处了&#xff1a;点击打开链接 先上代码&#xff0c;再废话&#xff1a;<!DOCTYPE htm…

腾讯视频涨价:一年多赚74亿!关注我领取腾讯VIP会员,周卡低至7元

不久前&#xff0c;腾讯视频的用户又一次“喜迎会员价格上涨”&#xff0c;甚至让腾讯视频因此登上了微博热搜。但要知道的是&#xff0c;此前在去年4月的时候&#xff0c;腾讯视频就已经涨过一次价了。4月9日&#xff0c;腾讯视频方面发布通知称&#xff0c;将于4月20日零点调…

使用JUnitParams简化Parameterized tests

为什么80%的码农都做不了架构师&#xff1f;>>> 序 junit4的Parameterized tests的使用方法太过费劲了&#xff0c;这里介绍下如何使用JUnitParams来简化Parameterized tests。 junit4原生的Parameterized tests实例 RunWith(Parameterized.class) public class Fi…

无约束优化问题求解(4):牛顿法后续

目录 前言SR1, DFP, BFGS之间的关系 BB方法Reference 前言 Emm&#xff0c;由于上一篇笔记的字数超过了要求&#xff08;这还是第一次- -&#xff09;&#xff0c;就把后续内容放到这篇笔记里面了&#xff0c;公式的标号仍然不变&#xff0c;上一篇笔记的连接在这&#xff1a;…

【C语言简单说】七:自定义函数(1)

在最开始的说过&#xff0c;函数可以比喻工具箱&#xff0c;那么我们现在开始自己开始制作函数了&#xff0c;自己制作函数是很简单的&#xff0c;如下代码&#xff1a; #include<stdio.h> #include<stdlib.h> //头文件下面 void dy(){printf("这里是dy函数\…