http://blog.csdn.net/sds15732622190/article/details/48858219

前言

总结完UML概述,就该说道UML中的九种图了,这九种图中,最先要说的,就是用例图,它是最为关键的视图,影响着其他视图的实现。

接下来,介绍一下用例图的内容。

什么是用例图

定义

        用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的静态视图。用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
 
        那么什么是用例模型呢?用例模型是用于需求分析阶段,开发者和用户,描述了待开发系统的功能模型。不需要考虑功能实现,只需要考虑需要什么功能。驱动了需求分析之后各个阶段的开发。由若干个用例图描述。

组成

参与者(Actor)

        参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。

用例(Use Case)

        对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。这是UML对用例的正式定义。

系统边界

        系统边界是用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。

箭头

        箭头用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。箭头尾部用来表示启动交互的一方,箭头头部用来表示被启动的一方,其中用例总是要由参与者来启动。

用例图基本元素

1、用例:功能的描述。
2、角色:(小人)人员的角色,用来指明用例和哪个角色相关。①可以激活系统交互信息,触发起事件。②可以对系统进行输入。③被动接受信息。
3、关系:(依赖,泛化,关联)。

用例图作用

(1)获取需求;
(2)指导测试;
(3)在整个过程中的其它工作流起到指导作用。

用例图中的关系

角色之间

        由于角色实质上也是类,所以它拥有与类相同的关系描述,即角色之间存在泛化关系,泛化关系的含义是把某些角色的共同行为提取出来表示为通用的行为。

用例之间

包含:基本用例的行为包含了另一个用例的行为。
泛化:一般与特殊的关系。
扩展:基本含义和泛化关系类似,但在扩展关系中,对于扩展用例有更多的规则限制,基本用例必须声明扩展点,而扩展用例只能在扩展点上增加新的行为和含义。与包含关系一样,扩展关系也是依赖关系的版型。在扩展关系中,箭头的方向是从扩展用例到基本用例,这与包含关系是不同的。
关联:最一般,表明用例和角色之间有关联。
依赖:使用关系。

寻找元素的原则

寻找角色原则

1、有哪些直接使用系统的人。
2、系统会涉及到哪些维护人员。
3、系统要使用哪些外设,如打印机传真机。
4、和该系统相连的其他系统。
5、角色不只是人,可以是事,可以是物。

寻找执行者的原则

1、谁使用系统的这些功能。
2、谁需要系统支持日常工作。
3、谁来维护系统。
4、系统需要操作哪些硬件。
5、系统需要和哪些系统进行交互。
6、哪些人或事物是对系统产生的结果感兴趣。

机房收费系统用例图

如图是我画的机房收费系统的用例图1.0,欢迎大家提出改正建议。

总结

        UML画图是软件人员必修的课程,如何画好这九张图是至关重要的,它影响了软件开发的整个时期,而用例图又是相对关键的一张图,所以,我们要认真学习UML,画出完美的UML图。

【UML】用例图Use Case diagram(转)的更多相关文章

  1. Python设计模式 - UML - 用例图(Use Case Diagram)

    简介 用例图主要是从用户的角度出发对软件产品的功能及执行者进行描述的. 用例图是从需求分析到软件交付的第一步,图示化展示参与者与参与者之间.参与者与用例之间.用例与用例之间的关系,帮助开发人员更好的理 ...

  2. 用例图(Use Case Diagram)

    用例图(Use Case Diagram) 执行者/参与者(Actor): 表示与您的应用程序或系统进行交互的用户.组织或外部系统.用一个小人表示. 用例(Use Case): 即系统具有的功能,在用 ...

  3. UML系列01之 UML用例图

    UML,全称是Unified Modeling Language,中文是"统一建模语言".通俗点说,UML是一种创建模型的语言. UML是在开发阶段,说明,可视化,构建和书写一个面 ...

  4. 【UML】NO.46.EBook.5.UML.1.006-【UML 大战需求分析】- 用例图(Use Case Diagram)

    1.0.0 Summary Tittle:[UML]NO.46.EBook.1.UML.1.006-[UML 大战需求分析]- 用例图(Use Case Diagram) Style:DesignPa ...

  5. UML 用例图、顺序图、状态图、类图、包图、协作图、流程图

    ​用例图.顺序图.状态图.类图.包图.协作图 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling La ...

  6. [UML]UML系列——活动图activity diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  7. [UML]UML系列——状态机图statechart diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  8. 机房收费系统——UML用例图

    用例图(Use Case Diagram)是由软件需求分析到终于实现的第一步,说明的是谁要使用系统,以及他们使用该系统能够做些什么,是九种图里面最为基础且很重要的一张图.     用例图包含3方面内容 ...

  9. [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图

    [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图  1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...

随机推荐

  1. UVaLive 4254 Processor (二分+优先队列)

    题意:有n个任务,每个任务有三个参数,r,d,w,表示该任务必须在[r,d]之间执行,工作量是w,处理器执行速度可以变化,当执行速度是s的时候, 一个工作量是w的任务需要需要的执行时间是w/s个工作单 ...

  2. Coreseek 安装问题

    Ubuntu下安装coreseek mmseg出现了cannot find input file: src/Makefile.in 解决方法如下 >autoheader >automake ...

  3. MVC 中dapper的日志功能+程序报错修改

    由于之前的项目说最好要有日志功能,正好之前看过几篇这方面的文章就弄了点东西. 这是EF日志受启发很大的一个原文: http://www.cnblogs.com/GuZhenYin/p/5556732. ...

  4. 移动构造和移动赋值与std::move

    ------------------------------------移动构造------------------------------------------ 传统的深拷贝深赋值 对于类中,含有 ...

  5. 当Python中混进一只薛定谔的猫……

    本文原创并首发于公众号[Python猫],未经授权,请勿转载. 原文地址:https://mp.weixin.qq.com/s/-fFVTgWVsydFsNu1nyxUzA Python 是一门强大的 ...

  6. 将Angular6自己定义的模块发布成npm包

    创建自己的模块组件 1. ng new 一个工程 2. ng g m 创建模块 例如我这里的modules文件下创建header模块 3. ng g c modules/head 创建一个hear组件 ...

  7. chrome调式工具

    1.Elementshttps://segmentfault.com/a/1190000008316690 2. Consolehttps://segmentfault.com/a/119000000 ...

  8. U3D shaderlab 相关指令开关

    Subshader { [Tags] [CommonState] Passdef [Passdef ...] }Tags分为SubShader Tags和Pass Tags,Tags放在SubShad ...

  9. 2017-9-2 NOIP模拟赛

    “与” (and.pas/.c/.cpp) 时间限制:1s:空间限制64MB 题目描述: 给你一个长度为n的序列A,请你求出一对Ai,Aj(1<=i<j<=n)使Ai“与”Aj最大. ...

  10. ES6简述

    啥是ES6 大家都知道,JavaScript由DOM.BOM.ECMAScript组成,ECMAScript是标准. ES6的全称其实是ES2015(6.0)每年更新,依次类推 ES2016(7) . ...