基于WEB的图书管理系统设计与实现毕业论文.doc_第1页
基于WEB的图书管理系统设计与实现毕业论文.doc_第2页
基于WEB的图书管理系统设计与实现毕业论文.doc_第3页
基于WEB的图书管理系统设计与实现毕业论文.doc_第4页
基于WEB的图书管理系统设计与实现毕业论文.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于WEB的图书管理系统设计与实现毕业论文目 录【摘要】1前言11 系统概述11.1 题目背景情况11.1.1 题目背景和意义21.1.2 题目的主要内容41.2 需求分析61.2.1 需求分析概述71.2.2 用户特点82 系统概要设计122.1 系统功能描述122.2 系统总体模块图123 后台维护系统设计详细设计143.1 后台维护系统设计143.2 数据库管理和维护153.3数据库系统存储153.4数据库系统功能要求分析153.5 图书管理程序代码164 数据库设计174.1 E-R 图174.1.1 总体数据库174.1.2 管理员用户管理 E-R 图 174.1.3 管理员图书管理E-R 图184.1.4 管理员留言管理E-R图185 系统测试205.1 测试的介绍205.2 测试的原则205.3 软件测试的方法215.4 测试结论22结论23致谢24参考文献25前言当今时代是飞速发展的信息时代。在各行各业中离不开信息处理这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询、就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。1 系统概述1.1 题目背景情况1.1.1 题目背景和意义 题目背景图书馆人员结构复杂,人员数量有限,涉及方面很广,如果还使用手工操作处理图书借阅问题,工作将非常繁琐,需要大量的人力、物理、财力,极大的浪费了资源,对于图书管理人员来说,图书馆管理包括图书信息管理、图书类别管理、借阅信息管理、管理员信息管理等等。而这些项目在过去靠手工操作,需要手工记录这些事情,不但麻烦,还经常出错,给广大用户带来很多不便,因此,开发这样一套图书馆管理系统软件。让管理员方便的管理图书及用户信息,方便用户查找图书。 题目意义图书馆管理系统本着让图书馆管理做到快捷、方便、简单、摆脱用手工操作处理图书借阅的问题,工作非常繁琐,需要大量的人力、物力和财力,极大的浪费了资源的略事而设计,它可以使管理员从繁重的手工操作中解脱出来,还可以通过留言板,及时预借一些自己想借但目前不在图书馆内的图书,这样可以迅速的掌握图书馆图书信息的动向,并向图书管理员提一些建议。管理员通过本系统可以添加、修改、删除图书信息,可以添加、修改、删除用户信息,可以快速查找图书等,可以让用户方便的了解图书馆与图书的相关信息等。1.1.2 题目的主要内容 图书管理系统的主要内容图书管理系统的建设主要是为了使用户方便的借阅图书馆图书,使管理员快速、简单的对图书馆图书及用户信息进行管理,实现在线的借阅与图书、用户管理,充分利用网络的方便快捷、时时互动的特点,打破传统的手工操作模式,提出新颖的模式,使用户在网络模式下利用网络资源进行方便、快捷的图书借阅、利用虚拟情境与管理员进行交流。网站主要实现的功能有查询、留言、借阅、信息管理,其中信息管理为重点,包括图书信息管理、读者信息管理、留言信息管理等。 系统总概述(1)后台维护子系统 用户信息管理管理员通过数据库管理和维护系统可以对读者进行管理和维护。管理员可以对表中的信息进行删除、修改、更新等基本操作以管理和维护读者信息。在管理和维护这一部分因为涉及到读者信息表,因此要使用存储过程和触发器来保证数据的一致性。图书信息管理新书入库、旧书报废、图书信息的修改。新书入库指对需求比较大的图书,如果数据库中有,则增大其库存量,如果没有,则进购新书。旧书报废指因为人为因素(如借阅后丢失、损坏等)致使图书不能继续被借阅的,应从书库中清除掉。新书入库和旧书报废时,应对该书库总数进行调按,尤其是当旧书报废后,若该书总数为零时,应自动将该书信息删除。我们还对书进行了分类,如果因为某书的减少,导致该类图书的减少,则当该类图书总数为零时,系统也应自动将该图书类别信息删除。管理员管理管理员可以对管理员表中的信息进行插入、删除、修改、更新等基本操作以管理和维护读者信息。留言信息管理 管理员通过管理与维护模块可以对留言板子系统进行管理和维护。管理员可以对表中的信息进行删除、修改、更新等基本操作以管理和维护留言板子系统。在管理和维护这一部分时除了要对留言信息表进行维护,还要使与留言信息表相关联的数据表保持一致性。即当对与留言信息表相关的数据进行维护时,也要使留言信息表中相关信息与其同步,这就要用到存储过程。这样才能很好的保证数据的一致性。(2)图书查询子系统 用户可以通过图书作者、图书名、ISBN、出版社、主题词、图书书号进行查询,以便用户对图书信息的快速检索。1.2 需求分析1.2.1需求分析概述需求分析是对用户需求的真正明确,是对要解决的问题的彻底理解。在解决问题之前要理解问题,只要真正的理解问题才能更好的解决问题。需求分析就是给系统分析、设计人员一个和用户交流来解决问题的机会了解用户究竟需要什么。 需求分析也是一个建模的过程,与在概要设计中建模不同在需求分析中建模时面向用户的过程。而在概要设计中的建模过程是面向开发人员的过程。这样两种建模的过程就会存在差异和不同,从而使用自然语言进行描述也就不同。在传统的软件工程中并不建议大量的使用自然语言对软件的需求进行描述,因为太多的自然语言会引发出很多问题。比如说,二义性即不同的人对自然语言的描述会有不同的理解,就是再好的文档编写人员也不会保证他的文档不存在二义性。毕竟我们不是语言专家。这样就引入了借用图示进行功能的描述和建模的过程。图示有其自己的优势比如,清晰,明确给人直观的感觉。无论是何种背景的人群都可以理解。这样就大大减少需求分析中的二义性。从而使系统设计人员和用户更加有效的沟通。这样也增加了软件的正确性。在传统的软件工程中提供了多种不同的图示,每一种都从不同的角度对同一个问题进行描述,之所以这样。可以使系统开发人员在不同的图示中挑出最合适他和他的团队进行问题详尽描述的一个或者一些图示。比如数据流图,在需求分析中使用数据流图,就充分体现了数据在软件系统中移动时被变换的逻辑过程。所以就是一个建立功能模型的最好图示;而实体关系图,就是描述数据对象以及他们之间关系的图示,所以就是一个建立数据模型的最好例子。状态转换图通过事件的外部作用从而对状态进行改变,这就是一个建立行为模型的例子。1.2.2 功能需求描述网站主要分为后台数据维护、图书查询系统等,其中以后台维护系统所占的比例最大。(1) 数据流图 顶层图:图 1.1 图书馆管理系统顶层图 (2)数据字典 文件名:用户信息 简述:存放用户的信息 组成:用户编号、用户名、初始密码、确定密码、用户类型、真名、性别、所在院系、电话、Email地址 文件名:图书信息 简述:存放图书的信息 组成:图书编号、图书名、ISBN、作者名、出版社、出版时间、图书类型、主题词、索引号、定价、页数、从书名、说明 文件名:权限信息 简述:存放权限信息 组成:编号、用户ID、用户名 文件名:留言信息 简述:存放留言信息 组成:编号、用户名、留言时间、留言内容2 系统概要设计2.1 系统功能描述图书馆管理系统本着让图书馆管理做到快捷、方便、简单、摆脱用手工操作处理图书借阅的问题,工作非常繁琐,需要大量的人力、物力和财力,极大的浪费了资源的略事而设计,它可以使管理员从繁重的手工操作中解脱出来。图书馆管理系统主要包括后台维护子系统,图书查询子系统等。2.2 系统总体功能模块图(1)后台维护子系统 用户信息管理 管理员通过数据库管理和维护系统可以对读者进行管理和维护。管理员可以对表中的信息进行删除、修改、更新等基本操作以管理和维护读者信息。 在管理和维护这一部分时因为涉及到读者信息表,因此要使用存储过程和触发器来保证数据的一致性。 图书信息管理新书入库、旧书报废、图书信息的修改。新书入库指对需求比较大的图书,如果数库中有,则增大其库存量,如果没有,则进购新书。旧书报废指因为人为因素(如借阅后丢失、损坏等)致使图书不能被继续借阅的,应从书库中清除掉。新书入库和旧书报废时,应对该书库总数进行调按,尤其是当旧书报废后,若该书总数为零时,应自动将该书信息删除。我们还对图书进行了分类,如果因为某书的减少,导致该类图书的减少,则当该类图书总数为零时,系统也应自动将该图书类别信息删除。 管理员管理管理员可以对管理员表中的信息进行插入、删除、修改、更新等基本操作以管理和维护读者信息。留言信息管理 管理员通过管理与维护模块可以对留言板子系统进行管理和维护。管理员可以对表中的信息进行删除、修改、更新等基本操作以管理和维护留言板子系统。 在管理和维护这一部分时除了要对留言信息表进行维护,还要使与留言信息表相关联的数据表保持一致性。即当对与留言信息表相关的数据进行维护时,也要使留言信息表中相关信息与其同步,这就要用到存储过程。这样才能很好的保证数据的一致性。3 后台维护系统设计详细设计3.1 后台维护系统设计 后台数据库的维护(如:管理员管理、读者信息管理、图书信息管理)、系统数据库设计。3.2 数据库管理和维护 数据库管理和维护的功能是专为管理人员设计和制作的,创作的主要宗旨是为管理人员提供方便、快捷的管理和维护整个系统数据的功能。它除了要实现管理图书信息信息外,还可以对其他数据提供必要的管理和维护功能。管理员可以对用户信息,留言板信息等进行管理,包括对注册用户的管理(删除,修改,更新用户基本信息等等),还要对读者提出问题或意见,定期公布的最新图书信息数据添加,删除,修改等进行基本的管理和维护。在数据库管理和维护系统中,管理员可以输入所要维护的信息的条件,通过查询功能查找出符合条件的信息,从而对数据进行管理和维护。3.3 数据库系统存储添加借书/续借某数的信息,int,传入SingleBookId、ReaderId、BorrowedDate、IfBorrowedWidthCd、ContinueBorrowedCount、ShouldReturnedDate还书管理添加还书信息。Int,传入id、PracReturnedDate、ReturnProcess、AmercedMoney、AmercementProcess丢失登记添加丢书信息。Int,传入SingleBookId、ReaderId、RegisteredDate。报表查询获得所有当前借书的信息,DataSet,Rorrowedid(不显示),SingleBookId(不显示)、Library、ISBN、IsbnMore、BarCode、BookName、Authors、Press、PublishedDate、Price、CdCount、Catelog、Series、Subject、AddedDate、TotalCount、CanBeBorrowedCount、在馆几本、remark、ReaderId、ReaderStyle、ReaderName、ReaderSex、BorrowedDate、ShouldReturnedDate ShouldAmercedMoney获得所有过去借书的历史信息,DataSet同当前ContinueBorrowedCount、PracReturnedDate、ReturnProcess、AmercedMoney、AmercementProcess获得所有丢数记录信息,DataSet,SingleBookId、BookName、Press、Price、AddedDate、TotalCount、BorrowedDate、ShouldReturnedDate、RegisteredDate、Remark 获得是否有罚款的是否超期未还的通过过滤 获得时间段内的获得某一类图书的获得某一读者的获得某一类读者的获得某一图书系列的获得某图书馆的获得某一读者的借阅的历史情况。3.4数据库系统功能要求分析命令按钮类的控件冒号1) Caption属性冒号用来显示在控件上的标题。2) Enable属性冒号控制控件的激活状态灰色或可用。3) Appearance属性冒号值为1时,则以3D效果显示该控件,0则不然。4) Backcolor属性冒号用来改变在按钮上显示图像的背景色。5) Cancel属性冒号该属性决定按钮是否为1个”取消”按钮。6) Default属性:决定哪1个命令按钮控件是窗体的缺省命令按钮.7) Font属性:控制各种文字字体类型.8) Left,top,height,width属性:设定控件的位置与大小.9) Style,picture属性:决定按钮的显示方式是否为图像形式出现.10) Visible属性:确定控件运行时是否为可见.11) Index属性:当控件为1控件数组时,此属性值为该控件在数组的下标值.12) DownPicture属性冒号设置/返回1个对图片的引用,该图片在按钮被单击处于压下状态时显示。13) DisabledPicture属性冒号设置/返回1个对图片的引用,该图片在控件无效时显示在控件中。14) MaskColor属性冒号设置/返回1个在按钮的图片中作为“掩码“的的颜色15) Picture属性冒号设置返回commandButton控件中要显示的图片。u 命令按钮类的事件冒号3.5图书管理程序代码include stdio.h include stdlib.h include conio.h struct BOOK int id.usr10.total.store.days10, char name31.author21, books100, /上面是结构体的定义.用于存放书籍及借书的信息./ void pagetitle(char menuitem) clrscr(), printf( 图 书 管 理 系 统 - %s -.menuitem), /上面是打印页眉的函数.同时通过参数menuitem.可以显示当前的状态./ void returnconfirm(void) printf(按任意键返回-), getch(), /上面是返回前请求确认的函数.以便在返回前观察结果/ int searchbook(void) int n.i, printf(请输入图书序号:), scanf(%d.i for(n=0,n100,n+) if (booksn.id=i) printf(书名:%), printf(作者:%s.booksn.author), printf(存数:%d of .booksn.store), printf(%d.booksn.total), return n, printf(输入错误或无效图书序号.), return -1, /上面的函数是在数组中找到图书号匹配的记录.显示其信息并返 回数组下标.如果找不到相应记录则提示错误并返回-1./ void bookout(void) int n.s.l.d, pagetitle(借阅图书), if(n=searchbook()!=-1booksn.store0) printf(请输入借书证序号:), scanf(%d.s printf(请输入可借天数:), scanf(%d.d for(l=0,l10,l+) if(booksn.usrl=0) booksn.usrl=s, booksn.daysl=d, break, booksn.store-, if(n!=-1booksn.store=0) printf(此书已经全部借出.), returnconfirm(), /上面是借书的函数.首先调用找书函数/ void bookin(void) int n.s.l, pagetitle(归还图书), if (n=searchbook()!=-1booksn.storebooksn.total) printf(借阅者图书证列表:), for(l=0,l10,l+) if (booksn.usrl!=0) printf(%d - %d.booksn.usrl.booksn.daysl), printf(请输入借书证序号:), scanf(%d.s for(l=0,l10,l+) if(booksn.usrl=s) booksn.usrl=0, booksn.daysl=0, break, booksn.store+, if(n!=-1booksn.store=booksn.total) printf(全部入藏.), returnconfirm(), void bookadd(void) int n, pagetitle(注册新书), for(n=0,n100,n+) if(booksn.id=0) break, printf(序号:), scanf(%d.b printf(书名:), scanf(%s.b printf(作者:), scanf(%s.booksn.author), printf(数量:), scanf(%d.b booksn.store=booksn.total, returnconfirm(), void bookdel(void) int n, pagetitle(注销旧书), if(n=searchbook()!=-1) booksn.id=0, printf(该书已注销.), returnconfirm(), void main(void) menu: pagetitle(操作选单), printf(请用数字键选择操作), printf(1 借阅图书2 归还图书), printf(3 注册新书4 注销旧书), printf(0 退出), switch(getch() case 1 : bookout(),break, case 2 : bookin(),break, case 3 : bookadd(),break, case 4 : bookdel(),break, case 0 : exit(0), goto menu, int n, pagetitle(), if(n=searchbook()!=-1) booksn.id=0, printf(?.), returnconfirm(), void main(void) menu: pagetitleprintfprintf(1), printf(3 ), printf(”), switch(getch() case 1 : bookout(),break, case 2 : bookin(),break, case 3 : bookadd(),break, case 4 : bookdel(),break, case 0 : exit(0), goto menu,4 数据库设计4.1 E-R 图4.1.1 总体数据库 4.1.2 管理员用户管理 E-R 图 4.1.3 管理员图书管理E-R 图 4.1.4 管理员留言管理E-R图4.1.5 图书查询E-R图 5 系统测试5.1 测试的介绍软件测试就是在软件投入运行前,对软件需求分析,设计规格说明和编码的最终 复审,是软件质量和保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生存期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即 测试阶段。 软件测试的目的: 1.测试是程序的执行过程,目的在于发现错误; 2.一个好的测试试用例在于发现今未发现的错误; 3.一个成功的测试是发现了至今未发现的错误的测试;5.2 测试的原则 1、应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。2、测试用例应由测试输入数据和与之对应的预期输出结果两部分组成。3、程序员应避免检查自己的程序。(注意不是指对程序的调试)4、在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。不合理的输入条件是指异常的,临界的,可能引起问题异变的输入条件。5、充分注意测试中的群集现象。经验表明,测试后程序残存的错误数目与该程序中以发现的错误数目或检错率成正比。应该对错误群集的程序段进行重点测试6、应当对每一个测试结果做全面检查。7、妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。5.3 软件测试方法 1.软件测试从不同角度可以有以下划分:白盒

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论