数据库Java图书管理系统.docx

上传人:b****2 文档编号:18217186 上传时间:2023-04-24 格式:DOCX 页数:48 大小:240.66KB
下载 相关 举报
数据库Java图书管理系统.docx_第1页
第1页 / 共48页
数据库Java图书管理系统.docx_第2页
第2页 / 共48页
数据库Java图书管理系统.docx_第3页
第3页 / 共48页
数据库Java图书管理系统.docx_第4页
第4页 / 共48页
数据库Java图书管理系统.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

数据库Java图书管理系统.docx

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

数据库Java图书管理系统.docx

数据库Java图书管理系统

课程设计报告

 

课程名称Java语言程序设计

设计题目图书管理系统

专业班级物联网1541

姓名张禄泽

学号1511431143

 

成绩评定

考核

内容

设计

表现

设计

报告

答辩

综合评

定成绩

成绩

计算机技术与工程学院

和谐勤奋求是创新

 

课程设计考核和成绩评定办法

1.课程设计的考核由指导教师根据设计表现、设计报告、设计成果、答辩等几个方面,给出各项权重,综合评定成绩。

该设计考核教研室主任审核,主管院长审批备案。

2.成绩评定采用五级分制,即优、良、中、及格、不及格。

3.参加本次设计时间不足三分之二或旷课四天以上者,不得参加本次考核,按不及格处理。

4.课程设计结束一周内,指导教师提交成绩和设计总结。

5.设计过程考核和成绩在教师手册中有记载。

课程设计报告内容

课程设计报告内容、格式各专业根据专业不同统一规范,经教研室主任审核、主管院长审批备案。

 

注:

1.课程设计任务书和指导书在课程设计前发给学生,设计任务书放置在设计报告封面后和正文目录前。

2.为了节省纸张,保护环境,便于保管实习报告,统一采用A4纸,实习报告建议双面打印(正文采用宋体五号字)或手写,右侧装订。

 

2016/2017学年第一学期

《java语言程序设计》课程设计任务书

指导教师:

郑永春王丽平班级:

物联网1541地点:

机房9409

一、课程设计目的

1、综合运用Java程序设计课程和其他相关课程的理论和知识,掌握面向对象程序设计的一般方法、常用技术及技巧,树立良好的软件设计思想,培养分析问题和解决实际问题的能力;

2、学会从OOP程序设计的方法及要求出发,认真分析题目,做好总体设计,根据要求科学地设计包、类、接口等,正确设计算法,合理安排界面,规范开发过程,仔细调试程序,做好设计总结;

3、充分利用互联网资源,提高学生获取知识,实践知识的能力。

二、课程设计内容

1、基于数据库的管理信息系统设计及实现

如:

学籍管理系统;成绩管理系统;

学生学习、生活管理系统;学生就业信息管理系统;

图书管理系统;超市商品管理系统;

汽车租赁管理系统;药店管理系统;

游泳馆售票管理系统;计算机维修店管理系统等。

主要设计内容:

根据题目需求进行数据库设计,软件结构设计、软件功能设计,软件主要功能:

主界面设计;信息的录入/增加、删除、修改、查找、统计及业务功能实现设计等。

2、记事本程序设计及实现

记事本程序主要设计内容:

菜单设计,记事本各功能项的实现。

计算器程序:

界面设计,各种计算功能的实现。

3、网络通讯软件或游戏软件设计

注:

以上3类题目任选其一或自选其它题目(必须由指导老师审核批准)。

三、时间及任务安排

序号

完成内容

时间

1

设计准备(查阅文献、资料、确定方案)

1天

2

总体设计

2天

3

详细设计、编码、调试

5天

6

编写设计报告书

1.5天

7

验收和答辩

0.5天

8

合计

10天

四、基本要求

1、根据题目做好总体设计、详细设计;

2、列出程序中的主要类(包括类中的成员变量、类变量和主要方法)、接口或画出类图等;

3、编写程序,调试、运行程序;

4、能够积极上网查询所需资料;

5、提交设计报告书,可以选择打印和手写;

6、设计报告书要求A4幅面,如果采用打印稿,正文采用5号宋体;

7、答辩。

五、课程设计报告内容要求:

1.格式见“模板”

2.报告内容:

1)系统描述:

介绍开发的系统的功能和解决的问题;

2)分析与设计

      功能模块划分;

    数据库结构描述;

     系统详细设计文档(类的划分及相互关系、接口设计等)

     各个模块的实现方法描述;

3)源代码:

符合Java编码规范;

4)运行结果截图

5)参考文献:

参考文献的书写格式要符合如下规范;

a.期刊文献书写格式:

作者﹒论文篇名[J]﹒期刊名﹒出版年,卷(期

b.著作文献书写格式:

作者﹒书名[M]﹒出版地:

出版社,出版年

六、验收及成绩评定

验收方式:

检查程序运行、程序实现功能情况及答辩。

成绩评定:

结合设计表现(30%)、设计报告(成果质量等)(40%)和答辩情况(30%)按优秀、良好、中等、及格、不及格给出成绩。

目录

一系统描述1

二系统分析与设计1

2.1需求分析1

2.1.1性能要求1

2.1.2灵活性要求1

2.1.3故障处理要求1

2.1.4其他要求1

2.2功能模块图2

2.3数据库设计2

三主要源代码3

3.1添加图书3

3.2修改图书4

3.3删除图书5

3.4删除管理员6

3.5删除学生7

3.6功能选择8

3.7归还图书10

3.8借阅图书11

3.9登录界面12

3.10增加管理员14

3.11增加学生15

3.12学生查找图书16

3.13显示图书信息17

3.14查找系统18

3.15连接数据库19

四运行结果截图25

五设计总结28

六参考文献29

一系统描述

图书管理系统是针对图书的增删改查以及用户的增删进行管理的软件。

分为管理和学生用户。

其中管理员具有增加、删除、修改、借出、归还图书,新建用户、新建管理员、删除用户、删除管理员的权限;用户只有查看想要借阅的书是否存在以及所剩数量的权限。

二系统分析与设计

2.1需求分析

2.1.1性能要求

功能服务部分:

用户输入后,从提交命令到返回结果不超过5秒钟。

数据库管理部分:

从提交一次记录到结果返回显示不超过5秒钟。

当资源不能满足借阅需求时,应首先给予提示,不应该陷入无限死循环。

2.1.2灵活性要求

数据库的设计应考虑可扩充性。

以便以后图书管的管理。

2.1.3故障处理要求

正常使用时不应该出错,若运行时遇到不可恢复的系统错误,也必须保证数据库的完整性。

在系统出错后,应能恢复原来备份的数据库。

2.1.4其他要求

安全性:

不同的用户具有不同的使用权限,具有最高权限的是图书管理员能修改注销数据库中的信息,具有一般权限的用户只能读取与自己相关的内容。

一致性:

系统数据要保持一致性、准确性、当某一数据库中的记录发生改变时,与之相关的数据库也会随着变化。

可靠性:

必须对数据库及时备份与恢复。

易操作性:

在系统中提供提示,便于用户操作使用。

2.2功能模块图

图2.2功能模块图

2.3数据库设计

表2.3.1管理员信息表

列名

数据类型

允许Null值

用户名

nchar(10)

不允许

密码

nchar(10)

不允许

表2.3.2学生信息表

列名

数据类型

允许Null值

用户名

nchar(10)

不允许

密码

nchar(10)

不允许

表2.3.3图书信息表

列名

数据类型

允许Null值

tsname

nchar(10)

不允许

tsnum

int

不允许

kucunshuliang

nchar(10)

不允许

chubanshe

int

不允许

表2.3.4用户借阅图书信息表

列名

数据类型

允许Null值

tsname

nchar(10)

不允许

tsnum

nchar(10)

不允许

 

三主要源代码

3.1添加图书

classaddSystemextendsJFrameimplementsActionListener{

JDialogdialog;

JTextFieldtF1=newJTextField();

JTextFieldtF2=newJTextField();

JTextFieldtF3=newJTextField();

JTextFieldtF4=newJTextField();

sqldac=newsql();

//构造方法,从其调用方法中获得对话框的父窗口

addSystem(JFramef){

dialog=newJDialog(f,"添加图书",true);

ContainerdialogPane=dialog.getContentPane();

dialogPane.setLayout(newGridLayout(6,3));

dialogPane.add(newJLabel("图书名:

",SwingConstants.CENTER));

dialogPane.add(tF1);

dialogPane.add(newJLabel("图书编号:

",SwingConstants.CENTER));

dialogPane.add(tF2);

dialogPane.add(newJLabel("出版社:

",SwingConstants.CENTER));

dialogPane.add(tF3);

dialogPane.add(newJLabel("库存录入:

",SwingConstants.CENTER));

dialogPane.add(tF4);

JButtonb1=newJButton("确定");

dialogPane.add(b1);

JButtonb2=newJButton("取消");

dialogPane.add(b2);

b1.addActionListener(this);

b2.addActionListener(this);

dialog.setBounds(200,150,380,320);

dialog.show();

}

publicvoidactionPerformed(ActionEvente){

Stringcmd=e.getActionCommand();

if(cmd.equals("确定")){

intrs=dac.addSystem(tF1.getText(),tF2.getText(),tF3.getText(),tF4.getText());

if(rs==0){

JOptionPane.showMessageDialog(this,"添加成功\n");

}

}elseif(cmd.equals("取消")){

System.exit(0);

}

}

}

3.2修改图书

classchangeSystemextendsJFrameimplementsActionListener{

JDialogdialog;

JTextFieldtF1=newJTextField();

JTextFieldtF3=newJTextField();

sqldac=newsql();

//构造方法,从其调用方法中获得对话框的父窗口

changeSystem(JFramef){

dialog=newJDialog(f,"修改图书信息",true);

ContainerdialogPane=dialog.getContentPane();

dialogPane.setLayout(newGridLayout(4,5));

dialogPane.add(newJLabel("请输入要修改的图书名:

",SwingConstants.CENTER));

dialogPane.add(tF1);

dialogPane.add(newJLabel("请输入修改的数量:

",SwingConstants.CENTER));

dialogPane.add(tF3);

JButtonb1=newJButton("修改");

dialogPane.add(b1);

JButtonb2=newJButton("取消");

dialogPane.add(b2);

b1.addActionListener(this);

b2.addActionListener(this);

dialog.setBounds(200,150,380,320);

dialog.show();

}

publicvoidactionPerformed(ActionEvente){

Stringcmd=e.getActionCommand();

if(cmd.equals("修改")){

intrs=dac.updata(tF1.getText(),tF3.getText());

if(rs==0){

JOptionPane.showMessageDialog(this,"添加成功\n");}

}elseif(cmd.equals("取消")){

System.exit(0);

}}}

 

3.3删除图书

publicclassdeleteSystemextendsJFrameimplementsActionListener{

JLabeljl1,jl2,jl3;

JTextFieldjtf1,jtf2,jtf3;

JButtonjb1;

sqldac=newsql();

publicdeleteSystem(){

this.setSize(385,310);

this.setLocation(350,300);

this.setTitle("删除图书");

jl1=newJLabel("请输入要删除的图书名");

jl2=newJLabel("请输入要删除图书编号");

jtf1=newJTextField(10);

jtf2=newJTextField(11);

jb1=newJButton("确定");

jb1.addActionListener(this);

this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

this.setVisible(true);

Containercp=this.getContentPane();

cp.setLayout(newFlowLayout(FlowLayout.CENTER,20,40));

cp.add(jl1);

cp.add(jtf1);

cp.add(jl2);

cp.add(jtf2);

cp.add(jb1);}

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

newdeleteSystem();

}

publicvoidactionPerformed(ActionEvente){

Stringcmd=e.getActionCommand();

if(cmd.equals("确定")){

intrs=dac.deletebook(jtf1.getText(),jtf2.getText());

if(rs==0){

JOptionPane.showMessageDialog(this,"删除成功\n");

}

}

}}

 

3.4删除管理员

publicclassdmangerextendsJFrameimplementsActionListener{

JLabeljl1,jl2,jl3;

JTextFieldjtf1,jtf2,jtf3;

JButtonjb1;

sqldac=newsql();

publicdmanger(){

this.setSize(385,310);

this.setLocation(350,300);

this.setTitle("删除管理员");

jl1=newJLabel("请输入要删除的管理员姓名");

jl2=newJLabel("请输入要删除管理员密码");

jtf1=newJTextField(10);

jtf2=newJTextField(11);

jb1=newJButton("确定");

jb1.addActionListener(this);

this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

this.setVisible(true);

Containercp=this.getContentPane();

cp.setLayout(newFlowLayout(FlowLayout.CENTER,20,40));

cp.add(jl1);

cp.add(jtf1);

cp.add(jl2);

cp.add(jtf2);

cp.add(jb1);

}

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

newdmanger();

}

publicvoidactionPerformed(ActionEvente){

Stringcmd=e.getActionCommand();

if(cmd.equals("确定")){

intrs=dac.deletemanger(jtf1.getText(),jtf2.getText());

if(rs==0){

JOptionPane.showMessageDialog(this,"删除成功\n");

}

}

}

}

 

3.5删除学生

publicclassdstudentextendsJFrameimplementsActionListener{

JLabeljl1;

JTextFieldjtf1;

JButtonjb1;

sqldac=newsql();

publicdstudent(){

this.setSize(380,160);

this.setLocation(350,300);

this.setTitle("删除学生");

jl1=newJLabel("请输入要删除的学生姓名");

jtf1=newJTextField(10);

jb1=newJButton("确定");

jb1.addActionListener(this);

this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

this.setVisible(true);

Containercp=this.getContentPane();

cp.setLayout(newFlowLayout(FlowLayout.CENTER,40,20));

cp.add(jl1);

cp.add(jtf1);

cp.add(jb1);

}

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

newdstudent();

}

publicvoidactionPerformed(ActionEvente){

Stringcmd=e.getActionCommand();

if(cmd.equals("确定")){

intrs=dac.deletestudent(jtf1.getText());

if(rs==0){

JOptionPane.showMessageDialog(this,"删除成功\n");

}

}

}

}

3.6功能选择

publicclassgongnengxuanzeextendsJFrameimplementsActionListener{

JFramef=null;

publicgongnengxuanze(){//构造方法

f=newJFrame("图书馆管理系统");//创建一个顶层容器

Containercp=f.getContentPane();//创建窗体的内容面板

cp.setLayout(newFlowLayout(FlowLayout.CENTER,60,90));

JPanelbuttonPanel=newJPanel();//创建一中间容器JPanel

JButtonb=newJButton("新建管理员");//创建一原子组建--按钮

JButtona=newJButton("新建学生");

b.addActionListener(this);//为按钮添加事件监听器对象

buttonPanel.add(b);//将此按钮添加到中间容器

a.addActionListener(this);//为按钮添加事件监听器对象

buttonPanel.add(a);//将此按钮添加到中间容器

buttonPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.blue,2),"新建用户",TitledBorder.CENTER,TitledBorder.TOP));//设置中间容器边框

cp.add(buttonPanel,BorderLayout.CENTER);//将中间容器添加到内容面

JMenuBarmBar=newJMenuBar();//创建菜单条

JMenuselection=newJMenu("图书选项");

JMenuItemregist=newJMenuItem("添加图书信息");

JMenuItemregist1=newJMenuItem(

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

当前位置:首页 > 解决方案 > 学习计划

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

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