原文地址: https://www.cnblogs.com/wolf-sun/p/3411175.html
用例图的概念
用例图是描述用例、参与者以及它们之间关系的图。
用例图的作用
- 用例图是从用户的角度来描述对信息系统的需求,分析产品的功能和行为。
- 用例图定义和描述了系统的外部可见行为,是分析、设计直至组装测试的重要依据。
- 让用户参与前期的系统分析与设计。
参与者的概念(actor,执行者,活动者)
参与者是指在系统之外,但与系统直接交互的对象。先举个例子,对参与者有个具体的概念,如图:
参与者用人形符号表示,在人形符号下面标出参与者的角色名(不是人名)例如:
参与者的类型
人员
信息系统
设备
实例:在线选课管理系统
•教师选择本学期要教授的课程,每位教师最多只能上报4门课程。
•教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的课程目录表,向学生公布。
•学生填写课程选修表,每个学生最多选修4门课程;每门选修课程的学生数最多为10人,最少为3人。人数达到10人时,停止学生登记注册此门课程;
•学生选课结束后,系统自动取消人数少于三人的课程。
•财务处的财务管理系统读取最终的课程表,并办理收费手续。
•教师可查询所教课程的学生花名册(roster)。
•教务管理人员维护学生、教师和课程的信息。
通过该实例可以分析出有哪些参与者?
识别参与者的方法
人:
系统的主要客户是谁?
谁借助于系统完成日常工作?
谁来维护管理系统,保证系统正常运行?
设备:系统控制的硬件有哪些?
信息系统:系统需要与哪些其他系统进行交互?
注意:与系统进行交互、从系统中获取信息或向系统输入信息的人或事物。
实例:饮料自动售货机的参与者有哪些?
分析结果:
用例的概念
用例是用户期望系统具备的功能,每一个用例说明一个系统提供给它的使用者的一种服务或功能。
用例的目标是要定义系统的一个行为,但并不显示系统的内部结构。
用例的符号
用例名一般为动宾短语。上图分别为Rational Rose和Visio两种不同的画法。
识别用例的方法
识别用例的策略:对于已经识别的参与者,通过考虑每个参与者是如何使用系统的,以及系统对事件的相应来识别用例。
可以从以下几个角度来寻找和确定用例:
- 参与者需要从系统中获取哪种功能?
- 参与者是否需要读取、产生、删除、修改或存储系统中的某种信息?
- 系统的状态改变时,是否通知参与者?
- 是否存在影响系统的外部事件?
- 系统需要什么样的输入与输出?
实例:识别用例
Email客户端(如Outlook express):A在北京发邮件给上海的B,系统提醒B您有“新邮件”,B收邮件。
参与者A执行的用例有哪些?
参与者B执行的用例有哪些?
描述用例
用例图没有描述系统行为的细节,所以需要以书面文档的形式对用例进行描述。至少包括:
1、名称
与用例图中的名称保持一致
2、标识符
用例的代码或编号
3、基本操作流程
描述各项工作都正常进行时用例的工作方式。
4、可选操作流程
很少使用、异常情况、发出错误的情况。
如:
用例名称 | 归还图书
标识符 UC0002
1.图书管理员输入图书信息
基本操作流程 2.检索借阅该图书的借阅者的信息
3.删除与该图书相关的借阅记录
1a.图书管理员发现图书被损坏,进行损坏处罚
可选操作流程 1b.输入的图书不存在时,进行确认
2a.借阅者有超期的借阅信息时,进行超期处理
总结
该文主要介绍了参与者与用例图的概念及在Rose中的画法,下篇将着重介绍用例图中的各种关系。
若想详细了解,推荐阅读《UML基础与Rose建模教程》 这本书,这是大学四年留下几本书中的其中一本(其他的书......你懂得!),参考着课件复习一下。
特别感谢当时教我们UML的刘老师,UML是我c#的入门课,LZ大学没.net这门课,纯粹靠UML入门的。
真心感谢大学所有老师,您们教的东西几乎都用到了,泪喷了......