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,一经查实,立即删除!

相关文章

Nginx实现tomcat集群进行负载均衡

一、背景 随着业务量和用户数量的激增&#xff0c;单一的tomcat部署应用已经无法满足性能需求&#xff0c;而且对于每次发布项目期间服务不可用的问题也凸显&#xff0c;既然出现了这个问题&#xff0c;那么我们本文就借助nginx来完美的解决这个问题。 二、基本概念 1.说明&…

【C语言简单说】三:整数变量扩展和输出扩展(3)

今日天气太好了&#xff0c;总感觉昏昏欲睡。。。 切记请勿荒废时间 小T今日来跟大家说说新建多个整数变量&#xff0c;以及输出多个变量的粒子&#xff0c;代码如下: #include<stdio.h> #include<stdlib.h> int main(){int a1,b2,c3;printf("a 的值是%d;b…

python删除列表中的偶数_Python:从列表中删除奇数

我写了一个函数来从列表中删除奇数,就像这样&#xff1a; def remove_odd(l): for i in l: if i % 2 ! 0: l.remove(i) print l return l remove_odd([4,5,4]) remove_odd([4,5,4,7,9,11]) remove_odd([4,5,4,7,9,11,12,13]) 它返回&#xff1a; [4, 4] [4, 4, 9] [4, 4, 9, 12…

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正…

C#对象初始化器

using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace 对象初始化器 {class Program{static void Main(string[] args){//第二种初始化var s1 new student("张三",23);Console.WriteLine(s1.ToString());//第一种初始化…

动态轮播图

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…

Codeforces 41D Pawn 简单dp

题目链接&#xff1a;点击打开链接 给定n*m 的矩阵 常数k 以下一个n*m的矩阵&#xff0c;每一个位置由 0-9的一个整数表示 问&#xff1a; 从最后一行開始向上走到第一行使得路径上的和 % (k1) 0 每一个格子仅仅能向↖或↗走一步 求&#xff1a;最大的路径和 最后一行的哪个位…

【C语言简单说】三:浮点数变量和字符变量(4)

在最开始的时候&#xff0c;我们说过&#xff0c;我们的变量是有类型的对吧&#xff1f;&#xff08;其实我已经忘记我有没有说&#xff09;0o。(-. - ) 睡觉 这节我们就来说说&#xff0c;我们之前有整数变量了对吧&#xff1f;那个int就是整数类型的对吧&#xff1f;好了&am…

C#语法糖空合并运算符【??】和空合并赋值运算符【 ??=】

例子比如说:我们有一个UserInformation类public class UserInformation{ public string Name { get; set; }public List<string> Address { get; set; }}有下面一段代码,我们获取张三的第一个地址,如果地址为空&#xff0c;则返回上海市,常规做法如下static void Main(st…

DNS的理解

1 DNS是什么 DNS(Domain Name System) ,域名系统 作用:域名转化成ip 为什么要用DNS:访问一个网址需要知道ip,但是ip每个页面不同不方便记,我们需要给ip取一个别名,方便我们记忆,比如 www.baidu.com,这些域名我们记住就行了,但是怎么从这些域名转化成相应的ip呢?,我…

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

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

CSS3中弹性盒布局的最新版

虽然可以使用其他CSS样式属性来实现页面布局处理&#xff0c;但是如果使用CSS Flexible Box模块中定义的弹性盒布局技术&#xff0c;可以根据屏幕尺寸或浏览器窗口尺寸自动调整页面中各局部区域的显示方式&#xff0c;即实现非常灵活的布局处理。虽然CSS Flexible Box模块已经被…

java filechannel 空_Java NIO FileChanel

http://www.cnblogs.com/interdrp/p/3785164.html(好)path--->path 耗时&#xff1a;49毫秒pos:1048576pos:2097152pos:3145728pos:4194304pos:5242880pos:6291456pos:7340032pos:8388608pos:9437184pos:10485760pos:11534336pos:12582912pos:13631488pos:14680064pos:15728…

C# 的扩展方法在 LINQ 中实现数组排序

首先定义一个数组&#xff0c;int[] a { 3,1,2,4}&#xff0c;我们要简单的实现该数组的排序&#xff0c;但是a数组是System空间下的&#xff0c;没有OrderBy()之类的方法&#xff0c;这是我们引入命名空间using System.Linq之后可以看见又该方法了。给个简单的例子如下&#…

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

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

关于动态修改定时器的时间间隔

定时器的时间间隔是不能修改的&#xff0c;只能不停的创建&#xff0c;清除&#xff0c;创建。做出时间间隔变换的表象使用函数表达式和递归实现&#xff1a; var counter 10; var myFunction function(){clearInterval(interval);counter * 10;interval setInterval(myFunc…

c#语法糖模式匹配【switch 表达式】

例子我们首先定义一个颜色枚举public enum ColorEnum{ Red,Blue,Black,}我们写一个方法获取颜色的RGB值&#xff0c;我们这里使用Switch表达式&#xff0c;传统做法是:switch 语句在其每个 case 块中生成一个值,比如这样private Color GetColorRgb(ColorEnum colorEnum){switch…

Windows之Fiddler抓HTTP和HTTPS请求

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