最新图书管理系统毕业设计.docx
《最新图书管理系统毕业设计.docx》由会员分享,可在线阅读,更多相关《最新图书管理系统毕业设计.docx(43页珍藏版)》请在冰豆网上搜索。
最新图书管理系统毕业设计
摘要
图书管理系统是智能办公系统(IOA)的重要组成部分,因此,图书管理系统也以方便、快捷的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工作人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。
从而使人们有更多时间来获取信息、了解信息、掌握信息。
其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
采用SQLServer2005数据库作为后台数据库、VisualC#编程语言作为前台开发工具,通过对数据库技术进行了较深入的学习和应用,主要完成书目检索、读者管理、借阅管理、图书管理、用户维护、系统维护等系统功能。
系统运行结果证明,本文所设计的图书管理系统可以满足学生和教师借阅者、图书管理员、图书总管理员三方面的需要,达到了设计要求。
关键词:
图书管理系统,ASP.NET,SQLServer2005
作者:
王刘根
指导老师:
鲁逊
Abstract
Librarymanagementsystemisintelligentofficesystems(IOA)animportantcomponentoftheresult,librarymanagementsystemalsoconvenient,fastadvantageisslowlyintopeople'slives,thetraditionallibrarymanagementandthoroughmannerextricatethemselves,improveefficiency,Reducetheheavyworkoftheirpreviouswork,reducingtheprobabilityoferror,sothatreaderscanspendmoretimeinthechoiceofbooksandreadingbookson.Sothatpeoplehavemoretimetoobtaininformationandunderstandinformation,accesstoinformation.Itmainlyincludesdatabasecreationandmaintenance,aswellastheprecedingtwoaspectsoftheapplication.SQLServer2005databaseusedasabackgrounddatabase,VisualC#programminglanguageastheprospectsofdevelopmenttools,databasetechnologythroughamorein-depthstudyandapplication,mainlytocompletebibliographicsearch,thereadermanagement,loanmanagement,librarymanagement,usermaintenance,systemmaintenance,Andothersystemfunctions.Theresultsprovethatthesystemisrunning,thepaperdesignedbythelibrarymanagementsystemtomeetthestudentsandteacherstoborrow,librarians,libraryadministratorsinthreeareasofneed,todesignrequirements.
Keywords:
BookManagementSystem,ASP.NET,SQLServer2005
WrittenbyWangLiuGen
SupervisedbyLuXun
第一章绪论
1.1图书馆管理系统概述
随着社会的发展,人们年活水平的不断提高,物质文化的发展已经远远满足不了人们的需求,精神文明有了飞速的发展,因此图书事业的发展就成为精神文明进步的一个动力。
在迈入二十一世纪的今天,对图书馆的管理显得极其重要,合理地管理不但反映一个国家的科技水平,而且影响人们对知识掌握的速度和质量。
在知识经济时代到来的今天,用计算机控制图书馆的工作由自动化系统运行而完成。
这不仅节省了人力,还提高了工作效率和服务质量,而且还加速了图书的流通。
1.2图书馆管理的目的和意义
随着各高等院校的规模不断扩大,图书馆的藏书、管理人员、读者的数量也越来越多,图书管理涉及到大量的数据处理,传统的人工处理已经不能完成庞大的数据处理,因为图书的情况是随时改变的,因此必需对图书进行动态的管理,而这对于一个管理人员来说是一件比较复杂的事情,存储,查询,借阅是必不可少的业务。
因此,为方便对图书馆书籍、读者资料、借还书等进行高效的管理,提高业务流程效率,让管理员从繁重的工作中解脱出来,使管理员在使用一个软件以后能极其容易地对所有图书进行管理,并且准确无误,轻松自如。
因此开发一个图书馆管理系统软件是当务之急,也是本论文选题的重要意义和研究宗旨。
总之,建立图书馆的计算机自动化管理系统,不但可以大大提高图书馆图书流通率,而且推动了社会文化生活的进步。
第二章系统相关技术和开发模式
2.1.NETFramework概述
.NETFramework是支持生成和运行下一代应用程序和XMLWebservices的内部Windows组件。
.NETFramework旨在实现下列目标:
提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的。
提供一个将软件部署和版本控制冲突最小化的代码执行环境。
提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。
提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。
按照工业标准生成所有通信,以确保基于.NETFramework的代码可与任何其他代码集成。
.NETFramework具有两个主要组件:
公共语言运行库和.NETFramework类库。
公共语言运行库是.NETFramework的基础。
您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。
事实上,代码管理的概念是运行库的基本原则。
以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
.NETFramework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创新的应用程序(如Web窗体和XMLWebservices)。
.NETFramework可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。
.NETFramework不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。
2.2.NETFramework的主要组件和功能
2.2.1公共语言运行库的功能
公共语言运行库管理内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。
这些功能是在公共语言运行库上运行的托管代码所固有的。
至于安全性,取决于包括托管组件的来源(如Internet、企业网络或本地计算机)在内的一些因素,托管组件被赋予不同程度的信任。
这意味着即使用在同一活动应用程序中,托管组件既可能能够执行文件访问操作、注册表访问操作或其他须小心使用的功能,也可能不能够执行这些功能。
运行库强制实施代码访问安全。
例如,用户可以相信嵌入在网页中的可执行文件能够在屏幕上播放动画或唱歌,但不能访问他们的个人数据、文件系统或网络。
这样,运行库的安全性功能就使通过Internet部署的合法软件能够具有特别丰富的功能。
运行库还通过实现称为通用类型系统(CTS)的严格类型验证和代码验证基础结构来加强代码可靠性。
CTS确保所有托管代码都是可以自我描述的。
各种Microsoft和第三方语言编译器生成符合CTS的托管代码。
这意味着托管代码可在严格实施类型保真和类型安全的同时使用其他托管类型和实例。
此外,运行库的托管环境还消除了许多常见的软件问题。
例如,运行库自动处理对象布局并管理对对象的引用,在不再使用它们时将它们释放。
这种自动内存管理解决了两个最常见的应用程序错误:
内存泄漏和无效内存引用。
运行库还提高了开发人员的工作效率。
例如,程序员可以用他们选择的开发语言编写应用程序,却仍能充分利用其他开发人员用其他语言编写的运行库、类库和组件。
任何选择以运行库为目标的编译器供应商都可以这样做。
以.NETFramework为目标的语言编译器使得用该语言编写的现有代码可以使用.NETFramework的功能,这大大减轻了现有应用程序的迁移过程的工作负担。
2.2.2客户端应用程序开发
客户端应用程序在基于Windows的编程中最接近于传统风格的应用程序。
这些是在桌面上显示窗口或窗体从而使用户能够执行任务的应用程序类型。
客户端应用程序包括诸如字处理程序和电子表格等应用程序,还包括自定义的业务应用程序(如数据输入工具、报告工具等等)。
客户端应用程序通常使用窗口、菜单、按钮和其他GUI元素,并且它们可能访问本地资源(如文件系统)和外围设备(如打印机)。
另一种客户端应用程序是作为网页通过Internet部署的传统ActiveX控件(现在被托管Windows窗体控件所替代)。
此应用程序非常类似于其他客户端应用程序:
它在本机执行,可以访问本地资源,并包含图形元素。
例如.NETFramework提供简单的属性以调整与窗体相关联的可视属性。
某些情况下,基础操作系统不支持直接更改这些属性,而在这些情况下,.NETFramework将自动重新创建窗体。
这是.NETFramework集成开发人员接口从而使编码更简单更一致的许多方法之一。
2.2.3服务器应用程序开发
在托管领域中,服务器端应用程序是通过运行库宿主实现的。
非托管应用程序承载公共语言运行库,后者使您的自定义托管代码可以控制服务器的行为。
此模型在获得主服务器的性能和可伸缩性的同时提供给您公共语言运行库和类库的所有功能。
下面的插图显示在不同服务器环境中运行托管代码的基本网络架构。
在应用程序逻辑通过托管代码执行时,服务器(如IIS和SQLServer)可执行标准操作。
服务器端托管代码
ASP.NET是使开发人员能够使用.NETFramework开发基于Web的应用程序的宿主环境。
但是,ASP.NET不止是一个运行库宿主;它是使用托管代码开发网站和通过Internet分布的对象的完整结构。
Web窗体和XMLWebservices都将IIS和ASP.NET用作应用程序的发布机制,并且两者在.NETFramework中都具有支持类集合。
如果您开发和发布自己的XMLWebservices,.NETFramework为您提供了一组符合所有基础通信标准(如SOAP、WSDL和XML)的类。
使用这些类使您能够将注意力集中在服务的逻辑上,而无需关注分布式软件开发所需要的通信基础结构。
2.3SQLServer概述
SQL全称是“结构化查询语言(StructuredQueryLanguage)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。
SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。
如今无论是像Oracle,Sybase,Informix,SQLserver这些大型的数据库管理系统,还是像VisualFoxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。
StructuredQueryLanguage包含4个部分:
数据查询语言DQL-DataQueryLanguageSELECT
数据操纵语言DQL-DataManipulationLanguageINSERT,UPDATE,DELETE
数据定义语言DQL-DataDefinitionLanguageCREATE,ALTER,DROP
数据控制语言DQL-DataControlLanguageCOMMITWORK,ROLLBACKWORK
2.3.1SQL的特点
SQL广泛地被采用正说明了它的优点。
它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。
(1)非过程化语言
SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。
SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。
所有SQL语句接受集合作为输入,返回集合作为输出。
SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。
SQL不要求用户指定对数据的存放方法。
这种特性使用户更易集中精力于要得到的结果。
所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。
查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。
(2)统一的语言
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。
基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握。
SQL为许多任务提供了命令,包括:
●查询数据
●在表中插入、修改和删除记录
●建立、修改和删除数据对象
●保证数据库一致性和完整性
以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。
(3)是所有关系数据库的公共语言
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。
所有用SQL编写的程序都是可以移植的。
2.3.2SQLServer的优点
●兼容性良好
由于今天Windows操作系统占领着主导地的位,选择SQLServer一定会在兼容性方面取得一些优势。
另外,SQLServer2005除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。
尤其是它可以直接存贮XML数据,可以将搜索结果以XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。
这些特点在.NET战略中发挥着重要的作用。
●数据仓库
MicrosoftSQLServer2005非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。
OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。
数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。
通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。
第三章系统分析
3.1可行性分析
为了对问题进行研究,以最小代价在最短的时间内确定问题是否可解,经过对此项目进行详细调查研究,初拟本系统的实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排,明确开发目标。
1)技术可行性
本系统采用MicrosoftVsualSudio2005平台进行开发,它是一个集成于代码编写、运行、调试及发布等功能于一身的强大的开发环境,也集成了数据库浏览和UML绘图等工具。
开发Web程序的效率非常高,环境也提供了自动代码生成机制,可以有效的减少代码编写量。
基于Web的应用程序,对于程序的发布也是十分的容易,因此,开发本系统在技术上完全可行。
2)经济可行性
该系统成本主要集中在软件的开发上,当系统投入使用后可以为图书馆管理部门节约大量的人力、物力。
同时该系统也实现了开放性图书馆管理的现代化管理模式,达到充分利用和共享网络信息和管理资源,进行科学和规范化管理,提高了管理人员的素质和工作质量。
它所带来的效益远远大于系统软件的开发成本,在经济上完全可行。
3)操作可行性
在设计系统的过程中,充分考虑到管理人员和学生的习惯。
界面风格使用Web网页形式呈现。
使用方便,而无需进行任何软件的安装,操作简单;按权限使用并提供多种查询手段,在操作上可行。
3.2功能需求
该图书管理系统包四个子系统:
图书信息管理系统、读者信息管理系统、借阅信息管理系统以及系统管理。
●图书信息管理:
添加图书类别,维护图书类别,登记图书信息,维护图书信息。
分别包括书籍种类信息的新增,修改,删除及书籍信息的新增,修改,删除。
●读者信息管理:
添加读者类别,维护读者类别,登记读者信息,维护读者信息。
分别包括读者类别信息的新增,修改,删除,及读者信息的新增,修改,删除。
●借阅信息管理:
读者借书登记,读者还书登记,借书超期信息查看。
包括图书借阅,图书归还,图书超期。
●系统管理:
管理员和读者登陆系统后可以修改自己的登陆密码,读者可以修改自己的个人信息。
●读者登录后可以浏览读数信息、查询自己的图书借阅,罚款信息。
3.3系统功能框架图
图3-1:
系统功能框架图
3.4用例图
图3-2图书管理系统用例图
“图书管理系统”用例图的用例包括:
●图书信息管理:
由行为者“管理员”参与启动该用例,该用例包括添加图书信息和修改图书信息;
●读者信息管理:
由行为者“管理员”参与启动该用例,该用例包括添加读者信息和修改读者信息;
●借阅管理:
由行为者“管理员”参与启动该用例,该用例包括借出图书和图书归还;
●查询:
由行为者“读者”参与启动该用例,该用例扩展到借阅管理;
3.5时序图
(1)借阅图书的时序图:
图3-3借阅图书时序图
(2)归还图书的时序图:
图3-4归还图书时序图
3.6活动图
(1)图书管理员的活动图
图3-5图书管理员的活动图
●图书管理员登录系统后,处理日常事务,比如处理读者还书,借书;
●在处理还书时,系统会计算读者的还书期限是否过期,如果过期,则要交一定的罚金,并且更新借阅信息;
●处理借书时,系统会验证此读者借书的数量是否超过了限制,如果超过最大可借书的数目时,拒绝继续借书。
(2)系统管理员维护书籍信息的活动图
图3-6系统管理员维护书籍信息的活动图
●系统管理员登录系统,输入口令,系统进行验证,验证通过后,才可以使用系统,否则系统拒绝;
●登录后,系统管理员可以对图书进行一些管理,比如增加图书,删除图书,操作完成后,推出系统。
第四章系统设计
4.1系统功能设计
4.1.1系统总体设计目标
根据对图书管理系统需要,按着总体规划、集中实施的原则,考虑到系统的稳定性、安全性及数据的安全性和一致性要求,在系统设计过程中,坚持开放性和标准化的原则,以整个系统具有科学性、实用性、可靠性和灵活性为设计目标,主要完成图书信息的管理、读者信息的管理、借阅信息的管理和系统管理。
4.1.2用户权限的设计
在本系统中,用户分为两类:
系统管理员和读者。
他们的权限分配主要体现在:
系统管理员对该系统有较大的权限,系统管理员可以对系统中的图书信息、类别进行添加、修改、删除和查询,读者的类别和信息进行添加、修改、删除和查询。
同时,系统管理员还要对系统做一定的维护和后台操作。
对于一般的读者,可以修改自己的登录密码,对自己需要的一些数据进行查询,所以相应的我们在设计时只对一般的读者提供查询图书信息和查询自己的信息。
而管理员是系统的维护者,所以具有很高的权限。
管理员不仅可以添加新用户,还可以向数据库中添加新数据、对数据库中原有的数据进行删除、修改、查询。
4.2数据库的设计
4.2.1数据库需求分析
数据库是信息管理的后台,存储着所有的信息,在信息系统中占有重要的地位。
数据库结构的好坏对应用系统的效率及实现产生直接影响,而且也将有利于程序的实现。
考虑该系统的定位与现有技术力量,决定采用SQLServer2005作为系统的后台数据库开发环境。
4.2.2图书管理系统E-R图
图4-1图书系统E-R图
4.2.3数据库表设计
现在需要将上面是数据库概念结构转化为SQLServer2005数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
根据系统功能设计的要求以及功能模块的划分,本系统采用SQLServer作为数据库,共有6个数据表。
1、管理员表:
admin如表4-1所示:
表4-1管理员表
名称
列名
属性
是否允许为空
管理员登录名
adminUsername
varchar(20)
是
管理员登录密码
adminPassword
varchar(32)
否
2、图书管理表:
books如表4-2所示:
表4-2图书管理表
名称
列名
数据类型
是否允许为空
ID号
bookId
int
否
书籍名称
bookName
nvarchar(30)
是
书籍类别ID
bookTypeId
int
是
作者
author
nvarchar(20)
是
出版社
publishing
nvarchar(50)
是
定价
bookMoney
float
是
图书数量
bookNum
int
是
图书简介
introduction
text
是
3、书籍类别表:
bookType如表4-3所示:
表4-3书籍类别表
名称
列名
数据类型
是否允许为空
书籍类别ID
bookTypeId
int
否
图书类别
bookTypeName
varchar(50)
是
4、书籍流通表:
loan如表4-4所示:
表4-4书籍流通表
名称
列名
数据类型
是否允许为空
书籍流通ID
loanId
int
否
读者ID
readerId
varchar(50)
是
书籍ID
bookId
int
是
借出时间
borrowTime
datetime
是
还书时间
returnTime
datetime
是
是否归还
isReturn
int
是
续借时间
continueBorrowTime
datetime
是
是否续借
isContinue
int
是
罚款
p