Java专业实践课题设计报告模版.docx
- 文档编号:8118112
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:22
- 大小:262.48KB
Java专业实践课题设计报告模版.docx
《Java专业实践课题设计报告模版.docx》由会员分享,可在线阅读,更多相关《Java专业实践课题设计报告模版.docx(22页珍藏版)》请在冰豆网上搜索。
Java专业实践课题设计报告模版
********学院
JAVA语言编程实践
报告
实践题目:
组长姓名:
组员姓名:
完成日期:
1摘要
为了巩固Java语言程序设计课程的主要知识,提高编程实际的开发能力,基于课程的技术要求和作业标准,设计并实现了系统。
该系统的主要功能是
,系统的开发语言是,开发环境是,数据库是。
本系统具有的特点是:
,优点是:
2系统设计与实现
2.1系统分析
2.1.1需求分析
在当今这个知识经济时代,知识的大爆炸带来了图书业的大发展,图书数量急剧增加,但是图书数量的增多也给图书管理带来了很大的不方便,图书信息管理系统开发的目的就是要解决图书信息管理的问题。
本系统需要实现图书管理系统的基本功能。
本系统能够对读者信息和图书信息进行管理,对借书操作和还书操作进行管理。
在对用户操作时候,操作者可以一句用户编号或姓名进行用户管理;对图书操作时候,操作者可以一句图书序列号或图书名称对图书进行管理。
本系统会提高图书管理工作者的工作效率和工作能力,介绍工作人员的出错率,减少读者的借阅实践,让读者把更多的时间用在选择书和读书上。
2.1.2可行性分析
以前,图书馆采用手工方式对图书借阅信息进行管理,将借阅情况记录在借书证上,将图书数目和内容记录在文件中,这样,随着资料的增多,时间的增长,再查询时候,就需要在众多的资料中查找,即浪费时间又浪费人力,手工操作使得图书借阅信息的工作混乱而复杂。
基于以上问题,开发一个智能化的、操作简单、使用方便的图书管理系统是非常有必要的。
图书管理系统使得图书管理工作规范化、系统化、程序化,避免手工管理的繁琐工作,减少出错的概率,提高信息处理的速度和准确性。
图书信息管理系统是一个典型的数据库应用系统,主要设计数据读写和数据的传递,利用Eclipse工具,采用Java语言进行开发不存在技术方面的问题。
2.1.3开发及运行环境分析
1.硬件平台
CPU:
P1.60GHZ
内存:
512MB以上
2.软件平台
操作系统:
Windows2000/Windowsxp
数据库:
SQLServer2005
开发工具:
JDK1.6.0Eclipse3.4
2.2系统总体设计
2.2.1系统总体功能描述
图书信息管理系统需要具备以下几个主要功能:
1.用户管理:
将用户信息存储于系统中,管理员可以管理用户,如查询用户、添加新用户、修改和删除用户等;
2.书籍管理:
将图书信息存储于系统中,管理员可以添加新书、修改错误书和删除不存在的书,并可以查阅图书被借阅的情况;
3.借阅管理:
管理员帮用户借书、还书,并可以查询用户借阅图书的情况。
另外,图书借阅管理系统属于图书馆内部的一种管理系统,通过内部网络处理和交换信息,C/S模式采用开放结构、解决数据库共享问题,本系统就采用C/S模式,其中客户端运行Java客户端程序,服务器端运行Java服务器端程序,如图2-1所示。
图2-1系统运行总体结构
2.2.2系统总体流程
借书过程如下:
1.用户将图书和借阅卡交给管理人员;
2.管理人员将图书和借阅卡上的号码输入系统;
3.系统依据借阅卡号作为借阅条件进行查找;
4.若查找到该用户,则依据图书编码查找图书;
5.若查找到该图书,则予以借出。
还书过程如下:
1.用户将图书和借阅卡交给管理人员;
2.管理人员将图书和借阅卡上的号码输入系统;
3.系统依据图书编码作为查询调节进行查找;
4.若查找到该图书被借阅的记录,则正常归还图书,并记录还书时间。
系统图书借阅流程如图2-2所示。
图2-2系统图书借阅流程图
2.2.3系统功能模块图
根据系统的设计要求,图书信息管理系统实现了五个完整的功能。
根据这些功能要求,设计的系统功能模块如图2-3所示。
图2-3系统功能模块
图书信息管理系统各模块功能要求分析如下:
1.用户登录要求
实现对管理员用户登录的验证、标识,为用户对系统的操作提供授权依据,在这一模块中,首先要求管理员输入自己的登录用户名和登录密码,然后系统对用户名和密码进行验证,判断用户的身份。
2.用户管理要求
由于用户众多,为了方便每个用户借阅,该系统需要存储每个用户的基本信息,以便用户借书时候通过用户名从数据库中快速调出用户信息,用户的基本信息包括用户名、姓名、密码、学院、专业和年级等,管理员可以添加新用户、查询用户、修改用户和删除用户。
3.图书管理要求
为了方便图书的管理,需要把每本书的相关信息添加到数据库中,以便通过书号从数据库中快速调出图书信息,图书基本信息包括书号、作者、出版社、出版年月等,管理员可以添加图书、查询图书、修改图书和删除图书。
4.借阅管理要求
通过本系统,图书管理员可以进行图书借阅登记和图书归还登记,并可以查询图书被借阅的情况。
2.3数据库设计
图书借阅系统不仅要求数据库功能强大,而且要有很好的安全保障机制。
SQLServer数据库是当前应用最为广泛的数据库,它可以很好第支持各种信息,而且具有较高的数据安全保障,是一般公司、企业首选的数据库之一,本系统采用SQLServer数据库进行创建。
2.3.1E-R图
本系统的数据库表的E-R图如图2-4至2-7所示:
(1)用户实体的E-R图
图2-4用户实体
(2)借阅实体的E-R图
图2-5借阅实体
(3)图书实体的E-R图
图2-6图书实体
(4)各实体之间的联系图
图2-7实体联系图
2.3.2数据表
根据系统的设计要求和模块功能,进行数据库的分析和设计。
由图2-4到图2-7可以知道,系统拥有图书管理员、用户(读者)、图书等实体。
在数据库中,可以使用表描述这些实体。
另外,还需要存储图书借阅记录,也需要用表来表示,这些表的名称以及表的说明如下:
1.管理员表Admin
用来保存管理员用户信息,结构如表2-1所示。
表2-1管理员表Admin
字段名称
数据类型
说明
ID
自动编号
管理员序号
num
文本
管理员用户名,主键
name
文本
管理员姓名
password
文本
管理员密码
remark
文本
说明
2.图书用户表users
用来保存图书用户信息,结构如表2-2所示。
表2-2图书用户表users
字段名称
数据类型
说明
ID
自动编号
读者序号
number
文本
读者用户名,主键
name
文本
读者姓名
password
文本
读者密码
college
文本
读者学院
subject
文本
读者年级
grade
文本
读者专业
remark
文本
说明
3.图书表book
用来保存图书信息,结构如表2-3所示。
表2-3图书表book
字段名称
数据类型
说明
ID
自动编号
图书序号
number
文本
图书编号,主键
bookname
文本
图书名称
publish
文本
出版社
author
文本
作者
isbn
数字
国际统一编号
price
文本
定价
lend
文本
是否借出
4.借阅表borrow
用来保存读者借阅信息,结构如表2-4所示。
表2-4借阅表borrow
字段名称
数据类型
说明
ID
自动编号
借阅序号,主键
bnumber
文本
图书编号
unumber
文本
借阅者用户名
lendtime
文本
借书时间
returntime1
文本
应还书时间
returntime2
文本
还书时间
breturn
文本
是否归还
2.3.3连接数据库模块
系统所需要的信息都存储在数据库中,例如图书信息、读者信息、借阅信息等,要对这些信息进行操作,就必须连接数据库,为了省去每次操作都要编写连接数据库程序的步骤,把连接数据库操作封装到一个类jdbcfile.java中,在不同的模块中调用这个类就可以对数据库进行连接,执行相应的数据库操作,这样就使得连接数据库安全高效,程序代码简洁清晰,也符合Java面向对象的思想。
连接数据库类jdbcfile.java的代码如下:
importjava.sql.*;
publicclassjdbcfile{
Connectionconn;
Statementstmt;
intinorupdatevalue=-1;
publicjdbcfile()throwsException{
try{
Stringdrivername="com.microsoft.sqlserver.jdbc.SQLServerDriver";
StringdbURL="jdbc:
sqlserver:
//localhost:
1489;DatabaseName=book";
Class.forName(drivername);
conn=DriverManager.getConnection(dbURL,"sa","123");
stmt=conn.createStatement();
}catch(ClassNotFoundExceptione){
thrownewException("数据库驱动未找到"+e.getMessage());
}catch(SQLExceptione){
thrownewException("数据库未连接"+e.getMessage());
}
}
publicsynchronizedResultSetexecuteQuery(Stringsql)throwsException{
ResultSetrs=stmt.executeQuery(sql);
returnrs;
}
publicsynchronizedintinsert(Stringsql)throwsException{
inorupdatevalue=stmt.executeUpdate(sql);
returninorupdatevalue;
}
publicsynchronizedintupdate(Stringsql)throwsException{
inorupdatevalue=stmt.executeUpdate(sql);
returninorupdatevalue;
}
publicsynchronizedintdel(Stringsql)throwsException{
inorupdatevalue=stmt.executeUpdate(sql);
returninorupdatevalue;
}
publicvoidclose()throwsException{
conn.close();
}
}
2.4系统详细设计
2.4.1系统功能实现小组分工描述
序号
姓名
实现模块及功能
备注
2.4.2管理员登录模块
为保证系统的完全性,只有管理员才可以对系统进行操作,因此,需要对用户登录信息进行验证,管理员的用户名和密码存放在数据库中,通过文本框获得用户输入的用户名和密码,然后与数据库中的用户名和密码进行比较,如果匹配,则进入系统,否则提示用户名和密码不正确。
1.管理员登录界面
2.技术实现主要代码(详见源程序)
3.开发说明
管理员登录由Login类继承了Jframe类,首先声明了标签、按钮、文本框、密码框和一个Jframe窗口,然后通过构造方法创建标签、按钮、文本框、密码框,并添加到窗口容器中,最后设置窗口的大小和可见行;
然后为按钮增加事件监听,实现AciontListener接口完成用户名、密码的检测并登录。
2.4.3系统主界面模块
系统主界面也就是登录后进入的第一个浏览界面,这也是图书信息管理系统的主要模块,在主页面中应该包括系统葛模块的连接,通过主页面可以打开如何一个功能模块,实现各种不同的功能。
1.系统主界面
2.技术实现主要代码(详见源程序)
3.开发说明
Bookmain类继承了Jframe类,定义了一个菜单栏、4个菜单和12个菜单项,然后定义了一个方法go(),通过该方法设置窗口的布局、窗口的大小和标题,将菜单项加入到各自的菜单中,把菜单加入到菜单栏中,并将菜单栏加入到窗口中;
当单击菜单项时候产生单击实践,传递给监听者,实现接口并处理监听到的事件。
2.4.4用户管理模块
管理员可以对用户进行管理,包括增加新用户、删除用户、修改用户和查询用户信息。
1.用户信息增加模块
(1)用户信息增加界面
(2)技术实现主要代码(详见源程序)
(3)开发说明
在系统主界面中,单击“用户管理”->“添加用户”菜单命令,打开添加用户界面,该界面包含6个标签、5个文本框、1个密码框和两个按钮,在文本框中输入用户信息,单击“添加”按钮就可以把数据信息添加到数据库中;
单击按钮进行用户添加,添加用户信息要求每项信息都不能为空,如果某一项为空则弹出消息提示对话框,否则调用方法connect()把数据流信息传输到服务器端。
2.用户信息删除模块
(1)用户信息删除界面
(2)技术实现主要代码(详见源代码)
(3)开发说明
在系统主界面中,单击“用户管理”->“删除用户”菜单命令,打开删除用户信息界面,界面包含6个标签、5个文本框、1个密码框和两个按钮,在最上面的文本框中输入学号,单击“查询”按钮用于查询用户是否存在,如果存在,则把用户信息显示在对应的文本框中,单击“删除”按钮就可以删除数据库中的信息;
为两个按钮分别添加事件监听,并对监听到的事件进行处理。
3.用户信息修改模块
(1)用户信息修改界面
(2)技术实现主要代码(详见源代码)
(3)开发说明
在系统主界面中,单击“用户管理”->“修改用户”菜单命令,打开修改用户信息界面,界面包含6个标签、5个文本框、1个密码框和两个按钮,在最上面的文本框中输入学号,单击“查询”按钮用于查询用户是否存在,如果存在,则把用户信息显示在对应的文本框中,修改用户信息后,单击“修改”按钮就可以修改数据库中的信息;
为两个按钮分别增加事件监听,并对监听到的事件进行处理。
4.用户信息查询模块
(1)用户信息查询界面
(2)技术实现主要代码(详见源代码)
(3)开发说明
在系统主界面中,单击“用户管理”->“查询用户”菜单命令,打开查询用户信息界面,界面包含一个标签、一个文本框、一个下拉菜单和一个查询按钮,在文本框中输入查询条件,并通过下拉菜单选择按学号或按姓名查询,单击“查询”按钮就可以把查询结果显示出来;
通过actionPerformed()处理监听到的事件,首先获得查询条件,如果查询条件不为空,接着调用方法connect()将数据传递到服务器端。
2.4.5图书信息管理模块
管理员可以对图书进行管理,包括增加新图书、删除图书、修改图书和查询图书信息。
1.图书信息增加模块
(1)图书信息增加界面
(2)技术实现主要代码(详见源代码)
(3)开发说明
在系统主界面中,单击“图书管理”->“添加图书”菜单命令,打开添加图书信息界面,界面包含6个标签、6个文本框和两个按钮,在文本框中输入图书信息;
为按钮添加事件监听,添加图书信息要求每项信息都不能为空,如果某一项为空则弹出消息提示对话框,否则调用方法connect()把数据流信息传输到服务器端。
2.图书信息删除模块
(1)图书信息删除界面
(2)技术实现主要代码(详见源代码)
(3)开发说明
在系统主界面中,单击“图书管理”->“删除图书”菜单命令,打开删除图书信息界面,界面包含6个标签、6个文本框和两个按钮,在最上面的文本框中输入图书编号,单击“查询”按钮用于查询该图书是否存在,如果存在,则把图书信息显示在对应的文本框中,单击“删除”按钮就可以删除数据库中的图书信息;
为按钮添加事件监听,并对监听到的事件进行处理。
3.图书信息修改模块
(1)图书信息修改界面
(2)技术实现主要代码(详见源代码)
(3)开发说明
在系统主界面中,单击“图书管理”->“修改图书”菜单命令,打开修改图书信息界面,界面包含6个标签、6个文本框和两个按钮,在最上面的文本框中输入图书编号,单击“查询”按钮查询该图书是否存在,如果存在,则把图书信息显示在对应的文本框中,修改图书信息后,单击“修改”按钮就可以修改数据库中的信息了;
为按钮增加事件监听,并对监听到的事件进行处理。
4.图书信息查询模块
(1)图书信息查询界面
(2)技术实现主要代码(详见源代码)
(3)开发说明
在系统主界面中,单击“图书管理”->“查询图书”菜单命令,打开查询图书信息界面,界面包含一个标签,一个文本框、一个下拉菜单和一个查询按钮,在文本框中输入查询条件,并通过下拉菜单选择按编号或按书名查询,单击“查询”按钮就可以把查询结果显示出来;
通过方法actionPerformed()处理监听到的事件,首先获得查询条件,如果查询条件不为空,然后就调用方法connect()将数据传输到服务器端。
2.4.6图书借阅模块
管理员不仅可以对图书和用户进行管理,还可以借阅图书、归还图书和查询图书借阅情况。
1.图书借阅模块
(1)图书借阅界面
(2)技术实现主要代码(详见源代码)
(3)开发说明
在系统主界面中,单击“借阅管理”->“借阅图书”菜单命令,打开借阅图书界面,界面包含两个标签、两个文本框和两个按钮,在文本框中输入图书编号和读者编号,单击“借阅”按钮就可以借阅图书;
在这里为按钮添加事件监听,如果文本框为空,则弹出消息提示对话框,否则调用方法connect()把数据流传输到服务器端。
2.图书归还模块
(1)图书归还界面
(2)技术实现主要代码(详见源代码)
(3)开发说明
在系统主界面中,单击“借阅管理”->“归还图书”菜单命令,打开归还图书界面,界面包含1个标签、1个文本框和两个按钮,在文本框中输入图书编号,单击“归还”按钮就可以归还图书;
为按钮添加监听,如果文本框为空,则弹出消息提示对话框,否则调用方法connect()把数据流传输到服务器端。
3.图书查询模块
(1)图书查询界面
(2)技术实现主要代码(详见源代码)
(3)开发说明
在系统主界面中,单击“借阅管理”->“借阅查询”菜单命令,打开查询图书借阅情况界面,界面包含1个标签、1个文本框、1个下拉菜单和1个查询按钮,在文本框中输入查询条件,并通过下拉菜单选择按图书或按读者查询,单击“查询”按钮就可以把查询结果显示出来;
通过方法actionPerformed()处理监听到的事件,首先获得查询条件,如果查询条件不为空,然后就调用方法connect()将数据传输到服务器端。
2.4.7服务器端处理过程
在系统设计过程中采用的是C/S模式,具体操作时候需要把要处理的数据发送到服务器端进行处理,然后把处理的结果返回给客户端。
服务器端处理的操作过程如下:
(1)创建ServerSocket对象和Socket对象,用于接收来自客户端的数据流,并输出数据流到客户端;
(2)创建线程;
(3)读取来自客户端的数据流,并进行相应的处理;
(4)把处理的结果返回给客户端。
其中在用户管理模块、图书管理模块和图书借阅模块都有相应的服务器端,它们的实
现过程类似,具体编程过程如下所示(代码详见源代码)。
(1)导入程序所使用的包;
(2)创建图形用户界面
为更清楚第显示客户机与服务器之间的连接情况,客户端与服务器端之间传输的数据流以及在程序运行过程中出现的异常情况,可以创建一个图形用户界面,用于显示系统的信息;
(3)定义connect()方法
来接收来自客户端的数据流,启动线程处理,最后关闭数据库连接;
(4)创建线程
由于可能同事有多个客户端对图书信息进行操作,因此要创建线程处理来自客户端的数据流;
(5)定义方法sendData()
将操作结果输出到客户端。
2.5系统测试设计
2.5.1测试过程描述
各模块运行效果的描述和截图:
2.5.2测试结果分析
根据以上实际测试结果,
3结论
该系统的题目是:
,经过测试能够正确地实现了所要求的功能:
。
开发过程中采用的工具和环境是:
,系统主要功能是:
具有的优点。
当然此系统仍存在一些不足之处:
通过本次Java语言程序设计实践项目的设计、开发和实现过程,深深体会到:
答辩记录
序号
问题记录
回答记录
完全正确
基本正确
不
正确
备注
答辩分数
作业报告成绩评定
作业报告成绩:
教师评语
教师签字:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 专业 实践 课题 设计 报告 模版
![提示](https://static.bdocx.com/images/bang_tan.gif)