JAVA图书管理系统开发实训报告Word文件下载.docx
- 文档编号:20060628
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:45
- 大小:262KB
JAVA图书管理系统开发实训报告Word文件下载.docx
《JAVA图书管理系统开发实训报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《JAVA图书管理系统开发实训报告Word文件下载.docx(45页珍藏版)》请在冰豆网上搜索。
〔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编号
出库图书数量
图书数量
出库时间
记录图书出库时间。
出库操作员编号
登记图书出库操作员的编号。
3、用户信息管理数据需求:
〔1〕用户信息添加数据需求:
用户编号
用于唯一标识学生,要求:
共8位,前2为年份,中间2位特殊类别标号〔默认00〕,后面4位为报名序号。
XX
15个汉字以内,可能带有特殊符号〔可修改〕。
性别
只能是“男〞或“女〞。
密码
任意6~~12位字符。
十一为数字〔座机前面加区号〕。
班级
存储学院班级详细信息
注册时间
如:
2012-12-10
用户权限号
只能有以下四种〔领导,管理员,教师,学生〕,
状态
包括:
正常、暂停使用和已注销
〔2〕用户权限管理:
权限编号编号
用于标示权限类别的编号
权限名称
权限的名称。
〔领导、教师、管理员、学生〕
可借阅书籍
根据权限借阅不同数量的书籍。
〔3〕用户信息修改数据需求:
修改用户的信息。
权限的标识。
〔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)
性别(user_Sex)
char
(2)
男
密码(user_Pwd)
char(12)
123456
(user_Tel)
varchar(30)
班级(user_Class)
varchar(50)
注册时间(user_Time)
datetime
自动获取
权限编号(limit_Id)
学生
外键
状态(user_State)
char(4)
使用
表二:
用户权限表(limit)==〔OK〕
主键〔S001〕
权限类名(limit_Name)
varchar(15)
借阅书籍数量(limit_Qty)
int
3
表三:
图书信息表(books)
ISBN编号(book_Id)
varchar(17)
图书名(book_Name)
varchar(30)
作者(book_Author)
varchar(10)
(book_Society)
varchar(50)
出版时间(book_Time)
datatime
书价(book_Price)
图书类别名(book_Sort)
计算机
库存量(book_Qty)
现存量(book_Qtyx)
表四:
功能模块表(module)==〔OK〕
权限编号(lilmit_Id)
模块名称(module_Name)
表五:
超期损毁表(pensate)
赔偿编号(cpt_Id)
原因(cpt_Cause)
notnull
收费(cpt_result)
char(10)
收费时间(cpt_Time)
操作员编号(user_Id)
表七:
图书类别表:
〔sort〕==
说明explain
text
表六:
借阅归还表〔borrow〕
借阅编号(borrow_Id)
Int
借阅时间(borrow_Time)
借阅数量(borrow_Qty)
归还时间(return_Time)
表八:
入库表:
(enter)
入库编号(enter_Id)
入库图书数量(enter_Qty)
入库时间(enter_Time)
入库操作员编号(user_Id)
表九:
出库表(out)
出库编号(out_Id)
varchar(12)
出库图书数量(out_Qty)
出库时间(out_Time)
出库操作员编号(user_Id)
管理系统窗口图
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("
)){//判断密码是否为空
请输入密码!
try{
Class.forName("
.microsoft.jdbc.sqlserver.SQLServerDriver"
);
}catch(ClassNotFoundExceptione1){
JOptionPane.showMessageDialog(null,"
数据库驱动程序不存在"
JOptionPane.ERROR_MESSAGE);
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,"
用户名不存在或者密码不正确,请重新输入!
}
}catch(SQLExceptione1){
SQL语句执行错误!
}
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(){//实现对空白文本的保存
txt.write("
publicvoidDuqu(){//实现对文字的读取
FileReaderfr;
fr=newFileReader("
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 图书 管理 系统 开发 报告