图书管理系统的设计与实现毕业论文.doc
廊坊职业技术学院高职计算机类毕业(设计)论文 信息管理专业题目 图书管理系统的设计与实现学生姓名 学 号 1013080085 指导教师 班 级 信息管理G1001 2013年4月9日目录摘要 3Abstract 4第一章 课题分析 51.1课题背景 51.2国内外研究现状 51.3本课题研究的意义 61.4图书管理的特点 6第二章 系统分析 72.1系统的可行性分析 72.2系统开发步骤 72.3对本系统的分析 7第三章 数据库设计 103.1数据库分析 103.2数据库概念设计和表结构 10第四章 系统实现 114.1系统开发技术 114.2系统实现界面 114.3系统代码实现 21 4.3.1密码修改 21 4.3.2图书查询 22 4.3.3拦截校验 22第五章 总结 24参考文献 25指导意见 26 摘 要随着信息技术在管理技术上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型科学,任何一个单位要生存要发展,要高效率的把内部活动有机的组织起来,就必须建立与自身特点相适应的管理信息系统。资料管理系统是典型的信息管理系统,其主要开发包括后台数据库的建立和维护,以及前端应用程序的开发两个方面。对于前者要求建立起数据库一致性和完整性强,数据库安全性好的库。后者则要求应用程序功能完备,易于使用等特点。因此,本人结合资料管理系统的要求,对易语言数据管理系统,易语言原理,易语言数据库技术进行了较深入的学习和应用。主要完成对资料管理系统的要求分析、功能模块划分,并由此设计了数据库结构和应用程序。系统运行结果证明,本人设计的资料管理系统可满足借阅者、资料管理工作人员和高级管理三方面的要求。系统开发采用大连飞扬软件工作室编写的易语言,它是一种全中文全可视化电脑程序编写语言。它的诞生结束了外国编程语言长期垄断中国市场的局面,使中国人终于可以使用自己的母语来编写各种实用电脑程序。利用易语言强大的可视化界面功能以及对数据库的支持,先构造一个模型,逐步增加功能,最终满足需求,本系统界面友好,功能较强。不足的地方是当数据库访问量大时,将导致性能的下降,且不利于数据库有效共享,在以后改进中应考虑 SERVER作为数据库,解决访问速度及数据共享的问题。该系统力求易于使用,具有较高的扩展性和可维护性。关键字:关系数据库 易语言 资料管理系统 系统开发 信息系统AbstractAlong with information technique more and more thorough but extensive application in managing a technique, management information the implement of the system is on the technique already gradually mature.Managing the information system is a new science which develops continuously, the whichever unit wants to exist to want a development, high-efficiency of organize organically the internal activity, have to build up adapting with oneself characteristics mutually of management information system.The data management system is a typical information management system, it mainly develops establishment and maintenance of including the backstage database, and the head apply the procedure develop two aspects.Start to build up the database consistency and the integrity to the former request strong, the database safety good database.The latter then requests applying procedure function is complete, being easy to an usage etc. characteristics.Therefore, oneself combine a data management the request of the system, manage system to the easy language data, easy language principle, the easy language database technique carried on a more thorough study and the application.Mainly complete to manage system to the data of request analysis, function mold piece divide the line, and designed database structure from here and applied procedure.The system circulates a result certificate, oneself design of data management system can the one who satisfy to borrow to read, data management the staff member and high class manage the request of three aspects.Word.Adoption Dalian of the system development floats in the sky the easy language that the software utility room writes, it is all of a kind of whole Chineses and can see to turn computer procedure to write language.Its birth ended the foreign country plait distance language long-term to break the situation of Chinese market, making the Chinese can use an own mother tongue finally to write various practical computer procedure.Make use of easy language strong of can see to turn interface function and to support of the database, construct a model first, increase function gradually, end meet the demands, this system interface is friendly, the function is stronger.When the place of shortage is to be a database interviews to has great capacity, will cause the function descend, and the disadvantage share effectively in the database, should consider the SERVER as a database in hereafter the improvement, resolving interview speed and the data commonly shared problem.That system tries hard for to be easy to an usage, having to expand sex higherly and canning support sex.Key word:The relation database Easy language The development information system of the system System of the data management第一章 课题分析1.1 课题背景目前随着信息化程度的提高,国内图书馆也日益现代化,为了满足这种需求,很多软件开发商已经开发出很多交好的商品化的图书管理软件,这些图书管理软件功能和性能都很完善,他们大多是面向大型专业图书馆而开发的,专业型强、功能分工较细、操作和使用比较复杂,难以掌握。对那些管理人员不多且不是图书管理业务的专业人员,业务分工也不是很明确,这样的软件对他们来说太庞大、太复杂了。本系统开发基于.NET技术,本着简单、实用的原则,既在功能上满足用户需求,又力求操作简单,使系统容易掌握和使用。由于采用.NET技术构建,本系统既可以在单机运行又可以在网络中运行,具有较高的适应性。1.2国内外研究现状伴随着科技的进步,社会经济的发展高校人类步入知识社会经济时代。知识管理理论即是这一时代的产物。作为一种全新的管理方法和管理手段,知识管理的实践最早诞生于企业,目前也在企业界得以广泛应用。而图书管理系统一直是这些年来积极探索的问题,并随着这一问题研究的深入和关注,人们逐渐开始了对图书管理系统新的领域的探索,基于信息化管理的图书知识管理系统必将成为今后图书馆建设的一个只要内容。但是图书信息话管理还有很多的不足:高校图书馆档案管理信息化所需基础设施、设备条件和技术手段还相对比较落后。然而,由于高校图书馆档案管理信息化所需基础设施、设备条件和技术手段还相对比较落后,目前高校图书馆档案管理信息化水平还比较低。随着时代的发展、办公形式的进步,高校的教学、科研及其他活动中越来越多的依据声像档案。它真实、形象、鲜活地记载了活动、事件的面貌,是一种最直观、最真实的档案材料, 也是高校及图书馆建设和发展的宝贵资料。但在工作中往往忽视了对声像档案的收集和利用,使声像档案失去了其应有的作用。因此,应增加一些高档的声像设备,加强声像档案的管理和利用,同时提高计算机、局域网和公共网的建设,促进高校图书馆管理信息化水平的不断提高。高校图书馆档案管理信息化服务层次低。目前,高校图书馆档案管理信息服务主要还是在对档案资源的登记、保管,只是为部分人提供阅览、简单的咨询和导读、复印等外部层次上。随着高校基础设施建设的加强,设施设备条件进一步完善,校园网普遍建立,为高校图书馆档案管理工作提供了很好的平台。然而,高校图书馆信息化服务网络平台的建设并不理想。在高校图书馆档案管理中,计算机网络的共享性优势没有得到很好的发挥,高校图书馆档案信息并没有提供网络信息服务,也没有建立能让读者进行交流网络平台。信息化服务层次还比较低,网络资料、档案文献报道、专题提供、资源共享等深层次服务还没有形成。高校校园网逐步建立,但校园网的利用不够充分,还未建立起高校图书馆网络远程用户平台。在过去很长一段时间里,由于高校图书馆档案管理传统工作方式所形成的思维和方法上的定式,使得图书馆档案管理工作者在思想观念上难以将现代化管理引入到档案工作中来。尽管计算机普及程度已经较高,校园网已经逐步建立,但是,高校图书馆档案管理中没有充分发挥现代网络技术的作用。图书馆档案信息基本上是局限于本校,至多就是本地区,基本没有实现远程存取服务,很少有高校图书馆建设有远程用户也可以非常方便地利用图书馆档案信息的网络平台。近几年,电子信息技术的迅速发展和对社会生活的巨大影响,虽然已经让档案工作者认识到计算机、网络等可以大大提高档案管理工作的效率和信息化水平。但是对于如何构建图书馆档案管理信息化服务平台,相当多的档案管理工作者并没有站在资源充分共享与利用和学校改革与发展的高度,从更深层次上认真思考信息化给档案管理带来的机遇!1.3本课题研究的意义随着当今社会的迅猛发展,知识变的越来越重要,终身学习的观念已经深入人心。而图书馆这一传统的获取知识的场所,它的地位也变的越来越重要。而图书馆的管理方法也更新了很多次。从最初的手工管理到现在的计算机管理等等。经过调查一些图书馆的现状,发现各图书馆使用的管理系统基本都是几年前的产品,大多使用VB+ADO方式,web平台也主要使用asp或php开发。开发技术比较陈旧,功能上也有一些不足。而且以前的VB面向对象化编程(OOP)支持的不是很好,软件维护起来也相当困难。Microsoft.Net技术的推出,将计算带入一个新时代。现在.Net已经引起业界广泛的关注。.Net是专门为程序员设计的、功能强大的开发工具,利用该工具能够构建各类应用程序。.NET可以说是博大精深,蕴含者丰富的新技术新思想。.Net使应用程序的功能更强大,使系统开发更简单,使系统的部署更轻松。而.NET包含的统一的类库,统一的数据结构使得各类编程模型更统一。个人对.NET技术非常感兴趣,在这方面也做过大量的研究。又鉴于当前流行的图书馆管理信息系统技术都比较陈旧,就萌发了用.NET开发一个新图书馆管理信息系统的想法。很高兴它成为为毕业设计研究的课题。系统的实践意义有两个:1开发出的系统功能强大,可以应用于各大中型图书馆使用,可以根据客户的要求添加功能。2由于.NET推出的时间不算很长,所以网上很少有用.NET开发的公开源代码的大型系统。本系统可以给广大的.NET编程爱好者一些参考。本文理论部分主要针对数据库设计技术、存储过程技术、ADO.NET技术以及用SQL Server .NET Framework 数据提供程序访问SQLserver2000数据库技术这四个方面进行了研究和探讨。图书馆管理信息系统的每一行代码都是精雕细琢出来的,从里面体现出.NET的强大性以及优越性。在编程过程中查阅了大量的书籍,参考了大量MSDN以及各大网站的技术文章,全部代码约有一万两千行左右。为此做了大量的工作。在系统的开发过程中,深刻体会到了.NET平台的强大性以及优越性以及存储过程在提高数据访问性能和增强数据访问安全性上所起到的重要作用1.4图书管理系统的特点准备开发出具有以下特点的管理系统:页面清晰、功能齐全实用、操作简单。开发周期短、维护费用低、软件更新速度快。风格友好化,轻松管理,容易上手,达到一看就懂、一学即会。目标系统必须具有可靠性、安全性、可维护性、可移植性等。本系统是针对学校图书馆来开发的管理信息系统,该系统要达到可以对图书的基本信息进行管理的功能,可以实现基本的查询、录入、修改和借阅功能。数据集中统一,采用数据库处理数据。使用模块化结构,便于修改,由易增加新内容。第二章 系统分析2.1 系统的可行性分析系统的可行性分析包括两个详细的部分:分析开发的新系统的必要性和可能性。必要性在前面系统初步调查中已经做了详细的分析,这里不再赘述;可能性主要包括经济可能性、技术可能性和运行可能性三个方面。经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后取得的社会和经济效益进行估计。技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。资料管理系统采用的是易语言开发语言,调试相对简单,当前的计算机硬件配置也完全能满足需求,因此在技术上是绝对可行的。运行可行性是对组织结构的影响,现有人员和机构、设备设施和环境对系统的适应性及人员的培训补充计划的可行性。当前我们单位信息化技术已经相对普及,各类操作人员水平都有相当的高度,所以运行上是可行性的。2.2 系统开发步骤一般来说,管理信息系统的建立与应用可以划分成总体设计、系统开发和系统运行三个阶段,其中系统开发阶段还可以进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个阶段均产生完整的技术文档作为下一个阶段工作的指导和依据,每一个阶段都应对相应的文档进行评审,确信该阶段工作已完成并达到要求后进入下一个阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。上述开发方式的主要优点是方便开发工作的组织和管理,并且可能大大降低管理信息开发的复杂性。国内外许多系统开发的实例都证明这是一种行之有效的开发方式。2.3 对本系统的分析通过对需求客户的分析,本系统开发的主要目的是通过信息化的方式对大量的资料信息进行管理,一方面提高资料信息的利用率,另一方面,实现一定程度上的信息共享,为决策提供事实依据。通过对系统的调查和可行性分析,画出系统的数据流程图,如下图: 资料表DFD流程图:资料信息入库DFD:用户入库表DFD:资料借出DFD:资料归还第三章 数据库设计Microsoft SQL Server 2005 是一个高性能的客户端/服务器结构的关系数据库管理系统,是为支持高容量的事务处理和决策支持系统而设计的。能够为其他的Microsoft操作系统提供很多客户端工具和网络接口。使用它可以完成事务处理、存储和分析数据。其中SQL Server2005负责维护数据库中数据的安全,确保正确的存储数据和不违反定义数据之间的规则,汇集各种信息以供查询、存储和检索。数据库在该图书管理信息系统中占有非常重要的地位,数据库结构设计合理可以提高数据存储的效率,报填数据的完整和一致,有利于程序的实现。3.1数据库分析针对图书管理信息系统的需求通过对工作过程的内容和数据流程分析,设计数据库中的字段和字段类型,根据本系统运行管理,确定为本系统设计一个数据库,其下分设读者信息表、管理员登记表、还书信息表、图书信息表。1.读者信息表包括的字段有:读者编号,读者姓名,性别,部门,联系地址;2.管理员登录表包括的字段有:管理员和密码;3.还书信息表包括的字段有:图书编号,读者编号,还书日期;4.图书信息表包括的字段有:图书编号,图书名称,出版社,图书价格,借阅次数,存放位置,库存数量等。3.2数据库概念设计和表结构根据上节各表中让你涉及到人字段,可以设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的逻辑结构设计打下基础。以下就是图书信息表为例的一个表结构:表1图书信息表图书信息表nvarchar(10)图书编号varchar(20)图书名称varchar(20)出版社varchar(20)图书价格varchar(20)借阅次数varchar(20)存放位置nchar(10)库存数量int第四章 系统实现4.1系统开发技术静态页面制作(html代码,frame应用, css应用)利用JDBC,比较简单的实现数据库存取操作(二层结构)分析二层结构带来的问题,改进该结构,引入数据访问层。简单的数据访问层实现数据库存取操作简单的数据访问层带来的问题以及如何改进数据访问层设计: 公共的数据库连接类DbConnection、 数据访问对象DAO的基类BaseDAO, Log4j的配置与应用,针对业务的数据访问对象开发,从AuthorDAO开始。作者管理的数据访问层开发完毕,实现前台JSP层的开发,主要是CRUD操作。增加简单的JS校验。图书管理模块分析,业务层开发、涉及事务操作、多表操作。图书管理JSP层开发7,分析参数多的情况带来的问题,引入JavaBean来实现request参数的自动获取和设置。增加JS校验实现基本的数据验证。编写通用的分页对象PageUtil,应用该对象在图书列表中实现内存中分页,类似的,实现作者、出版社的分页。为系统增加一张系统用户表, 完成系统用户的CRUD。Session用户登录以及登录验证的开发。编写通用的登录验证,单独作为文件包含到需要验证才能访问的页面中。为系统退出功能增加。MVC思想简要介绍,利用Servlet作为控制器,el,jstl完成界面显示,基于MVC开发图书查询模块5。Servlet中的过滤器,使用过滤器增强可维护性。改进代码,将request编码交由过滤器处理, 将登录校验交由过滤器处理。4.2 系统实现界面登陆成功登陆失败图书查询图书详细列表图书添加图书修改图书删除出版社查询出版社添加出版社修改出版社删除作者查询作者添加作者修改作者删除用户查询用户添加用户修改用户删除4.3 系统代码实现4.3.1密码修改package com.books.db;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.List;import com.books.model.UserModel;import mon.db.BaseDAO;import mon.db.IParamBinding;import mon.db.IRowMapper;import mon.util.ParamUtil;public class UserDAO extends BaseDAOpublic void update(final UserModel model)String sql="update bookusers set account=?,password=?,name=? ,createTime=? where userId=?"super.updateBySql(sql, new IParamBinding() Overridepublic void bindParam(PreparedStatement pstmt) throws SQLException pstmt.setString(1, model.getAccount();pstmt.setString(2, model.getPassword();pstmt.setString(3, model.getName();pstmt.setString(4, model.getCreateTime();pstmt.setInt(5, model.getUserId(););class UserRowMapper implements IRowMapperOverridepublic Object mappingRow(ResultSet rs) throws SQLException UserModel model = new UserModel();model.setAccount(rs.getString("account");model.setPassword(rs.getString("password");model.setName(rs.getString("name");/将date格式转换为String格式 通过rs得到date 然后转换成String类型的yyyy-MM-dd HH:mm:ssString createTime = ParamUtil.parseDateTime(rs.getTimestamp("createTime"), "yyyy-MM-dd HH:mm:ss");model.setCreateTime(createTime);model.setUserId(rs.getInt("userId");return model;84.3.2 图书查询public List<TitleModel> queryAll()String sql = "select t.*,publisherName from titles t left outer join publishers p on t.publisherID=p.publisherID"return super.queryBySQL(sql, new TitleRowMapper();4.3.3 拦截校验<%page import="java.util.List"%><%page import="com.books.model.UserModel"%><%page import="com.books.db.UserDAO"%><%page contentType="text/html;charset=utf-8" %><%request.setCharacterEncoding("utf-8");UserDAO dao = new UserDAO();String account = request.getParameter("account");String password = request.getParameter("password");UserModel model = dao.login(account,password);if(model=null)request.setAttribute("errorMessage","登陆失败,帐号或密码错误!");request.getRequestDispatcher("/").forward(request,response);elsesession.setAttribute("loginModel",model);response.sendRedirect(request.getContextPath()+"/books/index.jsp");总结通过本次课设,对数据库、c#语言有理更深的认识。程序中还有很多地方需要改进、完善。在程序中某些查询结果的显示信息不实很合理,书号编码也不是很合理,同一种书编成一个号码,这样,如果同一个读者借阅了相同的两本书,那么在还书的时候换一本书,Borrow_Info表中就将两条借阅记录都删除了,但是如果一本书一个编号的话,在入库的时候管理员的工作量会很大。在缴费时,也有点麻烦。读者只能一本一本的消除罚款记录,因为有时读者可能不能一次将罚款补请,所以不能一次将读者所有的欠费记录都删除。这三点是我认为程序的不足之处。编程实现过程中,第一个入库功能做了将近一天,对数据库的增加、删除、修改、查询都熟悉了,后面的那些功能就是这几个功能的组合,锻炼的就是逻辑思维能力了。过程中遇到很多问题,比如向表中插入现在时间、计算两个日期相距的天数。做出这样一个简单的系统,收获还是不小的。不在于我们对c#、对数据库学习了多少,而过程才是真正磨练我们的学习的能力的。参考文献1Microsoft SQL Server 2000数据开发手册 科学出版社,20012Tony Bain VB.NET 和SQLserver 2000高级编程 清华大学出版,2002 3毕广吉.Java程序设计实例教程M. 北京:冶金工业出版社,2007年4.王保罗.Java面向对象程序设计M. 北京:清华大学出版社,2003年5密君英.SQL Server2005中文版实例教程M.2版.北京:中国电力出版社,2008:78-86.6刘丽.精通ASP.NET2.0+SQL Server 2005项目开发M.3版.北京:人民邮电出版 25