课程视频:https://ke.qq.com/course/272905?flowToken=1006066
用例图的概念
用例模型描述的就是外部参与者所理解的系统功能。画好用例图是由软件需求到最终实现的第一步。
用例图的元素-用例(use case)
用例是系统执行的功能或过程,它可以由外部对象或系统内部另一个用例启动。从本质上讲,一个用例是参与者与计算机之间的一次典型交互作用。
用例图的元素-参与者(Actor)
参与者是系统外部的一个实体(可以是任何事物或人),它以某种方式参与了用例的执行过程
用例之间的关系
用例除了与其参与者发生关联外,还可以参与系统中的多个关系,这些关系包括:泛化(Generalization )关系、包含(Include)关系和扩展(Extend)关系。
关联关系
关联关系表示参与者用例之间进行通信,连接执行者和用例,表示该执行者所代表的系统外部实体与该用例所描述的系统需求有关。
包含关系
虽然每个用例的实例是独立的,但是一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这称做包含关系。
在UML中,包含关系表示为虚线箭头加<<include>>字样,箭头指向被包含的用例
扩展关系
一个用例也可以被定义为基础用例的增量扩展,这叫做扩展关系。同一个基用例的几个扩展用例可以在一起应用。基用例的扩展加强了原有的语义。
在UML中,扩展关系表示为虚线箭头加<<extend>>字样,箭头指向被扩展的用例(即基础用例)
泛化关系
一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。子用例表示父用例的特殊形式。子用例从父用例处继承行为和属性,还可以添加行为或覆盖、改变已继承的行为。
实例-图书管理系统中的用例图
图书馆工作人员处理借书、还书、预订等的用例
处理书籍借阅
处理书籍归还
删除预订信息
如何识别参与者
谁将使用该系统的主要功能?
谁将需要该系统的支持以完成其工作?
谁将需要维护、管理该系统,以及保持该系统处于工作状态?
与系统交互的是什么系统?
谁或什么系统对本系统产生的结果感兴趣?
如何识别用例
特定参与者希望系统提供什么功能?
系统是否存储和检索信息?如果是,这个行为由哪个参与者触发?
当系统改变状态时,通知参与者吗?
存在影响系统的外部事件吗?
是哪个参与者通知系统这些事件?
总结
理解用例图的概念
理解掌握用例图中的元素
如何识别用例
理解掌握用例之间的关系
完整内容请移步至视频:https://ke.qq.com/course/272905?flowToken=1006066