[UML]UML系列——用例图Use Case

原文:[UML]UML系列——用例图Use Case

用例图的概念

      用例图是描述用例、参与者以及它们之间关系的图。  

用例图的作用

  1. 用例图是从用户的角度来描述对信息系统的需求,分析产品的功能和行为。
  2. 用例图定义和描述了系统的外部可见行为,是分析、设计直至组装测试的重要依据。
  3. 让用户参与前期的系统分析与设计。

参与者的概念(actor,执行者,活动者)

       参与者是指在系统之外,但与系统直接交互的对象。先举个例子,对参与者有个具体的概念,如图:

参与者用人形符号表示,在人形符号下面标出参与者的角色名(不是人名)例如:

参与者的类型

  • 人员
  • 信息系统
  • 设备

实例:在线选课管理系统

•教师选择本学期要教授的课程,每位教师最多只能上报4门课程。

•教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的课程目录表,向学生公布。

•学生填写课程选修表,每个学生最多选修4门课程;每门选修课程的学生数最多为10人,最少为3人。人数达到10人时,停止学生登记注册此门课程;

•学生选课结束后,系统自动取消人数少于三人的课程。

•财务处的财务管理系统读取最终的课程表,并办理收费手续。

•教师可查询所教课程的学生花名册(roster)。

•教务管理人员维护学生、教师和课程的信息。

       通过该实例可以分析出有哪些参与者?

识别参与者的方法

       人:

    1. 系统的主要客户是谁?
    2. 谁借助于系统完成日常工作?
    3. 谁来维护管理系统,保证系统正常运行?

      设备:系统控制的硬件有哪些?

      信息系统:系统需要与哪些其他系统进行交互?

      注意:与系统进行交互、从系统中获取信息或向系统输入信息的人或事物。

实例:饮料自动售货机的参与者有哪些?

 

      分析结果:

 

 用例的概念

      用例是用户期望系统具备的功能,每一个用例说明一个系统提供给它的使用者的一种服务或功能。

      用例的目标是要定义系统的一个行为,但并不显示系统的内部结构。

用例的符号

       

         用例名一般为动宾短语。上图分别为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入门的。

     真心感谢大学所有老师,您们教的东西几乎都用到了,泪喷了......

时间: 2024-11-02 20:54:36

[UML]UML系列——用例图Use Case的相关文章

UML学习:用例图Use Case

用例图的概念 用例图是描述用例.参与者以及它们之间关系的图. 用例图的作用 用例图是从用户的角度来描述对信息系统的需求,分析产品的功能和行为. 用例图定义和描述了系统的外部可见行为,是分析.设计直至组装测试的重要依据. 让用户参与前期的系统分析与设计. 参与者的概念(actor,执行者,活动者) 参与者是指在系统之外,但与系统直接交互的对象.先举个例子,对参与者有个具体的概念,如图: 参与者用人形符号表示,在人形符号下面标出参与者的角色名(不是人名)例如:

[UML]UML系列——用例图中的各种关系(include、extend)

用例图中的各种关系 一.参与者与用例间的关联关系       参与者与用例之间的通信,也成为关联或通信关系. 二.用例与用例之间的关系 包含关系(include) 扩展关系(extend) 包含关系         (1)  概念         包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例.        (2)表示符号<<include>>           再如上篇文章中饮料自动售货机的例子:     

[UML]UML系列——类图Class

相关文章       [UML]UML系列--用例图Use Case       [UML]UML系列--用例图中的各种关系(include.extend) 一.类图的概念及组成         1.类图的概念             类图是描述类.接口已经他们之间关系的图,它显示了系统中各个类的静态结构,是一种静态模型.         2.类图的组成            2种类元素(类和接口)            4种关系(依赖关系.实现关系.泛化关系和关联关系) 二.类的概念与表示符号

[UML]UML系列——类图class的依赖关系

相关文章          [UML]UML系列--用例图Use Case       [UML]UML系列--用例图中的各种关系(include.extend)       [UML]UML系列--类图Class       [UML]UML系列--类图class的关联关系(聚合.组合) 依赖关系的概念与符号        依赖表示一个类以某种形式依赖于其他类.当两个类处于依赖关系中时,其中一个类的改变可能会影响另一个类.        符号:   依赖关系在代码中的表现       在程序代

[UML]UML系列——类图class的泛化关系

系列文章       [UML]UML系列--用例图Use Case       [UML]UML系列--用例图中的各种关系(include.extend)       [UML]UML系列--类图Class       [UML]UML系列--类图class的关联关系(聚合.组合)       [UML]UML系列--类图class的依赖关系 泛化关系的引入       在现实生活中,有时会出现一类事物具有另一类事物的全部特点,除此之外还有自身的特点.       例如:        "不管

[UML]UML系列——类图class的实现关系Realization

系列文章       [UML]UML系列--用例图Use Case       [UML]UML系列--用例图中的各种关系(include.extend)       [UML]UML系列--类图Class       [UML]UML系列--类图class的关联关系(聚合.组合)       [UML]UML系列--类图class的依赖关系       [UML]UML系列--类图class的泛化关系 接口的概念        接口是一组没有实现的操作的集合.接口只提供操作的声明,不提供任何

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

系列文章 [UML]UML系列--用例图Use Case [UML]UML系列--用例图中的各种关系(include.extend) [UML]UML系列--类图Class [UML]UML系列--类图class的关联关系(聚合.组合) [UML]UML系列--类图class的依赖关系 [UML]UML系列--类图class的泛化关系 [UML]UML系列--类图class的实现关系Realization [UML]UML系列--包图Package [UML]UML系列--活动图activity

[UML]UML系列——时序图(顺序图)sequence diagram

系列文章 [UML]UML系列--用例图Use Case [UML]UML系列--用例图中的各种关系(include.extend) [UML]UML系列--类图Class [UML]UML系列--类图class的关联关系(聚合.组合) [UML]UML系列--类图class的依赖关系 [UML]UML系列--类图class的泛化关系 [UML]UML系列--类图class的实现关系Realization [UML]UML系列--包图Package [UML]UML系列--活动图activity

[UML]UML系列——类图class的关联关系(聚合、组合)

关联的概念       关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用. 程序演示:关联关系(code/assocation)       假设:一个公司只有三名员工:一个员工要么没有工作,要么只能在一个公司工作.(代码简化了,主要说明关联关系)       Person类: 1 class person 2 { 3 public string name; 4 public person(string eName) 5 { 6