




已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于开源框架SSH的图书馆管理系统毕业设计目 录序 言1第一章 绪 论21.1 课题背景21.2 图书馆管理系统现状21.3 课题主要工作及预期31.4 开发工具及相关技术41.5 小结11第二章 系统分析122.1 系统分析的目标与任务122.2 可行性分析122.3 需求分析132.4 小结18第三章 系统设计193.1 系统设计的目标与任务193.2 功能模块设计193.3 系统界面设计283.4 数据库设计333.5小结39第四章 系统实现404.1 实现环境及技术方案404.2 前端用户子系统的实现424.3 后台管理子系统的实现494.4 小结52第五章 系统测试535.1 系统测试的目标、任务及方法535.2 可用性测试545.3 安全性测试565.4 小结56总 结57致 谢58附 录A安装、使用说明书59附 录B源 码66江西理工大学2012本科生毕业设计(论文)序 言随着科学技术的进步和计算机行业的迅速发展,人们的工作效率得到大大提高。计算机信息系统的引进已彻底改变了许多系统的经营管理模式。图书管理系统是学校管理机制中的重要组成部分,通过对图书馆管理系统的运行管理机制进行调查和研究,开发了此图书馆管理系统。本文中主要介绍了图书馆管理事务中的常见基本问题等研究背景,进行了全面的可行性分析,详细论证了系统的需求分析、系统设计、系统实现和系统测试过程。本系统使用JSP进行网页界面的设计,Jquery进行相关功能的实现,使用MVC设计模式,采用开源框架Struts、Hibernate和Spring进行开发。后端的数据库采用MySql,通过JDBC驱动和数据库进行无缝连接。本系统主要是分前台与后台,前台学生可以通过系统查询个人基本信息,借阅信息,以及图书信息;后台管理员可以通过系统增删学生,更改图书信息,记录学生借阅信息等。系统实现了学生登录、学生管理、图书管理、借阅管理、系统管理等功能模块。各模块根据不同权限的学生实现不同的功能。学生登录模块实现学生的登录和权限判定。对于管理员,学生管理模块实现了添加,删除,查询学生信息,图书管理模块实现了对图书的添加、删除、修改、查询等功能;借阅管理模块实现了对学生借阅图书、还书和所借图书的添加,删除,修改,查看等功能;系统管理模块主要是实现了对图书馆内部信息的管理,包括职位,员工,以及员工的工作安排等。对于普通学生,学生管理模块实现了信息的查询与修改;图书管理模块实现了图书的查询,通过不同的检索方式进行图书的查找,了解图书是否在馆;借阅信息模块实现了对自己借阅信息的查询,续借操作;系统管理模块实现了了解图书馆内的基本情况,以及相关工作人员的信息。第一章 绪 论1.1 课题背景近年来,各大高校都在扩大招生,大学生也越来越普及。在校期间,图书馆是同学们学习的重要场所,图书馆不仅有个好的学习环境,更是提供了大量的书籍。然而,伴随着学生的增加,对图书的数量,以及借阅情况的登记显得格外的复杂,对学生借阅图书的情况的登记是对图书管理人员的挑战。现在还有很多高校采用的是人工操作,人工操作不仅效率低,而且对学生的信息管理困难。学生也不能及时的了解到自己的借阅情况以及图书信息。为了提高图书馆的管理效率,方便学生们及时的了解自己的借阅情况以及图书信息。特此开发此系统。此系统主要是面向两个方面:管理员与学生。管理员可以查询、添加、删除、修改的图书信息,借阅信息,系统信息;对学生信息可以进行查询,添加,删除,但不能修改学生信息!学生可以查询图书馆所存的图书,个人借阅情况以及个人信息的修改。1.2 图书馆管理系统现状1.2.1 检索速度慢、效率低因为图书馆的藏书种类多。数量大,将藏书准确的分门别类,快速检索,手工进行非常困难,往往是终于查到了二维的信息,馆中却没有此书或已被别人借走。图书馆的规模越大,这个问题就越突出。1.2.2 借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期,遗失等的处理,其工作量之大,往往是人工操作所难以胜任的,而且经常会出现这样那样的差错。1.2.3 图书统计工作难、藏书更新不能及时完成图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性的进行,藏书的知识结构得不到良好地控制。1.2.4 对学生信息的管理难度大随着大学校园的扩招,学生量越来越多,伴随着新同学的到来,新学生的增加!对管理员是一个很大的挑战。1.3 课题主要工作及预期随着计算机的广泛应用,其逐步成为现代化的标志。图书馆在正常运行的过程中总是面对大量的学生信息,图书信息以及两者相互作用产生的借阅信息。因此需要对学生信息,书籍信息,借阅信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆对图书存销的自动化的管理,能够更快速地满足学生的要求,提高各种工作效率,现对其设计相应的系统,以达到上述的目的。图书馆管理系统的主要功能是实现图书馆图书的借阅管理自动化,图书新增及删除的及时化,学生及图书信息的更新,围绕这些主要功能,本系统涉及到以下核心功能:借阅管理,学生管理,图书管理,借阅管理。除了这些核心功能外,还包括一些基本和辅助的功能,它们是:图书信息管理,查询功能,系统管理等。该系统设计的主要目标是:设计一个图书馆管理系统,该系统主要功能分为图书查询、图书借阅归还和图书管理三大部分。在图书查询模块中要求学生能在浏览器中分别图书编号、书名、类型等条件查询;在图书管理模块中要求能完成如添加新的学生、新书录入、借书还书登记、图书修改等日常管理功能。(1)网站前台设计:前台供学生使用,学生登录后有如下权利个人信息查询与修改:学生可以查询个人信息,并修改相应的信息(学号,姓名,身份证号等主要信息不能修改)。图书查询:学生可以按多种方式对图书库中的图书进行查询。借阅信息查询:学生可以查看自己的历史借阅信息。系统信息查询:学生可以查询系统信息,了解馆内的相关介绍。(2)网站后台设计:后台是供管理员使用的,管理员登陆后有如下权利 增加学生:将学生信息填写完整,在数据库中注册新学生;图书的录入、修改及删除:可以对现有图书库中的图书进行删除、修改、也可以添加新书;借阅登记:普通学生借阅或归还图书时,管理员将在借阅信息表中添加相应的记录;系统信息:管理员可以对馆内的信息进行增加、修改、删除。1.4 开发工具及相关技术1.4.1 SSH框架SSH框架是指Struts+ Hibernate+ Spring三大开源框架技术,用SSH技术进行开发,能够提高开发效率,层次清晰。Struts实现页面的设计和请求的跳转调用业务逻辑;Hibernate实现对数据的增删改查;Spring通过依赖注入控制对象的生成和事务的处理。Struts对Model、View和Controller都提供了对应的组件。Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,完成数据持久化的重任。SSH任务分工如图1-1所示:图1-1 任务分工图 Struts介绍Struts是开源软件。使用Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。Struts的框架结构如图1-2所示:图1-2 Struts框架结构1.Struts框架结构Struts对Model,View和Controller都提供了对应的组件。ActionServlet这个类是Struts的核心控制器,负责拦截来自学生的请求。Action这个类通常由学生提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。 2.Model部分由ActionForm和JavaBean组成,其中ActionForm用于封装学生的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理学生的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。 3.View部分该部分采用JSP实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。 4.Controller部分Controller组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据学生请求决定是否要转给业务逻辑控制器。业务逻辑控制器,对应Action部分,负责处理学生请求,本身不具备处理能力,而是调用Model来完成处理。 Hibernate介绍Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。Hibernate体系结构图如图1-3所示:图1-3 Hibernate体系结构图此图说明了Hibernate的体系结构图,Hibernate使用数据库和配置信息来为应用程序提供持久化服务。Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Configuration、Transaction、Query和Criteria。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。1.Session接口Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为学生session。 2.SessionFactory接口SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。3.Configuration接口Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。 4.Transaction接口Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。 5.Query和Criteria接口Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。 Spring介绍Spring是一个开源框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。简单来说,Spring是一个轻量级的控制反转(LOC)和面向切面(AOP)的容器框架。Spring框架概述如图1-4所示:图1-4 Spring框架概述1.控制反转Spring通过控制反转的技术促进了松耦合。当应用了控制反转,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。 2.面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。 3.容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。 1.4.2 Tomcat服务器Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问学生不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat服务器的兼容性很好,有众多大软件的公司的支持,而且服务器的性能稳定,其发展前景很好。 在Eclipse中添加Tomcat插件步骤如下:1首先要在Eclipse的window -show viewservers打开servers的显示窗口如图1-5所示:图1-5 Eclipse主窗口2在Eclipse中的Servers窗口中点击右键Newserver,进入窗口如图1-6所示:图1-6 选择Tomcat版本3在上图中选择所要添加的Tomcat版本,点击Next,进入窗口如图1-7所示:图1-7 添加Tomcat地址4在上图中选择所要添加Tomcat的directory,JRE改为Jre6,点击Next,如图1-8所示图1-8 添加项目5在上图中选择所要添加的项目加载到Tomcat中,点击finish完成对Eclipse中的Tomcat进行相关的修改:1在Eclipse中修改Tomcat端口号如图1-9所示:图1-9 修改端口号2修改Tomcat启动缓存参数如图1-10所示:图1-10 修改缓存参数1.4.3 Eclipse平台Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK)。Eclipse插件安装方法做为当下最流行的开源IDE之一,Eclipse的一大优势就在于其无数优秀的插件。一个好的插件可以大大的提高工作效率。Eclipse插件的安装方法: 直接复制法假设Eclipse的安装目录在E:eclipse,解压下载的eclipse 插件或者安装eclipse 插件到指定目录AA文件夹,打开AA 文件夹,在AA文件夹里分别包含两个文件夹features和plugins ,然后把两个文件夹里的文件分别复制到E:eclipse下所对应的文件夹下的features 和plugins 下。 注意:直接将插件包解压到plugins文件夹下之后,重启eclipse,可能不会加载新的插件。 解决方法是: 1打开命令行,到当前eclipse的目录下,输入eclipse -clean,重新启动eclipse,这样eclipse就会加上新的插件了。 2如果插件不能升效,则请将eclipseconfigurationorg.eclipse.update目录删除后再启动eclipse; 你可以在eclipse的菜单Help-About Eclipse SDK-Feature Details 和Plug-in Details中看到新安装的插件。 如图1-11所示:图1-11 新添加的插件1.4.4 Mysql数据库Mysql数据库是一个简单并方便的轻量级数据库,不仅在电脑上容易安装,而且使用简单,很容易就能掌握Mysql的使用。在Eclipse中安装Mysql插件,步骤如下:1首先要在Eclipse的window -show viewdata Source Explorer打开data Source Explorer的显示窗口,如图1-12所示:图1-12 Date Source Explorer 窗口2在Date Source Explorer 窗口中点击右键,New Connection Profile窗口,如图1-13所示:图1-13 New Connection Profile窗口3在New Connection Profile窗口中,选择要添加的数据库类型,选中所要添加的数据库类型,双击进入New Driver Definition窗口进行相应的数据库配置,如图1-14所示:图1-14 New Driver Definition窗口4配置完成后,单击finish完成。1.5 小结本章主要介绍了系统开发的背景及目前的现状,对课题的主要工作及完成时间作了相应介绍重点介绍了开发工具与相关技术,对SSH,Tomcat,Eclipse,MySQL都作出了相应的介绍。第二章 系统分析2.1 系统分析的目标与任务系统分析主要是为了分析清楚系统的需求以及学生对系统的要求,了解系统应实现那几部分的功能,各部分功能实现的具体方法:图书管理系统包含五个模块分别是:系统登录、学生管理、图书管理、借阅管理、系统管理。系统登录模块:学生和管理员都必须登录才能进入系统,系统登录时在后台判断权限类型,分为学生和管理员,学生可以对书籍进行浏览及个人借阅信息的查询,管理员不仅可以查看所有信息,而且还可以对学生,图书,借阅等信息进行增删操作。学生管理模块:管理员可以在此模块中创建新的学生信息,并且可以对学生的信息进行删除等操作,但是不能进行修改操作,学生可以查看自己的基本信息,并且可以进行修改(学号,姓名,身份证号不能修改)。图书管理模块:管理员通过验证界面进入系统后,进入到图书管理模块,可以对图书进行查询、添加、删除、修改图书信息等一系列的操作。学生只能查看到图书的信息,及时的了解到图书是否可借。借阅管理模块:这是图书管系统中最重要的模块之一,管理员进入该模块中可以为学生办理借阅图书,归还图书的功能,并且能够实现罚款的操作。学生只能查看到自己的借阅历史信息,查看借阅是否到期。系统管理模块:管理员可以发布馆内的基本情况,员工的相关信息以及工作的安排。2.2 可行性分析采用现代化统一的计算机信息网站系统,能够有效优化图书馆管理系统,使其高校的发挥最大的作用,能够迅捷的为学生提供相应的服务。开发本系统的可行性如下:2.2.1 技术可行性SSH框架是指Struts+ Hibernate+ Spring三大开源框架技术,用SSH技术进行开发,能够提高开发效率,层次清晰。Struts实现页面的设计和请求的跳转调用业务逻辑;Hibernate实现对数据的增删改查;Spring通过依赖注入控制对象的生成和事务的处理。Struts对Model、View和Controller都提供了对应的组件。Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,完成数据持久化的重任。服务器使用Tomcat,Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问学生不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat服务器的兼容性很好,有众多大软件的公司的支持,而且服务器的性能稳定,其发展前景很好。开发平台使用Eclipse,Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK)。数据库用Mysql, Mysql数据库是一个简单并方便的轻量级数据库,不仅在电脑上容易安装,而且使用简单,很容易就能掌握Mysql的使用。2.2.2 经济可行性 开发环境的选择会影响到数据库的设计,更会影响到开发成本,所以在这里给出图书管理系统开发与运行环境的选择如下:开发环境:Window7开发工具:Eclipse 3.2.6 数据库管理系统:Mysql 5.1数据库服务器: Tomcat 6.0由于相关的软件都是免费的,可以在网上自行下载。只要一台配置比较高的电脑即可完成,成本相对比较低。2.2.3 操作可行性 本系统开发的开发宗旨是以便捷为中心。开发后的系统应具有美观、大方、简单、易操作等优点,即使是不懂计算机的人员也可以根据系统提示使用和管理本系统,它的操作简单的特点使本系统在操作上可行。2.3 需求分析2.3.1 图书馆管理系统需求概述图书馆管理系统的开发主要涉及到系统登录,学生管理,图书管理,借阅管理,系统管理五大功能的数据管理。从管理的角度可将图书馆管理系统分为三部分:图书管理、学生管理、借阅管理。图书信息管理包括:添加新进图书、删除旧图书、修改图书信息。学生管理包括:修改学生信息、办理新学生、注销学生。借阅管理主要包括学生借阅图书以及归还图书。超级管理员能够对系统进行任何操作,主要包括角色分配,权限控制,菜单管理等。管理员的需求是可以查询、添加、删除、修改的图书信息,借阅信息,系统信息;对学生信息可以进行查询,添加,删除,但不能修改学生信息! 学生可以查询图书馆所存的图书,个人借阅情况以及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要进行登记,形成借书或还书信息给借阅者查看确认;图书管理人员的功能最为复杂,包括对学生信息、图书信息进行管理和维护、以及系统状态的查询和维护等。2.3.2 功能需求超级管理员可以对系统进行任何操作,主要包括用户管理,角色管理,功能权限管理,菜单管理。通过角色分配,用户分为管理员与学生,对不同的用户进行权限控制,管理员可以查询、添加、删除、修改的图书信息,借阅信息,系统信息;对学生信息可以进行查询,添加,删除,但不能修改学生信息!而学生只可以查询图书馆所存的图书,个人借阅情况以及个人信息的修改。菜单管理是对管理员界面与用户界面的管理。系统管理主要是对一些系统信息进行管理。 登录系统在本系统中,首先要考虑的问题就是登录系统,通过登录系统对用户权限的判断,控制不同权限的用户进入不同的面页!管理员进入管理员页面,学生进入学生页面。 管理员页面设计管理员页面设计主要包括对学生信息管理,图书信息管理,借阅信息管理以及系统信息管理四个方面,下面分别对这四个方面作相关的介绍与设计。 1学生管理本系统对学生管理包括:添加学生信息,修改学生信息、删除学生信息,查询学生信息。在添加学生信息与修改学生信息时,进行相应的验证,主要是必填与唯一性验证。在添加学生信息与修改学生信息时,要进行相应的验证,其中包括必填与唯一性。主要是学号,姓名,身份证号,性别为必填项;学号与姓名不能重复,且身份证号一定得为18位!2图书管理图书信息管理包括:添加图书信息、删除图书、修改图书信息、查询图书信息。在添加图书信息与修改图书信息时,进行相应的验证,主要是必填与唯一性验证。在添加图书信息与修改图书信息时,也进行了相应的必填与唯一性验证。主要是图书编号,书名,作者,借阅情况为必填项,图书编号与书号不能重复。3借阅管理学生借阅信息的管理,主要是对学生借阅图书以及归还图书登记。并判断有没有超期,如果超期,则进行相应的罚款。4系统管理系统管理主要是管理员对图书馆信息、工作人员信息。 学生页面设计学生页面主要包括基本信息,图书信息以及借阅信息。下面分别对这三个方面作具体的设计。1基本信息因为学生信息是以表结构呈现的,表里也含有他人的基本信息。为了防止用户可以看到他人的基本信息。在查看自己基本信息时,需要输入学号与姓名,并且学号与姓名必填。输入正确则会显示信息,输入有误则查出的是空表,没有任何数据。2图书信息对学生来说,最关心的问题其实是如何方便的查询到想要借阅的书籍,可以及时的了解到图书的相关信息。对图书的查询主要有三种查询方式:根据图书编号,书名以及图书类型。学生可以根据自己了解的情况任选择一种方式。3借阅信息学生查询图书信息的目的还是为了借书,借阅信息管理包括借书与还书。还书时要判断是否超期,若超期,则进行相应的罚款。2.3.3 数据需求1. 图书馆管理系统的基本系统模型顶层数据流图主要描述了整个图书馆管理系统的数据流。就是管理员对图书馆管理系统管理。图书馆管理系统的基本系统模型如图2-1所示:图2-1图书馆管理系统的基本系统模型2. 图书馆管理系统数据流系统数据流图描述了管理员在整个系统中可以进行的操作流程过程。首先是进行身份验证,身份验证没通过则不能进行页面,应联系超级管理员添加信息。身份验证通过方能进入管理员页面,可以选择对学生信息以及图书信息进行管理。图书馆管理系统数据流图如图2-2所示:图2-2图书馆管理系统数据流图3学生管理数据流对图书馆管理系统数据流图中的“学生管理”进行展开。细化后的数据流图如图2-3所示:图2-3学生信息管理数据流4图书管理数据流对图书馆管理系统数据流图中的“图书管理”进行展开。细化后的数据流图如图2-4所示:图2-4图书信息管理数据流5借阅管理数据流对图书馆管理系统数据流图中的“借阅管理”进行展开。细化后的数据流图如图2-5所示:图2-5借阅管理数据流6. 归还管理数据流对图书馆管理系统数据流图中的“归还管理”进行展开。细化后的数据流图如图2-6所示:图2-6归还管理数据流2.3.4 性能需求1可靠性和可用性需求(1)系统中的软件可以每天使用24小时。(2)系统中的软件故障率几乎为零。2容错性学生输入错误信息时,系统会有相应的提示。3易用性软件适合12-70周岁的智力、视力、体力和肢体正常且具有图书借阅相关知识的人使用。4易学性经过1-2天培训的使用者可以正常使用本软件。2.4 小结本章主要介绍了系统分析的目标、可行性分析及相关的需求,重点介绍了功能需求与数据需求。本系统功能需求主要分三大模块,系统登录系统,管理员页面设计,学生页面设计。通过本章的内容,可以初步确定系统的需求,为下一章进行系统的设计作好准备。第三章 系统设计3.1 系统设计的目标与任务图书管理系统包含五个模块分别是:系统登录、学生管理、图书管理、借阅管理、系统管理。系统登录模块:学生和管理员都必须登录才能进入系统,系统登录时在后台判断权限类型,分为学生和管理员,学生可以对书籍进行浏览及个人借阅信息的查询,管理员不仅可以查看所有信息,而且还可以对学生,图书,借阅等信息进行增删操作。学生管理模块:管理员可以在此模块中创建新的学生信息,并且可以对学生的信息进行删除等操作,但是不能进行修改操作,学生可以查看自己的基本信息,并且可以进行修改(学号,姓名,身份证号不能修改)。图书管理模块:管理员通过验证界面进入系统后,进入到图书管理模块,可以对图书进行查询、添加、删除、修改图书信息等一系列的操作。学生只能查看到图书的信息,及时的了解到图书是否可借。借阅管理模块:这是图书管系统中最重要的模块之一,管理员进入该模块中可以为学生办理借阅图书,归还图书的功能,并且能够实现罚款的操作。学生只能查看到自己的借阅历史信息,查看借阅是否到期。系统管理模块:管理员可以发布馆内的基本情况,员工的相关信息以及工作的安排。3.2 功能模块设计超级管理员可以对系统进行任何操作,主要包括用户管理,角色管理,功能权限管理,菜单管理。超级管理员功能模块如图3-1所示:图3-1 超级管理员功能模块3.2.1 整体系统的功能模块此系统主要是为了管理员与用户操作,对超级管理员只是在特殊情况下才登录,超级管理员能对系统进行任何操作,因此在功能设计模块里不细讲超级管理员的功能实现以及页面设计。主要介绍管理员与学生的功能实现与页面设计。管理员可以查询、添加、删除、修改的图书信息,借阅信息,系统信息;对学生信息可以进行查询,添加,删除,但不能修改学生信息! 学生可以查询图书馆所存的图书,借阅情况以及基本信息的修改。 图书馆管理系统功能图如图3-2所示: 图3-2 图书馆管理系统功能图3.2.2 系统登录模块在本系统中,首先要考虑的问题就是登录系统,通过登录系统对用户权限的判断,控制不同权限的用户进入不同的面页!超级管理员进行超级管理员页面,管理员进入管理员页面,学生进入学生页面。登录系统流程图如图3-3所示:图3-3 登录模块流程图3.2.3 管理员模块此模块是介绍管理员模块的实现,主要是学生信息管理,图书信息管理,借阅信息管理以及系统信息管理。在相关的流程图中,就不作相应的用户判断,默认为管理员身份登录。进入相应的管理员页面,进行相关的操作。 1学生管理模块本系统对学生管理包括:添加学生信息、修改学生信息、删除学生信息、查询学生信息。在添加学生信息与修改学生信息时,进行相应的验证,主要是必填与唯一性验证。学生信息管理流程图如图3-4所示:图3-4 学生信息管理流程图在添加学生信息与修改学生信息时,要进行相应的验证,其中包括必填与唯一性。主要是学号,姓名,身份证号,性别为必填项;学号与姓名不能重复,身份证号一定得为18位!2图书管理模块图书信息管理包括:添加图书信息、删除图书、修改图书信息、查询图书信息。在添加图书信息与修改图书信息时,进行相应的验证,主要是必填与唯一性验证。图书信息管理流程图如图3-5所示图3-5 图书信息管理流程图在添加图书信息与修改图书信息时,也进行了相应的必填与唯一性验证。主要是图书编号,书名,作者,借阅情况为必填项,图书编号与书号不能重复。3借阅信息管理模块学生借阅信息的管理,主要是对学生借阅图书以及归还图书登记。并判断有没有超期,如果超期,则进行相应的罚款。借阅信息管理流程图如图3-6所示:图3-6 借阅信息管理流程图4系统管理系统管理主要是管理员对图书馆信息、工作人员信息以及工作安排的管理。系统管理模块如图3-7所示:图3-7 系统管理模块3.2.4 学生模块学生页面主要包括基本信息,图书信息以及借阅信息。下面分别对这三个方面作具体的设计。1基本信息因为学生信息是以表结构呈现的,表里也含有他人的基本信息。为了防止用户可以看到他人的基本信息。在查看自己基本信息时,需要输入学号与姓名,并且学号与姓名必填。输入正确则会显示信息,输入有误则查出的是空表,没有任何数据。基本信息流程图如图3-8所示:图3-8 基本信息流程图2图书信息对学生来说,最关心的问题其实是如何方便的查询到想要借阅的书籍,可以及时的了解到图书的相关信息。对图书的查询主要有三种查询方式:根据图书编号,书名以及图书类型。学生可以根据自己了解的情况任选择一种方式。图书信息流程图如图3-9所示图3-9 图书信息流程图3借阅信息借阅信息管理包括查询借书信息与还书信息。还书时要判断是否超期,若超期,则进行相应的罚款。还可以进行行续借操作。借阅信息流程图如图3-10所示:图3-10借阅信息流程图3.3 系统界面设计3.3.1 系统登录模块在本系统中,首先要考虑的问题就是登录系统,通过登录系统对用户权限的判断,控制不同权限的用户进入不同的面页!管理员进入管理员页面,学生进入学生页面。系统登录页面设计如系统实现章节的图4-6所示。3.3.2 管理员模块管理员页面设计主要包括对学生信息管理,图书信息管理,借阅信息管理以及系统信息管理四个方面。1学生信息管理模块:本系统对学生管理包括:添加学生信息,修改学生信息、删除学生信息,查询学生信息。在添加学生信息与修改学生信息时,进行相应的验证,主要是必填与唯一性验证。学生信息查询与删除页面如系统实现章节的图4-8所示,学生信息修改与添加页面如系统实现章节的图4-10所示。在添加学生信息与修改学生信息时,要进行相应的验证,其中包括必填与唯一性。主要是学号,姓名,身份证号,性别为必填项;学号与姓名不能重复,且身份证号一定得为18位!当没有输入或输入重复时,会弹出相应的提示。 2图书管理图书信息管理包括:添加图书信息、删除图书、修改图书信息、查询图书信息。在添加图书信息与修改图书信息时,进行相应的验证,主要是必填与唯一性验证。查询图书信息页面如系统实现章节的图4-11所示,添加,删除与修改图书信息页面如系统实现章节的图4-12所示。 在添加图书信息与修改图书信息时,也进行了相应的必填与唯一性验证。主要是图书编号,书名,作者,借阅情况为必填项,图书编号与书号不能重复。与学生信息验证相似。3借阅管理学生借阅信息的管理,主要是对学生借阅图书以及归还图书登记。并判断有没有超期,如果超期,则进行相应的罚款。查询学生借阅信息页面如系统实现章节的图4-14所示,修改学生借阅信息页面如系统实现章节的图4-15所示,添加与删除学生借阅信息页面如系统实现章节的图3-19所示。4 系统信息管理系统管理主要是管理员对图书馆信息、工作人员以及工作安排信息的管理。3.3.3 学生模块学生页面主要包括基本信息,图书信息以及借阅信息。下面分别对这三个方面作具体的设计。1基本信息因为学生信息是以表结构呈现的,表里也含有他人的基本信息。为了防止用户可以看到他人的基本信息。在查看自己基本信息时,需要输入学号与姓名,并且学号与姓名必填。输入正确则会显示信息,输入有误则查出的是空表,没有任何数据。基本信息查询如系统实现章节的图4-21所示。修改与管理员修改模型差不多,只不过有些字段是只读型,比如学号,姓名,身份证号,学院,班级,专业等。2图书信息对图书的查询主要有三种查询方式:根据图书编号,书名以及图书类型。学生可以根据自己了解的情况任选择一种方式。3借阅信息借阅信息管理包括查询借书信息与还书信息。还书时要判断是否超期,若超期,则进行相应的罚款。还可以进行行续借操作。借还信息查询如系统实现章节的图4-23所示。3.4 数据库设计3.4.1 概念结构设计超级管理员可以对系统进行任何操作,主要包括角色分配,权限控制,菜单管理,系统管理。超级管理员模块总体E-R图如图3-25所示图3-25超级管理员模块总体E-R图权限管理总体E-R图如图3-26所示:图3-26 权限管理总体E-R图用户管理主要包括管理员管理与学生管理,其E-R图如图3-27所示:图3-27用户管理E-R图学生模块总体E-R图如图3-28所示:图3-28 学生模块总体E-R图管理员模块总体E-R图如图3-29所示:图3-29 管理员模块总体E-R图3.4.2 逻辑结构设计给出本系统内所使用的每个数据结构中的每个数据项的字段英文名称、字段中文名称,存储类型、约束条件、是否可为空。本系统采用MySql作为支持数据库,建立一个名为“library_system”的数据库,该数据库包含了如下数据表:根据上述功能模块的需求,设计如下主要数据库表:学院信息表主要是用来存放学院信息。学院表定义如表3-1所示表3-1 学院信息表(academy_phg) 字段英文名称字段中文名称字段类型字段约束是否可为空AcademyPhgId学院IDVarchar(60)主键否academyCode学院编号Varchar(10)否academyName学院名称Varchar(50)否专业信息表主要是用来存放专业信息。专业表定义如表3-2如示:表3-2 专业信息表(profession_phg)字段英文名称字段中文名称字段类型字段约束是否可为空ProfessionPhgId专业IDVarchar(60)主键否professioCode专业编号Varchar(10)否professioName专业名称Varchar(50)否班级信息表是用来存放班级信息,班级表定义如表3-3如示:表3-3 班级信息表(class_phg)字段英文名称字段中文名称字段类型字段约束是否可为空ClassPhgId班级IDVarchar(60)主键否className班级名称Varchar(50)否学生信息表(student_phg):用于存放学生的基本信息。学生信息表定义如表3-4所示:表3-4 学生信息表(student_phg)字段英文名称字段中文名称字段类型字段约束是否可为空StudentPhgId学生IDVarchar(60)主键否studentCode学号Varchar(10)唯一否studentName姓名Varchar(50)唯一否idNo证件证号Varchar(20)否academyName学院Varchar(50)是professionName专业Varchar(50)是className班级Varchar(50)是Sex性别Demimal(1,0)否Telephone联系方式Varchar(15)是EmailemailVarchar(50)是enterTime入校日期Date是系统管理员信息表(operator_phg):用于存放系统管理员的基本信息。系统管理员信息表定义如表3-5所示:表3-5管理员信息表(operator_phg)字段英文名称字段中文名称字段类型字段约束是否可为空OperatorPhgId管理员IDVarchar(60)主键否operatorCode管理员编号Varchar(10)否operatorName管理员名Varchar(50)否Sex性别Demimal(1,0)否Tel联系方式Varchar(15)是EmailemailVarchar(50)是positionName职位Varchar(50)是enterTime入职日期Date是图书类型信息表是用来存放图书类型信息,图书类型信息表定义如表3-6所示:表3-6图书类型信息表(bookType_phg)字段英文名称字段中文名称字段类型字段约束是否可为空bookTypePhgId图书类型IDVarchar(60)主键否typeCode类型编号Varchar(10)否typeName类型名称Varchar(50)否图书信息表是用来存放图书信息,图书信息表定义如表3-7所示:表3-7图书信息表(book_phg)字段英文名称字段中文名称字段类型字段约束是否可为空bookPhgId图书IDVarchar(60)主键否bookCode图书编号Varchar(10)否bookName书名Varchar(50)否writer作者Varchar(50)否price单价Varchar(50)是pubCompany出版社Varchar(50)是pubDate出版日期Date是buyDate上架日期Date是opertor上架操作员Varchar(50)是typeName图书类型Varchar(50)否giveback借阅情况Varchar(50)否职位信息表是用来存放职位信息,职位信息表定义如表3-8示表3-8职位信息表(Position_phg)字段英文名称字段中文名称字段类型字段约束是否可为空PositionPhgId职位IDVarchar(60)主键否positionCode职位编号Varchar(10)否positionName职位名称Varchar(50)否duty职责Varchar(500)是借阅信息表是用来存放借阅信息,借阅信息表定义如表3-9如示:表3-9借阅信息表(borrowInfo_phg)字段英文名称字段中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车间操作安全知识培训课件
- 2025年抢救车及抢救药品物品管理制度培训题测试题库(附答案)
- 国开大学电大本科《组织行为学》2025期末试题及答案
- 研究生学术道德与学术规范期末考试及标准答案
- 门球裁判员教学课件
- 自我鉴定的教学课件
- 塞下曲其三教学课件
- 特种行业培训基础知识课件
- 索道运行工艺考核试卷及答案
- 搪瓷表面涂层耐酸碱渗透测试工艺考核试卷及答案
- 发电运营事业部场(站)运维奖惩管理办法(二)
- 社区公共卫生护理考核试卷
- 现代海洋管理 知到智慧树网课答案
- 新疆维吾尔自治区五大名校2024年高考化学必刷试卷含解析
- GB/T 43680-2024生态系统评估陆地生态退化评估方法
- 应急救援基础知识
- 无人机实训室建设方案
- TGSC 006-2024 二氧化碳陆地封存工程选址指南
- 销售目标达成计划
- 食材验收标准培训课件
- 畜禽养殖知识讲座
评论
0/150
提交评论