基于JSP(java)图书管理系统的设计和实现(含源文件)


获取项目源文件,联系Q:1225467431,可指导毕设,课设

摘 要
伴随着互联网的蓬勃发展,人们已经不再满足于信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。掌握计算机知识和应用,是培养新型人才的一个重要环节。在众多的计算机语言当中,Java无疑是最具生命力的语言之一,由于计算机发展带来的新应用的出现,Java越来越流行。作为一种程序设计语言,Java是分布式的、面向对象的、不依赖于机器的结构,它最大的利用了网络而不受CPU和环境的限制。
图书馆管理系统正适应了当今社会快节奏地生活,基于JSP开发设计,面对管理人员和读者两种不同人群的应用系统。本文从图书馆管理系统的现状、可行性到数据库的设计,再到各功能模块的实现做了详细的介绍。
本系统便是尝试用JSP在网络上架构一个动态的图书馆管理系统,它是在Windows XP或Windows7下,以MySQL为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(Java Server Pages)技术开发的图书馆管理系统。主要实现了5个方面的功能:1.登录,分为管理员和普通用户;2.用户管理,对用户进行查询,可修改用户的当前状态和相关信息,并可对用户进行删除处理;3.图书管理,主要实现书库的管理和书籍的管理,包括书库的建立和删除,新书的入库和废书的删除等;4.借阅管理,包括书籍借阅和书籍归还的管理;5.读者管理,可以删除或更新本图书馆的读者。
关键词:图书馆管理,Java,JSP
目 录
TOC 1-3 1 绪 论 1
2 需求分析 2
2.1 图书管理系统的现状 2
2.2 市场需求分析 3
3 可行性分析 4
3.1 经济可行性分析 4
3.2 技术可行性分析 4
4 项目规划 6
4.1 运行环境——JDK 6
4.2 HTML语言 6
4.3 脚本语言JavaScript 6
4.4 服务器——Tomcat 7
4.5 项目规划 7
4.2.1 任务分配 7
4.2.2 开发进度跟踪 8
5 用户界面设计 9
5.1 界面开发工具 9
5.2 界面设计思想 9
5.3 界面设计原则 9
6 数据库分析与设计 11
6.1 数据库简介 11
6.2 数据库的设计 11
6.3 数据库的安全性 14
7 系统设计与实现 15
7.1 开发工具介绍 15
7.2 程序设计思想 15
7.3 代码设计标准与规范 16
7.4 各模块功能设计 16
7.4.1 管理员登录与注册模块 16
7.4.2 用户管理模块 17
7.4.3 图书管理模块 18
7.4.4 借阅管理模块 18
7.4.5 读者管理模块 19
8 系统测试与维护 20
8.1 程序测试的目的 20
8.2 程序测试的意义 20
8.3 程序测试的原则 21
8.4 程序测试的流程 21
8.5 程序维护的任务 21
8.6 程序维护的分类 21
8.7 程序维护的管理 22
9 结 论 23
致 谢 24
参 考 文 献 25
毕业设计说明书(论文)缩写稿 26
The Abbreviation Version of the Thesis of Undergraduates 30
1 绪 论
随着社会的发展,人类的生产、生活越来越离不开信息。谁拥有更多更有效的信息,谁就将在竞争中处于有利的地位。而图书作为信息存储及传播的主要媒体之一,其需求量也越来越大。与此同时,图书馆对图书管理的要求也越来越高,手工处理的弊端日益显示出来。由于手工管理方式的落后,处理数据的能力有限,工作效率低,不能及时为读者提供所需信息,各种数据得不到充分利用,这是目前图书馆管理工作存在的普遍问题。在计算机日益普及的今天,对图书管理而言,若采用一套行之有效的图书馆管理系统来管理书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求。解决这些问题最好的办法是实现图书信息管理的自动化,用计算机处理来代替手工处理。利用计算机强大的功能完成图书及读者数据的增删改查,以及图书的借出归还等各项操作。
上个世纪90年代初美国科学家首次提出数字图书馆(Digital Library)这一概念以来,全球开展数字图书馆研究与实践已近二十个年头。我国图书情报界、IT业界自1995年左右开始对这一领域跟踪研究,1998年开始全面升温,迄今无论是在对数字图书馆的认识,还是理论研究、关键技术准备方面,都取得了很大的进展。
图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。因此本人结合开入式图书馆的要求,对MySQL Server2000数据库管理系统、SQL语言原理、JSP应用程序设计进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书馆工作人员两方面的操作需要。
2 需求分析
图书馆管理系统目前被广泛应用于学校、工业、商业、企业、事业等单位,几乎每个进行了信息化建设的单位都具有图书馆管理系统。而在使用计算机系统对图书的管理,其实就是对信息的管理。使用信息系统对图书馆进行管理,将会大幅提高管理的效率、便捷与安全。
近些年来,图书馆事业的巨大进步已为图书馆在新世纪的发展打下了坚实的基础。全球信息化和高新技术的发展也为图书馆提供了更好的发展机遇,传统的单一以书本作为单元信息服务手段已不能满足读者的需求,现代化服务手段的实施势在必行。
2.1 图书管理系统的现状
过去我们以开架借阅满足读者按需索书的愿望。但在传统的借阅方式下,难以达到读者快速索取图书的要求。同时图书馆需要大量的工作人员来对图书进行管理,又要对借阅者及借出书籍进行登记,工作繁琐又杂乱,浪费大量的人力物力及财力。如今以计算机网络为手段的信息传递具有高速度、高效率的特点,是任何手工操作都无法比拟的,电子技术与图书馆工作的结合,实现了图书馆管理和服务的现代化。利用图书管理系统,可以激活馆藏中的各种图书,使读者从主题,各种角度检索图书的愿望得到实现。方便,快捷的检索方式缩短了寻找所需图书的时间,使读者摆脱了由于书目急速增长而无从下手的困扰,大大提高了搜索效率,加速了图书的开发利用。更为优越的是新图书管理系统的使用增强了图书馆员与读者之间的互动服务,以及读者的自助服务,比如说可通过网络推荐新书和自行办理图书预约,续借手续等等。
在一些先进的西方国家,数字图书馆的定位,建立,应用相对比较成熟。而其应用价值,则更多体现在教育领域。数字图书馆教育涉及图书、情报学、计算机、网络、法律、经济、行为学、伦理学等学科和领域。理论和实践性紧密结合,不仅在理论上涉及面广,而且在实践操作方面对学生提出了较高的要求。而且,数字图书馆教育是动态的,它需要根据不同的受教育者施行不同层次的教育内容,随着数字图书馆理论和实践研究的不断深入而要对课程内容进行更新。
数字图书馆是伴随着互联网发展而产生的一个正在成长的新生事物。目前,世界中许多发达国家都在抓紧数字图书馆的建设,数字图书馆已成为国际高科技竞争中新的制高点,成为评价一个国家信息基础设施水平的重要标志。对我国来说,数字图书馆的建设可以建立以中文信息为主的各种信息资源,互联网上中文信息缺乏的状况就可以得到解决,形成中华文化在互联网上的整体优势。数字图书馆还是保存和延续发展民族文献遗产的最佳手段,所有的珍贵资料都可以经数字化处理后,将原件保存在更适宜的环境中,而数字化的资料由于实现原件的复制,并不影响一般意义上的查阅。因此,加快中国数字图书馆建设势在必行。
2.2 市场需求分析
拥有一个完善的图书馆管理系统,可以用来作为向未来数字图书馆发展的一个跳板,通过健全系统的各项功能,帮助图书馆逐渐向数字图书馆的方向靠拢。
未来图书馆发展的方向主要为数字图书馆,数字图书馆是一门全新的科学技术,也是一项全新的社会事业。数字图书馆建设并不是某一个或某几个图书馆之间的事情,它涉及整个文献信息领域。建设数字图书馆的主要目的在于实现全社会对文献信息资源共享。文献信息传播途径的改变是数字图书馆建设的一个很重要的方面。也就是说,如果不能实现文献信息传播的网络化,那么就失去了数字图书馆建设的本来意义。
在一般的学校与科研机构,其下属的很多分支的研究中心,试验中心,各个学院,它们往往都有着自己的规模较大的图书资料室。而这些图书资料室由于本身规模不大因此其对书籍或资料的管理模式一般都比较旧,而且在没有能力也没有必要引进大型的图书馆管理软硬件的基础上,寻求一个针对中小型图书资料室的管理软件是必要的。
本章详细的论述图书馆的应用领域,图书馆管理系统的现状,通过我国目前的水平与国际先进国家的对比,建立数字化的图书馆管理系统是大势所趋,市场需求量很大,发展前景非常看好。
3 可行性分析
目前,图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。它可以彻底改变目前图书管理工作的现状,能够提高工作效率,能够提供更准确、及时、适用、易理解的信息,能够从根本上解决手工管理中信息滞后、资源浪费等问题。一切信息和数据都通过网络传递和流动,一切均在瞬间完成,从而提高了工作效率,也变得非常便捷。
3.1 经济可行性分析
本作品制作全程都是由本小组自发研制,我们小组几个人都对软件开发比较感兴趣,五个人平时都在一块生活,平时互相团结,互相帮助,对这个开发环境有了一部分学习,因而在技术和人员力量方面,我们还是有这个信心能开发出这个系统的。整个系统由我们独立完成,几乎是零费用,然而应用到图书馆管理系统之后会节省大量人力与财力资源。鉴于图书馆的规模大小的不同,支付的能力不同,同时本作品是一个动态网页,每次浏览都需要一个Web服务器支持,所以从经济上完全是可行的。
3.2 技术可行性分析
经过三个月理论课程的学习,极大的丰富了自身的理论基础,并且也具备了一些处理简单问题的能力,但即将踏上社会的我深知这还远远不够,因此我利用了毕业设计的机会,在老师的指导下去完成一个具有挑战性的,其具体应用及社会服务相结合的项目,深知通过对它的开发,将对我的能力有更高层次的突破。
开发软件的一个目的是针对目前普遍的图书馆管理系统存在的功能不全,操作复杂,系统要求高等一系列问题,而设想一个具有个性化又操作简单,易于普及的图书馆管理系统。该管理系统与信息管理系统(MIS)相联系,在图书馆内部建成可靠,方便,并且功能齐全的MIS系统。从而在图书馆对新旧书的反应;对书籍借阅的管理能力;对读者和图书馆工作人员的管理能力;对图书馆管理人员软件操作的适应时间和操作感觉这些方面都将大大的提高。当然对该软件的态度是渴望获得显著的社会效益。
一般情况下,任何软件开发的过程,首先就是用户根据自己的实际情况,考虑自己所要解决的主要问题,然后向开发人员提出问题开始的。这两方面人员往往缺乏共同的语言,用户熟悉本身的业务但不熟悉计算机技术,软件人员熟悉计算机技术但往往不熟悉用户的业务,软件人员习惯用数据结构、程序结构、编程语言等方式来讨论问题,而用户不能确切的理解这些概念,所以双方交流时存在着隔阂。更糟的情况是:用户本身也不知道他到底要计算机做些什么,这就更增加了交流的难度。开发人员常常还没搞清用户要做什么的情况就着手开发软件,这样总会导致,开发人员做出的东西,不是用户所要求的,因此,在一个软件的开发过程中,用户需求分析是非常重要的,通过需求分析才能把软件功能和性能的总体要领描述为具体的软件需求规程说明,从而奠定软件开发的基础。
开发软件的目的是使其具有强大的实用价值,即它可以满足中小型图书馆的借阅与管理的需要。这种管理软件对硬件的要求很低,一般有一个比较简单的服务器与PC机组成的网络即可,再加上使用比较廉价、性能不错的软件,这样就可以以较低的成本来实现一个足够使用的功能,而这种模式也正满足了那种中小型资料室,图书馆的要求。就我们目前所学习的知识来开发这样一款极具实用性的软件是没有任何问题的,能使用 MySQL创建数据库,会使用开发工具MyEclipse,可以在Macromedia Dreamweaver中设计界面等等。有了这些知识做后盾,图书馆管理系统便会应运而生。
本章从经济上与技术上分析了图书馆管理系统的可行性,下面将进入项目实施阶段。
4 项目规划
目前,网络应用软件运行的模式主要有两类:客户机/服务器(C/S)模式和浏览器/服务器(B/S)模式。利用Web技术,实现Web服务器与数据库系统的连接,进行对数据的处理。这种从浏览器到服务器的数据处理结构就是目前在Internet中十分流行的B/S模式(Browser/Server)。本图书管理系统就是应用B/S模式进行开发的。
Java的环境变量其实就是告诉系统这些文件是在什么地方。环境变量相对于给系统或用户应用程序设置的一些变量。在你编写一些程序文件,希望成为公用的类库的时候也可以将这些程序文件设置为环境变量,当需要的时候,程序可以通过环境变量自动的寻找到,当把文件设置为环境变量的时候,不论文件在什么地方,程序都会很容易的找到他们,而且可以被所有的程序访问。如果用DOS环境运行Java程序,一般就需要设置环境变量。如果用一些集成开发环境如Eclipse开发就不用,因为它在第一次启动的时候就会自动寻找JDK的安装位置。
4.1 运行环境——JDK
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。
4.2 HTML语言
HTML(Hyper Text Mark-up Language)即超文本标记语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。
4.3 脚本语言JavaScript
JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,有了JavaScript,可使网页变得生动。使用它的目的是与HTML超文本标识语言、Java脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。它是通过嵌入或调入在标准的HTML语言中实现的。JavaScript具有很多优点:JavaScript是一种脚本编写语言,它采用小程序段的方式实现编程,像其它脚本语言一样JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。
JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,就称为事件”。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。
4.4 服务器——Tomcat
Tomcat服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0。Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目。由于有了Sun的参与和支持,能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。因为Tomcat技术先进,性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个小型的轻量级应用服务器,是开发和调试JSP程序的首选。当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行Tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP 页面和Servlet。另外,Tomcat服务器,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
4.5 项目规划
图书馆管理系统虽说是一个中小型项目,但也非一人之力可以完成的,在实训初期在培训老师的指导与安排下本人与沈凯浪、胡实、任敏浩组成小组,由沈凯浪担任组长,四人共同完成该项目。
4.2.1 任务分配
经过老师的授意,组长和组员的商量之后决定做出如下任务分配:
沈凯浪:数据库的设计,图书管理。
丁雪芳:用户管理。
任敏浩:读者管理。
胡实:借还书管理。
同时小组每位成员负责自己模块的界面原型。
4.2.2 开发进度跟踪
四月八日确定了开发项目为图书馆管理系统,在任务分配完毕后,每位组员随即投入到项目的研究与设计当中。组长对每位组员的开发进度进行了督促与跟踪。
确定项目后的一周内,所有组员完成了界面原型的设计,经组长审阅通过之后做了相关的整合与连接。
之后的两周各位成员便开始了本次项目中最核心也是难度最大的阶段——源代码的编写。在此过程中,每位成员都遇到了不同的问题,但是没有一个人放弃,大家或通过自己的知识不眠不休的修正错误,或在组长的帮助下以集体的力量战胜不可预知的困难。好在皇天不负苦心人,经过了两周多时间的磨砺,在出现错误,改正错误不断重复的过程中,每位成员都实现了自己负责的模块的功能,这让我们每次人都欣慰不已。
第四周组长的努力和组员的全力配合下,本小组对各个模块进行了连接测试,虽然错误不断,但经不住集体力量的摧残”,在各人的通力合作下,各个模块很快便成为了一个整体,即图书馆管理系统,并且完全实现了当初设想的功能。
最后一周各人便开始了紧张的论文撰写。
这一章针对既定的图书馆管理系统确定系统开发的环境,以及各个开发阶段所使用的开发工具。在针对整个项目进行系统的规划,包括人员的分配,各人的任务,以及开发过程中进度的跟踪,以下会从用户界面入手详细介绍本系统的开发。
5 用户界面设计
任何系统的开发目的都是使用,但不是使用者都懂得开发,这是就需要一个使用者可以看得懂会使用的第三方媒介,在一般的系统中可以作为这个中介的无非就是展现在客户眼前的界面。所以用户界面的设计也就成了该系统研究与设计过程中必不可少的一个环节。
5.1 界面开发工具
随着互联网的家喻户晓,HTML技术的不断发展和完善,随之而产生了众多网页编辑器,从网页编辑器基本性质可以分为所见即所得网页编辑器和非所见即所得网页编辑器,两者一直各有千秋。所见即所得网页编辑器的优点就是直观性,使用方便,容易上手。目前市场上存在很多网页编辑器,最著名的有Flash、Fireworks和Dreamweaver,他们被称为网页三剑客”。
本次开发图书馆管理系统用户界面所使用的工具是Dreamweaver,Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。
5.2 界面设计思想
不管是什么软件产品,它的绝大多数用户都可以定义为中级用户,一般就是指那些基本了解如何使用产品和一般使用产品重复进行同样操作的用户。中级用户作为产品的主要使用者,但他们的需求却往往被忽视,一般情况下,管理层经常与初学者打交道,他们倾向于满足初学者的要求,而开发人员,可以被称为专家级用户,他们在开发软件过程中思考问题往往又太过专业化。
所以在本次系统开发中我们做到更好的兼顾三方,一些概要信息使初学者成长为中级用户,而工具提示则帮助一些中级用户向专家级过度。当然最主要还是要满足广大中级用户的需求。
5.3 界面设计原则
界面设计就是人与机器之间要缓和传递信息的媒介,包括硬件和软件界面。它涉及到很多原则:
(1)用户原则。人机界面设计可以从不同的角度,视实际情况而定,确定类型后要针对其特点预测他们对不同界面的反应。
(2)信息最小量原则。人机界面设计要尽量减少用户记忆负担,采用有助于记忆的方案。
(3)帮助和提示原则。要对用户命令做出反应,帮助用户处理问题。系统要设计有恢复出错现场的能力,在系统内部处理工作要有提示,尽量把主动权让给用户。
(4)媒体最佳组合原则。多媒体界面的成功并不在于仅向用户提供丰富的媒体,而应在相关理论指导下,注意处理好各种媒体间的关系,恰当选用。
(5)优化原则:为了达到优化的目的,合理的运用窗口,菜单,对象等的继承,自定义用户对象,事件,函数,减少不必要的重复性代码,使程序简介明了,也方便了将来的维护。
本章详细的介绍了用户界面的开发工具,设计思想以及设计原则,这只是系统开发的第一个环节,下面要介绍的数据库分量更为重要。
6 数据库分析与设计
自20世纪70年代以来,数据库技术得到迅速发展。目前世界上已经有数百万个数据库系统在运行,其应用已经深入到社会生活的各个领域,从企业管理,银行管理,资源管理,经济预测一直到信息检索,档案管理,普查统计等。
现在,数据库技术还在不断发展,并且不断的与其它计算机技术相互渗透。数据库技术与网络通信技术相结合,产生了分布式数据库系统。数据库技术与面象对象技术相结合,产生了面向对象数据库系统等各种数据库系统。
6.1 数据库简介
本人设计的是一个关于图书馆图书管理的数据库系统,通过这个系统管理员可以简捷、方便的对图书记录查阅、增加、删除等功能,而用户也可以通过这个系统对进行图书查询、借阅、归还等功能。
该数据库应用程序按照用户权限和实现功能的不同分为两部分:外部学生对数据库的查询访问和内部管理人员对数据记录的管理维护。每一部分中包含各自实现的各项功能,对每一项功能的实现,将按照窗体设计以及运行情况的顺序逐一进行设计。
所以,在此基础之上我选择了小巧易于操作的MySQL数据库,与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余。
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。MySQL虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。
6.2 数据库的设计
数据库结构设计使用的数据库管理系统以及系统开发工具设计出数据库以及各个数据表的结构。
本系统数据库开发汇集各种信息以供查询、存储和检索。其优点在于它能使用数据表示图或自定义窗体收集信息。它提供数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。本系统数据库是一种关系型数据库工具,关系数据库是已开发的最通用的数据库。
通过分析图书馆管理系统的功能,开始对数据库进行操作,首先在Navicat Lite for MySQL软件中创建名为library的数据库。在library名下再创建四张表,分别名为book、brbook、reader、user。具体设计如下表:
表6-1 管理员信息表
列名 数据类型 可否为空 说明
userId Int(11) Not null 用户注册主键
userName Varchar(255) Not null 用户名
Password Varchar(255) Not null 注册密码
sex Varchar(255) Not null 性别
role Varchar(255) Not null 用户权限
表6-2 图书信息表
列名 数据类型 可否为空 说明
bookID Int (11) Not null 图书ID(主键)
bookCode Varchar(255) Not null 图书编号
bookName Varchar(255) Not null 图书名
bookType Varchar(255) Not null 图书类型
price Float Not null 图书价格
Status Varchar(255) Not null 图书借阅状态
表6-3 借阅信息表
列名 数据类型 可否为空 说明
borrowID Int(11) Not null 借阅信息主键
bookID Int (11) Not null 借阅信息外键
readerID Int (11) Not null 借阅信息外键
borrowDate Date Not null 借书时间
returnDate Date Not null 应还书日期
realReturnDate Date Not null 实际还书日期
punishMoney float Not null 逾期未还书罚金
表6-4 图书馆读者信息表
列名 数据类型 可否为空 说明
readerID Int(11) Not null 读者ID(主键)
readerName Varchar(255) Not null 读者姓名
Sex Varchar(255) Not null 读者性别
Hobby Varchar(255) Not null 读者爱好
className Varchar(255) Not null 读者所在班级
major Varchar(255) Not null 读者所在专业
address Varchar(255) Not null 读者住址
hometown Varchar(255) Not null 读者家乡
数据库各表如下:
图6-1 图书表
图6-2 读者表
图6-3 借阅表
图6-4 用户表
6.3 数据库的安全性
本系统的数据库安全性设计考虑到以下几方面:第一,加强服务器和数据库口令管理,确保口令只有数据管理员知道;第二,加强授权管理,确保浏览器查询权限(即只能读,不能写);第三,从硬件上加强防护,用户终端上只提供键盘、鼠标、显示器,不安装软驱、光驱,禁止端口和串口的使用,使用户无法通过利用外界软件工具的方法从事破坏数据库机会;第四,从软件上防护,读者查询微机的功能是读者进行查询书目和借出查询,利用操作系统预装的浏览器就行,无需安装其他任何软件,禁止用户读写注册表信息,禁止用户使用命令行操作,从软件上高度防范,使黑客无机可乘。
经过这次数据库建立的实际操作,让每个人都对数据库从整体概念到设计再到安全性的认识都有了质的飞跃。在数据库的基础上设计系统,编写代码会少很多曲折。
7 系统设计与实现
本系统在建立了数据库之后,经过一系列的构思已到了实际的设计开发阶段,选取正确的编码方式,合适的开发工具,规范设计开发过程中的命名问题等,都一次次的考验着小组的每一位成员,在协商之后确定了开发工具,编码方法,命名标准等问题都一一得到协商与解决,是开发过程中少了一些阻碍。
7.1 开发工具介绍
在本次实训过程中,老师曾教授多种开发工具,其中最优秀,最普及的开发工具就是MyEclipse。
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
7.2 程序设计思想
在众多编程方法中有两种最常用的编程方法,第一种编程方式叫做面向过程的模型”,按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码。第二种编程方式叫做面向对象的模型”,按这种模型编写的程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模型在组织方式上有:抽象,封装,继承和多态的好处。
面向对象程序设计的基本要素是抽象,程序员通过抽象来管理复杂性。管理抽象的有效方法是使用层次式的分类特性,这种方法允许用户根据物理含义分解一个复杂的系统,把它划分成更容易管理的块。
本系统分成几个模块:登录模块,用户管理模块,图书管理模块借阅管理模块,读者管理模块等,这些模块最终要进行整合,使各个模块相互配合,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间方便系统运行,提高系统安全性,同时便于客户的使用。
总的归纳起来,本次系统设计的主体思想大致分为:
(1) 系统分成几个相对独立的模块,但这些模块都进行集中式管理。
(2) 分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。
(3) 合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。
7.3 代码设计标准与规范
本次程序的源代码是由多个人来完成的,但各人有各人的命名习惯,为了在最终模块整合中减少不必要的麻烦,现做出代表编写过程中的命名与设计标准:
(1)各个模块的名称由组长规定,各组员不得随意更改。
(2)每位组员在编写源代码过程中凡是包的命名一律采用com.ccit. +包名,并分别建立until、dao、entity和servlet。
(3)包下的类名或接口名采用每个单词首字母大写,并且单词间没有空格。
7.4 各模块功能设计
系统具体分为五个模块:1.管理员登陆系统与注册;2.对管理员错误信息进行修改,增加新的管理员,删除一些不在的管理员的信息,还可以通过管理员名字和权限进行查找;3.可以实现对图书的完整操作,通过图书名和图书类型查找,增加新入库的图书,修改图书的错误信息,删除废书;4.可以借阅和归还图书查询借阅的图书信息,还可以删除已归还的图书的借阅信息;5.可以对读者进行操作,通过读者名查询读者信息,修改读者的错误信息,新增读者和删除读者还可以通过读者名查找此读者的借阅信息和归还信息。
7.4.1 管理员登录与注册模块
在此系统的设计过程中,我们拥有一个用户管理模块,拥有两个主要的功能,用户登录和用户注册。用户拥有不同的权限。对于一般用户可以注册申请成为会员。用户在进行登录时系统根据用户名自动判断用户的权限,而无需再次选择登陆权限。
(1)注册模块
用户注册过程:用户进入系统主页,选择注册操作后,填写注册信息,提交后系统对填写的信息进行合法性、正确性和有效性的验证,验证通过则通知用户注册成功,否则提示用户注册失败,并请用户重新填写注册基本信息。
用户登录注册对user表添加一条注册记录,当注册成功后将会跳转到跳转图书馆管理页面。如果注册失败,将会提示用户重新填写信息,页面并跳回到注册页面,其页面如图7-1所示:
(2)登录模块
用户登录过程:用户进入系统主页,选择登录操作后,填写用户名和密码,提交后系统对其信息进行核对,如果在数据库表中查找到匹配信息,则跳转到浏览商品页面,否则提示用户输入的用户名和密码不正确,返回登录页面重新输入。
根据权限的不同,不同的模块拥有不同的登录账户和密码,用户根据自己的密码和账户,进行自己的权限以及进行相关的功能。在此模块的设计中,主要是增添的按钮起作用,通过链接数据库,实现用户的登陆和注册。如果用户输入的密码名错误则会弹出一个对话框,显示错误。登陆模块如图7-2所示:
图7-1 注册页面
图7-2 登陆页面
7.4.2 用户管理模块
用户管理页面包括四个功能可以通过管理员名字和权限进行查找,增加新的管理员,删除一些不需要的管理员的信息,还对管理员错误信息进行修改。只有系统管理员才能管理用户。增加新的管理员可以弹出增加页面,增加成功后提示成功并跳转页面到用户管理页面。更改管理员错误信息是从用户管理页面取到要更改人的信息,并把信息发送到更新页面,更新成功后提示成功并跳转用户管理页面。删除一些不需要的管理员的信息,可以直接点击删除,成功删除以后提示成功并在此跳转到用户管理页面。页面如图7-3所示:
图7-3 用户管理页面
7.4.3 图书管理模块
可以实现对图书的完整操作,通过图书名查找,增加新入库的图书,修改图书的错误信息,删除废书。通过图书名查找,如果不清楚图书的详细名可以只输入个别字母就可以通过模糊查找找到这本图书的所有信息。增加新入库的图书,第一次增加时图书的状态为未借出,增加成功以后提示成功并跳回到图书管理页面。对图书的错误信息进行修改,先选择要更改的图书的信息,将图书的信息全部发送到更新页面,更新成功之后会提示成功并跳转到图书管理页面。可以删除废书,但废书的必须是归还的状态才可以删除,删除成功以后会提示删除成功并跳转到图书管理页面。图书管理页面如图7-4所示:
图7-4 图书管理页面
7.4.4 借阅管理模块
图书借阅信息管理可以借阅和归还图书,查询借阅和归还的图书信息,还可以删除已归还的图书的借阅信息。查询图书可以通过实还和应还日期查询还未归还的图书,但是日期格式必须是SQL日期转义格式的字符串,还可以通过图书名和图书类型查找借阅信息。点击借书按钮,可以得到图书ID和读者ID,借书成功之后可以提示成功并跳转到图书借阅信息管理页面。点击还书按钮,可以确认所借书的ID和读者的ID,确认之后再次点击还书按钮。还书成功之后会提示成功并跳转到图书借阅信息管理页面。删除已归还的图书的借阅信息,只有在归还书籍以后才可以将想要删除的借阅信息删除。图书借阅信息管理页面如图7-5所示:
图7-5 图书借阅信息管理页面
7.4.5 读者管理模块
可以对读者进行操作,通过读者名查询读者信息,修改读者的错误信息,新增读者和删除读者还可以通过读者名查找此读者的借阅信息和归还信息。通过读者名模糊查询信息,查询成功超链到读者信息页面。还可以通过读者名来查询该读者所借过和以还的图书,在这里通过三张表的联合查询来完成。可以更新读者的错误信息,当更新成功后会有提示信息并跳转到读者信息页面。读者信息管理页面如图7-6所示:
图7-6 读者信息管理页面
这一章中我们已完整阐述了程序各个模块的具体设计,看着自己的团队一步步完成系统的设计,心里无比激动,这也预示着我们图书馆管理系统的完成。接下来就该完成程序最后的一项内容,对程序的测试了。
8 系统测试与维护
管理信息系统在完成研究开发、 投入正常运行之后,就进入了系统测试与维护阶段。基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。一般信息系统的使用寿命短则4-5年,长则可达10年以上,在信息系统的整个使用寿命中,都将伴随着系统维护工作的进行。系统维护的目的是要保证管理信息系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用。因此,系统维护的任务就是要有计划、有组织地对系统进行必要的改动,以保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态。
8.1 程序测试的目的
程序测试时为了发现错误而执行的过程,或者说程序测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例去运行程序,以发现错误的过程。
应尽早并且不断地进行测试。测试不是在应用系统开发完之后才进行的。由于原始问题的复杂性、开发各阶段的多样性以及参加人员之间的协调等因素,使得开发各个阶段都有可能出现错误。因此,测试应贯穿在开发的各个阶段,尽早纠正错误,消除隐患。设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期的输出结果。将实际输出结果与预期结果相比较就能发现测试对象是否正确。
总之,程序测试就是为了发现错误进而改正错误,以最少的时间和人力系统地找出软件中潜在的错误。
8.2 程序测试的意义
在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。
在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。
8.3 程序测试的原则
(1)应当尽早地和不断地进行软件的测试。
(2)测试用例应由输入数据和之对应的预期结果这两部分组成。
(3)程序员应避免测试自己的程序。
(4)在设计测试用例时,应当包含合理的输入条件和不合理的输入条件。
(5)充分注意测试中的群集现象。
(6)妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
8.4 程序测试的流程
软件配置

测试结果 错误 改正的软件
测试配置
预 出
期 错
测试工具 结 率
果 数

预测的可靠性
图8-1 程序测试流程图
8.5 程序维护的任务
系统维护工作在整个系统生命周期中常常被忽视。人们往往热衷于系统开发,当开发工作完成以后,多数情况下开发队伍被解散或撤走,而在系统开始运行后并没有 配置适当的系统维护人员。这样,一旦系统发生问题或环境发生变化,最终用户将无从下手,这就是为什么有些信息系统在运行环境中长期与旧系统并行运行不能转换,甚至最后被废弃的原因。随着信息系统应用的深入,以及使用寿命的延长,系统维护的工作量将越来越大。系统维护的费用往往占整个系统生命周期总费用的60%以上,因此有人曾以浮在海面的冰山来比喻系统开发与维护的关系,系统开发工作如同冰山露出水面的部分,容易被人看到而得到重视,而系统维护工作如同冰山浸在水下部分,体积远比露出水面的部分大得多,但由于不易被人看到而常被忽视:从另一方面来看,相对具有开创性”的系统开发来讲,系统维护工作属于继承性”工作,挑战性不强,成绩不显著,使很多技术人员不安心于系统维护工作,这也是造成人们重视开发而轻视维护的原因。但系统维护是信息系统可靠运行的重要技术保障,必须给予足够的重视。
8.6 程序维护的分类
(1)改正性维护:为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用而进行的诊断和改正错误的过程。
(2)适应性维护:为了使软件适应外部环境或数据环境的变化,而去修改软件的过程。
(3)完善性维护:为了满足用户对软件提出新的功能与性能而要求去修改和在开发软件的过程。
(4)预防性维护:采用先进的软件工程方法对需要维护的软件或软件中的某一部分重新进行设计、编制和测试。
8.7 程序维护的管理
系统维护工作并不仅仅是技术性工作,为了保证系统维护工作的质量,需要付出大量的管理工作。系统投入运行后,事实上在一项具体的维护要求提出之前,系统维护工作就已经开始了。系统维护工作,首先必须建立相应的组织,确定进行维护工作所应遵守的原则和规范化的过程,此外还应建立一套适用于具体系统维护过程的文档及管理措施,以及进行复审的标准。
为了评价维护的有效性,确定系统的质量,记载系统所经历过的维护内容,应将维护工作的全部内容以文档的规范化形式记录下来,主要包括维护对象、规模、语言、运行和错误发生的情况,维护所进行的修改情况,以及维护所付出得代价等,作为系统开发文档的一部分,形成历史资料,以便于日后备查。
最后,应注意系统维护的限度问题。系统维护是在原有系统的基础上进行修改,调整和完善。使系统能够不断适应新环境、新需要。但一个系统终会有生命周期结束的时候,当对系统的修改不在奏效,或修改的困难很多且工作量很大、花费过大,以及改进、完善的内容远远超出原系统的设计要求时,就应提出研制新系统的要求,从而开始一个新的系统生命周期。
对于任何系统而言,测试和维护不仅是系统进入实施阶段的必要程序,也会从经济角度节约很多资源。
9 结 论
图书馆管理系统的研究与设计终于告一段落。在这一段时间内,我从最初的JDK的安装、MyEclipse的安装、MySQL的安装,到使用Tomcat建立Web项目连接数据库,一步步搭建环境、平台和开发项目。其中所涉及的知识有软件开发方法、JSP技术、数据库等等,让我获益匪浅。
本系统使用面向对象开发方法对图书馆管理系统进行分析和设计。面向对象分析的目的是对客观世界的系统进行建模。面向对象设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。在本系统的分析和设计过程中,对面向对象开发方法进行了深入的学习和研究,并对此方法有了一定的理解和掌握。虽然整个开发过程告一段落,但是此系统仍然存在一些不足之处,有待以后日趋完善。现总结如下:
(1)通过本次系统的实际开发,更加熟悉使用了界面开发工具Dreamweaver、数据库开发工具MySQL、程序开发工具MyEclipse的使用。
(2)本设计系统实现了图书馆的读者和管理员的登录功能。
(3)实现了图书和读者的增删改查。
(4)实现了图书的状态查询、更改,归还时间及逾期罚款等功能。
(5)在开发完成后又完成了系统的测试和维护。
程序开发的过程是一个很艰难的过程,一个程序的开发必然结合着许多的错误和困难,如果你对程序不是太了解,其间出现的困难更是非同凡响,对于刚刚接触程序不算太久的我们来说要想非常熟练的应用程序是非常困难的一件事情,这需要我们耐心的进行学习和了解决。在程序开发的过程当中难免会碰到不懂的问题,要善于总结和结合所学过和用过的知识,查找相关书籍,对不懂的章节和问题进行强化的理解和消化,经过错误的磨练才能够更好的锻炼自己,才起到了本次程序开发实验应该起到的作用。
编写完程序后要学会总结在编写过程中遇到的各种问题,朝着自己要走的那个方向出发,不要停歇和坚持是对于接触程序不久的我们来说最重要的事情,经验的积累将在今后的程序开发过程中起到十分重要的作用。
我的毕业设计论文具体论述了图书馆管理系统的主要功能及体系结构,重点讨论了系统数据准备、数据库的逻辑结构分析、各模块系统流程各功能模块的关联和响应,JSP与后台数据库链接等关键技术。其中存在许多问题与不足,如安全性能还不完善,缺少必要的数据加密系统等,这些功能与技术还需要加以提高和实现。
致 谢
经过近三个月的艰苦努力,终于完成了基于JSP的图书馆管理系统,并使该系统达到可实际应用的阶段。在论文工作即将结束之际,回顾三年来的求学历程,深刻感受到自己取得的每一点进步都离不开老师和同学们的关怀和帮助。
在答辩的最后时刻,首先要感谢学院给了我们这次实训的机会,让我们在校时间就能学到别人挤时间来学的东西,如果不是学院有这样的决策,我也许仍不知Java为何物,而如今我却可以用所学的知识开发出系统。
其次要感谢班主任王士虎老师,无论是在这三年的学习生活中还是在这三个月的实训中,王老师一直不辞辛苦的督促我们,又在最后论文撰写阶段给予我最关键的帮助与指导。
再次要感谢加中来的三位授课老师以及两位辅导老师,尤其是自始至终陪伴我们学习的张涛,刘唐文老师。每位老师都在我们选题,代码编写,逻辑构思到最后运行的各个环节给予细心指引与教导,使我们得以最终完成项目及毕业论文设计。
然后还要感谢我的队友们,在这三个月中我们是一个团队,在一起公同体验过学习的收获,也体验过项目的挫败,我们都没有倒下,我们全都挺过来了。
最后,要向远方默默支持、鼓励和关怀我的父母和亲人道声谢谢,尤其我的父母为我的学业提供了物质和精神支持,没有他们的付出,就没有我的今天。父母及家人无私的爱是我永远的动力。
在这次实习,无论是从技术上还是对环境的适应能力上讲,对我们今后步入社会都打下了一个良好的基础。在实习过程中,我们也遇到了一些困难,主要表现了技术和经验的欠缺,但通过努力,终于一一克服了。最后,我们要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位老师表示感谢。
参 考 文 献
[1] 苗雪兰,宋歌. 数据库原理与应用技术.北京:电子工业出社,2009.
[2] 孙卫琴. Java面向对象编程.北京:电子工业出版社,2006.
[3] 王克宏.Java技术教程(基础篇).北京:清华大学出版社,2002.
[4] 李刚. 轻量级Java EE企业应用实战(第3版).北京:电子工业出版社,2011.
[5] (美)法禾,(美)罗伯森. SQL语言艺术.北京:电子工业出版社,2008.
[6] 何秀芳.网页制作与网站建设从入门到精通.北京:人民邮电出版社,2007.
[7] 游志男.数据库管理系统.北京:中国水利水电出版社,2007.
[8] 谭浩强.Java程序设计(第二版).北京:清华大学出版社,2006.
[9] 刘志成.数据库系统原理与应用.北京:机械工业出版社,2007.
[10] 黄缙华.MySQL入门很简单.北京:清华大学出版社,2011.
[11] 王冠.SQL语言查询及应用.北京:科学出版社,1999.
[12] (美)乔普拉 等,朱涛江 等译.JSP高级程序设计图灵程序设计丛书.北京:人民邮电出版社,2006.
[13] (英)福塔. MySQL必知必会.北京:人民邮电出版社,2009.
[14] 周梁,陈浩南,王国平.HTML/CSS与Dreamweaver网页设计超级技巧1000例.北京:电子工业出版社,2008.
[15] 孙鑫.深入体验Java Web开发内幕——核心基础.北京:电子工业出版社,2006.
[16] 王俊杰.精通Java Script动态网页编程.北京:人民邮电出版社,2007.
[17] (美)卡登赫斯第,梅兴文译.Java编程入门经典(第4版).北京:人民邮电出版社,2007.
[18] (美)昊斯特曼. Java核心技术:卷Ⅰ基础知识.北京:机械工业出版社,2008.
毕业设计说明书(论文)缩写稿
基于JSP的图书馆管理系统的研究与设计
摘 要
图书馆管理系统正适应了当今社会快节奏地生活,基于Java语言开发设计,面对管理人员和读者两种不同人群的应用系统。
本系统便是尝试用JSP在网络上架构一个动态的图书馆管理系统,它是在Windows XP或Windows7下,以MySQL为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(Java Server Pages)技术开发的图书馆管理系统。主要实现了5个方面的功能:1.图书查询,对馆内图书进行查询,可查询书本的当前状态和相关信息;2.借阅管理,包括书籍借阅和书籍归还的管理;3.图书管理,主要实现书库的管理和书籍的管理,包括书库的建立和删除,新书的入库和废书的删除等;4.读者管理,可以删除或更新本图书馆的读者;5.登录,分为管理员和普通用户。
关键词:图书,读者,管理,JSP
1 课题的主要内容
第一章主要结合当代社会的发展趋势,论述在大趋势下图书馆的现有模式与未来发展趋势,从国际领域展望国内发展前景,确定研究与设计图书馆管理系统。
第二章详细的论述图书馆的应用领域,图书馆管理系统的现状,通过我国目前的水平与国际先进国家的对比,建立数字化的图书馆管理系统是大势所趋,市场需求量很大,发展前景非常看好。
第三章从经济上与技术上分析了图书馆管理系统的可行性。
第四章针对既定的图书馆管理系统确定系统开发的环境,以及各个开发阶段所使用的开发工具。在针对整个项目进行系统的规划,包括人员的分配,各人的任务,以及开发过程中进度的跟踪。
第五章详细的介绍了用户界面的开发工具,设计思想以及设计原则。
第六章从现如今数据库的快速发展入手,在众多的数据库中选择适合本次系统开发的小巧数据库MySQL,在对数据库了解之后便开始建立数据库,之后对数据库投入运行后的安全性问题进行了讨论。
第七章是系统设计与实现。本章先是介绍了系统的开发工具MyEclipse,然后围绕着程序的设计思想以及代码的设计标准与规范进行了论述,最后逐一对本系统各模块所实现的功能进行探讨。
第八章是系统测试与维护。从程序测试的目的,程序测试的意义,策划那个需测试的原则,程序测试的流程,程序维护的任务,程序维护的分类和程序维护的管理七个方面进行了详细的阐述。
第九章总结了这次系统研究与开发过程中的问题与收获。
2 研究方法和观点
从课题的确定到最后做出实物,我们小组成员都一步一个脚印的走了过来,而且是非常成功的走了过来。想想我们所取得的成果,都归功于我们科学、严谨的研究方法,现总结如下:
(1) 调查法。调查法是科学研究中最常用的方法之一。它是有目的、有计划、有系统地搜集有关研究对象现实状况或历史状况的材料的方法。调查法中最常用的是问卷调查法,在进行设计之前我们就系统应具有的功能、系统的外观设计等在大一学生中做了广泛的问卷调查。
(2) 文献研究法。文献研究法是根据一定的研究目的或课题,通过调查文献来获得资料,从而全面地、正确地了解掌握所要研究问题的一种方法。在设计中,我们遇到了许多思想、概念模糊,甚至从来就没遇见过的问题,但通过查阅文献我们都将问题一一解决,并从中学到了许多新的知识。
(3) 实证研究法。实证研究法是科学实践研究的一种特殊形式。其依据现有的科学理论和实践的需要,提出设计,利用科学仪器和设备,进行实证的研究。在本设计中,我们依据这种方法,节省了大量的时间和精力,这也是我们的设计能有今天成果的一个保障。
(4) 模块研究法。模块研究法就是把所研究的对象按照功能进行划分,逐个进行分析研究。这种方法在进行系统调试时是极为重要的,因为由于种种原因,我们的实物不可能一次性调试成功,在排除故障时,我们把系统分成若干模块,进行一一排查,最终解决了所有的问题。
3 主要成果和结论
程序开发的过程是一个很艰难的过程,一个程序的开发必然结合着许多的错误和困难,如果你对程序不是太了解,其间出现的困难更是非同凡响,对与刚刚接触程序不算太久的我们来说要想非常熟练的应用程序是非常困难的一件事情,这需要我们耐心的进行学习和了解决。
为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:(1) 合法性原则:符合日常生活的图书馆管理系统的业务流程。(2) 实用性原则:适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。(3) 准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料。(4) 易操作原则:要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。(5) 源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。(6) 优化原则:为了达到优化的目的,合理的运用窗口,菜单,对象等的继承,自定义用户对象,事件,函数,减少不必要的重复性代码,使程序简介明了,也方便了将来的维护。(7) 安全性原则:可以为该系统的用户设置用户权限。
本系统使用面向对象开发方法对图书馆管理系统进行分析和设计。面向对象分析的目的是对客观世界的系统进行建模。系统分成几个相对独立的模块,但这些模块都进行集中式管理。合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。
面向对象设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。在本系统的分析和设计过程中,对面向对象开发方法进行了深入的学习和研究,并对此方法有了一定的理解和掌握。虽然整个开发过程告一段落,但是此系统仍然存在一些不足之处,有待以后日趋完善。现总结如下:
(1)通过本次系统的实际开发,更加熟悉使用了界面开发工具Dreamweaver、数据库开发工具MySQL、程序开发工具MyEclipse的使用。
(2)本设计系统实现了管理员登陆系统与注册;对管理员错误信息进行修改,增加新的管理员,删除一些不在的管理员的信息,还可以通过管理员名字和权限进行查找;可以实现对图书的完整操作,通过图书名和图书类型查找,增加新入库的图书,修改图书的错误信息,删除废书;可以借阅和归还图书查询借阅的图书信息,归还时间及逾期罚款,还可以删除已归还的图书的借阅信息;还可以对读者进行操作,通过读者名查询读者信息,修改读者的错误信息,新增读者和删除读者还可以通过读者名查找此读者的借阅信息和归还信息等功能。
(3)在开发完成后又完成了系统的测试和维护。
其中存在许多问题与不足,如安全性能还不完善,缺少必要的数据加密系统等,这些功能与技术还需要加以提高和实现。

Y
OUT4
OUT4
排错
测试
结果分析
可靠性分析
获取项目源文件,联系Q:1225467431,可指导其它毕设,课设

项目使用说明 tushu是本书最一章的综合案例程序,在运行前请正确配置JDKTomcat,然后再复制tushu文件夹到Tomcat的webapps\examples 文件夹下即可。 本项目仅用于学习目的。读者若对项目有问题 请我一起交流: <%@ page contentType="text/html;charset=gb2312" language="java"%> <html> <%@ include file="inc/conn1.jsp"%> <%@ include file="top.jsp"%> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>计算机图书--管理系统</title> </head> <body > <table width="900" border="0" align="center" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="39" rowspan="9" align="right" valign="top"><img src="image/y1.jpg" width="39" height="1007"></td> <td width="206" height="13"></td> <td width="7"></td> <td width="605"></td> <td width="7">&nbsp;</td> <td width="36" rowspan="9" valign="top"><img src="image/z1.jpg" width="36" height="1006"></td> </tr> <tr> <td height="108" valign="top"><table width="206" height="110" border="0" cellpadding="0" cellspacing="0" background="image/dongkuaif.gif"> <!--DWLayoutTable--> <tr> <td width="15" height="9"></td> <td width="181"></td> <td width="10"></td> </tr> <tr> <td height="86"></td> <td align="center" valign="middle"><span class="stylex"> <script language="JavaScript">var when=new Date(); document.write("<h4>"); document.write(when.getYear()+"年"); document.write((when.getMonth()+1)+"月"); document.write(when.getDate()+"日<br>"); document.write(when.getHours()+"时"); document.write(when.getMinutes()+"分"); document.write("</h4>"); </script></span></td> <td></td> </tr> <tr> <td height="15"></td> <td>&nbsp;</td> <td></td> </tr> </table></td> <td>&nbsp;</td> <td rowspan="3" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="605" height="167" valign="top"><img src="image/tupic.gif" width="605" height="167"></td> </tr> </table></td> <td>&nbsp;</td> </tr> <tr> <td height="7"></td> <td></td> <td></td> </tr> <tr> <td colspan="2" rowspan="5" valign="top"> <table width="208" height="123" border="0" cellpadding="0" cellspacing="0" background="image/logn.jpg"> <!--DWLayoutTable--> <tr> <td width="8" height="24">&nbsp;</td> <td width="200">&nbsp;</td> </tr> <tr> <td height="99">&nbsp;</td> <td><%@ include file="denglu.jsp"%></td> </tr> </table> <table width="208" border="0" cellpadding="0" cellspacing="0" background="image/dongkuaid.gif"> <!--DWLayoutTable--> <tr> <td width="215" height="42">&nbsp;</td> </tr> <tr> <td height="277" align="center" valign="top"><%@include file="changxiao.jsp"%></td> </tr> </table> <br> <table width="208" height="356" border="0" cellpadding="0" cellspacing="0" background="image/chuxiao.gif"> <!--DWLayoutTable--> <tr> <td width="24" height="37">&nbsp;</td> <td width="184">&nbsp;</td> <td width="7"></td> </tr> <tr> <td height="293">&nbsp;</td> <td valign="top"><%@ include file="chuxiao.jsp"%></td> <td></td> </tr> <tr> <td height="24">&nbsp;</td> <td>&nbsp;</td> <td></td> </tr> </table></td> <td height="67"></td> </tr> <tr> <td height="187" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" background="image/link.gif"> <!--DWLayoutTable--> <tr> <td width="20" height="5"></td> <td width="495"></td> <td width="69"></td> <td width="21"></td> </tr> <tr> <td height="21"></td> <td valign="top"><%@ include file="scroll.htm"%></td> <td></td> <td></td> </tr> <tr> <td height="38"></td> <td>&nbsp;</td> <td></td> <td></td> </tr> <tr> <td height="105">&nbsp;</td> <td colspan="2" valign="top"><%@ include file="toplist.jsp"%></td> <td>&nbsp;</td> </tr> <tr> <td height="18">&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> </table></td> <td></td> </tr> <tr> <td height="11"></td> <td></td> </tr> <tr> <td height="242" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" background="image/tonew.gif"> <!--DWLayoutTable--> <tr> <td width="7" height="1"></td> <td width="591"></td> <td width="7"></td> </tr> <tr> <td height="33" colspan="3" valign="middle" bgcolor="#F7F7F7"><span style="font-size: medium">新进图书</span></td> </tr> <tr> <td height="10"></td> <td></td> <td></td> </tr> <tr> <td height="172"></td> <td valign="top"><%@ include file="newbooks1.jsp"%></td> <td></td> </tr> <tr> <td height="26"></td> <td>&nbsp;</td> <td></td> </tr> </table></td> <td></td> </tr> <tr> <td height="338" colspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> <!--DWLayoutTable--> <tr> <td width="605" height="4"></td> </tr> <tr> <td height="353" valign="top"> <%@ include file="new.jsp"%></td> </tr> <!--DWLayoutTable--> </table></td> </tr> </table> <%@ include file="end.jsp"%> </table> </body> </html>
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值