图书借阅管理系统.docx

上传人:b****8 文档编号:10283607 上传时间:2023-02-09 格式:DOCX 页数:19 大小:549.03KB
下载 相关 举报
图书借阅管理系统.docx_第1页
第1页 / 共19页
图书借阅管理系统.docx_第2页
第2页 / 共19页
图书借阅管理系统.docx_第3页
第3页 / 共19页
图书借阅管理系统.docx_第4页
第4页 / 共19页
图书借阅管理系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

图书借阅管理系统.docx

《图书借阅管理系统.docx》由会员分享,可在线阅读,更多相关《图书借阅管理系统.docx(19页珍藏版)》请在冰豆网上搜索。

图书借阅管理系统.docx

图书借阅管理系统

农业大学

课程设计报告

课程名称:

动态课程设计

 

设计题目:

图书借阅管理系统

专业:

计算机科学与技术09级1班

学生姓名:

学号:

小组成员:

指导教师:

王轩慧

实习地点:

 

完成时间2012年9月10日

1系统概述

1.1开发背景及意义

图书管理系统在实际中应用广泛,例如所有大型图书馆或者高校的图书馆都必须配备一套完整的图书管理系统,甚至部分小学也需要一个图书管理系统。

它主要对一个学校的图书馆或者其他类型的图书相关业务部门的所有图书信息进行管理。

图书借阅管理系统是图书管理系统的一个子系统,它主要完成对书籍的借出与归还的管理。

1.2系统分析

1基本功能

高校图书借阅管理系统的基本功能包括借书管理,还书管理,书籍和用户信息管理,以及图书信息检索等及格方面

2用户分类

对于一个管理系统,首先就需要管理人员对数据库进行管理,其次应该对老师和学生的使用权限进行管理,同时可以对用户资料进行维护。

3书籍信息

应该保存书籍的书名、作者、出版社等信息,以供用户查询。

4信息查询

读者应该可以登陆到系统查看所借书籍的信息,可以对书籍的信息进行查询和检索。

1.3开发环境

本系统所采用的开发环境为VisualC++6.0,运行环境为WindowsXP平台,运行的软硬件要求如下:

1硬件部分:

存512M(或更高),标准的鼠标、键盘及显示器。

2软件部分:

数据库系统为SQLServer2000,开发工具使用VisualC++6.0。

2需求分析

随着读书的普及,读者群体日渐扩大,图书种类也越来越繁多。

图书馆那种由简单数据记录,电子表格统筹数据的方法已经不在适用。

为了更为理想的完成对图书的管理同时能对读者信息进行统筹统计,一个专门的管理系统已经成为了图书馆管理者的迫切需求。

一个通用的图书借阅管理系统是图书管理系统的一个子系统,它主要对一个学校图书馆的图书入库、借出、归还进行操作。

在图书、读者信息等基础数据的基础上,完成以上的操作。

同时能够对图书按出版社、作者进行分类统计,能够统计图书借阅情况状态、读者借阅情况。

该系统在实际中应用广泛。

整个系统的数据框架图如下:

 

3概念结构设计

数据库设计是整个数据库系统中最为关键的部分,一个好的数据库系统必须有一个设计合理的数据库支持。

3.1数据库设计

本数据库中主要包含三表:

1用户表

用户表中包括用户名和密码,同时包括用户权限和对应的可借书籍数目。

用户权限分为管理员和读者。

设计一个用户ID号作为唯一标识读者的。

2书籍表

本表主要用来记录书籍的基本信息,其中主要包括书籍、书籍名称、书记作者、书籍的出版社、书籍简介,同时需要一个书籍的状态,是借出还是在图书馆。

3借阅表

主要用来记录用户的借阅情况。

包括用户的ID号和被借书籍名称,同事记录借阅时间和借阅到期的时间。

3.2E-R图设计

4逻辑结构设计

4.1关系表的建立

4.1.1E-R图转换成关系模式

根据转换规则及E-R图可得到如下三个关系模式:

读者(读者,读者名称,密码,权限,借书数目);

书籍(书籍,书籍名称,书籍作者,出版社,书籍简介,书籍状态);

借阅(读者,书籍,借阅时间,归还时间);

4.1.2关系表的具体设计

本系统主要涉及三数据表,分别为读者表(reader),书籍表(book),借阅表(boookread);下面分别介绍各数据表的结构:

读者表(reader)

字段名称

字段类型

主键

外键

是否为空

描述

sno

char(10)

读者编号

sname

char(10)

读者姓名

passwd

char(10)

读者密码

which

char(10)

读者权限

num

int

可借书籍数目

书籍表(book)

字段名称

字段类型

主键

外键

是否为空

描述

bno

char(10)

书籍编号

bname

char(20)

书籍名称

bwriter

char(10)

书籍作者

bpress

char(20)

出版社

binfo

char(30)

可为空

书籍简介

bstate

char(10)

书籍状态

借阅表(bookread)

字段名称

字段类型

主键

外键

是否为空

描述

sno

char(10)

读者编号

bno

char(10)

书籍编号

starttime

char(10)

借阅日期

endtime

char(10)

归还日期

4.2数据库构建

4.2.1可视化界面建立

利用SQLServer2000建立此数据库的具体操作步骤如下

1.利用SQLServer的企业管理器新建一个数据库TuShu,如下:

2.新建一读者表(reader)和书籍表(book),如下图所示:

读者表(reader)

书籍表(book)

3.新建一借阅表bookread,利用属性设置其sno和bno为外键,如下图:

4.编辑表,可设置其初始化信息,以便在程序中使用。

5数据库物理设计

5.1索引设计

读者表(reader)

字段名

sno

sname

passwd

which

num

索引表达式

sno

索引类型

主索引

书籍表(book)

字段名

bno

bname

bwriter

bpress

binfo

bstate

索引表达式

bno

索引类型

主索引

5.2视图设计

该视图建立在书籍表和借阅表的基础上,用来查询用户的借书信息,设计如下:

字段名

bno

bname

bwriter

bpress

starttime

endtime

说明

书籍号

书籍名称

作者

出版社

借书时间

还书时间

6代码和界面设计

6.1系统模块分析

本系统主要分为以下几个界面:

1用户登录界面:

无论是管理员还是普通读者,在进行基本操作时都必须进行登陆,同时系统根据登陆结果进行相应的权限分配。

如果是管理员,则可以负责借书、还书、新书入库等主要功能的操作。

2图书借阅界面:

当读者选好图书以后,由管理员负责借书的操作。

3图书归还界面:

实现图书的归还功能。

4读者服务界面:

当读者登陆系统后,可以对其所借书籍情况进行浏览。

5查询界面:

可以实现对图书的检索功能。

6数据维护界面:

图书资料和用户资料是本系统的基础,管理员可以对其进行维护,如书籍入库及读者挂失等。

6.2模块具体设计

6.2.1用户主界面设计

用户主界面主要是各个菜单的显示、可用状态的问题,例如只有登陆后才可以显示某些功能,分两种情况介绍。

管理员:

可对所有功能进行操作

普通读者:

只可对“读者服务”及“查询书籍”功能进行操作。

系统主要根据用户的which权限进行判断。

主界面如下所示:

实际中随意将which设置为“管理员”或者“读者”时,系统就可以完全根据权限进行菜单状态的显示。

6.2.2登陆模块的实现

对于整个系统来说,无论是管理员还是普通读者,都必须登陆后才可以进行各种各样的操作。

因此登陆界面的设计是本系统的关键。

用户登陆必须输入用户名和密码,系统检测数据库中是否有该用户的信息以及密码是否正确,若符合要求则登陆成功,否者登陆失败。

登陆界面的设计如下:

6.2.3书籍管理模块的实现

书籍信息是本系统的基础。

书籍管理包括书籍数据的添加和修改等功能,同时可以根据书籍的bno号进行查询等功能。

主要是对数据库中书籍表(book)的操作。

本模块中的操作有“查询”“添加”“修改”“保存”“删除”。

涉及对数据库的操作有查询、增加、删除、修改等。

1.若数据库中存在此书籍的信息,则将结果显示出来。

2.保存:

当管理员新增或修改书籍信息后,需要将数据信息保存到数据库中,更新数据库的数据。

操作完成后,可到数据库中查看信息是否保存成功。

3.删除:

当书籍不存在时,管理员需要将数据库中书籍的信息删除,以防止数据的

冗余。

书籍信息维护界面设计如下:

对于修改操作的实现,本系统采用如下方法:

当用户单击“修改”按钮后,系统将删除数据库中当前的书籍信息,等待用户填入新的信息后,必须单击保存按钮将新的信息保存到数据库中。

对于添加操作同样要在填入新的信息后单击保存才可。

6.2.4读者管理模块的实现

同书籍信息一样,读者信息同样是本系统的基础,书籍的借阅实现必须在书籍信息和用户信息的基础上。

读者管理模块同书籍管理模块基本类似,实现的功能也基本类似,只是从对书籍表(book)的操作改为对读者表(reader)的操作。

下面对其几个基本功能作简要说明:

查询:

系统可以根据管理员输入的关键字查询读者的信息,若查询成功则显示出读者的相关信息。

保存:

当数据有改动后,需要将新数据保存到数据库中,在SQL中用insert语句实现。

删除:

当某读者信息不需要时,管理员可从数据库中删除该读者的信息,以防止数据的冗余。

程序中的主要代码如下;

读者信息维护界面设计如下:

对于修改和添加操作的实现与书籍管理中的相同,同样需要用到删除和保存功能。

6.2.5图书借阅和归还模块的实现

对于本系统来说,图书的借阅和归还是最重要的功能,涉及到数据库中的三表。

对于借书功能,要求输入用户的借书证好(sno)以及书籍号(bno),然后系统到数据库中查询是否有该用户以及书籍是否可借,若借书成功,系统会将此信息保存到借阅表(bookread)中,并将书籍表中此书的状态修改为“不可借”;系统还会检测该用户已借的书籍数目和可借书籍的数目,若借书数目已达最大值,则提示不可再借书。

对于还书功能,只要输入书籍号(bno)就可以,还书成功后,系统将删除借阅表中相对应的信息,并在书籍表中将此书的状态修改为“可借”。

借书处理界面的设计如下:

还书处理界面的设计如下:

6.2.6读者服务模块的实现

当用户以普通读者的身份登陆后,可以查看所借书籍以及到期时间等。

函数中利用一个全局变量Cstringname(保存了登陆者的姓名)得到其sno,然后利用sno进行数据查询。

此时涉及到表的连接查询,即书籍表和借阅表的连接,关键字为bno。

界面设计如下:

 

6.2.7信息查询模块的实现

书籍信息查询或者说是书籍检索是任何人都可以进行的操作,它不要求用户的登陆。

其功能已在书籍管理模块中涉及,不同之处在于此时只用于显示,用户不可对其修改。

查询时的关键字可有“书籍作者”“出版社”“书籍名称”“书籍号”“书籍简介”。

程序中的主要代码前面已经涉及,不再赘述。

查询模块界面设计如下:

至此完成了本系统的全部功能。

7系统运行测试

系统的设计工作完成后,必须经过严格的测试才可以进行实际的应用。

作为一个数据库软件,应该结合数据库本身和软件进行联合测试,即可以在软件中进行一些操作,同时在数据库中查看相关数据。

下面对系统的各模块进行测试。

1登陆模块测试

登陆模块的测试包括登陆成功,不成功以及退出等3种情况,还需要查看登陆成功即退出后的菜单是否正常等。

程序运行后,选择“系统”|“登陆”命令,弹出登陆对话框,在上面输入用户名和密码后,单击“确定”按钮。

如下所示:

如果输入错误的用户名或密码,则显示登陆失败。

登陆后选择“系统”|“退出”命令,可看到状态栏的改变,即完成退出命令。

2书籍管理模块测试

使用管理员权限登陆后,可以对书籍信息进行管理。

选择“基本资料维护”|“图书资料维护”命令,弹出书籍资料维护对话框。

如果单击“添加”按钮,输入新的信息后,单击“保存”按钮保存到数据库中。

如下图所示:

此时到数据库的书籍表中确实可以看到新增了书籍信息,说明操作成功。

其它功能的测试与此相同,不再赘述。

3用户管理模块测试

使用管理员权限登陆后,可以对用户信息进行管理。

选择“基本资料维护”|“用户资料维护”命令,弹出用户资料维护对话框。

如果单击“添加”按钮,输入新的信息后,单击“保存”按钮保存到数据库中。

如下图所示:

此时到数据库的书籍表中确实可以看到新增了书籍信息,说明操作成功。

其它功能的测试与此相同,不再赘述。

4借书模块测试

借书模块是本系统最为重要的功能之一。

选择“日常工作”|“借书”命令,弹出“借书管理”对话框。

填入正确的借书证和书籍后,单击“确定“按钮,将数据保存在数据库中,如果借书证错误或书籍不可借或其他不存在的信息,则弹出错误对话框。

如下:

此时到书籍表中可以看到书籍号为01的书籍状态为不可借,同时在借阅表中增加了一条s1的借书记录,说明借书操作可以正常完成。

5还书模块测试

为了测试还书模块,可先利用读者身份登陆查看借书信息,选择“查询服务”|“读者服务”命令,弹出读者借书信息对话框,如下:

表中列出了读者的借书信息。

下面进行还书操作。

重新使用管理员身份登陆后,选择“日常工作”|“还书”命令,弹出还书管理对话框,填入书籍号后,进行还书操作:

为了验证还书操作是否成功,再使用读者身份登陆,选择“查询服务”|“读者服务”命令,弹出读者借书信息对话框,上面的读者借书信息已不存在,数据库的书籍表中01的状态改为可借,说明还书成功。

6书籍查询模块测试

用户可以根据不同的关键字对书籍进行分类查询。

选择“查询服务”|“查询书籍”命令,弹出书籍检索对话框,可以分类查询:

上面对系统的各个模块进行了简单的测试,课件系统基本模块的功能是正确的。

8课程设计总结与体会

这次课程设计的设计时间比较紧迫,所以我与滨滨同学组成小组共同完成此次课程设计。

在这次课程设计中我们遇到了很多问题,我们通过网上查询以及咨询同学对各种问题有了简单的了解,基本上完成了此次课程设计的任务。

数据库作为现代数据管理最先进的手段,掌握数据库系统设计的基本方法和步骤是对现代软件开发人员的基本要求。

本次通过一个小型图书借阅管理系统的设计,了解了数据库系统开发的基本知识。

本次课程设计让我们学到了许多知识,受益匪浅。

了解了如何利用ADO技术对数据库进行操作,如连接数据库以及如何利用程序将数据库中的信息以界面的形式显示出来,同时掌握了界面设计的一些方法和技巧,对C++语言的使用更加深入。

对书本上学到的SQL语句的使用也更加熟悉。

真正做到了把书本上学到的知识应用到实践中来。

对我们的动手能力和团队合作能力都有所加强。

在编写程序方面,学会了规化的编程方法,例如按功能将一组代码放在一起,并添加注释,方便自己和他人阅读。

不过本次课程设计中也出现了许多问题,例如数据库没有连接上,操作无法进行,对各个界面的设计还不够完善,系统的功能还不够强大等等,在老师的帮助和小组成员的不懈努力下,大部分问题得到了解决。

本次课程设计只是一个小型系统的研究,并没有考虑运行效率等方面的诸多问题,我们还可以对这些方面进行研究和实现,或者在此基础上增加新的功能,使系统的可用性更为强大。

参考文献

1《数据库系统教程》(第三版)施伯乐、丁宝康高等教育出版社

2《数据库系统概论》(第四版)王珊、萨师煊高等教育出版社

3《VisualC++系统开发手册》王瑞、雨人民邮电出版社

4《管理信息系统》(第三版)黄梯云、一军高等教育出版社

5《解析C++面向对象程序设计》甘玲、石岩清华大学出版社

课程设计成绩评定表

学生姓名

专业班级

论文题目

图书借阅管理系统

指导教师评语及意见:

 

指导教师评阅成绩:

指导教师签字

年月日

总评成绩(以百分记):

 

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1