图书管理系统java
- 格式:docx
- 大小:39.91 KB
- 文档页数:16


开发背景
早年的图书馆才用的都是手工操作的管理方式,随着图书馆藏书种类的增长,藏书量的不断增加,读者群的不断增多,这种传统的管理方式,暴露出了许多的管理漏洞.随着计算机和网络技术在我国的快速发展,图书馆迫切需要一个能够实现自动化管理的管理系统。通过该系统能够实时显示图书的库存数量和种类信息,还能够对读者进行管理,还能够实时显示书籍借阅情况和订购情况。通过该系统来提高图书馆的管理水平,同时提高工作效率。
需求分析
图书管理系统是一个高度集成的图书信息处理系统,通过将图书管理的各种功能进行整合,从而打到高速检阅信息、提高工作效率、降低管理成本等目的。一个典型的图书馆管理系统应该能够管理所有的图书种类、图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。该系统还需要能够对图书借阅、归还进行管理,并对读者的罚款进行自动计算。通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。
功能分析
图书管理系统是管理图书的一种重要工具,一个能够完善的图书管理系统需要提供6个功能模块,分别是图书类别管理模块、图书信息管理模块、读者信息管理模块、新书订购模块、图书借阅管理模块,以及系统维护模块。其中各功能模块的具体说明如下。
图书类别管理系统模块:该模块主要负责管理图书馆的图书信息,如图书编号、图书名称、作者、出版社等信息。
读者信息管理模块:该模块主要负责管理图书的读者信息,如读者编号、读者信息、证件号码、最大借书量等信息、
新书订购管理模块:该模块主要负责管理图书馆的新书订购信息,包括新书订购和验收新书两个字模块。
图书借阅管理模块:该模块主要负责管理图书的书记借阅和归还信息,包括图书借阅、图书归还、图书搜索3个子模块。
系统维护模块:该模块主要负责管理图书馆的工作人员信息,包括用户管理和更改系统口令两个子模块。
系统设计
图书馆管理系统是一个内部人缘使用的系统,也就是说不是所有人都能够使用它,只有图书馆的工作人员才能使用。而图书馆的工作人员也分为两类,一类是操作员,主要负责图书的借阅和归还的工作;一类是管理人员,除了操作员的所有功能外,还能够对书籍列表、书籍信息、读者信息等进行管理。下面以管理人员为例绘制其所对应的用例图 如图1-1所示。
案例一:基于UML和Java的图书管理系统
一、引言
统一建模语言(Unified Modeling Language,简写为UML)是一种通用的模拟语言,它可以用于确定、展示和记录软件系统的设计过程。统一建模语言中的图形标记,尤其是用于面向对象的软件设计。它有两大优点:
(1)UML是国际软件工业界广泛认可的标准,它统一了对象模拟的标记和含义,使软件设计工具能发挥更大的功用,同时,现有的对象设计也能更容易地被重新使用。
(2)UML博采众长,设当地平衡了简洁性和具体化两个总之,UML已经成为一种单独的系统来演化,不像以前的多种标准的体系引起的问题。
所以,作为软件开发者,完全有必要学习、了解UML。本文就提供了一个案例研究,想利用这个案例研究给大家一个对UML的感性认识,了解在现实世界中如何使用 UML来编写应用程序。所以找了一个相对比较复杂的案例,发现图书馆中处理借出以及预借书籍和杂志的应用程序是相当大的例子,足以说明UML如何在现实世界中使用。
只是利用用例(use case)和讨论域分析来分析描述一个分析模型中的应用,把它扩展成一个设计模型,用来描述技术解决方案的一个代表部分, 最后,再用Java语言进行编码。但请记住,给出的只是一种可能的解决方案,还有许多其他的解决方案需要您用聪明的头脑去发掘,而且这世界上也没有适合所有的情况的解决方案。当然,某些解决方案会比其他的要好,但那只有有了足够的经验和遇到的许多困难的事并解决之后才会积累下来知识。
二、要求
一般情况下,是使用系统的最终用户的代表人来书写要求规范,对于图书馆应用程序,要求规范应该如下:
1)、图书馆应用程序应当是图书馆的支持系统。
2)、图书馆把书籍和杂志借给借书者(读者)的条件当然是读者应当在该系统中注册过,同样书籍和杂志也应当在系统中注册过。
3)、图书馆处理购买新书或杂志的操作,畅销书或杂志应当多购几本,旧的书籍和杂志当它过时或残破时就应适当把它从书架上请下来。
一:注册界面及代码:
/**
* BigHomework
cs2011z.library
RegisteFrame.java
RegisteFrame
苏州科技学院,计算机Z1111,徐磊
2013-11-13
下午6:39:12
*/
package cs2011z.library;
/**
* @author Administrator
*
*/
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.border.BevelBorder;
import poundBorder;
/**
* @author Administrator
* RegisteFrame
*/
public class RegisteFrame extends JFrame{
/**
* 注册界面
*/
private static final long serialVersionUID = 1L;
//控件显示文件信息
final String USERNAME ="用 户 名:";
package library;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import .PasswordAuthentication;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
public class login extends JFrame implements ActionListener {
private JTextField namefield;
private JTextField numfield;
private JButton button;
private String number;