admin 管理员组

文章数量: 1184232


2024年3月20日发(作者:c语言的数组名有什么作用)

图书管理系统设计与实现原文

随着社会的发展,人们对知识的需求也不断地增长。在这种形

势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书

馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管

理图书馆不但关系到读者求知的方便程度也关系到图书馆的发展,

因此,开发一套完善的图书馆管理系统就成不可少了,图书馆在正

常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产

生的借书信息、还书信息。

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的使用(在下面讨论)帮

助完成了这种简化。

通过把对接口编程而不是对类编程的代价几乎减少到没有,

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的源码包

中的ate子包中去查看这些接口的源代码。下面我们

依次讲一下所有的主要接口:核心接口,以下5个核心接口几乎在

任何实际开发中都会用到。通过这些接口,你不仅可以存储和获得

持久对象,并且能够进行事务控制。

Session接口:Session接口对于Hibernate开发人员来说是一

个最重要的接口。然而在Hibernate中,实例化的Session是一个

轻量级的类,创建和销毁它都不会占用很多资源。这在实际项目中

确实很重要,因为在客户程序中,可能会不断地创建以及销毁

Session对象,如果Session的开销太大,会给系统带来不良影

响。

用户的需求具体体现在各种信息的提供,保存,更新和查询。

这就要求数据库的结构能充分满足各种信息的输入和输出。在仔细

分析调查有关图书馆管理信息需求的基础上设计出如图所示的数据

流程。

顶层数据流图如图1所示。

3系统设计

本课题设计在充分进行用户需求分析的基础上把系统划分为九

个子模块:用户登陆、学生注册、图书入库、图书查询、图书删

除、图书借阅、办理登记、借书证注销、用户退出。这九个模块之

间,紧密结合,共享信息资源,形成一种完美的学校图书馆借阅管

理的解决方案。如图2所示

3.1登陆界面如图3所示

3.2管理员登陆界面如图4所示

3.3管理员登录时点击图书管理

点击添加图书时,当添加的图书信息为空时如图5所示。

4结语

以前做过一些应用的系统开发,随意性大,想到哪里做到哪

里,没有统一的规划,一旦成型,出现错误返工修改工作量大,最

终的系统可靠性不高,另外一直以来,进行程序设计均采用结构化

开发方法,对系统的的全貌很难在开发前看到,导致实现的系统不

能满足需求。这次毕业设计使我通过实践,提高了系统分析的能

力,对数据流图,数据字典,数据流程图等系统设计工具的使用有

了更深刻的认识,为以后的工作学习进一步提高打下了坚实的基

础,尽管本管理系统存在着很多不足,但其功能全面、易于日后程

序更新、数据库管理容易、界面友好、操作方便、效率高、安全性

好等优点是本管理系统所必需的。相信本图书馆管理信息系统是一

套学校图书馆在日常管理中必不可少的管理软件,通过开发这个系

统,我掌握了的项目开发过程,进一步熟练了专业基本知识,巩固

了我对Java和MySQL的掌握毕业。设计中的最大收获并不是掌握开

发工具的应用,而是学会了设计系统的思维方法。


本文标签: 系统 进行 用户 图书 信息