图书馆管理系统设计报告
1. 题目名称
图书馆管理系统
2. 题目简介
图书馆的图书管理如果需要人工管理则要耗费大量的人力物力。为提高图书馆管理的效率,现在建立图书馆管理系统。
本系统是面向学生和图书管理员两类用户开发的,用于对图书馆图书借阅与归还图书的管理。以账号和密码作为登陆依据。学生完成查看图书馆图书信息、查看自己借阅信息、借书和还书的功能。图书管理员完成修改图书信息和删除学生用户等功能。主要的功能如下:
- 用户登陆管理(查)
- 学生访问图书馆
- 图书管理员管理学生及用户
- 新用户注册
3. 需求分析
3.1 调查用户需求
客户的需求具体体现在各种信息的提供,保存,更新和查询。这就要求数据库的结构能充分满足各种信息的输入和输出。图书管理系统是基于学生借阅者,图书,管理员三者的满足三者的联系的系统,学生借阅者在该系统能方便查询,借阅书籍,图书信息应保存在该系统数据库中,管理员应方便管理学生与图书信息。现对各方面进行调查,需求如下:
借阅者:
在图书馆里,面对庞多的书籍,无法尽快找到自己所需要的书籍,也无法更具体了解图书馆图书的信息,该系统应可以满足借阅者对图书的各种查询功能。图书馆对书籍的借阅有一定限制:最多可以同时借阅几本,一本书的借阅时间,借阅期限,归还时间,更多时候,借阅者忘记了自己借阅某一本书的时间,想知道应该什么时候归还,还剩几天借阅时间,及仍可以借阅几本书籍。所以,该图书管理系统应可以满足这些条件,借阅者注册自己的账户,在该账户里,借阅者可以查询自己的具体借阅信息。
管理员:
对图书馆进行管理,主要包括对借阅者,图书的管理。
对图书的管理:应包括可以查询图书的信息(包括图书的种类,总数,每一种图书所包含的具体书籍,某书籍的信息,数量),查询图书的借阅情况(包括被借阅的书籍信息,借阅者的信息),当图书有变动时,还应有修改图书信息的权限。
对借阅者的管理:首先,应可以满足对借阅者借阅信息的查询,包括借阅者借阅的书籍,借阅的时间,应归还的时间等;其次,当借阅者存在借书不还的情况是,应可以查询到借阅这得个人信息,包括姓名,年纪,所属学院专业等。
3.2 数据库基本情况说明
图书管理系统数据库Library_Management由四个实体:借阅者实体,图书实体,管理员实体,图书种类实体组成,共六个表如下:
- 图书表:主要包括图书的信息,包括图书的id,书名,图书的种类,作者,出版社,数量。
- 图书借阅表:主要包括图书的借阅信息,包括所有的借阅图书,该图书信息,借阅者信息,借阅时间,剩余数量。
- 借阅者信息表:包括借阅者分别所借阅的书籍名字,书籍id,借阅者姓名,学号,年级,所属学院专业。
- 图书种类表:包括图书种类,种类数,每一种类分别所包含的书籍信息。
- 管理员:包括管理员的信息,姓名,账号id,教职工号。
- 图书归还表:主要包括图书的归还信息,包括所有的归还图书,归还时间,归还者信息。
3.3 系统功能设计和划分
用户注册:主要针对借阅者用户,借阅者用户需先注册账号,填写自己的个人信息,方便后期管理与信息检索。注册自己的账户之后,用户可登陆自己的账户进行借阅操作。
借阅者登陆借阅:借阅者登陆自己的账户之后,可进行查询操作,可查询自己的借阅信息,图书信息;可进行借书与还书。当用户借书后,系统先检索图书表确认有无该书,若有该书,则借阅成功,同时,图书表该书数量减一,借阅归还表增加该条借阅信息。
管理员后台管理:管理员可登陆自己的账户,进行信息的查询,删除,更改。查询图书的借阅归还表中的图书的借阅与归还信息,查询借阅者信息,查询图书信息,当增加图书时,可增加图书信息,当有意外情况时可删除图书信息,删除借阅归还表中的借阅信息,删除借阅者即用户信息。
3.4 数据字典
名称描述数据类型数据长度Sid学生IDCharacters(256)256Aid管理员IDCharacters(256)256Sname学生姓名Characters(256)256Ssex学生性别Characters(256)256Sage学生年龄IntSmajor学生专业Characters(256)256Sgrade学生年级Characters(256)256Spassword学生密码Characters(256)256Bid图书IDCharacters(256)256Bname图书名称Characters(256)256Bpress图书出版社Characters(256)256Bclassify图书类别Characters(256)256Bquantity图书数量IntBauthor图书作者Characters(256)256Aname管理员姓名Characters(256)256Aage管理员年龄IntAwork管理员工作Characters(256)256Atel管理员电话Characters(256)256Apassword管理员密码Characters(256)256Bdate借/还书日期DateBkname图书类别Characters(256)256Bkkind图书类别书Int
4. 概念模型设计
5. 逻辑结构设计
6. 数据库物理设计
7. 数据库实施
7.1 各表展示
图书表
学生表
图书种类表
管理员表
借阅表和归还表初始为空
7.2 查询
7.3 更新
学生借阅图书
变更后借阅表增加一条记录
管理员变更图书数量
变更前
变更后
7.4 删除
管理员删除学生
8. 设计总结
设计本数据库耗费了我们两个人大量的时间和精力。从刚开始的寻找课题到需求分析再到后面一系列的设计与数据库的实施和完善都需要两个人的通力合作。虽然我们一开始就做好了也项作业肯定是不容易的准备,可是还是没有想到会遇到那么多的困难。例如,需求分析时两人的意见不统一;数据库代码实现时不知道如何连接数据库等等许多问题。但是我们最后在合作的情况下终于克服了重重困难完成了数据库的设计与实施。至于我们两个人任务分工情况——基本的每个步骤都有共同参与。值得一提的是数据库VC访问的代码部分我们首次采用了工程的设计方式(以前设计程序都是直接全部放在一个源文件下)。采用工程设计更加方便我们的分工合作并且也让项目结构和逻辑更清晰。
对于我们本次设计的数据库,设计之初我们做了详细的讨论,仔细分析了需求并且在开始编写程序之前手绘了功能蓝图,这样让我们在进行设计数据库和编写程序时思路更清晰节省了大量的时间。这一点在以后课程学习中可以借鉴——首先要知道自己的目的,这样才能提高效率。同时我们深刻地理解了“1+1>2”的含义,每个的想法可能都有局限性,这个时间我们就需要和别人交流这样才能取得更好的效果。
虽然我们在这个图书馆管理系统上耗费了大量的心血,但是由于我们能力的有限和时间的仓促,因此它还是有很多不足的地方,例如在图书与学生多对多关系的处理上应该增加联系的属性来增强系统的可用性;在程序设计时应该考虑用户的实际使用体验增加GUI界面等等。
总之,完成这个数据库的设计让我们学习到了很多东西,同时也让我们认识到自己的不足和前进的方向。我们以后一定端正学习计算机的态度努力学习,争取为我国的计算机事业做一份贡献。
9. 部分核心代码展示
主函数
登陆检查
查询
更新
删除
版权归原作者 zqwlearning 所有, 如有侵权,请联系我们删除。