JAVA图书管理系统开发实训报告.docx

上传人:b****6 文档编号:7035772 上传时间:2023-01-16 格式:DOCX 页数:45 大小:262KB
下载 相关 举报
JAVA图书管理系统开发实训报告.docx_第1页
第1页 / 共45页
JAVA图书管理系统开发实训报告.docx_第2页
第2页 / 共45页
JAVA图书管理系统开发实训报告.docx_第3页
第3页 / 共45页
JAVA图书管理系统开发实训报告.docx_第4页
第4页 / 共45页
JAVA图书管理系统开发实训报告.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

JAVA图书管理系统开发实训报告.docx

《JAVA图书管理系统开发实训报告.docx》由会员分享,可在线阅读,更多相关《JAVA图书管理系统开发实训报告.docx(45页珍藏版)》请在冰豆网上搜索。

JAVA图书管理系统开发实训报告.docx

JAVA图书管理系统开发实训报告

 

?

JAVA图书管理系统开发?

实训报告

 

课程名称:

JAVA图书管理系统开发

专业:

计算机应用技术

班级:

ZB10001

学号:

2010720929

姓名:

成绩:

计算机学院

二〇一二年三月五日

 

一、程序设计目的

通过工程驱动的学习和综合实训,熟练掌握运用Java语言进展桌面应用程序开发的根本知识和技能;熟练掌握JAVA的根本语法与JDBC数据库技术的应用;进一步熟悉SQLServer数据库的数据库管理〔数据库的创立、备份与恢复、函数与存储过程的应用、数据导入导出、作业的调度等〕、表的设计〔表的创立、修改、删除,字段的默认值、约束及关系等〕、数据的查询处理〔insert、update、delete、select语句的应用〕等技术;并能结合数据库应用技术和软件工程技术进展桌面应用程序的开发,能根本胜任Java桌面开发程序员的岗位。

二、程序设计题目描述和要求

图书管理系统,是一个由人、计算机等组成的能进展管理信息的收集、传递、加工、保存、维护和使用的系统。

其功能一般包括:

图书信息管理、用户信息管理、图书借阅、图书归还、违约与毁坏赔偿、图书借还查询等等。

三、程序设计报告内容

3.1系统需求分析

以我校实际情况为根底,对于图书馆图书管理设计一个适合于学校图书馆使用的图书管理系统。

还可以为学校领导提供图书的库存和图书流通量的查询。

该系统需要完成对图书类别管理、统计管理、库存管理、用户信息管理、图书借阅管理、图书归还管理、超期与损毁赔偿管理、图书借还查询管理、图书出入库和统计查询等。

3.1.1功能需求描述

〔1〕、图书管理:

对图书进展分类存储〔计算机、机械、建筑、文学、心理、艺术、经济、历史、地理、其它〕。

在入库和出库的时候按图书类别进展管理。

可对现有图书信息信息进展管理〔查询、修改〕。

〔2〕、库存信息管理:

对于图书出库图书登记和入库图书登记。

〔3〕、用户信息管理:

可以实现对不同用户进展添加、查询、删除和修改,并给与不同用户不同权限。

〔4〕、图书借阅管理:

对于图书借阅信息的登记〔书名、图书编号、馆藏、借书日期、借期、应还日期〕、对现有图书库存减少、对图书借阅人信息进展登记〔XX/学号、本次借阅册数、图书编号〕。

〔5〕、图书归还管理:

对图书信息进展登记〔图书编号、借书日期、借期、应还日期、超期、续期〕对图书借阅人信息进展登记〔XX/学号、现借册数、现借藏书信息〕。

〔6〕、图书超期与损毁赔偿管理:

对于超期、损毁图书进展赔偿收费并登记赔偿人和管理员信息以及费用金额。

系统设计图

1、图书类别管理:

对图书进展分类存储。

在入库和出库的时候按图书类别进展管理。

〔1〕分类:

按图书的性质进展分类,并在图书编号中对不同类别的书籍使用不同的类别标示符〔计算机〔JS〕、机械〔JQ〕、建筑〔JZ〕、文学〔WX〕、心理〔XL〕、艺术〔YS〕、经济〔JJ〕、历史〔LS〕、地理〔DL〕〕。

〔2〕图书信息管理:

对现有图书信息进展查看并可以修改。

2、库存信息管理:

对于图书出库图书登记和入库图书登记及现有库存图书进展管理。

(1)入库管理:

记录入库图书总量,分类别进展统计并记录。

记录登记人员XX。

〔将这些信息记录进数据库中,在相应查询权限下可以查询。

但是记录后不可修改。

(2)出库管理:

记录出库图书总量,分类别进展统计记录,记录登记人员XX。

将这些信息记录进数据库中,在相应查询权限下可以查询。

但是记录后不可修改。

(3)现有库存管理:

对现有库存进展管理,在入库时对库存进展增加并对每一本图书进展分类编号登记,在出库时对库存减少并删除相应的图书信息。

3、用户信息管理:

可以实现对不同用户进展添加、查询、删除和修改,并给与不同用户不同权限。

(1)用户信息添加:

对用户的相应信息进展添加〔用户名,密码,出生日期,性别,管理操作权限,借阅权限〕。

(2)用户信息查询:

对用户的信息进展查询。

(3)用户信息删除:

对用户信息进展删除。

(4)用户信息修改:

用户可以对自己的用户密码和出生日期进展修改,管理员只可以修改用户的权限

4、图书借阅管理:

对于图书借阅信息的登记〔书名、图书编号、馆藏、借书日期、借期、、应还日期〕同时系统自动对借阅图书量增加、对现有图书库存减少、对图书借阅人信息进展登记〔XX/学号、本次借阅册数、现借册数、可借册数、现借藏书信息〕。

(1)借阅信息登记:

对用户的信息进展登记〔XX、本次借阅册数、现借册数、可借册数、现借藏书信息〕,并根据借书权限借阅相应的书籍数量。

〔将信息记录入数据库中相应权限可以进展查询。

(2)对借阅图书进展登记:

对借出图书的书名、图书编号、馆藏、借书日期、借期、、应还日期进展登记并关联相应的借书用户系统自动的在书籍借阅标示栏加一表示借出。

〔图书在图书馆内借阅栏标示0,借出后自动加1,归还自动减1,损毁在借阅的根底上加1。

将信息记录入数据库中相应权限可以进展查询。

〕〔0表示在书库中,1表示借出,2表示损毁〕。

5、图书归还管理:

对图书信息进展登记〔书名、图书编号、馆藏、借书日期、借期、、应还日期、超期、续期〕对图书借阅人信息进展登记〔XX/学号、现借册数、可借册数、现借藏书信息〕。

(1)用户信息显示:

显示用户信息〔XX/学号、现借册数、可借册数、现借藏书信息〕,对图书信息管登记〔书名、图书编号、馆藏、借书日期、借期、、应还日期、超期、续期〕并根据是否超期损毁进展相应操作。

(2)用户信息删除:

对相应的借书用户关联图书信息删除。

系统自动在图书标示栏内减1。

系统自动将用户现借数量减1,可借数量加1。

6、图书超期和损毁赔偿管理:

对于超期、损毁图书进展赔偿收费并登记赔偿人和管理员信息以及费用金额。

(1)超期赔偿管理:

登记用户信息〔XX/学号〕查看超期时间并对其进展赔偿收费〔记录收费人信息,赔偿人信息,收费金额,收费日期并存入数据库中〕。

(2)损毁赔偿管理:

登记用户信息〔XX/学号〕并对其进展赔偿收费〔记录收费人信息,赔偿人信息,收费金额,收费日期并存入数据库中〕。

在图书信息中的借阅标示栏内系统自动在借阅的根底上加1表示损毁。

3.1.2对应数据需求描述

1、图书类别管理数据需求:

图书分类管理数据需求:

〔按:

计算机、机械、建筑、文学、心理、艺术、经济、历史、地理九类进展分类〕。

并对分类图书进展标识〔计算机〔JS〕、机械〔JQ〕、建筑〔JZ〕、文学〔WX〕、心理〔XL〕、艺术〔YS〕、经济〔JJ〕、历史〔LS〕、地理〔DL〕〕。

并在标识符后面加四位编号〔例子:

JS0001〕。

数据项

数据需求

图书类别名称

按图书类别进展分类〔初始分为九种〕,计算机、机械、建筑、文学、心理、艺术、经济、历史、地理。

在系统完成后可进展类别的添加和删除修改。

〔10汉字内〕

类别说明

对相应类别进展详细描述。

2、库存信息管理数据需求:

(1)入库管理数据需求:

数据项

数据需求

入库编号

用于在数据库中唯一标识入库信息。

自动增加

入库ISBN编号

用于唯一标识图书的图书ISBN编码。

入库图书数量

图书的数量。

入库时间

记录图书入库时间。

入库操作员编号

记录登记图书入库操作员的编号。

(2)出库管理数据需求:

出库编号

用于在数据库中唯一标识出库信息。

自动增加

出库ISBN编号

用于唯一标识图书的图书ISBN编码。

出库图书数量

图书数量

出库时间

记录图书出库时间。

出库操作员编号

登记图书出库操作员的编号。

3、用户信息管理数据需求:

〔1〕用户信息添加数据需求:

数据项

数据需求

用户编号

用于唯一标识学生,要求:

共8位,前2为年份,中间2位特殊类别标号〔默认00〕,后面4位为报名序号。

XX

15个汉字以内,可能带有特殊符号〔可修改〕。

性别

只能是“男〞或“女〞。

密码

任意6~~12位字符。

十一为数字〔座机前面加区号〕。

班级

存储学院班级详细信息

注册时间

如:

2012-12-10

用户权限号

只能有以下四种〔领导,管理员,教师,学生〕,

状态

包括:

正常、暂停使用和已注销

〔2〕用户权限管理:

数据项

数据需求

权限编号编号

用于标示权限类别的编号

权限名称

权限的名称。

〔领导、教师、管理员、学生〕

可借阅书籍

根据权限借阅不同数量的书籍。

〔3〕用户信息修改数据需求:

修改用户的信息。

数据项

数据需求

用户编号

用于唯一标识学生,要求:

共8位,前2为年份,中间2位特殊类别标号〔默认00〕,后面4位为报名序号。

XX

15个汉字以内,可能带有特殊符号〔可修改〕。

性别

只能是“男〞或“女〞。

密码

任意6~~12位字符。

十一为数字〔座机前面加区号〕。

班级

存储学院班级详细信息

注册时间

如:

2012-12-10

用户权限号

权限的标识。

只能有以下四种〔领导,管理员,教师,学生〕,

状态

包括:

正常、暂停使用和已注销

〔5〕用户信息删除数据需求:

删除用户的注册信息。

4、图书借阅,归还管理数据需求:

在借阅图书时的数据需求。

数据项

数据需求

借还编号

唯一标识借阅信息的编号。

在数据库中区别信息。

用户编号

管理员人工将用户编号输入登记框。

ISBN

管理员人工将图书编号输入登记框。

借阅时间

系统自动在电脑上获取时间。

借阅数量

登记借阅书籍的数量。

归还时间

在归还时自动获取时间。

5、图书超期和损毁赔偿管理数据需求:

数据项

数据需求

赔偿编号

唯一标识借阅信息编号。

自动增加。

用户编号

管理员人工将用户编号输入文本框。

ISBN编号

管理员人工将图书编号输入文本框。

情况描述

对于赔偿情况的详细描述

处理结果

管理员登记赔偿金额

收费时间

系统自动获取系统时间。

操作员编号

输入操作员编号。

3.1.3数据库概念模型设计

图1用户实体图

图2权限实体图

图3图书实体图

图4类别实体图

图5借还实体图

图6赔偿实体图

图7入库实体图

图8出库实体图

图9功能实体图

图10模块实体图

图11各实体关系图

3.1.4数据库逻辑模型设计模型设计

根据E-R图,将其转换为关系模式可得到以下8个关系模式:

用户〔用户编号、XX、性别、密码、、班级、注册时间、权限编号、状态〕

权限〔权限编号、权限名称、可借阅书籍〕

模块〔权限编号、功能名称〕

图书〔ISBN编号、图书名、作者、、出版时间、书价、图书书类别名、库存量、现存量〕

类别〔图书类别名、说明〕

借还〔借阅编号、用户编号、ISBN、借阅时间、借阅数量、归还时间〕

赔偿〔赔偿编号、用户编号、ISBN编号、原因、处理结果、处理时间、操作员编号〕

出库〔出库编号、ISBN编号、出库图书数量、出库时间、出库操作员编号〕

入库〔入库编号、ISBN编号、入库图书数量、入库时间、入库操作员编号〕

3.1.5表的设计与实现

表一:

用户信息表(users)==〔OK〕

字段名称

类型

是否为空

默认值

是否主键

用户编号(user_Id)

int

notnull

自动增加

主键

用户名(user_Name)

varchar(10)

notnull

性别(user_Sex)

char

(2)

notnull

密码(user_Pwd)

char(12)

notnull

123456

(user_Tel)

varchar(30)

班级(user_Class)

varchar(50)

注册时间(user_Time)

datetime

notnull

自动获取

权限编号(limit_Id)

varchar(10)

notnull

学生

外键

状态(user_State)

char(4)

notnull

使用

表二:

用户权限表(limit)==〔OK〕

字段名称

类型

是否为空

默认值

是否主键

权限编号(limit_Id)

varchar(10)

notnull

自动增加

主键〔S001〕

权限类名(limit_Name)

varchar(15)

notnull

借阅书籍数量(limit_Qty)

int

notnull

3

表三:

图书信息表(books)

字段名称

类型

是否为空

默认值

是否主键

ISBN编号(book_Id)

varchar(17)

notnull

主键

图书名(book_Name)

varchar(30)

notnull

作者(book_Author)

varchar(10)

notnull

(book_Society)

varchar(50)

notnull

出版时间(book_Time)

datatime

notnull

书价(book_Price)

int

notnull

图书类别名(book_Sort)

varchar(10)

notnull

计算机

外键

库存量(book_Qty)

int

现存量(book_Qtyx)

int

 

表四:

功能模块表(module)==〔OK〕

字段名称

类型

是否为空

默认值

是否主键

权限编号(lilmit_Id)

varchar(10)

notnull

外键

模块名称(module_Name)

varchar(30)

notnull

 

表五:

超期损毁表(pensate)

字段名称

类型

是否为空

默认值

是否主键

赔偿编号(cpt_Id)

int

notnull

主键

用户编号(user_Id)

int

notnull

外键

ISBN编号(book_Id)

varchar(17)

notnull

外键

原因(cpt_Cause)

varchar(50)

notnull

收费(cpt_result)

char(10)

notnull

收费时间(cpt_Time)

datatime

notnull

自动获取

操作员编号(user_Id)

int

notnull

外键

表七:

图书类别表:

〔sort〕==

字段名称

类型

是否为空

默认值

是否主键

图书类别名(book_Sort)

varchar(10)

notnull

计算机

主键

说明explain

text

表六:

借阅归还表〔borrow〕

字段名称

类型

是否为空

默认值

是否主键

借阅编号(borrow_Id)

int

notnull

主键

用户编号(user_Id)

Int

notnull

外键

ISBN编号(book_Id)

varchar(17)

notnull

外键

借阅时间(borrow_Time)

datetime

notnull

自动获取

借阅数量(borrow_Qty)

int

归还时间(return_Time)

datatime

自动获取

表八:

入库表:

(enter)

字段名称

类型

是否为空

默认值

是否主键

入库编号(enter_Id)

int

notnull

自动增加

主键

ISBN编号(book_Id)

varchar(17)

notnull

外键

入库图书数量(enter_Qty)

int

notnull

入库时间(enter_Time)

datatime

notnull

自动获取

入库操作员编号(user_Id)

int

notnull

外键

表九:

出库表(out)

字段名称

类型

是否为空

默认值

是否主键

出库编号(out_Id)

varchar(10)

notnull

自动增加

主键

ISBN编号(book_Id)

varchar(12)

notnull

外键

出库图书数量(out_Qty)

int

notnull

出库时间(out_Time)

datatime

notnull

自动获取

出库操作员编号(user_Id)

varchar(10)

notnull

外键

管理系统窗口图

3.2系统详细设计与实现

3.2.1登陆界面设计

publicvoidactionPerformed(ActionEvente){//监视器

if(e.getSource()==Ok){//点击确定时执行的语句

if(yh.getText().equals("")){//判断用户号是否输入

JOptionPane.showMessageDialog(Ok,"请输入账号","提示",JOptionPane.INFORMATION_MESSAGE);

}

elseif(mm.getText().equals("")){//判断密码是否为空

JOptionPane.showMessageDialog(Ok,"请输入密码!

","提示",JOptionPane.INFORMATION_MESSAGE);

}

try{

Class.forName(".microsoft.jdbc.sqlserver.SQLServerDriver");

}catch(ClassNotFoundExceptione1){

JOptionPane.showMessageDialog(null,"数据库驱动程序不存在","提示",JOptionPane.ERROR_MESSAGE);

}

try{

Connectioncon=DriverManager.getConnection("jdbc:

microsoft:

sqlserver:

//localhost:

1433;DatabaseName=图书管理系统","sa","123");

PreparedStatementpstmt=con.prepareStatement("select*fromuserswhereuser_Id=?

anduser_Pwd=?

anduser_State='使用'");

pstmt.setInt(1,Integer.parseInt(yh.getText()));

pstmt.setString(2,mm.getText());

ResultSetrst=pstmt.executeQuery();

if(rst.next()){

newMainFrame("图书管理系统",Integer.parseInt(yh.getText()));

this.dispose();

}else{

JOptionPane.showMessageDialog(null,"用户名不存在或者密码不正确,请重新输入!

","提示",JOptionPane.ERROR_MESSAGE);

}

}catch(SQLExceptione1){

JOptionPane.showMessageDialog(null,"SQL语句执行错误!

","提示",JOptionPane.ERROR_MESSAGE);

}

}

if(e.getSource()==Cancel){//点击取消实现的

this.dispose();

}

if(bc.isSelected()==true){//选择记住密码

savaFile();

}if(bc.isSelected()==false){//未选择记住密码

savaFile1();

}

if(e.getSource()==login){//点击注册按钮

newLoginFrame("注册");

}

}

publicvoidsavaFile(){//实现对文本框文字的保存

Filef=newFile(".\\data\\dk.txt");

try{

FileWritertxt=newFileWriter(f);

txt.write(yh.getText()+"-");

txt.write(mm.getText()+"+");

txt.close();

}catch(IOExceptione){

//TODO自动生成catch块

e.printStackTrace();

}

}

publicvoidsavaFile1(){//实现对空白文本的保存

Filef=newFile(".\\data\\dk.txt");

try{

FileWritertxt=newFileWriter(f);

txt.write(yh.getText()+"-");

txt.write(""+"+");

txt.close();

}catch(IOExceptione){

//TODO自动生成catch块

e.printStackTrace();

}

}

publicvoidDuqu(){//实现对文字的读取

FileReaderfr;

try{

fr=newFileReader(".\\data\\dk.txt");

BufferedReaderbr=newBufferedReader(fr);

try{

Stringline=br.readLine();

yh.setText(line.toString().substring(0,line.toString().indexOf('-')));

mm.setText(line.toString().substring(line.toString().indexOf('-')+1,line.toString().indexOf('+')));

}catch(IOExceptione){

e.printStackTrace();

}

}catch(FileNotFoundExceptione1){

e1.printStackTrace();

}

}

3.2.2主界面

voi

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

当前位置:首页 > 总结汇报

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

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