软件工程-UML用例图

如果说活动图是文章是要说什么,那么用例图就是设计如何在文章中表达我们想要的说的:是几个故事,故事的主人翁是这么在故事里度过的。
对与软件,活动图让我们知道要做什么事,用例图就是让我们知道要做的事得分成几部分?怎么做?

如下图又是一个百度图:



图中就包括了我们所有的用例图构成部分: 参与者、用例、用例关系(扩展,包含,泛化)。

用例图的思路和画法

步骤:

  1. 确定系统范围,即给系统命名。我们做的就是画一个大大的方块。
  2. 找参与者
    a. 参与者就是和系统交互的对象。(可以是人,系统,时间,等)
    b. 如果有一个操作是系统定时发生的,就可以引出一个参与者:时间
  3. 找用例
    a. 用例就是参与者和系统之间要做的交互
    b. 活动图可以帮助找用例的,相互验证可以改善两者
  4. 编写用例叙述
    a.用例叙述不需要一次编辑完善,因为用例图是反复确认的过程。

约束:

  1. 用例发生的顺序可以用在用例图中上下来暗示。
  2. 包含关系的用例建议在原用例的右边
  3. 扩展关系,泛化关系建议在原用例的下边
  4. 参与者系统不用实现,但是我们要为参与者提供接口。这个在用例图中就要有所准备。
  5. 尽量减少使用 扩展,泛化,包含关系。这些关系之间的关系不同的人理解起来比较模糊。
  6. 包含和扩展关系应该避免达到两层。

用例控件

以下我们介绍用例图的各个属性,参考书籍【系统分析师UML用例实战】:

定义
图解
                         
说明
参与者(actor)
指位于系统外部,在用例执行期间与系统产生交互的对象
用例(User Case)
系统对外提供的服务或功能
聚合关系(association)
参与者与用例之间的实线,表示两种之间交互
包含关系(include)
如果发现多个用例叙述中有一部分流程相同,就可以独立处理,重用。
扩展关系(extend)
在特定条件下才被额外使用的,部分独立处理就是扩展。扩展一般用于对旧功能的扩充定制化
泛化关系(generalization)
泛化可以用于参与者和用例,标识在原来的范围内有一个特殊的部分,不但有原来群体的功能,还有特色的功能。

用例描述

一份用例,单有用例图是不够的,用例图只能描述用例关系,而不能准确描述做什么,怎么运行。
这时我们需要用例叙述(use case narrative),它可以用文件描述参与者与系统之间应该如何交互的细节。

用例叙述组成
前置条件(precondition) 执行该用例之前,必须成立的条件。即前置条件成立,用例才会执行。
后置条件(postcondition) 执行该用例之后,必须成立的条件。即执行用例后,要检测后置条件。如果条件成立,说明用例正确执行完毕。
事件流程(flow of event) 在前置条件和后置条件中间执行的流程,也是用例真正要做的事。

主要流程和替代流程

主要流程:系统一切正常、没有例外的执行过程。
替代流程:对主流程的特殊情况的补充说明

替代流程既可以作为事件流程的一部分,描述在事件流程中,也可以单拆出来作为一个用例叙述描述。

用例叙述的格式,差别很大。
常见的有:

表格类:

用例名称
前置条件 -------------------------------------
后置条件 -------------------------------------
事件流程 -------------------------------------

文本类:

············································
用例名称
前置条件:········
后置条件:·········
事件流程:
1、----------------
2、----------------
···········································

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,776评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,527评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,361评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,430评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,511评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,544评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,561评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,315评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,763评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,070评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,235评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,911评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,554评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,173评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,424评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,106评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,103评论 2 352

推荐阅读更多精彩内容

  • 概要 用例(Use Case)是一种描述系统需求的方法。运用用例这种方法来描述系统需求称之为用例建模。用例也是UM...
    林海舟阅读 43,743评论 0 34
  • 1. 前言 1.2UML概述 1.2.1 UML简介 UML (Unified Modeling Language...
    虎三呀阅读 10,088评论 0 6
  • 时间管理大家都不陌生,很多人都是这个领域里的达人、专家。我周围的伙伴也不停的参加各种培训和分享,提升自己的时间管理...
    亦合阅读 522评论 2 5
  • 陪伴宝贝学习圣经典感恩日志,第388篇 2018年1月28,星期一 读经人:瑜昊妈,瑜宝,昊宝 读经内容 :两个宝...
    瑜昊妈阅读 309评论 0 0
  • 电话那边 嘟 嘟 嘟 一声接着一声 心也一点点褪去了温度 呵呵 不是所有事 都会如我所愿 再一次敲了警钟 伴随着 ...
    小小太阳000阅读 141评论 0 0