Java SE课程设计Word格式.docx
《Java SE课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《Java SE课程设计Word格式.docx(30页珍藏版)》请在冰豆网上搜索。
3、增强分析、解决问题的能力。
4、提高科技论文的写作能力。
1.2需求分析
功能需求分析:
校友录主要有一下模块:
校友录界面设计、添加联系人、删除联系人、浏览所有联系人、修改信息、查询联系人。
第二章系统设计
2.1功能设计
通讯录界面设计
主要功能是设计校友录的界面,能够提示用户的实际操作等。
其中:
1添加联系人
2删除联系人
3显示所有联系人
4修改信息
5查找联系人
6重置
校友录添加联系人模块
主要功能是添加联系人模块,添加操作是根据用户的要求实现的。
包括添加联系人的姓名、性别、年龄、电话、QQ、地址等。
校友录删除联系人模块
主要功能是删除不再需要的联系人。
校友录显示所有联系人模块
显示所有的联系人的信息。
包括姓名、年龄、性别、电话、QQ、地址并提示所有联系人已经全部显示出来!
校友录修改联系人模块
主要是修改联系人的信息,界面提示要输入需要修改的姓名或者电话号码,显示出改联系人的所有信息,并提示根据下面提示修改信息,姓名、年龄、电话、QQ、地址等。
2.2数据库设计
运行环境
运行平台:
Windows7
运行环境:
eclipse
开发工具和编程语言
系统开发语言:
Java
数据库管理软件:
MySQLSQLyog
2.3流程(或算法)设计
图2.3系统功能流程
第三章系统实现
3.1管理子系统
主界面如下:
用户进入系统后,输入用户名和密码即可登录进行相关操作,若用户名错误、密码错误或用户名与密码不匹配则无法登陆。
添加运行程序如下
根据用户的要求实现添加联系人的。
查询运行程序如下
查询模块可以进行学生信息查询,所有的校友以及相关信息都可在这里查看。
修改程序如下
修改模块可以及时对联系人的相关信息进行修改。
删除运行程序如下
鼠标右键单击要删除的联系人,会弹出删除或修改字样,点删除即可。
第四章设计总结
心得体会:
历时半个月的努力,校友录管理系统已经顺利完成。
在这段时间里,我们严格要求自己,不断寻找自身差距,拓展知识面,培养实际工作能力。
在本套系统的设计里,让我对java程序设计语言及Mysql数据库有了更深刻的理解,使我能更好的从理论结合实际,从中收益匪浅。
本系统的数据库采用了Mysql,数据库应用程序的开发使用java语言。
在设计中也遇到了很多困难,但最终都找资料解决了。
这次设计的经历为我以后的设计积累了宝贵的经验。
因为时间比较紧张,该系统还有很多不足之处,系统功能还有待进一步完善和拓展,例如同学照片之类的信息完善,还有校内同学的院系分布等等。
系统设计的过程中,让我深深体会到一个有价值的软件对系统需求进行详细的分析是至关重要的,如Mysql的可视化界面SQLyog,而画出系统流程图和结构图则是不可缺少的步骤。
这样才可以在设计时做到有条不紊的进行。
参考文献
【1】王珊,萨师煊,数据库系统概论(第四版),高等教育出版社。
【2】钱雪忠.数据库原理及应用(第二版).北京:
北京邮电大学出版社,2007
【3】王珊.数据库技术与联机分析处理.北京:
北京科学出版社,1998
附录(核心代码)
package.cxsw.project;
importjava.util.List;
publicclassLoginDialogextendsDialog{
protectedObjectresult;
publicstaticShellshell;
privateTexttext;
privateTexttext_1;
publicLoginDialog(Shellparent,intstyle){
super(parent,style);
setText("
SWTDialog"
);
}
publicObjectopen(){
createContents();
shell.open();
shell.layout();
Displaydisplay=getParent().getDisplay();
while(!
shell.isDisposed()){
if(!
display.readAndDispatch()){
display.sleep();
}
}
returnresult;
privatevoidcreateContents(){
shell=newShell(getParent(),SWT.SHELL_TRIM|SWT.BORDER);
shell.setSize(450,300);
shell.setText(getText());
LabellblNewLabel=newLabel(shell,SWT.NONE);
lblNewLabel.setFont(SWTResourceManager.getFont("
华文琥珀"
22,SWT.NORMAL));
lblNewLabel.setBounds(50,55,319,34);
lblNewLabel.setText("
\u6B22\u8FCE\u8FDB\u5165\u6821\u53CB\u5F55\u7BA1\u7406\u7CFB\u7EDF"
LabellblNewLabel_2=newLabel(shell,SWT.NONE);
lblNewLabel_2.setBounds(102,104,48,34);
lblNewLabel_2.setText("
\u7528\u6237\u540D\uFF1A"
text=newText(shell,SWT.BORDER);
text.setBounds(159,99,110,23);
LabellblNewLabel_1=newLabel(shell,SWT.NONE);
lblNewLabel_1.setText("
\u5BC6\u7801\uFF1A"
lblNewLabel_1.setBounds(102,155,61,23);
text_1=newText(shell,SWT.BORDER|SWT.PASSWORD);
text_1.setBounds(159,155,110,23);
ButtonbtnNewButton=newButton(shell,SWT.NONE);
btnNewButton.addSelectionListener(newSelectionAdapter(){
publicvoidwidgetSelected(SelectionEvente){
StringuserName=text.getText().trim();
StringuserPsw=text_1.getText().trim();
DbUtildb=newDbUtil();
List<
Map<
String,Object>
>
list=db.query("
select*fromuserwhereusername=?
anduserpassword=?
"
newObject[]{userName,userPsw});
if(list.size()>
0){
MainDialogmg=newMainDialog(newShell(),SWT.None);
mg.open();
}else{
System.out.println("
错误"
}
});
btnNewButton.setBounds(143,204,80,27);
btnNewButton.setText("
\u767B\u5F55"
}
importorg.eclipse.swt.SWT;
publicclassAddSStudentDialogextendsDialog{
protectedShellshell;
privateTexttext_3;
privateTexttext_4;
privateTexttext_5;
privateTexttext_2;
publicAddSStudentDialog(Shellparent,intstyle){
shell.setSize(390,379);
lblNewLabel.setBounds(49,45,61,17);
\u59D3\u540D\uFF1A"
Labellabel=newLabel(shell,SWT.NONE);
label.setBounds(49,86,61,17);
label.setText("
\u6027\u522B\uFF1A"
Labellabel_1=newLabel(shell,SWT.NONE);
label_1.setBounds(49,126,61,17);
label_1.setText("
\u5E74\u9F84\uFF1A"
Labellabel_2=newLabel(shell,SWT.NONE);
label_2.setBounds(49,163,61,17);
label_2.setText("
\u7535\u8BDD\uFF1A"
LabellblQq=newLabel(shell,SWT.NONE);
lblQq.setBounds(49,204,61,17);
lblQq.setText("
QQ:
Labellabel_3=newLabel(shell,SWT.NONE);
label_3.setBounds(49,242,61,17);
label_3.setText("
\u5730\u5740\uFF1A"
btnNewButton.setBounds(84,277,80,27);
\u91CD\u7F6E"
Buttonbutton=newButton(shell,SWT.NONE);
button.addSelectionListener(newSelectionAdapter(){
@Override
StringstuName=text.getText().trim();
StringstuSex=text_1.getText().trim();
StringstuAge=text_2.getText().trim();
StringstuPhone=text_3.getText().trim();
StringstuQQ=text_4.getText().trim();
StringstuAddress=text_5.getText().trim();
intresult=db.update("
insertintostudent(name,sex,age,phone,address,QQ)value(?
?
)"
newObject[]{
stuName,stuSex,stuAge,stuPhone,stuAddress,stuQQ
});
if(result>
MessageBoxbox=newMessageBox(newShell(),SWT.None);
box.setText("
提示信息"
box.setMessage("
添加成功!
box.open();
shell.close();
}else{
MessageBoxbox=newMessageBox(newShell(),SWT.None);
box.setText("
box.setMessage("
添加失败!
box.open();
};
button.setText("
\u6DFB\u52A0"
button.setBounds(210,277,80,27);
text.setBounds(116,45,141,23);
text_1=newText(shell,SWT.BORDER);
text_1.setBounds(116,83,141,23);
text_3=newText(shell,SWT.BORDER);
text_3.setBounds(116,163,141,23);
text_4=newText(shell,SWT.BORDER);
text_4.setBounds(116,198,141,23);
text_5=newText(shell,SWT.BORDER);
text_5.setBounds(116,242,141,23);
text_2=newText(shell,SWT.BORDER);
text_2.setBounds(116,120,141,23);
package.cxsw.utils;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.ResultSetMetaData;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.Map;
publicclassDbUtil{
privateConnectionconn=null;
privateStatementstmt=null;
privatePreparedStatementps=null;
privateResultSetrs=null;
privateStringurl="
jdbc:
mysql:
//localhost:
3306/bjw"
;
privateStringpassword="
123456"
privateStringuser="
root"
/*加载驱动*/
static{
try{
Class.forName("
com.mysql.jdbc.Driver"
}catch(ClassNotFoundExceptione){
System.out.println("
加载驱动出现异常!
!
e.printStackTrace();
/*获取连接*/
privateConnectiongetConn(){
conn=DriverManager.getConnection(url,user,password);
}catch(SQLExceptione){
获取连接出现异常!
returnconn;
/*提供更新方法*/
publicintupdate(Stringsql,Object[]pars){
ps=getConn().prepareStatement(sql);
for(inti=0;
i<
pars.length;
i++){
ps.setObject(i+1,pars[i]);
returnps.executeUpdate();
执行更新语句出现异常!
}finally{
release();
return-1;
privatevoidrelease(){
if(rs!
=null){
try{
rs.close();
}catch(SQLExceptione){
System.out.println("
关闭结果集出现错误!
e.printStackTrace();
if(ps!
ps.close();
关闭预处理出现错误!
if(stmt!
stmt.close();
关闭语句对象集出现错误!
if(conn!
conn.close();
关闭结连接出现错误!
publicintupdate(Stringsql){
returnupdate(sql,newObject[]{});
/*查询方法*/
publicList<
query(Stringsql){
returnquery(sql,newObject[]{});
query(Stringsql,Object[]pars){
List<
list=newArrayList<
();
rs=ps.executeQuery();
ResultSetMetaDatarsmd=rs.getMetaData();
while(rs.next()){
/*将当前数据转化到map中*/
Map<
map=newHashMap<
for(inti=1;
=rsmd.ge