图书馆管理信息系统设计报告
Southwest university of science and technology
图书馆管理信息系统设计报告
组长:胡霞
小组成员:
陈鑫 20072602
史晓太20072647
陈茂华20072637
李彩霞20072630
一、绪论
1.1 课题的现状
当今世界正处于科学技术高速发展,信息量剧增的时代,伴随科学技术的不断发展进步,人们对图书的需求越来越大,馆存图书也不断增加,各系统对各门类图书的需求也越来越具体。目前大部分图书馆的图书管理都处于一种馆藏图书量大,各书馆所存图书相类似,专业性图书所占比例较小,管理方法简单,图书利用率低,管理成本又高。因此,我们需要借助信息技术和数字化的管理来对图书分类和检索,来提高图书管理的效率。这样就急需开发一个新的系统来改善这种情况,基于这种目的,所以有了我们的系统开发。
本系统在C++环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析传统的人工管理图书馆的不足,创建了一套行之有效的计算机管理图书馆的方案。文章详细介绍了图书管理信息系统的有关部分,包括可行性分析、开发规划;系统分析部分:功能分析、业务流程分析、数据流程分析、数据字典;系统设计部分:概念设计、逻辑设计、输入设计、输出设计、代码设计、功能结构图设计、程序设计说明书;系统实施部分:程序图设计、物理模式设计、系统使用说明书等。其中,系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。
1.2选择课题的目的和意义
此图书管理系统主要目的是为了管理员能对繁多的图书进行管理,并且,可以对用户的借,还,预约图书信息进行管理。降低人力,物力资源的开销。 意义在于通过亲自的系统开发实践,我们对开发小型的管理系统有了初步的了解和部分的掌握。而且,在图书预约方面有了新的创新思维。
二、系统可行性分析及开发计划
2.1需求分析
随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担
过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。
另一方面,IT 产业和Internet 获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
在这一阶段所要做的工作就是要把用户的需求及其解决方法确定下来。其内容包括:开发者对于现在的组织管理状况、生产管理过程的了解,用户对新系统在功能上的要求、业务和数据的流程;管理功能的实现、新系统拟改动和新增的管理模型等。
系统分析阶段的主要活动包括:
1、系统初步调查:明确系统开发的目标和规模:
2、可行性研究:进一步明确系统的目标、规模与功能,提出系统开发的初步方案与计划;
3、详细调查:详细调查先行系统的工作过程,建立现行系统的逻辑模型,发现现行系统存在的主要问题。
4、新系统逻辑方案的提出:明确用户信息需求,提出新系统的逻辑方案
2.2 经济可行性分析
在21世纪现代教育中图书管理工作信息化的今天,由于没有一套可靠的图书管理系统,工作人员传统的凭手工操作,不仅效率低下,还影响到图书管理工作的质量。在此基础上耗费了大量的人力、物力、资金,而通过该系统可以实现对图书及时采集、规范化和系统化,进一步提高图书管理工作的效率。再者我们经济管理学院一部分学生和教师掌握了开发此系统所需的相关技术,所以开发此系统可有学院的一部分老师和学生完成,由此资金以及维护的费用可以降低很多。此外相比与传统的手工操作,开发该系统为图书管理工作所带来的经济效益是远远大于在这套系统上所耗费的资金。因此,开发此系统在经济方面很是可行的
2.3操作可行性
本系统在开发过程中主要采用的是结构化的开发方法,操作系统主要是在
Windows XP 上面进行的,开发的工具主要有VC6.0和SQL Server 2000, 这些工具都是大家所熟悉的再加上Windows 都是目前普遍使用的一种系统。因此,不管是对于开发者来说还是使用者来说在操作上都是可行的。
2.4技术可行性
技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络Internet 技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
开发该系统所需硬件设备, 如服务器,PC 机, 打印机等, 这些设备在性能上已经有了很大的提高, 价格又相对较低, 能够满足系统功能的要求. 在软件上, 操作系统采用windows XP ,系统的开发采用VC6.0,它作为一种现代的编程语言,提供完善的指令控制语句、表、查询、表单和报表等等,同时能满足不同系统的技术要求,这些软、硬件在大型MIS 开发中已被大量应用, 技术上都比较成熟。因此,技术上是可行的。
2.5进度可行性
目前,就人员素质来说,开发人员本身会很多开发方法,如结构化开发方法、面向对象开发方法、原型法等开发方法。而我们本身采用了我们比较熟悉的结构化的开发方法。就人员的分工来说,我们拟定了相当详细的分工计划。总体来说,我们采用的是“统分结合”的方式来进行我们的开发的。所以,我们开发是进度是可行的。
2.6开发规划
对于本系统的开发,我们预计花费一个周的时间来完成,即从六月二十五到七月二号。开发的方式为团体合作开发。
三、 系统分析部分
3.1 图书管理系统概述
课程设计目标
1) 实现新进图书的数据录入。
2) 实现对所有购进图书的分类查询和分类统计。
3) 能够按书名、作者等分类查询现有图书的数量。
4) 记录借阅者的个人资料和所借图书的书名、书号数据等。
5) 借书时如果每次超过限量或累积超过限量,提示相应信息,并拒绝借阅。
3.2 图书管理系统功能分析
(1)根据实际的调查和相关单据表的分析,得出以下的业务流程图如下:
图3-1 系统业务流程图
(2)主要的系统流程图如下:
图3-2 系统数据流程图
(3)顶层及各个模块数据流程图:
A 、顶层数据流程图
读者可向系统发出请求,系统做出分析后,可向读者反馈相应信息。管理员根据自己权限不同也向系统发出相应的请求信息,系统对导入的数据进行核查,反馈相应信息。系统数据流图如下:
图3-3 顶层DFD 图
B 、读者信息管理
读者信息管理是读者管理员对于企业读者的各种信息进行修改维护的功能。读者管理员可以对读者信息进行修改,例如对读者的部门、姓名、性别等信息进行修改,为读者设置密码等功能;还可以添加或者删除读者信息,即添加或删除读者。数据流程图如下:
图3-4 读者管理模块DFD 第一层图
图3-5 读者管理模块DFD 第二层图
C 、图书信息管理
图书资料管理是实现图书管理员对图书或资料信息的添加、删除、修改等变化进行登记的功能。图书馆员可以对图书或资料的各种信息进行修改维护。例如,可以对图书或资料的类别、出版社等信息进行添加;还可以对图书或资料的名称、作者等进行修改,但其在具体应用中主要是对图书或资料的状态进行修改。其数据流程图为:
图3-6 图书管理模块DFD 第一层图
图3-7 图书管理模块DFD 第二层图
D 、借阅信息管理
图书馆管理系统的基本功能之一就是为读者提供借阅服务,读者通过借书这一过程,可以把图书资料借出,从而使读者能够更方便地阅览图书资料。结束过程中,图书管理员要对读者的借阅资格等进行审查,对符合借书条件的读者,允许其借书,对其借书记录进行登记;对没有借阅资格的读者,禁止其借书。其数据流程图:
具体借书的步骤如下:
1、读者想借阅书籍或资料,须向管理员提交书号或资料号和本人的借书卡,借阅管理员先检查该书或资料是否存在;如果存在,再检查该书或资料是否在馆;
2、借阅管理员检查读者借书卡,看其卡号是否存在,是否在有效期之内,并且还应检查借书卡是否有被锁定,是否有超期,检查读者总借书量是否超出最大限额,有其中任何一样,均不能借出;
3、如果上述的都满足条件,则可顺利借出,在借出之后,如原有预定,则要修改为已借,除此之外还要对所借的书籍状态进行修改;
图3-8 借阅管理模块DFD 第一层图
图3-9 借阅管理模块DFD 第二层图
3.3 数据字典
①数据流名称:读者个人信息表 标识符:B1
数据结构:
01读者信息表
02读者姓名 PIC X (4)
02 读者性别 PIC X (2)
02 读者年龄 PIC X (2)
02 读者学号 PIC X (10)
02 读者所在学院 PIC X (20)
02 读者相片 PIC X (50)
排列方式:按申请日期降序排列。
流量:最大:2000份/月
平均:1000份/月
来源:读者
去向:读者管理员
②数据流名称:图书信息表 标识符:B2 数据结构:
01图书信息表
02图书编号 PIC X (20) 02图书名称 PIC X (20) 02图书条形码 PIC X (20) 02图书版本 PIC X (20) 02图书作者 PIC X (10) 02图书出版日期 PIC X (10) 02上架日期 PIC X (10) 排列方式:按上架日期降序排列 来源:图书管理员
去向:读者,图书管理员
③数据流名称:图书借阅信息表 数据结构:
01图书借阅信息表
02图书名称 PIC X (10) 02图书版本 PIC X (10) 02图书作者 PIC X (10) 02图书条形码 PIC X (10) 02借书日期 PIC X (20) 02还书日期 PIC X (20) 排列方式:按借阅日期降序排列 流量:最大:2000份/月
平均:1800份/月
来源:图书管理系统 去向:读者,管理员
④数据流名称:查询图书信息表 数据结构:
01查询图书信息表
02图书名称 PIC X (10) 02图书版本 PIC X (10) 02图书作者 PIC X (10) 02出版日期 PIC X (10) 02所在书架位置 PIC X (20) 02是否已借出 PIC X (2) 排列方式:按查询日期排列 流量:最大:7000次/月
平均:5000次/月
来源:图书管理系统
标识符:B3
标识符:B4
去向:读者
⑤读者信息修改表 标识符:B5 数据结构:
01读者信息修改表
02读者姓名 PIC X (4) 02 读者性别 PIC X (2) 02 读者年龄 PIC X (2)
02 读者所在学院 PIC X (20)
02 读者相片 PIC X (40)
02 读者学号 PIC X (10) 流量:最大:10份/月
平均:3份/月
来源:读者 去向:管理员
⑥添加图书信息表 数据结构:
01添加图书信息表
02图书名称 PIC X (10) 02出版日期 PIC X (10) 02作者 PIC X (10) 02出版社 PIC X (20) 02分类 PIC X (10) 02图书价格 PIC X (10) 02图书条形码 PIC X (20) 排列方式:图书添加日期降序排列 流量:最大:5000本/月
平均:3000本/月
来源:图书管理员 去向:图书信息表
⑦查询读者信息表 数据结构
01查询读者信息表
02读者姓名 PIC X (10) 02读者学号 PIC X (10) 流量:最大:1000次/月
平均:500次/月
来源:图书管理员 去向:读者信息表
⑧修改图书信息表 数据结构:
01图书修改图书信息表
02图书编号 PIC X (20) 02图书名称 PIC X (20) 02图书条形码 PIC X (20)
标识符:B6 标识符:B7 标识符:B8
02图书版本 PIC X (20) 02图书作者 PIC X (10) 02图书出版日期 PIC X (10) 02上架日期 PIC X (10) 排列方式:按查询日期降序排列 流量:最大:1000次/月
平均:500次/月
来源:图书管理员 去向:图书信息表
⑨报废图书表 标识符:B9 数据结构:
01报废图书信息表
02图书名称 PIC X (10) 02图书版本 PIC X (10) 02图书作者 PIC X (10) 02出版日期 PIC X (10) 排列方式:按报废日期降序排列 来源:图书管理员 去向:图书信息管理表
四、系统设计部分
4.1功能结构图设计
该系统的主要功能结构图设计如下:
图4-1功能结构图
4.2 数据库的设计如下:
图4-2 数据库的设计图
4.2.1 概念结构设计
概念模型是对信息世界建模,使用ER 图来描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,即使不熟悉计算机技术的用户也能理解它。因此,通过与用户的交流,画出系统模块E-R 图。
图4-3系统总E-R 图
4.2.2逻辑结构设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R 图转换为与选用的具体机器上的DBMS 产品所支持的数据模型相符合的逻辑结构,并且对数据模型进行优化。由于在转化过程中就考虑了对模型的优化,而达到规范化第三范式,所以这里不在讲述这一过程。E-R 图向关系模型转换的结果如下所示: adminName (adminName ,password , type)
book( bookId , bookInfoId , state , disuseId , regDate)
bookInfoId (id ,ISBN,bookName,image,author, price , published , classShortName)
booking (id , bookId , readerId , bookingDate , state)
borrow(id , readerId, bookId, borrowDate, borrowAdmin, returnDate, returnAdmin)
class(className , shortName) disuse(id , disuseDate , cause) dpm(id , dpmName , address, tel)
fine(id , fineDate , fineMoney , cause , bookId , readerId , state , adminName)
log(id , adminName , readerId , logDate , ip , event) publish(id , publishName , tel , address)
reader(readerId , password , name , sex , regDate , outdate , state , dpmId)
4.3输出设计
输出设计是从可视化的角度让读者能够直观地获得自己所需要的信息,如借阅历史、超期情况、库存是否可用等。 1)借阅管理
图书馆藏信息输出:图书编号 图书名 库存数量 是否可借
借阅人员信息输出:读者编号 读者名 借阅与否 借阅数量 借阅日期 2)读者管理
借阅历史:图书编号 图书名 借书日期 应还日期 续借与否 检索结果:图书编号 图书名 是否存在 存在的数量 3)管理员
管理员进行的处理:对馆内有关图书的信息进行修改和删除等
4.4输入设计
1)查询管理
馆存查询:图书名 图书作者 种类 超期查询:图书名 借书日期 当前日期 2)预借管理
预借图书信息:图书名 出版日期 作者 出版社 预借 取消预借
4.5代码设计
主要的代码设计如下: 登录:CLibraryDlg:: OnOK()
//连接数据源
if(!m_database.Open(_T("Library"))) {„„}
CLoginSet *m_pLogset=new CLoginSet(&m_database); //编写SQL 语句 CString strSQL;
strSQL.Format("select * from Admin_Info where User_Name='%s' AND
Password='%s'",m_strUsername,m_strPassword);
m_pLogset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);//执行SQL 语句
功能面板:CLibDBSDlg
virtual BOOL OnInitDialog(); //初始化系统,调用登录界面 //新书登记 //借书/还书 //书籍挂失
afx_msg void OnButtonNewBook(); afx_msg void OnButtonBorrow(); afx_msg void OnButtonBookLost();
afx_msg void OnButtonCheckBooks(); //图书信息查询 afx_msg void OnButtonCheckBorrow(); //借书信息查询 afx_msg void OnButtonMakeProof();
//办理借书证
afx_msg void OnButtonCheckProof(); //借阅证信息查询 afx_msg void OnButtonProofLost();
//借阅者挂失
afx_msg void OnButtonModPasswd(); //修改密码 afx_msg void OnButtonAddUser()
;//添加账号
五、系统的实施部分
5.1物理结构设计
本系统中关于数据库表结构设计如下所示,一般情况下是主键则为是,“允许空列”为空表示为是, 不为空则表示为否。在这儿举例如下:
表5-1 系统管理员基本情况(admin 表)
表5-2 book表
表5-3 bookInfo表
5.2数据源ODBC 配置
1. 在“创建新数据源”对话框中,从列表框中选择“SQL Sever”, 然后单击完成。
如图所示:
2. 键入DSN 文件的名称,然后单击“下一步”,如下图所示。
2. 单击“完成”创建数据源。
3. 键入运行SQL 服务程序的服务器的名称|、登陆ID 和密码。
4. 在“建立新的数据源到SQL Sever”对话框中,如下图所示,在“服务器”列
表框中键入包含SQL Sever数据库的服务器的名称,然后单击“下一步”。 5. 在“ODBC Microsoft SQL Sever 安装程序”对话框中,单击“测试数据源”。
如果DSN 正确创建,“测试结果”对话框将指出测试成功完成。
5.3
5.4系统主要功能测试
5.4.1登录
5.4.2 功能面板
5.4.3 新书登记
5.4.4借书/还书
5.4.5图书信息查询
5.4.6用户管理
5.4.7读者管理
5.4.8缴纳罚金
5.4.9 读者借书查询
5.5系统使用说明书
首先,点击“系统”可以登陆系统。
其次,登陆后在菜单栏可以看到几个子功能模块,每一个子功能模块下面有相关的功能,点击功能块就可以进行书籍的借阅、归还、查询等操作。
最后,操作完成后,仍然点击系统退出系统。
六、总 结
在期末课程设计中,我们所选择的是设计一个图书管理系统,这对我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程,毕竟以前没有作过,缺少经验。现在利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,不同程度的投入了很高的热情与努力。虽然有的同学没能帮上忙,但也在默默的给我们加油。在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。
在设计中我们基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作,实施过程中我们深刻的认识到认真执行管理系统软件标准的重要性,我们由于对管理系统软件相关的标准和规范不太了解,缺少行为操作准则,所以在设计中手法比较生硬,主与
次也没能很好把握住,这些方面通过这次我们都要加强了解。
在这次课程设计中,我们被分配以小组为单位去完成图书管理系统的设计与制作,所以小组内的分工和相互协调很重要,大家可以在分工中扬长避短,个及所长,这样可以很好的提高大家的积极性,和合作意识,并有效的缩短开发时间,但我们在这方面做的还不够,缺乏人员管理与沟通,导致人力资源浪费,可以说是不足之处,且迫切的需要思考和改进,这一点必须指明。这在以后的工作与学习中将会非常重要。该系统在功能上分为两模块,读者模块和管理员模块。管理员又分为:系统管理员、图书管理员、读者管理员、借阅管理员。管理员主要负责对图书的添加、报废、图书信息的查询、图书类别、出版社的管理、读者的添加、接纳罚款处理、部门管理等工作、图书的借出、归还、报失等处理工作。在读者模块上,主要是读者对个人信息查看,包括:本人的借阅记录、罚款记录以及对图书资料的查询。在这些功能实现的同时,有些功能是共用的,例如对个人资料的修改、日志记录的查看、密码的修改等等。另外,新书入库时,可以由管理员选择手动编号或自动编号,并能够通过检测来避免编号重复,添加读者时编号类似。为了对读者进行约束,当未交纳罚款、书籍超期等时,即使持书本数未达到最大本数也无法再次借出图书资料。
系统还存在以下不足和缺陷:如在新书入库时,需要手动输入摘要和ISBN 号,暂时不能通过OCR 文字识别、联网获取或是条形码扫描自动录入。
七、参考文献
参考文献有:
[1] 王珊. 数据库系统概论[M]. 北京:高等教育出版社,2006
[2] http://www.csdn.net
[3] 陈润. 数据库设计与实例开发[M].北京:中国青年出版社,2006
[4] 管理信息系统课程设计指导书