什么是用例图?
用例图是由参与者(Actor)、用例(Use Case)以及用它们之间的关系构成的用于描述系统静态视图的UML图(本定义摘自百度百科)。用例图能够展示系统外部的各类执行者与系统中用例的关系。
用例图有哪些组成部分?
从定义中我们就可以知道,用例图由参与者(Actor)、用例(Use Case)以及这两者之间的关系三部分组成,严格意义上来说,用例还包括系统边界,但用例与参与者分别处于系统内外,故它们之间隐含为系统边界,因而一般画图的时候可以省略系统边界。
参与者:参与者即处于系统外部,但与系统内部的功能单元有交互的个体,比如图书馆管理员、借书人都是图书馆管理系统的用例图中的参与者。需要注意的是,并非只有“人”才是参与者,还可以是设备、其他系统等,只要是与系统有交流的外部对象都属于参与者,所以,如果更深一步来分的话,还可以将参与者分为启动者(主动)和支持者(被动),启动者是用例的主要服务对象,支持者是对系统起支持作用的对象。
参与者通常用一个小人图形来表示,如图:
用例:用例是系统内部可见的一个系统功能单元(系统的功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的信息所表达),可以简单理解为系统中的一个功能,比如“查询功能”、“借书功能”、“还书功能”等就是一个图书馆管理系统中的用例,用例通常用一个椭圆来表达,如图:
关系:参与者与用例之间需要交换信息,所以它们之间的关系为通信关系,通常用一个箭头来表示,箭头方向为启动者指向用例,用例指向支持者。如图:
用例图的作用
1、用例图最主要的作用是描述用户的需求,即系统实现什么功能(不需要说明如何实现),因此用例图主要用于需求分析阶段。
2、用例图描述了谁是系统的参与者,系统需要为参与者提供什么样的服务,参与者需要为系统提供什么样的服务,便于用户对系统的理解,也便于开发人员对系统的实现。
用例图有什么特点?
1、用例图可以应用于整个系统,也可以应用于系统的一部分。
2、用例图是被称为“参与者”的外部用户所能观察到的系统功能的模型图。(《UML参考手册》)
从系统外部来描述系统能够提供哪些服务或具有什么样的行为
3、用例图列出系统中的参与者与用例,并描述了哪个参与者参与了哪个用例的执行(或称为发起了哪个用例)。
4、用例图多用于静态建模(主要是需求建模)。
用例图应用举例
下面举个学生考试系统的的小例子:
在这个简单的用例图中,“登录”、“考试”为考试系统中的用例,“学生”、“学生信息系统”为参与者(其中学生可以进行登录和考试操作,而学生的学号和密码都存在于学生信息系统中,所以考试系统需要学生信息系统的支持,故“学生”为启动者,“学生信息系统”为支持者)。
下面还简单画了一下机房收费系统的用例图:
初次涉猎,如有不足与缺漏,还望指点,感激不尽。