java课程设计班级通讯录设计报告大学论文.docx
《java课程设计班级通讯录设计报告大学论文.docx》由会员分享,可在线阅读,更多相关《java课程设计班级通讯录设计报告大学论文.docx(31页珍藏版)》请在冰豆网上搜索。
java课程设计班级通讯录设计报告大学论文
学号
xx学年第x学期
xx
2学期
《面向对象程序设计》
课程设计报告
题目:
班级通讯录
专业:
x
班级:
xx
姓名:
xxxxxxx
指导教师:
xxxxxxxxxxx
成绩:
xx
20xx年xx月xx日
1.设计任务与要求
1.1.设计任务与要求
制作一个简单的通讯簿,要求可对朋友的姓名、性别、手机号码、寝室号和QQ号等信息保存、查询、修改和删除等功能。
具有友好界面,且需要用户名和密码登陆进入系统。
使用数据库作为后台连接。
1.2.选题目的与意义
如今生活节奏日益加快,各种联系人也不短增多,但是很多人还是单纯的使用手机或纸质电话本来记录联系人的信息,这些记录的方式存在很多缺点,如:
信息量少,查找不方便;容易丢失;存储照片不方便;安全性不高,隐私性不高……
这个通讯簿,可以帮助用户更好的存储朋友的相关信息,易于添加、修改,存储和使用都很方便。
同时这个系统需要登陆才能进入,提高了通讯簿的安全性和隐私性。
通过实现通讯薄功能的实际编程了解基于Swing的图形用户界面开发和数据库操作原理,提高Swing和JDBC技术结合的综合运用能力。
2.需求分析
2.1.用户需求分析
通讯簿的目的在于帮助用户实现轻松管理联系人的需求。
为了用户通讯录的隐私性和安全性,通讯簿进入前需要进行系统登录,对用户的帐号和密码进行合法性验证,登录成功则进入系统功能界面。
该通讯录有已知的帐号和密码,登录时输入帐号和密码即可登录,如果帐号和密码不对会出现提示信息,如果三次输入错误,则系统会自动退出,“清空”按钮可清空用户输入的信息。
通讯簿的主系统主要功能包括实现添加、修改、删除、查询联系人的姓名、手机号码等信息,并且连接进数据库,将信息存储进数据库文件中去。
程序的文本框中可以显示姓名、手机号码等联系人信息,通过通讯簿轻松实现联系人的增、删、改、查需求。
个人通讯簿主系统由四大模块组成:
新建联系人、修改联系人、删除联系人、查询联系人,其功能如下:
1.新建联系人:
用来增加联系人,并且将其信息存入系统数据库。
信息如:
姓名、手机号码、寝室号、性别、qq等。
2.修改联系人
即编辑联系人,用来对数据库中已有的联系人信息进行编辑,将更新后的信息重新写入到系统数据库。
3.删除联系人
用来删除联系人及其相关信息。
4.查询联系人
用来根据信息内容,查询该信息联系人姓名及其他相关信息。
2.2.开发环境分析
系统编程基于JAVASwing的图形用户界面开发,数据信息连接后台为MySql数据库。
系统运行环境为运行Windows,具有JDK1.7以上Java编译环境和Eclipse3.0以上Java编辑环境,NavicatforMySQL。
3.系统设计
3.1.系统总体设计
进入系统后必须先进行登陆。
登陆成功后,即可进入通讯簿主界面。
在主界面可以进行联系人的添加和查找。
在查看联系人界面中,可以选择修改信息或删除联系人。
系统总体设计图如下:
图1系统总体设计图
3.2.功能模块设计
为了保证通讯簿的隐私性和安全性,进入系统后必须先进行登陆。
登陆成功后,即可进入通讯簿主界面。
在主界面可以进行联系人的添加和查找。
单击“操作”菜单“添加”命令,界面会切换到联系人信息输入的界面。
按照需求录入联系人信息即可单击“提交”按钮保存该联系人。
如果要进行联系人信息的修改或者删除该联系人,单击“操作”菜单“修改”命令与“操作”菜单“删除”命令即可。
可通过“操作”菜单“查询”命令打开一个窗口,以键入联系人姓名进行联系人的查找,输入相关信息后单击“确定”按钮即可,即可弹出一个窗口查看联系人信息。
3.3.类的设计
由于系统需要链接数据库,所以先设计一个类进行数据库的连接。
数据库为NavicatforMySQL版本。
该类名称为DButil,是数据库操作类。
该类中的属性、方法如下:
publicclassDbUtil{
privatestaticStringurl="jdbc:
mysql:
//localhost:
3306/tongxunlu?
useUnicode=true&characterEncoding=GBK";
privatestaticStringdbName="root";
privatestaticStringdbPassword="123";
publicstaticStringdriver="com.mysql.jdbc.Driver";
publicstaticConnectiongetConn()throwsException{
Class.forName(driver);
Connectionconn=DriverManager.getConnection(url,dbName,dbPassword);
returnconn;
}
publicstaticvoidclose(Statementstmt,Connectionconn)throwsException{
if(stmt!
=null){
stmt.close();
if(conn!
=null){
conn.close();
}
}
}
}
设计一个DaoStudent类用于完成联系人查找、添加、修改与删除操作,具体代码如下:
publicclassDaoStudent{
publicstaticintinsertInfo(Connectionconn,Studentstudent)throwsException{//插入数据
conn=DbUtil.getConn();
Stringsql="insertintomyclass(gender,name,telephone,qq,room)values(?
?
?
?
?
)";
PreparedStatementstat=conn.prepareStatement(sql);
stat.setString(1,student.getGender());
stat.setString(2,student.getName());
stat.setString(3,student.getTelephone());
stat.setString(4,student.getQq());
stat.setString(5,student.getRoom());
inti=stat.executeUpdate();
returni;
}
publicstaticinteditInfo(Connectionconn,Studentstudent)throwsException{//修改数据
conn=DbUtil.getConn();
Stringsql="updatemyclasssetgender=?
name=?
telephone=?
qq=?
room=?
whereid=?
";
PreparedStatementstat=conn.prepareStatement(sql);
stat.setString(1,student.getGender());
stat.setString(2,student.getName());
stat.setString(3,student.getTelephone());
stat.setString(4,student.getQq());
stat.setString(5,student.getRoom());
stat.setInt(6,student.getId());
inti=stat.executeUpdate();
returni;
}
publicstaticResultSetfindInfo(Connectionconn,Studentstudent)throwsException{//查询数据
conn=DbUtil.getConn();
Stringsql="select*frommyclasswherename=?
";
PreparedStatementstat=conn.prepareStatement(sql);
stat.setString(1,student.getName());
ResultSetrs=stat.executeQuery();
returnrs;
}
publicstaticintdelInfo(Connectionconn,Studentstudent)throwsException{//删除数据
conn=DbUtil.getConn();
Stringsql="deletefrommyclasswherename=?
";
PreparedStatementstat=conn.prepareStatement(sql);
stat.setString(1,student.getName());
inti=stat.executeUpdate();
returni;
}
}
设计一个类Student类用于设置联系人的姓名、性别、寝室号、联系方式与QQ号,并且有单独的方法返回或设置这些值。
packagedao;
publicclassStudent{
privateStringxuehao,name,telephone,room,qq;
privateintid;
privateStringgender;
publicStudent(){
super();
}
publicStudent(Stringname){
super();
this.name=name;
}
publicStudent(Stringxuehao,Stringname,Stringtelephone,Stringroom,
Stringqq,intid,Stringgender){
super();
this.xuehao=xuehao;
this.name=name;
this.telephone=telephone;
this.room=room;
this.qq=qq;
this.id=id;
this.gender=gender;
}
publicStringgetXuehao(){
returnxuehao;
}
publicvoidsetXuehao(Stringxuehao){
this.xuehao=xuehao;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetTelephone(){
returntele