图书管理系统用例建模报告用例图类图时序图.docx
《图书管理系统用例建模报告用例图类图时序图.docx》由会员分享,可在线阅读,更多相关《图书管理系统用例建模报告用例图类图时序图.docx(10页珍藏版)》请在冰豆网上搜索。
图书管理系统用例建模报告用例图类图时序图
软件系统分析与设计
实验报告
学ﻩ院:
计算机科学与技术学院
ﻩﻩ专ﻩﻩ业:
软件工程
学ﻩ号:
*********
姓名:
***
实验名称:
图书管理系统用例建模
时ﻩ间:
一、实验内容与要求
本实验要求学生对学校的图书馆管理系统进行需求分析,对系统功能进行用例建模,画出用例图,类图以及相应的时序图.在使用UML对系统建模时,学会使用UML建模工具,
熟悉工具中的功能。
二、用例分析
1、读者“借书还书系统" 用例图
1.1、行为者:
主要行为者:
读者。
1.2、前置条件:
读者进入图书管理系统。
1.3、事件流:
1。
3。
1、主要事件流:
1.3。
1.1:
读者检索所需图书信息,并查看;
ﻩ1.3.1.2:
读者检索到所需图书,登录系统,开始借书;
ﻩﻩ1.3。
1.3:
系统查询图书信息,图书数目是否可借;
ﻩﻩ1.3.1.3。
1:
图书显示可借,借书成功;
ﻩ1.3.1.3.2:
图书显示不可借,借书失败;
1.3.1。
4:
进入续借图书界面,续借图书;
1.3.1.5:
系统查看预约记录,
1.3.1.5。
1:
没有冲突,续借成功;
1。
3。
1.5.2:
有冲突,续借失败;1.3.3。
1:
ﻩ1.3.1。
6:
读者归还图书;
ﻩﻩ1.3。
1.6。
1:
归还时间没有逾期,归还成功;
ﻩﻩﻩﻩ1。
3。
1.5。
2:
归还时间逾期,逾期处罚,归还成功;
1。
3。
2、备选事件流:
ﻩﻩ1.3.2.1:
图书检索信息失败,未检索到图书,重新输入信息检索;
1.3.2.2:
未曾检索到用户检索的图书,系统显示相关联的信息的图书;
ﻩ1.3.2.3:
用户名或密码输入错误,登录系统失败,重新输入用户名或密码登录;
1。
3.2。
4:
系统显示图书不可借后,进入图书预约界面,输入信息预约图书;
1.3.3、异常事件流:
1.3.3.1:
读者登录系统失败,未曾注册用户;
1.3。
3.1.1:
返回系统注册用户后,重新登录。
1.4、后置条件:
退出系统。
1.5、
1.6、扩展点:
无。
2、“图书信息管理系统"用例图
2.1、行为者:
主要行为者:
管理员;
2.2、前置条件:
管理员打开图书信息管理系统;
2。
3、事件流:
ﻩ2.3。
1:
主要事件流:
2.3.1.1:
图书管理员输入管理员登录信息,登录系统;
ﻩ2。
3.1.2:
进入图书信息管理界面,查看已有图书信息,是否有需要购入图书;
ﻩﻩﻩ2.3.1。
2.1:
录入新购进图书信息,并确认;
2.3.1。
3:
进入读者信息管理界面,管理已有用户信息;
ﻩ2.3.1。
4:
进入信息通知界面,查看已有用户图书借阅、预约情况;
2。
3.1.4.1:
查看读者所预约图书,自动查询图书信息,确认是否已有可借图书,有则通知读者;
ﻩ2.3.1。
4。
2:
查询读者已借图书信息,根据已借时间及归还时间分类;
ﻩﻩﻩ2。
3。
1.4.2.1:
所借图书即将逾期,启动系统提醒功能;
ﻩﻩﻩ2.3。
1.4.2.2:
所借图书已经逾期,启动逾期及处罚通知功能;
ﻩ2。
3.2:
备选事件流:
ﻩ2。
3。
2.1:
管理员用户名或登录名错误,重新登录;
2.3.2。
2:
需要购进新图书,存储信息,通知相关人员;
ﻩﻩ2.3.2。
3:
读者预约图书没有可借图书,不予通知;
ﻩ2.3。
2.4:
预约通知提醒后,删除该预约记录;
ﻩ2.3.2。
5:
读者所借图书距离归还时间仍很久,无需通知;
2。
3.3:
异常事件流:
2.3.3。
1:
登录失败超过一定次数后,系统冻结该用户名,一段时间后可以重用;
2.4、后置条件:
退出系统;
2.5、扩展点:
无。
三、“图书管理系统"类图及关系
1、阅读者信息类:
ﻩ
1.1、类名:
阅读者信息〈〈父类>〉;
1。
2、属性名:
1。
2.1、private:
ID<<阅读者证件号〉〉ﻩ 类型:
String;
1.3、方法:
未定。
2、读者类:
2.1、类名:
读者<<子类〉>;
2。
2、属性名:
1。
2.1、private:
ID〈<阅读者证件号>〉ﻩ类型:
String;
2.3、方法:
未定。
3、管理员类:
3.1、类名:
管理员〈<子类>>
3.2、属性名:
1。
2.1、private:
ID<<阅读者证件号〉>ﻩ类型:
String;
3。
3、方法:
未定。
4、Book类:
4。
1、类名:
book
4.2、属性名:
4.2。
1、private:
书号〈<图书编号>〉ﻩﻩ类型:
String;
4.2。
2、private:
书名<<图书名〉>ﻩﻩﻩ类型:
String;
4.2.3、private:
出版号<<图书出版编号>〉ﻩ类型:
String;
4。
2.4、private:
出版社名<<图书出版社名>〉 类型:
String;
4.2.5、private:
作者<<图书作者姓名>> ﻩ类型:
String;
4。
3、方法:
未定。
5、Copy_book类:
5。
1、类名:
copy_book;
5.2、属性名:
5.2.1、private:
书号〈<图书编号〉>ﻩﻩ类型:
String;
5.2.2、private:
书名<〈图书名〉> ﻩ类型:
String;
5。
2.3、private:
出版号<<图书出版编号〉>ﻩ类型:
String;
5。
2。
4、private:
出版社名<<图书出版社名〉>ﻩ类型:
String;
5.2。
5、private:
作者<<图书作者姓名〉>ﻩ类型:
String;
5.2。
6、private:
count〈<图书数量〉> ﻩ类型:
String;
5.3、方法:
未定。
6、借还书记录类<<关联类>>:
6.1、类名:
借还书记录;
6.2、属性名:
6.2。
1、private:
书号<<图书编号>〉ﻩﻩ类型:
String;
6。
2.2、private:
书名<〈图书名〉〉ﻩ类型:
String;
6。
2.3、private:
读者姓名<〈>> ﻩﻩﻩ类型:
String;
6.2。
4、private:
出版社名〈〈图书出版社名>> ﻩ类型:
String;
6.2.5、private:
作者〈〈图书作者姓名>> ﻩﻩ类型:
String;
6。
2.6、private:
borrowdate<〈所借图书日期>> 类型:
Date;
6。
2.7、private:
due_Date<<图书应还日期〉>ﻩﻩ类型:
Date;
6。
2.8、private:
real_Date<〈图书实还日期>>类型:
Date;
6。
3、方法:
6.3.1、private:
getDate()ﻩﻩﻩ返回值:
Date;
ﻩﻩ6。
3.2、private:
isOverDate()返回值:
bool;
ﻩ6.3.3、private:
opname()返回值:
void;
7、预约类:
7。
1、类名:
Reservation;
7.2、属性:
ﻩ7。
2.1:
private:
书名<<预约书名〉>ﻩﻩ类型:
String;
7。
2。
2:
private:
作者<<图书作者〉>ﻩ类型:
String;
7。
2。
4:
private:
读者ID〈<预约者ID>〉ﻩﻩﻩ类型:
String;
7。
2。
4:
private:
预约时间〈<预约时间>〉ﻩﻩﻩ类型:
Date;
7.3、方法:
未定。
四、图书管理系统时序图及分析
1)、时序图内容
时序图是显示对象之间交互的图,这些对象是按时间顺序排列的。
该图书馆管理系统主要含有以下几个重要的时序图,其他对象的时序图和这些类似。
1、借书时序图;
2、还书时序图;
3、预约时序图。
2)、时序图分析
1、借书时序图
【借书时序图说明】
1、login():
读者将需借书目交给管理员,管理员登陆系统。
2、show_reader():
显示读者的信息的函数。
3、check():
验证读者是否有借书的权利。
4、borrow():
读者借书函数.
5、getreader():
获取读者信息的函数。
6、check():
检验读者是否符合借书条件函数。
7、getbookinf():
获取书目信息函数。
8、check():
检查书籍是否被预约的函数.
9、isBorrow():
返回未被预约函数。
10、builtinf():
建立借阅信息函数.
11、isBorrow():
返回借阅信息函数。
12、isBorrow():
返回借阅成功函数.
13、isBorrow:
借阅成功,将书交给读者.
借书时,读者先将书拿予管理员,管理员对书籍和读者进行检验,若书籍和读者都符合借书条件,则借书成功。
2、还书时序图
【还书时序图说明】
1、login():
读者将书籍交给管理员,管理员登录系统.
2、getbookinf():
管理员扫描条形码,获取书籍信息函数。
3、getborrowinf():
获取借阅信息函数。
4、getborrowDate():
获取借阅时间函数。
5、getnowDate():
获取现在时间函数.
6、isOverDate():
是否超出借阅时间函数。
7、work():
处理函数,处理时间差.
8、return:
消息返回.
还书时,读者先将书交给管理员,由管理员扫描书籍,若书籍没有过期等违规现象,还书成功。
3、预约时序图
【预约图书时序图说明】
1、login():
登录系统。
2、getbookinf():
获取图书信息函数。
3、check():
检查是否有图书可借函数.
4、reservation():
确定预约图书函数。
5、getboook():
获取预约图书信息函数.
6、built():
建立预约信息函数.
7、return:
消息返回。
读者在借书时,发现自己所需要借的书目无法借阅,进入预约界面,建立预约记录。