用例图(设计)

摘要:
用例图从用户的角度描述了系统的静态使用,并指向父用例c。Include包含关系,用于将更复杂的用例表示的功能分解为更小的步骤。指向分解的功能用例d。扩展关系是指用例函数的扩展。泛化中的子用例和扩展中的扩展用例为参与者提供直接服务,而include中包含的用例为参与者间接提供服务。1、 概述用例试图描述用例中角色和系统之间的关系。

用例图

  用例图,展现了一组用例、参与者(actor)以及它们之间的关系。用例图从用户角度描述系统的静态使用情况,用于建立需求模型。

参与者(Actor)

  在系统外部与系统直接交互的人或事物。需要注意以下两点:

  1)参与者是角色而不是具体的人,它代表了参与者在与系统打交道的过程中所扮演的角色。所以在系统的实际运作中,一

个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。

  2)参与者作为外部用户(而不是内部)与系统发生交互作用,是它的主要特征。

  在UML中,参与者使用如图所示的一个小人表示:

用例图(设计)第1张

 

用例(Use Case

  系统外部可见的一个系统功能单元。系统的功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。用椭圆表示,椭圆中的文字简述系统的功能:

用例图(设计)第2张

子系统(Subsystem)

  用来展示系统的一部分功能,这部分功能联系紧密。

 

用例图(设计)第3张

关系(Relationship)

  常见关系类型有关联、泛化、包含和扩展。

  以上各关系在uml图中的表示方式,如下表所示:

  用例图(设计)第4张

  a. 关联(Association)

  表示参与者与用例之间的通信,任何一方都可发送或接受消息。

  【箭头指向】:指向消息接收方

用例图(设计)第5张

  b. 泛化(Inheritance)

  就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。

  【箭头指向】:指向父用例

用例图(设计)第6张

  c. 包含(Include)

  包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。

  【箭头指向】:指向分解出来的功能用例

用例图(设计)第7张

  d. 扩展(Extend)

  扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。

  【箭头指向】:指向基础用例

用例图(设计)第8张

 

包含(include)、扩展(extend)、泛化(Inheritance) 的区别:

  条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是有条件的;

  直接性:泛化中的子用例和extend中的延伸用例为参与者提供直接服务,而include中被包含的用例为参与者提供间接服务。

  对extend而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容。

  对Inheritance而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的关系;

一、概述

用例试图描概括了用例中角色和系统之间的关系,描述了系统功能需求,角色和系统的交互以及系统的反应。

用例图(设计)第9张

 

    会员具有浏览商品类别、根据关键字产讯商品和选择商品加入购物车的功能。

二、术语解释

1Extends 用例扩展关系

扩展关系一般用来描述一个元素延伸为另外一种行为。Use Case中的扩展表示一个UC有可能扩展到另外一个UC的功能。Use Case中的扩展通常暗示一个选择性流程。

用例图(设计)第10张

 

2Include 用例包含关系

包行关系表示源元素包行目标元素的行为,UC中的包含关系就是一个UC中包行另外一个UC的行为功能。用包行关系可以防止在多个UC中同时定义共同的功能模块,有些像委托delegation

用例图(设计)第11张

 

3、角色(Actor

系统中的用户根据系统分为多个角色,每个角色都会与系统有交互。一个用户可以具有一个或者多个角色。

系统中用到的角色如果细分,可以分为主要角色和辅助角色

比如:在电子商务网站中主要角色有供应商、前台会员、系统管理员等等;辅助角色有Email Sender、物流系统、金流系统等等。

三、如何画Use Case 用例视图

       Note: 设计工具是EAEnterprise Architect 7.0

       假设目前的功能需求是:

A、供应商需要填写Form表单提报商品

B、供应商通过导入CSV文档提报商品

C、商品开发人员需要对供应商提报的是商品进行审核

       1、新建工程

              File->New Project->填写工程名称:Example.eap

          

  2、新建Use Case View 用例视图

              右击上面新建的Project->选择【New View->弹出对话框,选择【Use Cse】如下图

  用例图(设计)第12张

 

单击【OK】,在Model工程下,这样就新建了一个Package

右击Package【商品提报上架】->选择【Add->选择【Add Diagram】,如下图所示

用例图(设计)第13张

 

弹出如下对话框:选择【UML Behavioral】->Use Case,单击【OK】

用例图(设计)第14张

 

这样,一个空的Use Case新建完成。接下来我们需要向空的Use Case添加内容。

3、根据业务需求画Use Case视图

Note从左侧的ToolBox工具栏中用例图(设计)第15张 选择一些Use Case的元素,直接拖曳左边的Element,到右边的工作区,就可以把Element放到咱们的Use Case试图中。

A、拖曳两个Actor 元素到工作区,分别命名为“供应商”“商品开发人员”

B、拖曳三个Use Case元素到工作区,分别命名为“商品提报”“CSV档导入商品” “商品审核”

如下图所示:

用例图(设计)第16张

 

C、通过关联关系链接角色与系统功能,如下图:

 

用例图(设计)第17张      

至此,商品提报场景的Use Case图已经画完。一个Use Case视图会对应一个或者多个Use Case用例。

关于什么是Use Case 请参照需求阶段如何书写Use Case

 

四、Use Case 在实际项目中的组织结构

用例图(设计)第18张

 

这是一个使用UC描述的系统需求功能目录图,每一个UC描述了Actor使用使系统时,与系统的交互行为。

五、总结

用例试图描概括了用例中角色和系统之间的关系,描述了系统功能需求,角色和系统的交互以及系统的反应。是客户和开发人员全貌理解项目需求功能比较好的一个方式,也是后续功能迭代的依据和方向。

免责声明:文章转载自《用例图(设计)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在MAC下使用githubPandas数据分析 (一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

springboot读取系统级环境变量,和读写系统属性以及unittest来获取环境变量的方法

  环境变量的读取以及系统属性的设置 环境变量只能读取,不能修改,系统属性可以修改 系统变量的读取方式: System.getEnv() 系统属性有多重读取和修改方式: 其修改方式为: 读取系统属性: @Autowired AbstractEnvironment environment; System.setProperty("today",...

SQL Server 2000详细安装过程及配置

说明:这篇文章是几年前我发布在网易博客当中的原创文章,但由于网易博客现在要停止运营了,所以我就把这篇文章搬了过来,虽然现如今SQL Server 2000软件早已经过时了,但仍然有一部分人在使用它,尤其是某些高校的学生在做毕业设计或者课程设计的时候可能会使用到,所以就把该软件的安装过程保留在这里吧。 另外,此SQL Server 2000软件只能在Wind...

VMware设置虚拟机,并配置远程连接桌面

现在需要使用VMware虚拟出几个window7的机器,用来跑自动化测试。 在配置虚拟机的时候遇到了几个问题: 问题1:虚拟机无法与外界机器通信。(可ping通过)。 问题2:外界机器无法链接虚拟机的远程桌面控制。 解答1: 第1步:首先需要将该虚拟机的网络设置成桥接模式。这样就会让虚拟机通过宿主机的网络,获得一个ip地址。 第2步:在虚拟机系统内部,关...

VPS教程:搭建个人网盘—seafile

最近经常听到有人推荐 seafile 个人网盘,由于本人之前一直用 kodexplorer 作个人网盘就没有太关注。今天偶然发现 seafile 与 kodexplorer 差别还挺大的,特意来体验一下。 准备先体验下 seafile 的在线 DEMO,但是访问 demo 地址,提示页面不存在,那只好在服务器上自己动手搭一个吧,反正手头上吃灰的 VPS 多...

局域网中Ubuntu和Windows进行文件夹共享

http://www.linuxeden.com/html/netadmin/20071106/37043.html 首先安装Samba:   sudo apt-get install samba   一、在ubuntu下查看局域网中windows系统共享的文件夹:   在“位置”--“网络”--“Windows 网络”中就能看到其它的windows主机和...

【转载】mac os常用软件

最近准备重新装系统了,,先暂时直接转~等重转好后,再自己整理个列表 小胖的" MacOS常用免费软件 "清单(有小更新). 转眼用MacOS也有一年多了, 当初刚开始使用时, 网上很多类似"我的Mac软件清单" "Mac必备软件" 一类的文章对我帮助很大.最近换了Mac Air ,正好有机会重新整理和审视一下自己机器里安装的软件.在这里 把它们整理出来...