C图书馆管理系统.docx
《C图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《C图书馆管理系统.docx(25页珍藏版)》请在冰点文库上搜索。
C图书馆管理系统
辽宁工业大学
数据库应用技术课程设计说明书
题目:
图书馆管理系统
学院(系):
软件学院
专业班级:
软件工程
学号:
学生姓名:
指导教师:
教师职称:
副教授
起止时间:
2011.12.19-2012.12.31
辽宁工业大学课程设计(论文)任务书
院(系):
软件学院教研室:
软件工程
学号
学生姓名
专业班级
软件工程
设计题目
图书馆管理系统
设计技术
参数
1.题目要达到的目标:
完成系统的登陆、数据的插入删除修改统计等基本操作。
2.数据库:
2000。
3.所使用的语言、工具6.0+2000。
4.所采用的技术、系统结构数据库联接技术,系统结构为结构。
设
计
要
求
1.教师布置实习任务和要求时,不得缺席,并做好记录。
2.上机前预先把所有的源程序编写好。
3.上机时不得迟到,不得缺席,爱护设备,认真调试程序。
4.仔细查阅相关资料,认真完成思考题。
5.按要求书写设计任务书,并按要求按版打印,不得雷同。
工作量
一周
工
作
计
划
周一听取教师布置设计的任务及要求。
周二学生查阅相关资料,进行数据库设计。
周三至周五:
详细设计与界面设计。
周一至周四程序设计与上机,调试源程序。
周五书写课程设计任务书。
参考资料
《数据库应用技术》
《数据库应用技术实验指导书》自编
《数据库应用技术课程设计大纲》自编等
指导教师评语
该生在数据库系统概论课程设计期间:
上机时不迟到,不缺席,爱护设备,认真调试程序。
仔细查阅相关资料,认真完成作业。
听从指导教师安排。
在设计与实现过程中,能使设计的系统达到预期设计要求,功能合理,流程清楚,语句条理通顺。
按要求书写设计任务书,其论文格式规范,图表清晰合理,资料详实。
系统界面友好,程序运行基本正常,功能完备。
教师:
学生:
说明:
此表一式四份,学生、指导教师、教研室、系部各一份。
可加附页。
2011年12月31
第一章概述4
第二章问题定义5
第三章需求分析6
第四章数据库设计10
第五章界面设计13
第六章代码与注释16
设计总结20
参考文献21
第一章概述
传统图书管理中,管理员首先把买来的图书资料登记到资料本上,再给每本书分类贴上标签及制作和标签相对应的图书分类卡片,最后把图书分类卡片按类别分别放置在文件柜里。
然后还需要对有学生(教师)证的学生(教师)的资料作一定的记录。
在读者借书时,持证件者要先去存放图书分类卡片的文件柜里查找想借的书是否在架,如果卡片存在,再按照图书分类卡片在相应的书架上找到需要的图书。
之后图书管理员登记持证件者的借还书时间和在书签条上写下借还书记录,借书证留下;还书的时候,相对应的消去出借记录。
传统的图书管理模式有诸多缺点,比如操作手续繁琐、工作量大、效率低下、出错率高等。
给对大量资料的查询、更新及维护都带来不少困难。
目前,管理信息系统已在各类图书馆中得到了广泛应用。
而几乎所有的图书管理信息系统都包含了以下几个模块:
图书检索模块:
是图书管理系统的重要模块之一,是读者快速查询图书的途径。
图书管理模块:
是图书管理员操作模块,读者是无权进入的。
本模块由借出图书登记、归还图书登记和续借图书登记子模块构成。
数据维护模块:
是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。
数据统计模块:
由读者统计、图书统计、借出图书分类统计、到期末归还图书读者统计几部分组成。
包含这几个模块的管理系统已经解决了传统图书管理管理模式所存在着的诸多问题与缺点,能使读者快速检索到自己需要的书籍,也极大减轻了图书管理员的日常工作量。
在这四大模块的支持下,图书管理系统能够满足基本的管理需要。
第二章问题定义
随着信息技术的发展,当今社会已经发展成为一个高度信息化的社会,而图书馆是当今信息社会的一个重要组成部分。
当前的图书馆信息量较以前更庞大,涉及业务更复杂。
传统的图书馆管理方式已经不能满足当前图书馆管理的需要。
因此需要制定一套合理,有效,规范和实用的图书馆管理系统,对图书资料进行有效地管理
鉴于以上要求,现今需要的图书馆管理系统主要用以满足以下需求:
①能够对读者信息进行有效管理,能对读者的信息进行有效的储存,注销,查询,修改等
②能够对图书进行有效管理,能对图书进行适当分类,对图书馆类的相关图书信息储存,查询,修改
③能够高质高效地完成图书流通任务,主要包括图书的借阅,归还,查询等
④具有一些实用的统计功能,如图书借阅排行,图书库存盘点
⑤具有查询功能,如借阅查询,未还图书查询,检索资料等
第三章需求分析
数据库需求分析
(1)、新书编号、登记、入库:
将新购入的书籍按照国家统一的分类编号;登记书号、书名、作者、出版社等基本信息,将新购图书入库。
(2)、检索查询:
按照各种组合条件对书库图书进行查询,也可以进行模糊查询。
(3)、图书资料统计:
根据要求对图书总数、各类图书数以及图书单价合计统计,打印日常报表。
(4)、旧书出库处理:
通过查询确定过期期刊杂志、旧书籍以及由于丢失等其他原因需要从书库中撤销的图书资料,并从书库中撤除。
数据库概念的结构设计
得到上面的数据想和数据结构以后,就可以设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
数据库的逻辑结构设计:
将概念转化为2000数据库系统。
三、数据字典():
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
表3-1图书信息
数据项名
数据项含义
别名
数据类型
长度
逻辑关系
条形码
图书的唯一标志
10
主键
图书编号
图书编号信息
10
依赖条形码
书名
图书书名信息
8
依赖条形码
库存数
图书库存数
依赖条形码
出版地址
图书出版社信息
20
依赖条形码
出版日期
图书出版日期
依赖条形码
单价
图书单价信息
依赖条形码
入库日期
图书入库信息
依赖条形码
出库日期
图书借出信息
依赖条形码
表3-2采购信息
数据项名
数据项含义
别名
数据类型
长度
逻辑关系
采购人员编号
采购人员的唯一标识
10
主键
姓名
采购人员的姓名
10
依赖采购人员编号
性别
采购人员的性别
2
依赖采购人员编号
联系电话
采购人员的联系电话
20
依赖采购人员编号
表3-3供货信息
数据项名
数据项含义
别名
数据类型
长度
逻辑关系
供货单位编号
供货单位的唯一标识
10
主键
单位名称
供货单位名称
20
依赖供货单位编号
单位地址
供货单位的地址
20
依赖供货单位编号
电话
供货单位的电话
20
依赖供货单位编号
表3-4借阅者信息
数据项名
数据项含义
别名
数据类型
长度
逻辑关系
借阅者编号
借阅者的唯一标识
10
主键
姓名
借阅者的姓名
10
依赖借阅者编号
性别
借阅者的性别
2
依赖借阅者编号
班级
借阅者的班级信息
8
依赖借阅者编号
办证日期
借阅证办证日期
依赖借阅者编号
表3-5管理员信息
数据项名
数据项含义
别名
数据类型
长度
逻辑关系
管理员编号
管理员的唯一标识信息
10
主键
管理员姓名
管理员的姓名信息
10
依赖管理员编号
性别
管理员的性别信息
2
依赖管理员编号
表3-6罚款信息
数据项名
数据项含义
别名
数据类型
长度
逻辑关系
借阅证号
借阅证的唯一标识信息
10
主键
管理员编号
管理员的编号信息
10
依赖借阅证号
序数
罚款的序数信息
依赖借阅证号
金额
罚金的金额
依赖借阅证号
日期
罚款日期信息
依赖借阅证号
表3-7借书单信息
数据项名
数据项含义
别名
数据类型
长度
逻辑关系
图书编号
图书的唯一标识信息
10
主键
图书名称
图书的名称信息
20
依赖图书编号
数量
借书的数量信息
依赖图书编号
人员编号
管理员的编号信息
10
依赖图书编号
日期
借书日期信息
依赖图书编号
四、程序流程图:
图4-1借书业务流程图
读者查询数据流程图,如图4-2所示
图4-2读者查询流程图
五、功能结构图:
图5-1系统登录流程图
图5-2系统管理流程图
第四章数据库设计
一、概念设计:
系统图
图书馆管理系统,总共含有三个实体:
管理员,图书,读者,之间的关系如下图的图如下:
图4-1读者实体图
图4-2管理员实体
图4-3图书实体图
二、逻辑设计:
下面列出几个主要的数据库表设计:
读者信息表()
名称
数据类型
大小
主键
外键
8
是
20
2
20
11
2
是
4
8
表4-1读者信息表
管理员信息表()
名称
数据类型
大小
主键
外键
8
是
20
6
6
表4-2管理员信息表
图书信息表()
名称
数据类型
大小
主键
外键
10
是
100
100
50
30
4
是
4
4
10
是
200
4
8
表4-3图书信息表
三、物理设计
是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。
允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有语句接受集合作为输入,返回集合作为输出。
的集合特性允许一条语句的结果作为另一条语句的输入。
不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有语句使用查询优化器,它是的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。
以删除旧索引然后重新创建同一索引的方式重建聚集索引,是一种昂贵的方法,因为所有二级索引都使用聚集键指向数据行。
如果只是删除聚集索引然后重新创建,则会使所有非聚集索引都被删除和重新创建两次。
一旦删除聚集索引并再次重建该索引,就会发生这种情形。
通过在一个步骤中重新创建索引,可以避免这一昂贵的做法。
在一个步骤中重新创建索引时,会告诉要重新组织现有索引,避免了删除和重新创建非聚集索引这些不必要的工作。
该方法的另一个重要优点是可以使用现有索引中的数据排序次序,从而避免了对数据重新排序。
这对于聚集索引和非聚集索引都十分有用,可以显著减少重建索引的成本。
另外,通过使用语句,还允许对一个表重建一个或多个索引,而不必单独重建每个索引。
也可用于重建执行或约束的索引,而不必删除并创建这些约束(因为对于为执行或约束而创建的索引,必须先删除该约束,然后才能删除该索引)
第五章界面设计
一、登陆窗口如下所示:
系统登入后,首先出现用户登录窗体,用户首先等如用户名然后输入密码。
如果用户3次输入密码不正确,将退出程序。
二、主界面
单击主界面上的各个按钮,可以进入相应的界面中。
三、密码管理
用户可以修改自己的密码,选择菜单“系统\修改密码”,如图窗体
进入系统后,选择菜单“系统\添加用户”就可以添加用户如图窗体。
四、书架设置
五、读者挂失
第六章代码与注释
一、登录代码
<"""""">
<"">
<%("")<>""
("")<>""'用户类型不空,核实数据真实
("")=""
="*u'"("")&"''"("")&"'"
="*'"("")&"''"("")&"'"
()
'输入数据存在
("")=""
("")
"<>('您已被锁定了!
')''<>"
("")=""
("")("")
("")("")
("")
("")=""
("")("")
("")("")
("")
"<>('输入错误!
')''<>"
'用户类型空
"<>('没有选择用户类型!
')''<>"
二、图书查询代码
<"""""">
<"">
<%'定义记录集和变量
("")
((""))
("")
((""))
1(("1"))
2(("2"))
1(("1"))
11(("11"))
2(("2"))
22(("22"))
3(("3"))
33(("33"))
1111&"-"2&"-"3
22211&"-"22&"-"33
'查询的实现
"*1"
<>""
"'%""%'"
<>""
"'%""%'"
<>""
"'%""%'"
">='"1&"'<='"2&"''"111&"''"222&"'",1,3
"对不起没有搜索到记录"
'页面显示
10
1
("")=0("")=""
1
((""))
((""))
%>
三、个人信息查询代码
修改密码
()
(1
(1))<>(2
(2))
"输入密码不正确!
",+,"警告"
1
(1)
2
(1)="a"
="*'''&'''"
=(,)
(1)=1
(1)
"密码修改成功!
",+,"修改密码"
("")=""
"*"
()
%>
<%
图书上架、添加
("")=""
("")=""("")=""("")=""("")=""("")=""
"<>('输入错误')(-1)<>"
2("")
1("1")
2("2")
3("3")
1&"-"2&"-"3
"*"
2,1,3
2
2("")((""))
2("")((""))
2("")((""))
2("")((""))
2("")1&"-"2&"-"3
2("")((""))
2
"<>('添加图书成功')('')<>"
%>
设计总结
通过数据库课程设计,我们从中受益匪浅,并且对数据库这一门课程有了更深一步的认识。
我们可以把这学期所学的理论知识和实践联系起来,在所要开发的程序中渐渐融会贯通。
虽然我们对这些知识还运用得还不是很熟练,但是相信在现在和今后的学习中会得到更加深刻的掌握。
我还充分体会了从事数据库开发工作需要特别严谨认真的态度和作风,一点都马虎不得。
每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。
由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没有一点进展。
课程设计中,设计了一个图书馆管理系统,其中包含了对图书基本信息的管理,借阅和还书信息管理等,上包含了图书馆管理所要求的信息,能够完成一定的数据管理功能。
但总之在设计当中我们学习到了许多东西,用到了很多的数据库的理论知识,增强了一定的实践能里。
课程设计中我们一边设计一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。
在这次课程设计中,由于我们有些知识掌握的还不是很透彻,所以犯了许多的错误,但是在老师的帮助下,我们不但把错误都改正过来了,而且我们对不扎实的知识又有了新的提高,老师认真负责的工作态度,严谨的治学精神和深厚的理论水平使我们收益匪浅,成为我们以后学习和工作的榜样。
在此向老师表示深深的感谢和由衷的敬意,实习中我们学到了很多,希望在以后我们能充分利用实习的机会充实自己,并希望这样的机会能被更好更多地提供。
感谢这次课程设计,我们把书本上学到的理论知识应用到实际操作中,不仅加深了对知识的了解,还在操作中学到了很多知识。
在这一个动手操作的过程中,我们还学习了合作精神这都对以后的工作生活产生深远的影响。
在本次课程设计中,我们也得感谢很多同学的热心帮助,他们给了我们很多好的提议,耐心的为我们讲解他们的经验,使我们能比较顺利地解决了一些问题。
同时,感谢学校给我们一次次的上机机会。
在此,我对学校从事这项工作的老师们也表示最诚挚的谢意。
参考文献
[1]王珊.数据库系统概论北京:
高等教育出版社,2011
[2]张龙祥.数据库原理与设计北京:
人民邮电出版社,2010
[3]李红.数据库原理与应用北京:
高等教育出版社,2002
[4]王能斌.数据库系统原理北京:
电子工业出版社,2008
[5]张玲.软件工程[M]北京:
清华大学出版社,2007
[6]卢潇.软件工程[M]北京:
清华大学出版社,2009
[7]林宁.软件测试实用指南[M]北京:
清华大学出版社,2004
[8]赛奎春精彩编程200例北京:
机械工业出版社,2011
[9]夏邦贵6.0数据库开发经典实例精解北京:
机械工业出版社,2005
[10]姚巍.数据库开发及工程实例北京:
人民邮电出版社,2003
[11]王珊萨师煊.数据库系统概论(第四版).北京:
高等教育出版社,2010
[12]求是科技.数据库开发技术与工程实践[M].北京:
人民邮电出版社,2009