面向对象设计与分析图书管理系统.docx
- 文档编号:30325756
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:23
- 大小:821.92KB
面向对象设计与分析图书管理系统.docx
《面向对象设计与分析图书管理系统.docx》由会员分享,可在线阅读,更多相关《面向对象设计与分析图书管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
面向对象设计与分析图书管理系统
面向对象设计与分析图书管理系统(总20页)
华北电力大学科技学院
实验报告
实验名称图书馆管理系统的分析与设计
课程名称面向对象技术
专业班级:
学生姓名:
学号:
成绩:
指导教师:
实验日期:
一、图书管理系统需求描述
图书馆里有多种书目,每种书有多个副本,每个副本有唯一的编号。
每本图书借阅期限为60天,超期罚款,按天计算,每天元。
每个借阅者在系统中建立一个账户,并发放借阅证,账户中有用户名、证号、单位、存的现金数额,用于超期罚款,用户可以续费。
持借阅证的用户可以借书、还书,但这些操作要通过图书馆馆员来实现,每个借阅者可借10本书。
每次借阅会将特定的借阅者和书籍副本联系起来。
图书管理员还负责图书的书目管理,书籍副本管理,借阅者管理。
如果借阅证丢失,借阅证持有者应到图书馆前台挂失。
借阅证持有者可以预约图书,最多可预约3本(可以设定预约有效的期限),并在图书到达后得到电话通知,图书馆为其保留图书,3日内有效。
还可以取消预约。
二、需求分析
系统的功能需求主要包括以下几个方面:
1.这是一个图书馆管理系统。
2.借阅者需预先建立一个账户(账户中有用户名、证号、单位、存的现金数额),并领取借阅证,借阅者可以续费。
3.各种书目需预先注册。
每种书目有多个副本且每个副本有唯一的编号。
3.借阅者能够通过图书馆馆员借书、还书(每个借阅者可借10本书),每次借阅或归还都更新数据库信息。
4.借阅者可以通过网络查询书籍信息。
5.借阅者可以预约图书。
当他所预约的图书归还或购进时,就通知预定人。
图书馆为其保留3日预约书籍。
当预定某书的借书者借阅该书后,系统取消预约。
6.如果借阅者还书超过期限(60天),需扣款,按天计算,每天元。
7.图书馆馆员在软件系统的支持下处理借阅者的借书和还书请求。
8.系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加和删除书籍,增加、删除和更新借阅者帐户,挂失借阅证等。
7.系统能够运行在流行的技术环境中,并应有一个良好的人机交互图形用户界面。
8.系统容易扩展新功能。
系统将通过计算机来处理图书、副本、借阅者和借书。
借阅者要求借书,出示借阅证,查询该借阅者提供的借阅证是否满足借书要求。
如果满足,给出要借图书的名称,系统查找所借的图书是否存在副本,如果有,则办理借书手续(登记借阅信息)。
图书是存放在图书馆中的书的名称,副本是一个图书的具体实例。
一个图书可能有多个副本,一个副本一定会对应一个图书。
一次借阅必须记录一个图书的副本和一个借阅证信息。
一个副本可以被借阅,也可以不被借阅。
一个借阅证可以借多本书,也可以不借一本书。
一个借阅证可以进行多个图书名称的预定,也可以不进行预定。
一次预定必须记录一个图书名称信息和一个借阅证信息。
识别参与者
创建用例图之前首先需要确定参与者。
对于一个图书管理系统,基本的功能是完成图书的借阅和相关信息的管理,服务的对象有学生,教师,及其他学校的学生,还有社会人员,这些人可归结为一类即借阅者。
帮助借阅者顺利完成借还书的是图书馆馆员,负责图书的书目管理,书籍副本管理,借阅者信息管理的可以归结为一类即图书管理员。
因此对于一个图书管理系统主要有三类参与者,借阅者、图书馆馆员、图书管理员。
图书管理系统中的用例图简述
通过识别的参与者,对需求进一步分析,获得每个参与者的用例图:
(1)借阅者用例图:
主要描述用户注册,登录,用户查询、预约书籍,用户借书、还书,用户信息查看,修改时的相关操作,以及的相关信息。
读者用例图
【用例图说明】
(1)登录用例,用于登录系统,核实身份信息,给予借阅者的本系统相关操作权限。
(2)查询书籍用例,用于查询自己感兴趣的书籍,系统显示书籍的相关信息。
(3)预约书籍用例,用于记录自己想借阅的书籍,方便直接去图书管理员处借书。
(4)借书用例,用于读者向图书馆馆员借阅图书,从借书到取书的全过程。
其中包
括书籍续借用例,用于提供续借书籍的功能。
(5)还书用例,用于读者向图书馆馆员归还图书,记录借阅者还书的相关信息。
其
中包括丢失处理、逾期处理用例,用于借书超期和丢失读书时罚款的操作。
(6)查询、修改个人信息用例,用于查看自己的个人信息,修改密码等相关信息。
2图书馆馆员用例图:
图书馆馆员可以进行借书、还书处理。
图书馆馆员用例图
【用例图说明】
(1)借书处理用例,用于图书馆馆员把书借给借阅者,从借书到给书的全过程,包括查询书籍是否可借和检查借阅者借阅信息两个用例,用于判断该书是否可借和借阅者是否满足借阅条件的操作。
(2)还书处理用例,用于处理借阅者归还的图书,判断借阅者是否逾期,丢失图书,并执行相对应的操作。
3.图书管理员用例图:
图书管理员可以通过登录系统对系统的数据进行维护,如增加、删除和更新书目,增加和删除书籍,增加、删除和更新借阅者帐户,挂失借阅证等。
图书管理员用例图
【用例图说明】
(1)登录用例,用于登录系统,核实身份信息,给图书管理员本系统的所有操作权限。
(2)预约处理用例,用于处理借阅者预约图书的操作,包括通知预约者等。
(3)管理读者用例,用于管理借阅者的基本信息,实现对借阅者的增删查改功能,此外还包括处理借阅证挂失情况。
(4)管理书籍用例,用于管理书籍的基本信息,实现对书籍的增删查改功能。
更改数据库中的书籍信息。
图书管理系统用例1.借书用例
用例名称:
借阅者借书参与者:
借阅者、图书馆馆员
前置条件:
一个合法的图书馆馆员已经登录到这个系统
事件流:
A.扫描读者借阅证;
显示读者借阅信息;
If借阅者借阅图书达到10本 或 有出书超期未还
Then
给出相应提示;
Else
添加一条借书记录;
“图书信息表”中“现有库存量”-1;
“读者信息表”中“已借书数量”+1;
提示执行情况;
Endif
清空借阅者、图书编号等输入数据;
Endif
If 选择“退出”then
返回上一级界面;
Endif
返回A.等待输入下一条;
后置条件:
如果是有效借书,在系统中保存借阅纪录,并修改图书库存量和读者借书
数量。
2 还书用例用例名称:
借阅者还书参与者:
借阅者、图书馆馆员
用例描述:
当借阅者图书阅读完成时或者借阅期限到,应该通过图书馆馆员还书;假如逾期,还应附加缴纳罚款前置条件:
图书馆馆员要提前登陆系统,并打开外围设备仪器基本事件流
A.扫描归还图书条形码;
显示此次借阅信息;
If超期
then
提示,调用“计算超期罚款金额”;
Endif
If选择“确定”还书待输入下一条;
后置条件:
如果是有效还书,在系统中删除借阅纪录,并修改图书库存量和读者借
书数量。
3 预订用例用例名称:
借阅者预订图书参与者:
借阅者
用例描述:
借阅者可以通过系统预定自己想读的书,需要明确取书日期,系统接受预订
请求后,可以为读者查看是否可以预定
前置条件:
借阅者登陆系统
事件流:
A.借阅者登录系统;
显示读者借阅信息;
查询所要预约书籍;
显示该书信息;
If该书不在书库或概述已被预订或该书为不可借书籍;
Then
给出相应提示;
Else
添加一条预约记录;
“图书信息表”中“预约记录”+1;
“读者信息表”中“预约记录”+1;
提示执行情况;
Endif
If 选择“重新输入”then
清空读者、图书编号等输入数据;
Endif
If 选择“退出”then
返回上一级界面;
Endif
返回A.等待输入下一条; 后置条件:
如果是有效预约图书,在系统中保存预约纪录,并修改图书信息表和读者信息表预约记录。
活动图描述的是某流程中的任务的执行,当一个操作必须完成一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。
在本图书馆管理系统中,我们主要描述了图书馆系统的借书、还书和预订的活动图。
1.借书活动图
借书活动图说明:
图书馆馆员首先进入系统,之后要扫描阅者的借阅证,系统显示该借阅者信息,并判断该借阅者是否符合图书馆借书条件,若该借阅者的借书数量还未达到最大规定数量,并且其所借书籍均未属于过期范围,则符合借书条件。
则再扫描书籍条形码,检查书籍是否是不可借书籍或者已经被预订,若被预订,则也为不可借书籍。
在这些条件都符合时,则更新书籍信息和借阅者的借阅信息,记录好借书的时间。
2、还书活动图
还书活动图说明:
图书馆馆员对书籍进行扫描,系统显示此次借阅信息,若书籍已经过期,则要求读者还清欠款才能还书,读者缴应交罚款后,才可以更新书目信息和读者信息。
3 预订图书活动图
预订书籍活动图说明:
读者先进入系统查询自己所需要的书籍,显示书籍信息,检验书籍是否属于可预订书籍,若符合条件则检查书籍是否已经被预订或已经被外借,若都未成立,则读者对该书籍进行预订。
三、系统分析
1.对系统静态结构建模
类图的生成
(1)借阅者基本信息类
主要用于描述借阅者基本信息的类,它的属性包括借阅者的借阅证编号、姓名、密码、性别、年龄、地址、联系电话、所借书籍的书目、借阅数量、状态等。
其中主要操作有借书,还书和预订等。
2) 读者的借书还书信息类
主要用于描述读者的借书还书信息记录的类,它的属性包括借阅信息ID、读者ID、图书在数据库中的信息、借书时间、还书时间
3) 书籍基本信息类
主要用于描述书籍基本信息的类,它的属性包括书籍的编号(book_id)、名称(name)、作者(author)、出版社、价格、图书ISBN编号、书籍数量等
4) 读者类别信息类
主要用于描述读者类别信息的类,它的属性包括读者类别ID、类别名、最大借书数量(我设置的10本)、最大借书天数(我设置的60天)、逾期每天应缴金额
5) 书籍类别信息类
主要用于描述书籍类别信息的类,它的属性包括书籍类别ID、类别名
7) 读者预定图书信息类
主要用于描述读者预定图书信息的类,它的属性包括预定图书ID、书籍的名称(Books)、读者ID、图书在数据库中的信息、预定时间等
(8)图书管理员类是系统管理员类,他有图书管理员账号,名字,密码等属性,操作主要是书籍的增删改和读者的增删改等等。
10 某本具体书类是具体某本书副本的类,属性包括书籍号,书籍名称,书籍状态。
操作包括预订、按书目查找等。
9数据库信息存储类是书籍永久的存储类,在数据库中的存储数据,其他对与书籍有关的活动都要经过其存储类。
图书馆管理系统的类图如图9所示
2.对系统的动态行为建模
我们再进行动态建模分析。
对于图书管理系统借书还书是两个重要的过程,此外还有罚款过程。
(1)借书的过程:
借阅者凭借阅证进入图书馆,或者先查询图书及个人借阅信息,或者直接去挑选图书,选择好图书后进入借书程序,图书馆馆员首先进入系统,之后要扫描借阅者的借阅证,查验能否借阅,比如:
借阅证是否无效或书籍是否已经借满等,即检验其借书的合法性和有效性,如果是非法用户或借书数量范围外,则该借阅者不能借阅图书。
如果满足借阅要求,则再获取所借书的标题以进行库内搜索,获取书目查询此书的数量,看是否还有此书,如果没有则阻止其他借书者可能进行的预订活动,将此书借出,根据书号将此书的借阅标志位取反以表示此书已借出,并将此书的书目减1。
并为此读者记录借阅日期,以及归还日期,在归还日期内未能归还和续借的,并为其记录超借天数及罚款数额。
还书过程:
在返还图书的过程中,图书管理员对书籍进行扫描,获取借阅者的借阅信息和被归还的书籍的信息,如书标题信息,数量等,并一一审核每本书的归还日期是否超过应归还日期。
在完成阶段,将此书的书号登记并设计标志位为已归还,以便借阅者网上预订和继续借阅,同时将此类图书副本的数量加1,如果借阅者超期或丢失所借书籍,则要进行赔偿处理。
罚款过程:
图书馆馆员对书籍进行扫描,若发现书籍已经超过了图书馆规定的还书期限,则按每天一定金额进行罚款,过期天数和罚款金额由系统自动计算。
用户交完罚金后,则对借阅者借阅信息进行更新。
系统的状态图
图书馆的书籍状态图如图所示。
【状态图说明】
书籍处于在库状态时既可以预订也可以外借,外借后变为借出状态。
处于预订状态时也可以外借,超出预订时间期限则从预订状态直接转为可用状态。
借阅者在规定的预订时间内也可以考虑取消预订,取消预订后书籍的状态转为可用。
外借书籍归还后变为可用状态。
书籍丢失要进行相应的赔偿处理。
借阅者的状态图
四、系统设计
数据管理部分设计
(一) 书籍类别(书籍类别编号,类别名称)
(二) 借阅者信息实体(借阅证号,姓名,性别,登记时期,读者类别)
(三) 书籍(书籍编号,书籍名称,书籍类别编号,作者,出版社,出版日期,价格,登记日期,是否可借)
(四) 借阅(借阅证号,书籍编号,借阅时间时间,应还时间)
(五) 还书(借阅证号,书籍编号,还书时间)
(六) 罚款(借阅证号,姓名,书籍名称,书籍编号,借阅时间,应还时间,还书时间,罚款金额)
(七) 读者类别表(读者类别编号,读者类别名称)
定义并描述了各个类后,我们可以根据实际情况引入包来管理类。
五、总结
在这次课程设计中,由于自己的理论水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题,甚至错误,不过在互联网和老师的帮助下都得以解决,通过这次课程设计,我们分别画了用例图,类图,顺序图,状态图,包图和部署图。
这期间我们学会了用starUML软件画图,在图中正确绘制各种图形元素,表示元素间的相互关系。
熟练的掌握了这个软件的操作,提高了我们自身的实际操作能力。
同时,在软件开发方面也积累了不少经验,对软件工程的知识重要性的认识更深了,懂得了面向对象的基本思想。
通过这次课程设计的锻炼,自己分析问题和解决问题的能力都得到了锻炼和提高,完善了自己的知识结构,加深了对所学知识的理解。
在今后的学习中,我会做到取长补短,不断学习新的知识,吸取经验,达到进步的目的。
在学和做的过程中自身的努力以及相关图书馆资料的帮助,也让我对数据库的知识运用也有了进一步的了解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 设计 分析 图书 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)