一、实验目的:
掌握面向对象分析中静态结构模型与动态行为模型的基本思想。学会识别系统中的类、类的属性和操作以及类之间的关系,掌握UML类图的绘制方法。了解时序图的作用和组成元素,掌握UML时序图的绘制方法。
二、实验仪器及实验环境:
计算机,Windows 7,MS Office Visio
三、实验原理:
面向对象分析方法中的静态结构模型与动态行为模型。
四、实验内容及结果:
1、根据实验三中某图书管理系统的问题域描述以及所创建的用例模型,从静态结构模型的角度来分析识别系统中可能存在的实体类、类的属性,以及类之间的关系,并绘制类图。
(1)在图书管理系统中,列举出主要的实体类,明确各个类的作用(职责),并列举出类中的一些主要属性:
实体类名称 | 属性 |
Reader读者 | r_id:借阅账号 r_name:读者姓名 r_type_id:(通过id来判断读者属于哪个类别) 读者类别编号 r_quantity:读者借阅的数量 r_tel:读者联系方式 |
Book图书 | b_id:图书编号 b_name:图书的名称 bt_id:图书的类别 b_publisher:图书的出版社 b_author:图书的作者 b_isbn:图书的ISBN号 b_price:图书单价 b_status:图书的借阅状态(在馆或借出) |
ReaderType读者类别 | rt_id:读者类别编号 rt_name:读者类别名称 rt_maxquantity:该类读者允许借阅的最大数量 rt_maxdays:该类读者允许的最多借阅天数 rt_fineperday:该类读者图书超期罚款每天缴纳金额 |
BookType图书类别 | bt_id:图书类别编号 bt_name:图书类别名称 |
Record借阅记录 | record_id:借阅记录编号 r_id:借阅账号 b_id:图书编号 outDate:图书借出日期 |
(2)识别以上实体类之间的关系,绘制类图:
2、绘制时序图:
储户使用银行ATM系统进行取款操作:从储户插入银行卡开始,按照提示输入密码,然后选择“取款”,输入取款数额,最后提出现金,退卡。ATM取款看起来是很简单的事情,但是整个过程中各个对象之间要涉及到一系列的消息通信。这里以储户使用ATM系统“取款”为例,以下给出了“取款”的场景描述:
- 1储户将银行卡插入ATM系统的读卡机insertCard();
- 2读卡机将信息传给客户管理acceptCard();
- 3客户管理提出查询密码checkPass();
- 4显示屏显示给储户需要输入密码inputPassRequest();
- 5储户在输入设备输入密码inputPass();
- 6输入设备将输入的密码传递给客户管理transPass();
- 7客户管理请求事务管理确认密码的合法性requestPassLegal();
- 8事务管理确认密码的合法性(消息返回)返给客户管理PassLegal();
- 9客户管理通过显示屏询问服务类别queryKind();
- 10显示屏要求储户输入服务类别请求showServiceRequest();
- 11储户输入(输入设备)取款请求inputTakeRequest();
- 12输入设备向客户管理发出取款请求takeRequest();
- 13客户管理提出(显示屏)取款金额queryMoney();
- 14显示屏向储户发出取款数额请求showMoneyRequest();
- 15储户输入(输入设备)取款数额inputMoney();
- 16输入设备将储户输入的数额传递给客户管理transMoney();
- 17客户管理确认取款数额返回给显示屏queryOK();
- 18显示屏呈现给储户确认信息showOKRequest();
- 19储户输入确认信息给输入设备inputOK();
- 20输入设备将确认信息传递给客户管理OKInformation();
- 21客户管理请求事务管理确认数额的合法性requestMoneyLegal();
- 22事务管理确认数额的合法性返回给客户管理moneyLegal();
- 23事务管理向点钞机发出出钞请求requestTake();
- 24点钞机出钞票outMoney();(点钞机自己向自己发出消息请求,消息调用)
- 25储户取出钞票takeMoney();(点钞机向储户发出)
- 退卡outCard();
- 26储户向输入设备:输入一个退卡请求inputoutcardrequest()
- 27输入设备发送给客户管理outcardrequest()
- 28客户管理向读卡机outcardrequest()
- 29读卡机出卡(读卡自己向自己发出消息请求,消息调用)outcard()
- 30读卡机向储户(读卡机提醒储户取卡)takecard()
在以上的“取款”场景中涉及到以下对象:“储户”、“读卡机”、“显示屏”、“输入设备”、“客户管理”、“点钞机”、“事务管理”。它们之间通过消息传递,使功能正常运行,绘制其时序图: