java+sql图书管理系统.docx

上传人:b****8 文档编号:10973124 上传时间:2023-02-24 格式:DOCX 页数:57 大小:237.78KB
下载 相关 举报
java+sql图书管理系统.docx_第1页
第1页 / 共57页
java+sql图书管理系统.docx_第2页
第2页 / 共57页
java+sql图书管理系统.docx_第3页
第3页 / 共57页
java+sql图书管理系统.docx_第4页
第4页 / 共57页
java+sql图书管理系统.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

java+sql图书管理系统.docx

《java+sql图书管理系统.docx》由会员分享,可在线阅读,更多相关《java+sql图书管理系统.docx(57页珍藏版)》请在冰豆网上搜索。

java+sql图书管理系统.docx

java+sql图书管理系统

 

1、本设计所要达到的目的和要求

1.1设计目的

管理信息系统(MIS)的应用已深入到社会的各行各业,它是信息、软件与科学管理相结合的产物。

MIS的开发过程不仅是一个编写应用程序的过程,而且是一个以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施到等主要阶段的规范开发过程。

本题目实现的是JAVA系统,我们选择的是图书馆管理系统,不同角色的用户登录,用户信息的管理包括密码管理,及用户借还书,用户对图书信息及本人借还情况的查询,超级管理员对图书信息的增删查改,用户信息的增删查改及借还情况总的查询。

1.2设计要求

1、主题明确,软体开发要有创新性,能体现SQL的存储过程、触发器、游标技术等;

2、用高级语言结合SQLServer数据库进行开发;

3、写出数据库关系模式及相应的数据库表关系图;

4、绘制成绩MIS相应的系统流程图、E-R图等;

5、完成成绩MIS登陆界面、主界面、图书信息录入、图书信息查询和其各项设计与操作。

2、设计内容

我们设计的图书馆管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机对读者、图书等各种信息进行日常管理,如查询、修改、增加、删除、图书借阅和归还的管理等。

本系统实现了图书馆的信息化管理,完成了图书馆管理系统的基本功能。

该系统主要包括读者用户登录系统、管理员用户登入系统、图书管理系统、图书借阅、图书和用户信息查询子系统四个部分,各部分主要功能如下:

读者用户登录子系统:

用于数据库的连接,主界面的设计和读者身份用户的登录管理。

管理员用户登入系统:

用于管理员用户的管理,如图书添加、图书信息修改。

图书管理系统:

用于图书信息的管理,如新书入库、图书信息修改、图书信息删除。

图书借阅系统:

用于用户借阅和归还图书。

图书和用户信息查询:

图书和用户信息的查询。

留言系统:

用于留言管理。

3、开发和运行环境介绍

开发语言:

前台开发语言为java,后台数据库为SQLserver2000

运行环境:

eclipse

  Eclipse是著名的跨平台的自有(IDE)。

最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。

Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。

许多软件开发商以Eclipse为框架开发自己的IDE。

4、需求分析

4.1系统需求描述

实现管理员对用户的增删改查,对图书信息增删查改、图书借阅信息的修改以,实现用户对图书的查找、借阅、续借、归还以及修改密码。

4.2系统功能结构图

图1图书管理系统系统流程图

4.3系统E-R图

图2用户实体图

图3书籍实体图

图4实体属性图

4.5数据库表结构

表1图书信息表

字段名称

字段类型

长度

是否为空

备注

图书编号

数字

4

主键

书名

数字

4

出版社

文本

50

编著者

文本

50

出版日期

时间

4

单价

文本

50

库存数量

数字

4

出版书号

文本

50

表2用户借阅表

字段名称

数据类型

长度

是否为空

备注

读者号

数字

4

主键

姓名

数字

4

主键

借书日期

时间

8

还书日期

时间

8

借阅图书编号

文本

50

 

表3用户信息表

字段名称

字段类型

长度

是否为空

备注

用户编号

数字

4

主键

用户名

文本

50

用户密码

文本

50

身份

文本

50

5.系统设计与实现

5.1模块功能描述

.在整个图书管理系统中读者用户登录系统的设计,主要包括如下功能:

连接远程数据库:

首先建立连接,然后配置数据源。

整个界面的设计:

主框架,点击按钮分别触发事件。

用户登录:

管理员,图书馆工作人员,普通用户分别实现进入自己的界面。

.在整个图书管理系统中管理员用户管理子系统的设计,主要包括如下功能:

用户添加:

用于添加用户信息。

用户信息修改:

管理员可以修改用户所有信息,用户可以修改自己的密码。

用户删除:

用于删除用户信息。

包括按用户id和密码删除。

.在整个图书馆管理系统中图书管理子系统的设计,主要包括如下功能:

图书添加:

用于添加图书信息。

图书信息修改:

管理员可以修改图书所有信息。

图书删除:

用于删除图书信息。

包括按图书id删除。

.在整个图书馆管理系统中图书借阅管理子系统的设计,主要包括如下功能:

借阅图书:

用户借书。

续借:

通过改变归还日期来续借。

借阅信息显示:

管理员和工作人员可以查看所有用户借阅信息,普通用户只可以查看自己的借阅信息。

5.2软件实现

读者用户登录系统:

packagehehe;

importjava.awt.Frame;

importjava.awt.Menu;

importjava.awt.MenuBar;

importjava.awt.MenuItem;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

@SuppressWarnings("serial")

publicclass菜单1extendsFrameimplementsActionListener{

//TextAreata;//文本区

MenuBarmb;//MenuBar类封装绑定到框架的菜单栏的

MenumnLog,mnJy,mnFy,mnLy;//从菜单栏部署的下拉式菜单组件

MenuItemmizhuce,milog,miExit,miyhzh,miyhxx;//菜单中的所有项必须属于类MenuItem或其子类之一

MenuItemmifyshow,mifydelete,mifyinsert,mifymodify,milyshow,miyshow,mijyshow,mijyinsert,mijymodify;

public菜单1(){

super("图书管理系统");//调用父类构造方法

//ta=newTextArea("",20,20);//新建文本区,第一个参数是默认文本,第二个参数是行数,第三个是列数

/*

*BorderLayout边框布局

*添加文本区到Frame,BorderLayout.CENTER是居中位置

**/

//add(ta,BorderLayout.CENTER);

mb=newMenuBar();//创建菜单栏对象

/*

*创建菜单,指定菜单名

**/

mnLog=newMenu("退出");

mnFy=newMenu("读者信息管理");

mnJy=newMenu("借阅管理");

mnLy=newMenu("意见簿留言");

/*jLabel=newJLabel("欢迎进入设备管理系统");

jLabel.setHorizontalAlignment(JLabel.CENTER);

jLabel.setForeground(Color.red);*/

/*

*创建子菜单,并指定名称

**/

miExit=newMenuItem("退出");

miExit.addActionListener(this);//为退出菜单添加监听

/*

*添加上面创建的子菜单到文件菜单下

**/

mnLog.add(miExit);//将一个分隔线或连字符添加到菜单的当前位置

/*

*添加miBinary、miFont两个子菜单到mnFormat(格式)下

**/

mifyshow=newMenuItem("查看");

mifyshow.addActionListener(this);

mnFy.add(mifyshow);

milyshow=newMenuItem("留言");

mnLy.add(milyshow);

milyshow.addActionListener(this);

miyshow=newMenuItem("查看");

mnLy.add(miyshow);

miyshow.addActionListener(this);

mijyinsert=newMenuItem("借书");

mijyinsert.addActionListener(this);

mnJy.add(mijyinsert);

/*

*将文件、编辑、格式、帮助添加到菜单栏

**/

mb.add(mnLog);

mb.add(mnJy);

mb.add(mnFy);

mb.add(mnLy);

setMenuBar(mb);//添加菜单栏到Frame

/*

*关闭窗口时,关闭运行成语

**/

addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

}

publicstaticvoidmain(Stringargs[]){

菜单1tm=new菜单1();

tm.setSize(700,500);//设置窗体的宽、高

tm.setLocation(300,100);//将组件移到新位置Component类方法

tm.setVisible(true);//设置显示窗体,true为显示,false为隐藏

}

/**

*监听事件,实现ActionListener接口的actionPerformed方法

*/

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==miExit){

System.exit(0);//停止运行程序

}

if(e.getSource()==mifyshow){

读者信息查询wo=new读者信息查询("查看");

this.setVisible(true);

}

if(e.getSource()==mijyinsert){

读者借阅信息插入wo=new读者借阅信息插入("借书");

this.setVisible(true);

}

if(e.getSource()==milyshow){

意见留言wo=new意见留言("留言");

this.setVisible(true);

}

if(e.getSource()==miyshow){

留言查看wo=new留言查看("查看");

this.setVisible(true);

}

}}

管理员用户登录:

packagehehe;

importjava.awt.Frame;

importjava.awt.Menu;

importjava.awt.MenuBar;

importjava.awt.MenuItem;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

@SuppressWarnings("serial")

publicclass菜单1extendsFrameimplementsActionListener{

//TextAreata;//文本区

MenuBarmb;//MenuBar类封装绑定到框架的菜单栏的

MenumnLog,mnJy,mnFy,mnLy;//从菜单栏部署的下拉式菜单组件

MenuItemmizhuce,milog,miExit,miyhzh,miyhxx;//菜单中的所有项必须属于类MenuItem或其子类之一

MenuItemmifyshow,mifydelete,mifyinsert,mifymodify,milyshow,miyshow,mijyshow,mijyinsert,mijymodify;

public菜单1(){

super("图书管理系统");//调用父类构造方法

//ta=newTextArea("",20,20);//新建文本区,第一个参数是默认文本,第二个参数是行数,第三个是列数

/*

*BorderLayout边框布局

*添加文本区到Frame,BorderLayout.CENTER是居中位置

**/

//add(ta,BorderLayout.CENTER);

mb=newMenuBar();//创建菜单栏对象

/*

*创建菜单,指定菜单名

**/

mnLog=newMenu("退出");

mnFy=newMenu("读者信息管理");

mnJy=newMenu("借阅管理");

mnLy=newMenu("意见簿留言");

/*jLabel=newJLabel("欢迎进入设备管理系统");

jLabel.setHorizontalAlignment(JLabel.CENTER);

jLabel.setForeground(Color.red);*/

/*

*创建子菜单,并指定名称

**/

miExit=newMenuItem("退出");

miExit.addActionListener(this);//为退出菜单添加监听

/*

*添加上面创建的子菜单到文件菜单下

**/

mnLog.add(miExit);//将一个分隔线或连字符添加到菜单的当前位置

/*

*添加miBinary、miFont两个子菜单到mnFormat(格式)下

**/

mifyshow=newMenuItem("查看");

mifyshow.addActionListener(this);

mnFy.add(mifyshow);

milyshow=newMenuItem("留言");

mnLy.add(milyshow);

milyshow.addActionListener(this);

miyshow=newMenuItem("查看");

mnLy.add(miyshow);

miyshow.addActionListener(this);

mijyinsert=newMenuItem("借书");

mijyinsert.addActionListener(this);

mnJy.add(mijyinsert);

/*

*将文件、编辑、格式、帮助添加到菜单栏

**/

mb.add(mnLog);

mb.add(mnJy);

mb.add(mnFy);

mb.add(mnLy);

setMenuBar(mb);//添加菜单栏到Frame

/*

*关闭窗口时,关闭运行成语

**/

addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

}

publicstaticvoidmain(Stringargs[]){

菜单1tm=new菜单1();

tm.setSize(700,500);//设置窗体的宽、高

tm.setLocation(300,100);//将组件移到新位置Component类方法

tm.setVisible(true);//设置显示窗体,true为显示,false为隐藏

}

/**

*监听事件,实现ActionListener接口的actionPerformed方法

*/

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==miExit){

System.exit(0);//停止运行程序

}

if(e.getSource()==mifyshow){

读者信息查询wo=new读者信息查询("查看");

this.setVisible(true);

}

if(e.getSource()==mijyinsert){

读者借阅信息插入wo=new读者借阅信息插入("借书");

this.setVisible(true);

}

if(e.getSource()==milyshow){

意见留言wo=new意见留言("留言");

this.setVisible(true);

}

if(e.getSource()==miyshow){

留言查看wo=new留言查看("查看");

this.setVisible(true);

}

}}

登入界面系统:

packagehehe;

 

importjava.awt.Color;

importjava.awt.Container;

importjava.awt.Dimension;

importjava.awt.Font;

importjava.awt.Toolkit;

importjava.awt.Image;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importjavax.swing.ButtonGroup;

importjavax.swing.ImageIcon;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JOptionPane;

importjavax.swing.JPasswordField;

importjavax.swing.JRadioButton;

importjavax.swing.JTextField;

publicclass登陆界面implementsActionListener{

publicJFramejf=newJFrame("图书管理系统系统");

publicContainercon=jf.getContentPane();

publicToolkittoolkit=Toolkit.getDefaultToolkit();//获取工具包

publicDimensionsc=toolkit.getScreenSize();//getScreenSize(),最后的这个方法返回一个Dimension类型的对象.是返回当先分辨率的.

Objecta,b;

publicJRadioButtonrb1=newJRadioButton("读者");

publicJRadioButtonrb2=newJRadioButton("管理员");

publicButtonGroupgroup=newButtonGroup();

publicJLabelyong_hu=newJLabel("用户名");

publicJLabelmi_ma=newJLabel("密码");

publicJTextFieldtextName=newJTextField();

publicJPasswordFieldtextPs=newJPasswordField();

publicJButtondeng_ru=newJButton("登陆");

publicJButtonqu_xiao=newJButton("取消");

publicFontfont1=newFont("宋体",1,14);

publicFontfont2=newFont("宋体",0,12);

public登陆界面(){

//con.setLayout(null);

//jf.setSize(sc.width/1,sc.height/2);//大小

/*jf.setLocation(sc.width/5,sc.height/1010);*//*publicvoidsetLocation(intx,

inty)将组件移到新位置。

通过此组件父级坐标空间中的x和y参数来指定新位置的左上角。

参数:

x-父级坐标空间中新位置左上角的x坐标y-父级坐标空间中新位置左上角的y坐标*/

con.setLayout(null);

group.add(rb1);

group.add(rb2);

 

deng_ru.addActionListener(this);

qu_xiao.addActionListener(this);

rb1.addActionListener(this);

rb2.addActio

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1