1.用例图的目标
从外部描述开发系统的功能即从用户的角度用图形的形式描述出整个系统。
2.如何画出用例图
用例图需要确定两部分的内容:用例 角色
2.1.用例
用例:描述实际参与者与系统交互的方式。
基本用例:一种简化、抽象且通用的用例,它以独立于技术和实现的方式描述用户的意图。基本用例是一种 结构化的叙述,用应用程序领域和用户的语言来表达,它包含对任务或交互的简化、通用、抽象、与技术无 关且独立于实现的描述。
说明白一点,我就讲用例理解为功能中的模块,将基本用例理解为具体的功能。
2.1.2如何进行用例分析?
过程和我们在进行需求分析的方法很类似,就是一个由粗到细的逐步细化的过程,从而形成一张用例图。
用例强调有两点:
第一点:一组场景,在场景中又可以分出许多的小的场景即一些小的子用例,子用例在进行细分,这样一步一步 的进行下去。
第二点:参与者与系统功能的交互,用例是系统的功能。那么大多数用例对应着一个或者多个参与者。
2.2.角色
参与者给人最直接的认识就是操作这个系统的人。更准确的说应该是操作这个系统的角色。用例图需要描述的 是系统中每个场景的每一步操作以及操作者是谁。需要注意的是操作者不是具体的某一个人而是一类人,他们具 有相同的职责即完成相同的功能。
2.2.1在一个系统中如何抽象出角色呢?
概括的说角色包括:外部输入信息者和内部输入信息者
分析系统角色的原则:
1.有哪些直接使用系统的人
2.涉及到哪些维护人员
3.系统使用哪些外设--比如说打印机 传真机
4.需要和系统相连的系统
2.3.关系
在用例图中涉及到的关系有关联,泛化,依赖
2.3.1.用例和用例之间两种关系:包含与扩展
1.包含:包含关系表示一种从属关系,即子用例是主用例中相对独立的、必须调用的一部分功能。其实就是 一种使用关系在绘制用例关系时,包含关系应绘制成从主用例指向子用例的虚线箭头,并标注为“include”, 表示主用例包含子用例;
2.扩展:表示一个功能是对另一个功能的扩展,即被扩展功能不一定调用扩展功能,但扩展功能是对被扩展功 能的加强与延伸。扩展关系应绘制成从扩展用例指向被扩展用例的虚线箭头,并标注为“extend”,表示扩展 用例是对被扩展用例的扩展。
从上述两种关系的描述中可以得知:包含表示的是一种依赖关系,而扩展表示的是一种非依赖关系。
2.用例和角色之间:关联
参与者与用例之间是一种关联关系,即实线表示。
从外部描述开发系统的功能即从用户的角度用图形的形式描述出整个系统。
2.如何画出用例图
用例图需要确定两部分的内容:用例 角色
2.1.用例
用例:描述实际参与者与系统交互的方式。
基本用例:一种简化、抽象且通用的用例,它以独立于技术和实现的方式描述用户的意图。基本用例是一种 结构化的叙述,用应用程序领域和用户的语言来表达,它包含对任务或交互的简化、通用、抽象、与技术无 关且独立于实现的描述。
说明白一点,我就讲用例理解为功能中的模块,将基本用例理解为具体的功能。
2.1.2如何进行用例分析?
过程和我们在进行需求分析的方法很类似,就是一个由粗到细的逐步细化的过程,从而形成一张用例图。
用例强调有两点:
第一点:一组场景,在场景中又可以分出许多的小的场景即一些小的子用例,子用例在进行细分,这样一步一步 的进行下去。
第二点:参与者与系统功能的交互,用例是系统的功能。那么大多数用例对应着一个或者多个参与者。
2.2.角色
参与者给人最直接的认识就是操作这个系统的人。更准确的说应该是操作这个系统的角色。用例图需要描述的 是系统中每个场景的每一步操作以及操作者是谁。需要注意的是操作者不是具体的某一个人而是一类人,他们具 有相同的职责即完成相同的功能。
2.2.1在一个系统中如何抽象出角色呢?
概括的说角色包括:外部输入信息者和内部输入信息者
分析系统角色的原则:
1.有哪些直接使用系统的人
2.涉及到哪些维护人员
3.系统使用哪些外设--比如说打印机 传真机
4.需要和系统相连的系统
2.3.关系
在用例图中涉及到的关系有关联,泛化,依赖
2.3.1.用例和用例之间两种关系:包含与扩展
1.包含:包含关系表示一种从属关系,即子用例是主用例中相对独立的、必须调用的一部分功能。其实就是 一种使用关系在绘制用例关系时,包含关系应绘制成从主用例指向子用例的虚线箭头,并标注为“include”, 表示主用例包含子用例;
2.扩展:表示一个功能是对另一个功能的扩展,即被扩展功能不一定调用扩展功能,但扩展功能是对被扩展功 能的加强与延伸。扩展关系应绘制成从扩展用例指向被扩展用例的虚线箭头,并标注为“extend”,表示扩展 用例是对被扩展用例的扩展。
从上述两种关系的描述中可以得知:包含表示的是一种依赖关系,而扩展表示的是一种非依赖关系。
2.用例和角色之间:关联
参与者与用例之间是一种关联关系,即实线表示。
3.角色和角色之间:泛化
泛化关系实际上就是一种继承关系。
上图就是一张简单的用例图
reader---角色
borrow books,return books和identity---用例
reader和borrow books,return books之间是关联的关系;borrow books,return books和identity是包含关系(一种依赖关系)