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