图书管理系统设计与实现原文
随着社会的发展,人们对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就成不可少了,图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。
1绪论
在写图书管理系统之前,需要进行用户需求调查与分析,从而确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。要想使学生能够有效的借阅,功能上对系统的要求是全面的。因此对用户的需求可分为三个方面:第一用户注册,用户如果是第一次登陆这个界面,需要先进行注册才能进行借书等操作。第二是用户先通过搜索到相关的图书信息,第三是用户借书,用户对搜查得到的书籍进行借阅操作。
这三个方面形成了图书借阅的一个工作整体,利用计算机的自动化处理,可方便快捷地共享信息、交流信息,高效地协同工作。
用户除了借阅书籍外好需要进行书籍的退还操作。用户先查询自己已借阅的书籍,显示出这些书籍后,用户可以勾选要退还的书籍,进行退还申请,当管理员看到退还申请时,就会查看用户的书籍是否已经真的归还到图书馆了,如果已经归还,则删除用户借书的信息。
在软硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的进行图书借阅信息管理。硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆的借阅。
本系统采用了java面向对象的方法,结合三大框架,使用MySQL数据库进行编程.
2需求分析
在框架知识中,对三大框架要比较了解一点,三大框架主要是:Spring的原理:它是一个开源的项目,而且目前非常活跃;它基于,反向控制和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的接口,采用使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现等等Spring能有
效地组织你的中间层对象,不管你是否选择使用了EJB。如果你仅仅使用了Struts或其他为J2EE的API特制的framework,Spring致力于解决剩下的问题。
Spring能消除在许多工程中常见的对Singleton的过多使用。根据我的经验,这是一个很大的问题,它降低了系统的可测试性和面向对象的程度。
通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消除各种各样自定义格式的属性文件的需要。曾经对某个类要寻的是哪个魔法般的属性项或系统属性感到不解,为此不得不去读Javadoc甚至源编码?有了Spring,你仅仅需要看看类的JavaBean属性。InversionofControl的使用(在下面讨论)帮助完成了这种简化。
基于java的图书管理系统通过把对接口编程而不是对类编程的代价几乎减少到没有,Spring能够促进养成好的编程习惯。
Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。使用Spring构建的应用程序易于单元测试。
Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs
或localEJBs来实现业务接口,却不会影响调用代码。
Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适用于许多web应用。例如,Spring能使用AOP提供声明性事务管理而不通过EJB容器,如果你仅仅需要与单个数据库打交道,甚至不需要一个JTA实现。
Spring为数据存取提供了一个一致的框架,不论是使用的是JDBC还是O/Rmappin品(如Hibernate)。
Spring确实使你能通过最简单可行的解决办法来解决你的问题。而这是有有很大价值的。Hibernate使用了J2EE架构中的如下技术:JDBC、JTA、JNDI。其中JDBC是一个支持关系数据库操作的一个基础层;它与JNDI和JTA一起结合,使得Hibernate可以方便地集成到J2EE应用服务器中去。在这里,我们不会详细地去讨论HibernateAPI接口中的所有方法,我们只简要讲一下每个主要接口的功能,如果你想了解得更多的话,你可以在Hibernate的源码包中的net.sf.hibernate子包中去查看这些接口的源代码。下面我们依次讲一下所有的主要接口:核心接口,以下5个核心接口几乎在任何实际开发中都会用到。通过这些接口,你不仅可以存储和获得持久对象,并且能够进行事务控制。
Session接口:Session接口对于Hibernate开发人员来说是一个最重要的接口。然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会占用很多资源。这在实际项目中确实很重要,因为在客户程序中,可能会不断地创建以及销毁Session对象,如果Session的开销太大,会给系统带来不良影响。
用户的需求具体体现在各种信息的提供,保存,更新和查询。这就要求数据库的结构能充分满足各种信息的输入和输出。在仔细分析调查有关图书馆管理信息需求的基础上设计出如图所示的数据流程。
顶层数据流图如图1所示。
3系统设计
本课题设计在充分进行用户需求分析的基础上把系统划分为九个子模块:用户登陆、学生注册、图书入库、图书查询、图书删除、图书借阅、办理登记、借书证注销、用户退出。这九个模块之间,紧密结合,共享信息资源,形成一种完美的学校图书馆借阅管理的解决方案。如图2所示
3.1登陆界面如图3所示
3.2管理员登陆界面如图4所示
3.3管理员登录时点击图书管理
点击添加图书时,当添加的图书信息为空时如图5所示。
4结语
以前做过一些应用的系统开发,随意性大,想到哪里做到哪里,没有统一的规划,一旦成型,出现错误返工修改工作量大,最终的系统可靠性不高,另外一直以来,进行程序设计均采用结构化开发方法,对系统的的全貌很难在开发前看到,导致实现的系统不能满足需求。这次毕业设计使我通过实践,提高了系统分析的能力,对数据流图,数据字典,数据流程图等系统设计工具的使用有了更深刻的认识,为以后的工作学习进一步提高打下了坚实的基础,尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本图书馆管理信息系统是一套学校图书馆在日常管理中必不可少的管理软件,通过开发这个系统,我
掌握了的项目开发过程,进一步熟练了专业基本知识,巩固了我对Java和MySQL的掌握毕业。设计中的最大收获并不是掌握开发工具的应用,而是学会了设计系统的思维方法。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论