用例图是用户与开发人员交流的一种重要的方式,是对用户需求的一种描述。用例图主要有三种元素:参与者(Actor),用例,以及用例图中对象间到的关系。其中关系有包含、扩展是用例图中特有的,泛化在其他类图中同样存在。
1.包含关系:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含的关系来表示它们。其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例。其中“<>”是包含关系的构造型,箭头指向抽象用例。
包含用例一:
例如,在机房收费系统中“注册学生信息”和“充值”两个用例都需要操作员或者管理员登陆,为此,可以定义一个抽象用例“用户登陆”。用例“注册学生信息”和“充值”与用例“用户登陆”之间的关系就是包含关系。
包含用例二:
2.扩展关系
如果一个用例明显地混合了两种或者两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样可能会使描述更加清晰。扩展用例为基本用例添加新的行为。扩展用例可以访问基本用例的属性,因此他能根据基本用例中扩展点的当前状态来决定是否执行自己。而扩展用例对基用例不可见。
扩展用例一:
如机房收费系统中“维护学生信息”操作时如果发现信息有误或者更新则需要使用“修改学生信息”用例完成更新,所以用例“查询上机记录”和“导出EXCEL”之间的关系就是扩展关系。“<>”是扩展关系的构造型,箭头指向基本用例。
扩展用例二:
包含关系和扩展关系的联系和区别:
联系:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。
区别:扩展关系中基本用例的基本流执行时,扩展用例不一定执行,即扩展用例只有在基本用例满足某种条件的时候才会执行。
包含关系中基本用例的基本流执行时,包含用例一定会执行。
3. 泛化
当多个用例共同拥有一种类似的结构和行为时,可以将他们的共性抽象成为父用例,其他的用例作为泛化关系的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。其中三角箭头指向父用例。假如在机房收费系统的注册可以通过本地注册和网上注册。
包含关系和扩展关系的联系和区别:
联系:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。
区别:扩展关系中基本用例的基本流执行时,扩展用例不一定执行,即扩展用例只有在基本用例满足某种条件的时候才会执行。
包含关系中基本用例的基本流执行时,包含用例一定会执行。
3. 泛化
当多个用例共同拥有一种类似的结构和行为时,可以将他们的共性抽象成为父用例,其他的用例作为泛化关系的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。其中三角箭头指向父用例。假如在机房收费系统的注册可以通过本地注册和网上注册。