UML面向对象分析与建模-【3】用例图

 

一、用例图的描述

用例(Use Case)是指系统的外部事物(活动者、设备或外部系统)与系统交互,它表达了系统的功能,即系统所提供的服务。

用例图是一种描述用例的可视化工具,用简单的图形元素表示出系统的活动者、用例及它们之间的关系,准确地表达了活动者与系统的交互情况和系统所能提供的服务。用例图是从用户角度而不是从开发者角度来描述对软件产品的需求,分析产品所需的功能和动态行为。

二、活动者

确定活动者。活动者可以通过泛化关系定义。

1.       系统的主要客户是谁

2.       谁从该系统获取信息

3.       谁向系统提供信息

4.       谁来安装、操作该系统

5.       谁来关闭该系统

6.       在预定的时刻,是否有时间自动发生

7.       谁使用或删除系统中的信息

8.       系统从何处获得信息

三、用例描述

用例的描述其实是一个关于角色和系统如何交互的规格说明,该规格清晰明了,没有二义性。一般情况下,用例描述包括 用例的目标、用例是怎样被启动的、用例和活动者间的消息流、用例的多种执行方案、用例怎样才算完成并把值传给了活动者。用例描述可以使用用例模板来实现。

 

用例模板

用例名称              (用例名)

用例目标              (用例在系统中的目标)

级别                     (概要任务)

活动者                 (此用例的活动者)

状态

前提条件              用例执行前系统应具有的状态

置后条件              用例成功执行后系统应具备的状态

主路径                 用例主路径的名称

可选路径              用例的可选路径

例外路径              用例的例外路径

 

四、用例间的关系

用例除了与其活动者发生关联外,它们之间也存在一定的联系,包括泛化关系、使用关系、包含关系、扩展关系等。

五、用例建模

建立用例图一般可按以下步骤进行:

1.       确定系统的边界和范围,明确系统外部的活动者和外部系统。

2.       确定每个活动者所期望的系统行为。

3.       把这些系统行为作为系统的用例。

4.       把公共的系统行为分解为新的用例,供其它用例引用。把变更的行为分解为扩展用例。

5.       编制每个用例的剧本。

6.       绘制用例图。

7.       区分主业务流和异常情况的事件流。可以把表达异常情况的事件流的用例画成一个单独的子用例图。

8.       精化用例图。解决用例图的重复与冲突问题,简化用例中的对话序列。高层次的用例可以分解为若干下属子系统中的用例。

六、例子

在图书管理系统中,工作人员可以维护(增加、删除、更新)读者信息,可以维护书籍信息,读者可以通过图书管理员请求借书、还书和续借,读者可以登录并查询书籍和借阅信息。给出用例图。

 

 

    参考文献:

    [1] 唐学忠等著. UML面向对象分析与建模. 电子工业出版社. 2008

    [2] 蔡敏等著. UML基础与ROSE建模教程. 人民邮电出版社. 2006

    [3] Carlo Ghezzi等著. 施平安译. 软件工程基础(第2版) 清华大学出版社. 2003

    [4] 参考网站:

       http://www.omg.org/UML

       http://www.rational.com/UML

       http://www.software.ibm.com/ad/ocl

时间: 2024-11-10 07:37:05

UML面向对象分析与建模-【3】用例图的相关文章

UML面向对象分析与建模-【2】UML语言基础

  一.UML的主要内容 UML主要文件包括UML概要.UML语义.UML表示法指南和对象约束语言规约. 二.UML的主要特点 UML主要特点包括统一标准.面向对象.可视化及表示能力强大.独立于过程和容易使用掌握.UML不是一个独立的软件工程方法,而是面向对象软件工程方法中的一个部分.UML贯穿软件系统开发的需求分析.系统分析.系统设计.系统实现和测试五个阶段. 三.UML建模中9种图的特点 1.       用例图 用例图描述系统外部的活动者(角色)与系统提供的用例之间的某种联系.它着重从系统

UML面向对象分析与建模-【5】交互图

  一.概述 交互图是用来表达系统的各个对象之间如何交互,如何合作完成某个行为的动态模型工具,它与用例图.状态图.活动图等共同构成了系统的行为视图. 交互图主要用于对用例图中的控制流进行建模,它包括序列图和协作图,其中,序列图按时间次序描述系统中各对象如何通过消息交互,协作图从空间上描述收发消息的对象的结构关系. 二.序列图 序列图是一种交互图,描述了系统中各个对象之间传递消息的时间次序,用来表示用例的行为顺序,从而为对象类图中概括对象的行为.划分对象类的职责提供依据.它依赖与用例图,如果说用例

UML面向对象分析与建模-【6】状态图

  一.概述 在一般的面向对象技术中,状态图又称为状态迁移图.描述了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的迁移.大多数面向对象技术都使用状态图来描述一个对象在其生命周期中的行为. 二.状态 在所有动态图(序列图.协作图.状态图.活动图)中,消息是作为对象间的一种通信方式来表示的.消息包括简单消息.同步消息和异步消息.可以将一个简单消息和同步消息合并成一个消息. 在UML中,对于状态的定义着重于对象行为的规则,状态描述了一个对象生命周期中的一个时间段.它可以用三种附加方

UML面向对象分析与建模-【1】面向对象技术概述

    一.软件开发方法 常见的软件开发方法有面向过程的开发方法,面向数据结构的开发方法和面向对象的开发方法.其中面向过程的开发方法也称为面向功能的软件开发方法或面向数据流的软件开发方法.结构化方法强调过程抽象和功能模块化.它一般利用图形表达用户需求,使用的手段有数据流图.数据字典.结构化语言.判定表及判定树等.面向数据结构的开发方法适合于求解算法依赖于问题描述的数据结构之类的情况.这种方法最适合在完成了软件结构设计之后,用它来设计每个模块的处理过程.它根据问题的数据结构定义一组映射,把问题的数

UML面向对象分析与建模-【4】类图和对象图

  一.概述 UML的类图和对象图表达的是对象模型的静态结构方面. 类图描述的是一种静态关系,在系统的整个生命周期都是有效的.通过分析问题域和用例,就可以得到相关的类,然后再把逻辑上相关的类封装成包.这样就可以很好地体现系统的分层结构,使人们对系统层次关系一目了然. 对象图是类图的实例,它的表示方式与类图基本相似.它们的不同之处在于对象图显示类图的多个对象实例,而不是实际的类.一个对象图是类图的一个实例,对象图只能在系统的某一时间存在. 二.对象类 对象类简称类,是一种重要的分类器,用来描述结构

《面向对象分析与设计》一1.6关于统一建模语言UML

1.6关于统一建模语言UML UML最初是在多种面向对象分析与设计方法相互融合的基础上形成的,后来发展成为也可以用于业务建模以及其他非软件系统建模的语言.它于1997年11月被对象管理组织(Object Management Group)采纳为建模语言规范,随后被产业界和学术界广泛接受. UML定义了建立系统模型所需要的概念并给出了表示法,但它并不涉及如何进行系统建模.因此它只是一种建模语言,而不是一种建模方法.UML是独立于开发过程的,也就是说它可以适用于不同的开发过程. UML 2.4规范由

面向对象分析与设计—四色原型模式(彩色建模、领域无关模型)

面向对象分析与设计-四色原型模式(彩色建模.领域无关模型) 1.背景介绍 至今我都清楚的记得我第一次被面试官问起什么叫"建模"技术时的情景,那是好 几年前的事情了,当时是胸有成竹的去面试一个有关系统分析.设计的.NET高级软件工程师岗位.面试官几乎没问我有关.NET方面的任何技术实现,他就简 单的问了问:"你如何把握你所分析出来的系统的正确性?",我当时有点小激动,觉得这个问题应该很简单嘛,都是概念而已,让他直接点问,结果他来一句: "你懂建模吗?,能给我

.NET应用架构设计—面向对象分析与设计四色原型模式(彩色建模、领域无关模型)(概念版)

阅读目录: 1.背景介绍 2.问自己,UML对你来说有意义吗?它帮助过你对系统进行分析.建模吗? 3.一直以来其实我们被一个缝隙隔开了,使我们对OOAD遥不可及 4.四色原型模式填补这个历史缝隙,让我们真的看见OOAD的希望 5.在四色原型上运用彩色建模增强视觉冲击力 6.通过四色原型模式建模出领域无关模型 7.结束语:建模时你可以不考虑具体实现,但是建模者要懂技术实现 1.背景介绍 至今我都清楚的记得我第一次被面试官问起什么叫"建模"技术时的情景,那是好几年前的事情了,当时是胸有成竹

<二>面向对象分析之几个关键的概念

一:建模        --->建模,是指通过对[客观事物]建立一种抽象的方法用以表征事物并获得对事物本身的理解.同时把这种理解概念化,将这些逻辑概念组织起来,构成一种对所观察对象的内部结构和工作原理的便于理解的表达.        --->建模怎么建?首先要决定的是抽象角度,即建立这个模型的目的是什么?一旦抽象角度确定,剩下的事情就变得顺理成章,而不是杂乱无章.                例如"请在30秒说出尽可能多的勺子,筷子,盘子的相同点和不同点?