UML设计初步 - 基本概念一(actor, use case)

UML全程统一建模语言,是专门为面向对象建模的设计语言。

在我们讨论UML之前,我们先来看看面向对象和面向过程的区别。

假设我们要为一个公司制作一个业务系统,这个系统会有许多部门各个岗位的人参与,
那么,面向过程和面向对象分别是怎么设计的呢?

我们先来看看面向过程的调研思路:
首先弄清楚有多少业务流程,然后画出业务流程图,
然后顺藤摸瓜,找出没一个步骤参与的部门和岗位,
弄清楚参与者所做的事情和填写表单的情况,然后怎么
把表单传到下一个环节。

面向对象:
弄清楚有多少部门,多少岗位;
找到每一个岗位的业务代表,问类似问题:
你平时都做些什么?这件事是谁交办的?
做完了需要通知或传达谁吗?
做这件事情需要填写什么表格吗?

下面我们就来看一下UML的一些基本概念:
1)参与者(actor) 
    
  参与者是整个建模的中心,再好的设计不符合客户需求也等于零。
  参与者代表了现实世界中的“人”。

2)用例(use case)
 
  用例表示驱动的业务目标,也就是参与者想要做什么并且获得什么。
  用例代表了现实世界中的“事”。

3)业务工人(business worker)
  这里我们经常会与参与者搞混。
  事实上,业务工人是系统中的被动参与者。

如果要区分actor与business worker,我们通常可以问2个问题就能区分了:
1)系统是为谁服务的?
2)这个人会主动发出动作吗?

我们下面来看一个用例场景,如下:
小王带着钱去银行开户,向大厅经理询问了办理手续,填写好表单后,
交给柜台职员,柜台职员帮小王办理手续,小王拿到存折。

在上面这个场景中,谁是参与者,谁是业务工人呢?
很明显:
参与者:   小王
业务工人:大厅经理,柜台职员

理由:系统是为小王服务的,小王主动发出动作,大厅经理和柜台职员是被动的,他们不会
        主动发出请求。

有人常常会有这样的错误概念:认为参与者必须是人。
事实上,这种想法是错误的,参与者有时候也可以是物

我们来看这样一个场景;
每天自动统计网页访问量,生成自动报表,将报表发送至相关人员信箱。

很明显,这个场景中没有人。
那么参与者是谁呢?
我们说,是“计时器”。
因为它在每天的固定时间启动这个需求。

关于用例,我们经常会有误导,那就是
把它和具体业务操作混淆起来。
我们可以用这样一句话来加以区分:

用例是有意义的,它代表了参与者的愿望,
不能完整达到参与者愿望的不能称为用例。

我们还是看上面这个小王去银行开户的场景。
在这个场景中,我们可以提炼出来的动作有:
银行开户,询问手续,填写表单,办理手续,拿到存折

在以上动作中,只有银行开户才是真正的用例,其它都是该用例的具体操作。
就拿填写表单来说,填写表单是小王的愿望吗?显示不是,小王去银行又不是为了
填写表单,他是为了开户,但是银行规定这么做,如果能够不填写表单就直接办理
开户,小王当然高兴了。

所以,我们说:
用例必须代表参与者完整的愿望。

以上场景的用例图如下:

时间: 2024-08-04 10:39:33

UML设计初步 - 基本概念一(actor, use case)的相关文章

“一卡通”信息系统数据库设计初步探讨

设计|数据|数据库|数据库设计                               "一卡通"信息系统数据库设计初步探讨                                      福建开普教育设备有限公司 陈优章         引言:卡的应用不外乎就是计费与身份识别之用.所谓"一卡通"就是同一张卡片,每一用户只需要一张卡,在多种不同功能管理中使用.这是用户对系统的基本要求,也是"一卡通"最主要的表现.一卡,并不是一种固定

网站设计参照:概念设计的综合思考

在现有产品的改善中概念设计的作用一样非常重要,比如:你可以在你的网站改版时,首先把现有网站的情况通过一张完整的概念图整理出来,让大家更加清楚什么地方需要改进.有多少需要改进等等,然后再把改版之后的规划通过概念图的方式再次呈现出来,做到很好的规划和对比- 可以模拟未来的设计师 本文作者:白鸦 下面是我曾经在一个演讲中提到过的一张图,大致可以这么描述: 三个要素:用户.技术.品牌 1.做任何产品设计之前我们必须要考虑这三个要素:用户.技术.品牌. 2.理解用户是产品的基础. 只有你的产品是用户需要的

数据库设计——三范式概念+实战

      在利用三范式设计数据库的时候,以前总以为是先画完ER图,然后导出关系模式,最后用三范式去检验数据库设计的是否合理,but not!我们在一开始画ER图的时候,就应当和三范式联系起来,将错误消灭在源头.为了能最早的检验出错误,我们就要对ER图转换成关系模式的算法和三范式是如何消除冗余,避免冲突有深刻的了解,才能知道如何最早发现错误.      本文主要以机房收费系统数据库设计中的一些东西为例,结合三范式概念,简述下三范式.         一,1NF 定义: 如果关系模式R的每个关系r

微服务架构设计 (一): 核心概念

微服务设计是架构设计. 所以, 微服务设计不应是一个讲求标准答案, 简单粗暴的设计过程.而应该是一个考量各方因素下的一个决策的过程. 所以, 在探讨微服务设计前, 我们先来探讨下, 所谓的微服务具体应包含哪些核心的概念? I. 分布式 (Distributed): 微服务与微服务间分布式调用最主要的概念便是: protocol-aware heterogeneous interoperability; 各微服务可各自拥有自身的 platform (Java,C#, Scala-等等), 但, 各

从绘画看设计“层”的概念

在历代的视觉风潮中,绘画与设计在方方面面有着关联("设计"为外来词,在传统中国中,对应的词是"经营"),很多时候都是你中有我我中有你的局面,西方美术史上的http://www.aliyun.com/zixun/aggregation/39592.html">文艺复兴.新艺术运动就是其中最好的例子.身为插画师以及设计师,在这两者之间游走,有着许多体会.其中对于画面"层"的认知,尤为深刻.一般在视觉中"层"无论在画

软件工程里的UML序列图的概念和总结

俗话说,自己写的代码,6个月后也是别人的代码--复习!复习!复习! 软件工程的一般开发过程:愿景分析.业务建模,需求分析,健壮性设计,关键设计,最终设计,实现-- 时序图也叫序列图(交互图),属于软件工程里的第二步--业务建模阶段里的图,业务建模要求我们把视角从系统转向组织,要站在客户的角度看问题,以达到清晰准确地"知彼",术语就是从组织的角度来定位系统的价值,从而避免软件项目的失败,因为大量软件项目失败的原因都是一个--最终实现和用户需求不一致!故业务建模也叫组织建模,切记在业务建模

网页艺术设计初步探讨,网页制作学习

网页艺术设计是伴随着计算机互联网络的产生而形成的视听设计新课题,是网页设计者以所处时代所能获取的技术和艺术经验为基础,依照设计目的和要求自觉地对网页的构成元素进行艺术规划的创造性思维活动,必然要成为设计艺术的重要组成部分,并随着网络技术的发展而发展.表面上看,它不过是关于网页版式编排的技巧与方法,而实际上,它不仅是一种技能,更是艺术与技术的高度统一. 一.网页艺术设计的内容 设计活动中包含着主观和客观两方面的因素,在确立了网页主题之后,首先要明确和熟悉设计的对象和构成的要素.网页艺术设计涉及的具

开源UML设计工具StarUML

这个软件非常小巧,才20多M,当然是相对于rose200多M的体积来说的.也还有很多免费开源的UML建模软件,不过我没有发现比StarUML好用的.下面看看它的截图.用例图 类图 组件图 ER图 自定义的一些图 要说明一点的是,StarUML可以像rose一样,根据序列图生成协作图. 我在使用过程中,唯一的一个问题是,在用模板生成DOC文档时,报一个错误,无法生成文档.相信是我安装或设置的问题. 官方网站:http://staruml.sourceforge.net/en/ 下载地址: http

图形设计实例分析:概念视觉设计

10月份,工作之外,做了一款控件不全的"播放器"界面,叫它播放器只是个借口,也许更偏重视觉技法的练习.本文就让我们分析下,一个复杂图形是如何从无到有的,希望对视觉设计师们有所帮助,也能盛产一些"古怪"的作品. 制作之初,脑海里就反复罗列一些极具复杂的图形,闪闪发光,搜集的变形金刚素材: 素描这版感觉这不错,特点鲜明,尖尖的犄角,硬硬的质感,皮肤下面泛光,结构虽复杂但交代的却很清楚.就它了:) 万事开头难,画的时候,发现比想象的要难很多,摆在眼前的首要问题就是该如何下