一、实验目的:
掌握面向对象分析中用例建模的基本思想,学会识别参与者和用例,掌握UML用例图的绘制方法,学会编写用例说明;了解活动图的作用和组成元素,掌握UML活动图的绘制方法,学会使用活动图来描述用例的事件流。
二、实验仪器及实验环境:
计算机,Windows 7,MS Office Visio
三、实验原理:
面向对象分析方法中的用例模型。
四、实验内容及结果:
根据以下题目中的问题描述,使用面向对象分析方法建立系统的用例模型,绘制用例图,编写用例说明,并绘制活动图描述用例的事件流。
题目:某图书管理系统主要涉及图书信息管理、读者信息管理、图书借阅管理等方面。该系统的用户为图书管理员和读者,他们在使用系统时各自拥有不同的权限。
在图书管理系统中,图书管理员要为每个读者建立借阅账号,用于记录读者的基本信息和图书借阅信息;读者的账号建立成功后,图书管理员要给读者发放借阅证,这时读者就可以凭借该借阅证进行图书的借阅,或是通过网络进行图书信息的查询和浏览。
当读者借书时,需要出示借阅证给图书管理员,图书管理员输入读者的借阅账号,以验证借阅证的有效性以及是否达到了最大借阅量。如果无效,则系统给出提示信息,比如,“账号无效”或“已借满,不能再借”等;如果有效,则显示读者的基本信息以及该读者的借阅记录。读者提出借阅申请后,图书管理员对所借阅的图书逐一进行登记。
当读者还书时,也需要对借阅证进行有效性验证。如果无效,则系统给出相应的提示信息,验证通过后,显示读者的基本信息和借阅记录;读者向管理员归还图书,管理员输入图书编号,验证无误后,则删除读者对该书的借阅记录,如果所还图书超期,则读者需要缴纳罚款。
当发生图书信息变更时(例如,有新书入库,或是某图书损坏严重不能再使用),则图书管理员需要进行新增图书信息或是删除图书信息。同理,当有新增的读者,或是有读者要注销时,也要做相应的处理。
根据以上图书管理系统的问题域描述,该图书管理系统中包含的主要功能有:图书信息管理、读者信息管理、图书借阅管理三部分。其中,图书管理员能进行新增图书信息、删除图书信息、修改图书信息、查询图书信息、新增读者信息、删除读者信息、修改读者信息、查询读者信息、登记借书、登记还书等操作。读者可以进行查询浏览图书信息、查询个人的基本信息、查询个人的借阅记录等操作。
1、识别参与者(也称角色):
谁使用系统的主要功能? | 图书管理员、读者 |
谁需要使用系统以完成其日常工作任务? | 图书管理员 |
谁负责维护和管理系统并保持系统正常运行? | 运维人员 |
系统需要处理哪些硬件设备? | 图书借书、还书信息录入设备 |
系统需要与哪些外部的其他系统进行交互? | 微信、支付宝等的信息识别认证系统 |
谁对系统运行产生的结果感兴趣? | 图书管理员、读者 |
2、识别用例:
(1)图书管理员可以进行哪些操作:
新增图书信息、删除图书信息、修改图书信息、查询图书信息、新增读者信息、删除读者信息、修改读者信息、查询读者信息、登记借书、登记还书
(2)读者可以进行哪些操作:
查询浏览图书信息、查询个人的基本信息、查询个人的借阅记录
3、绘制用例图:
4、用例说明:对上述用例模型中的以下4个用例进行用例说明。
(1)“登记借书”用例说明:
用例名称: | 登记借书 |
描述: | 管理员通过有效的读者借阅账号,判断是否达到最大借阅量,如果没有达到,生成并添加读者的借阅记录 |
参与者: | 图书馆管理员 |
前置条件: | 用例开始前,图书管理员必须在系统登陆成功 |
事件流: | 见泳道图1 |
后置条件: | 如果用例执行成功,图书管理员可以看到读者的个人信息和借阅信息,系统中增加一条该读者对图书的借阅记录,否则借阅记录始终保持不变。 |
(2)“登记还书”用例说明:
用例名称: | 登记还书 |
描述: | 管理员通过有效的读者借阅账号和图书编号,删除读者对于该书的借阅记录。如果所还图书超期,则读者需要交纳罚款 |
参与者: | 图书管理员 |
前置条件: | 用例开始前,图书管理员必须在系统登录 |
事件流: | 见泳道图2 |
后置条件: | 如果用例执行成功,则图书管理员可以看到读者的个人信息和借阅记录,同时系统删除该读者对该图书的借阅记录,如果用例执行不成功的话, |
(3)“新增读者”用例说明:
用例名称: | 新增读者 |
描述: | 管理员获取读者的个人信息后建立借阅账号,用于记录读者的基本信息和图书借阅信息,并向读者发放借阅证 |
参与者: | 图书管理员 |
前置条件: | 用例开始前图书管理员必须在系统成功登录 |
事件流: | 见泳道图3 |
后置条件: | 如果用例执行成功,则将新增读者的借阅账号放入到系统中,否则系统中的借阅账号保持不变 |
(4)“删除读者”用例说明:
用例名称: | 删除读者 |
描述: | 管理员获取读者的借阅账号,检查该读者是否有未归还的图书借阅记录之后,删除该借阅账号 |
参与者: | 图书管理员 |
前置条件: | 用例开始前,图书管理员必须在系统中成功登录,判断读者账号中借阅记录是否为空 |
事件流: | 见泳道图4 |
后置条件: | 如果用例执行成功,则在系统中删除该读者的借阅账号,否则系统中的借阅账号保持不变 |
5、绘制活动图(或者泳道图):分别对以上4个用例的事件流使用活动图或者泳道图来描述。
图1:
图2:
图3:
图4: