图书管理系统

更新时间:2024-03-01 14:54:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

郑州工业应用技术学院

课程设计说明书

题目: 图 书 管 理 系 统

姓 名: 朱 时 宝 院(系): 信 息 工 程 学 院 专业班级:15级计算机科学与技术二班 学 号: 1501110223 指导教师: 张 吉 同

成 绩:

时间: 2015 年 9 月 11 日至 2015 年 11 月 14 日

郑州工业应用技术学院

课程设计任务书

题目 图 书 管 理 系 统 专业、班级14级计算机科学与技术一班 学号1401110126 姓名 朱亚爽

主要内容:

设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息 、删除图书信息 以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。

基本要求:

1、巩固并加深学生对C++语言程序设计知识的理解; 2、认识面向过程和面向对象两种设计方法的区别; 3、进一步掌握和应用VC++6.0集成开发环境; 4、提高运用C++语言解决实际问题的能力;

5、初步掌握开发小型实用软件的基本方法,能独立设计、实现基本的MIS系统。

主要参考资料:

[1]谭浩强.C++语言基础课程[M].北京:清华大学出版社,2009

[2]于永彦.C++程序设计基础案例教程[M].北京:北京大学出版社,2009 [3]郑莉.C++语言程序设计习题与实验指导[M].北京:清华大学出版社,2007

完 成 期 限: 9月11日-11月14日

指导教师签名: 课程负责人签名:

2015年 11月 14日

摘要

一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。

以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。

随着计算机技术的飞速发展,电子信息化慢慢替代了企业管理的传统管理手法,采用管理系统是能够有效提高管理效率的。图书馆是信息交换和资源流通的重要媒介,对图书馆的信息化管理将大大提高图书资源的利用和信息的交换速度。图书管理系统是通过将借阅信息以数据库的形式由网络传输来完成各用户(教师或学生)所要的借阅方面的需求(如借阅,归还,预订等)。以打破传统的人工选书模式,极大地方便了使用人员和管理人员,节约了时间和空间,实现图书借阅自动化,自由化,使图书资源得到充分利用。建立图书管理系统,使每个用户自由地选到自己需要的图书,避免传统借书模式的繁琐、低效率、借阅程序臃肿等等的缺点,减轻相关人员的负担。本图书管理系统实现了基本的管理员登录、图书管理、读者管理、借还图书、图书查询以及信息维护等功能的图书管理系统。

目录

第1章 系统需求分析 ..................................................................................................................... 1

1.1 系统目标 ....................................................................................................................................... 1 1.2 主体功能 ....................................................................................................................................... 1 第2章 系统概要设计 ..................................................................................................................... 2

2.1 系统的功能模块划分 ................................................................................................................... 2 2.2 系统流程图.................................................................................................................................... 2 第3章 系统详细设计 ..................................................................................................................... 3

3.1 数据库设计.................................................................................................................................... 4 3.2 系统登录模块设计 ........................................................................................................................ 6 3.3 系统主界面设计 ............................................................................................................................ 8 3.4 图书信息管理模块设计............................................................................................................... 8 3.5 管理员、读者信息管理模块设计 ............................................................................................. 10

3.5.1 管理员信息管理.............................................................................................................. 10 3.5.2 读者管理 ......................................................................................................................... 11 3.6 借书还书管理模块设计 ............................................................................................................ 12

3.6.1 借书管理 ......................................................................................................................... 12 3.6.2 还书管理 ......................................................................................................................... 13

第4章 系统实现 .......................................................................................................................... 14

4.1 登录功能的实现 ........................................................................................................................ 14 4.2 管理员功能的实现..................................................................................................................... 14 4.3 读者管理功能的实现................................................................................................................. 16 4.4 借书功能的实现 ...................................................................................................................... 17 第5章 课程设计总结 ................................................................................................................... 19 参考文献 ......................................................................................................................................... 20 附录 ................................................................................................................................................. 21 课程设计成绩评定表 ....................................................................................................................... 23

第1章 系统需求分析

1.1 系统目标

实现简单图书信息的计算机自动化管理,力求方便用户进行图书信息的管理,简化图书整理工作,节省人力成本,实现高效并易用的图书馆里系统。如:登陆权限管理、读者管理、图书信息(入库、修改、借还、查询、超期)管理、罚金管理。

随着信息技术的发展,电子自动化作业越来越成熟,本系统主要针对的用户群体是各中小型图书馆。使用本系统能够方便图书管理,避免数据过多人工维护过于复杂。本系统同时支持管理员模式,同时支持进行读者登记等等功能。

使用本系统能够有效减少图书馆的工作,简化工作流程,提高图书馆日常管理工作的效率,节约人力资源,为图书馆创造更大价值。

1.2 主体功能

(1)权限管理:增加或删除系统操作人员,并指定操作人员的权限;

(2)读者管理:设置不同的读者身份,并对读者相关信息进行管理,包括建立新的读者,编辑已有的读者信息和删除读者信息的操作;

(3)图书类别的管理:对图书的类别进行管理; (4)图书入库管理:录入新的图书信息; (5)图书信息修改管理:对已有的图书信息进行修改,包括删除指定图书操作; (6)图书借还管理:实现对图书的借出和归还的管理;

(7)图书查询管理:通过各种查询方式可以来进行查询,比如书号,书名,作者等;

(8)图书超期管理:对超期的情况能自动给出提示信息。

1.3 开发环境

VC++6.0集成开发环境、ACCESS2003数据库

1

第2章 系统概要设计

2.1 系统的功能模块划分

整个图书管理系统分为四个模块。分别为图书管理模块、借阅管理模块、读者管理模块和系统管理四大模块,各模块的功能如下:

图书管理模块包括新书入库,书籍查询,书籍信息修改。

借阅管理模块有图书归还、借阅,罚金设置,逾期罚款。

读者管理模块有增加读者,查询读者,修改读者信息。

系统管理模块有登陆,管理员信息查询,删除账号,退出系统。

2.2 系统流程图

第一步是用户进行登陆,如果用户输入的密码不正确则将提示用户密码错误,如果用户通过验证,则进入功能选择模块进行详细操作。 在功能选择模块,有图书管理、读者管理、借阅管理和管理员管理四个大的功能模块。每个大模块下面细分为小模块,详细设计见图2.2. 在本系统中,图书管理模块对应BOOK表,读者管理对应READER表,借阅管理对应BORROW表,管理员管理对应CLERK表。流程图如下:

2

开 始

用 户 名 密 是 码为空 否 否

在数据库中查找 该用户

密 码 否 正 确 提示用户 是 登 陆 成 功

结 束

3

第3章 系统详细设计

3.1 数据库设计

用access2003建立名为“Library”的数据库,创建4个表,分别为:BOOK,CLERK,READER,BORROW和FINE。

BOOK表存储图书信息。

CLERK表存储用户欠费信息。 READER表存储读者信息。

BORROW表存储借出的图书信息。 FINE存储在库图书。 对话框如下:

图(1)数据表的设计

4

利用ODBC数据源管理器配置与数据库对应的数据源

图(2)ODBC数据源设计

5

建立名为“Library”的 MFC单文档应用程序向导

图(3)建立主程序

3.2 系统登录模块设计

图(4)登录界面

6

添加系统登录对话框,属性设置为:

双击对话框打开ClassWizard对话框,为IDD_LOGIN添加CLoginMDlg类,按 下表为该类添加成员变量。

创建一个新类,名为CClerkDataSet,在Base Class中选择CRecordset

图(5)类的设计

7

3.3 系统主界面设计

图(6)系统主界面

其中信息可以查看管理员信息,图书信息,读者信息;日常工作中包含图书借阅,图书归还,缴纳罚款;查询中包含读者查询;帮助中可以查看系统帮助

3.4 图书信息管理模块设计

图书信息管理模块的设计主要包括添加图书,修改图书信息,删除图书以及查看图书信息等。其中添加图书和修改图书信息以及查看图书信息可以使用一个界面进行完成。

删除图书和修改图书信息的过程中要使用数据库的锁避免同时几个管理员对同一图书信息的编辑出现混乱的情况。

查看图书信息不仅要显示图书已有的所有属性,还要显示此图书的借出数量与时间以及在架数量。

8

图(7)图书信息录入

添加书籍信息对话框,属性设置为IDD_BOOK_MAINTAIN

字段及其解释

为IDD_BOOK_MAINTAIN添加成员变量

创建一个新类,名为CBookDataSet,方法步骤同CClerkDataSet,添加消息映射 最后输入按钮代码

9

3.5 管理员、读者信息管理模块设计

3.5.1 管理员信息管理

管理员信息管理模块能够实现对能够操作本系统的用户的增删改查,能够方便用户创建多个管理账户进行分工协作。同时对管理员信息的修改能够保证管理员信息与现实生活中的保持一致。

图(8)管理员信息

添加管理员信息对话框,属性设置为IDD_CLERK_MAINTAIN

字段设置

为IDD_CLERK_MAINTAIN添加成员变量

建立新类CClerkMDlg,按图书信息模块设计步骤做相似操作,添加消息映射 最后输入按钮代码

10

3.5.2 读者管理

读者管理能够实现对读者的增删改查。为应对不确定的读者群,本系统实现了对读者信息的增加修改能功能。能够帮助管理员及时删除不存在的读者账户,也能帮助管理员实现及时更改读者信息等实用功能。

图(9)读者信息管理

添加读者信息对话框,属性设置为IDD_READER_MAINTAIN

读者信息字段

为IDD_READER_MAINTAIN添加消息函数

建立新类CReaderDataSet,按上述步骤做相似操作,添加消息映射 最后输入按钮代码

11

3.6 借书还书管理模块设计

借书还书模块是本系统的核心功能,此功能免去了以往手动输入借阅信息的繁琐,并增加了自动检索功能,是管理员对借阅情况了如指掌。

此功能大大的简化了图书借阅流程,减轻了图书馆工作人员的工作程度。

3.6.1 借书管理

图(10)借书界面

添加图书借阅对话框,属性设置为IDD_LENDOUT

为IDD_LENDOUT添加成员变量

建立新类LendOutDlg,按上述步骤做相似操作,添加消息响应 最后输入按钮代码

12

3.6.2 还书管理

图(11)还书管理

添加图书归还对话框,属性设置为IDD_ReturnBook

借书字段

为IDD_ReturnBook添加成员变量

建立新类CReturnBookDlg,按上述步骤做相似操作,添加消息映射 最后输入代码

13

第4章 系统实现

4.1 登录功能的实现

主要代码如下:

CLoadDlg dlg;

aa:if(dlg.DoModal()==IDOK) { if(!m_bAccept) {

AfxMessageBox(\用户名或密码错误,请重新输入!\ goto aa; } } else

return FALSE;

对话框如下:

图(1)

4.2 管理员功能的实现

该部分主要列出所有员工信息,并提供信息修改功能,且本部分只有在以管理员权限登录后才可用,在以普通员工登陆和读者登陆时无效。

14

主要代码如下:

m_nTableNO=2;

if(m_strDatabase!=\ pDoc->OpenMdb(); else {

MessageBox(\未设置数据库,请退出并设置数据库!\ } }

else {

MessageBox(\对不起,您没有此权限!!\ } }

void CStaffDlg::OnButtonAdd() {

if(m_nTableNO==2) {

SetValue();

::SendMessage(hwnd,WM_USER_ADD,0,0); }

else {

MessageBox(\系统忙,请稍后再试!\ } }

对话框如下:

图(2)

15

4.3 读者管理功能的实现

该部分主要列出所有读者信息,并提供添加修改功能,本部分只有在以管理员或普通员工模式登陆时才有效,读者登陆时无效。详细代码及截图见调试分析部分。

主要代码如下:

if(m_nTableNO==2) {

::SendMessage(hwnd,WM_USER_PREV,0,0); GetValue(); }

else{

MessageBox(\系统忙,请稍后再试!\ } }

void CStaffDlg::OnButtonRequary() { if(m_nTableNO==2) {

::SendMessage(hwnd,WM_USER_REQUERY,0,0); GetValue(); }

else {

MessageBox(\系统忙,请稍后再试!\}

对话框如下:

图(3)

16

????

对象的Open方法进行连接。例如: _ConnectionPtr m_pConnection;

m_pConnection.CreateInstance(\

m_pConnection->Open(\Source=Library.mdb\ 如果使用记录集,可以直接用Recordset对象进行查询取得记录集,然后进行添加、删除、修改和查询等操作。

字符转换

由于ADO是基于若干COM接口实现的,因此COM使用其特定的数据类型。我接触的比较多的数据类型是_variant_t和_bstr_t两种。在遇到表和控件定义的变量格式不一致的情况时,我们通常会先定义_variant_t或者_bstr_t类型的变量,再进行相应的转换。

通过查阅相关资料,并运用网络搜索,我们进一步了解了这两种数据类型。_variant_t是

Variant的封装类,而Variant是一个结构化的数据类型,包含了一个成员值及其数据类型的表示。Variant可以表示相当多的数据类型,甚至另一个Variant,BSTR指针。对于Variant变量的赋值,首先给Variant成员赋值,指明数据类型,再对联合结构中相同数据类型的变量赋值。

_bstr_t也是一个结构化的数据类型,是32位指针,但并不直接指向字串的缓冲区。COM提供了方法进行串的空间分配、操作、释放。

还有,我们也采用了CString的变量,通过Format()函数进行相应的数据类型转换。

22

课程设计成绩评定表

评定项目 内 容 满分 评分 总分 10 40 定的深度,分析解决问题的能力较强。 设计方案正确、表达清楚;设计思路、实验说明书质(论证)方法科学合理;达到课程设计任务40 量 书规定的要求;图、表、文字表达准确规范,上交及时。 回答问题回答问题准确,基本概念清楚,有理有据,10 情况 总成绩 有一定深度。 采用五级分制:优、良、中、及格、不及格 学习态度 学习认真,态度端正,遵守纪律。 认真查阅资料,勤学好问,提出的问题有一设计情况 指导教师评语: 签名: 年 月 日

23

本文来源:https://www.bwwdw.com/article/mkha.html

Top