Java程序设计课程设计报告之学生信息管理系统附全部源码.docx

上传人:b****8 文档编号:9554398 上传时间:2023-02-05 格式:DOCX 页数:52 大小:312.86KB
下载 相关 举报
Java程序设计课程设计报告之学生信息管理系统附全部源码.docx_第1页
第1页 / 共52页
Java程序设计课程设计报告之学生信息管理系统附全部源码.docx_第2页
第2页 / 共52页
Java程序设计课程设计报告之学生信息管理系统附全部源码.docx_第3页
第3页 / 共52页
Java程序设计课程设计报告之学生信息管理系统附全部源码.docx_第4页
第4页 / 共52页
Java程序设计课程设计报告之学生信息管理系统附全部源码.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

Java程序设计课程设计报告之学生信息管理系统附全部源码.docx

《Java程序设计课程设计报告之学生信息管理系统附全部源码.docx》由会员分享,可在线阅读,更多相关《Java程序设计课程设计报告之学生信息管理系统附全部源码.docx(52页珍藏版)》请在冰豆网上搜索。

Java程序设计课程设计报告之学生信息管理系统附全部源码.docx

Java程序设计课程设计报告之学生信息管理系统附全部源码

计算机学院课程设计

专业:

计算机科学与技术

课程名称:

JAVA程序设计

课题名称:

学生信息管理系统

教师:

学号:

姓名:

20010年6月25日

第一章总体设计

1、1本系统的主要功能

本系统就是基于数据库的学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息的功能。

1、2系统包含的类及类之间的关系

本系统共包括7个Java源文件与3个辅助文件。

类之间的关系如图1-1所示

图1-1类之间的关系图

1、3Java源文件及其功能

1、MainWindow、java

该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。

2、InputStudent、java

该类创建的对象就是MainWindow类的重要成员之一,负责提供录入学生基本信息的界面。

3、ModifyStudent、java

该类创建的对象就是MainWindow类的重要成员之一,负责提供修改学生基本信息的界面。

4、DeleteStudent、java

该类创建的对象就是MainWindow类的重要成员之一,负责提供删除学生基本信息的界面。

5、QueryStudent、java

该类创建的对象就是MainWindow类的重要成员之一,负责提供查询学生基本信息以及打印基本信息的界面。

6、Database、java

该类负责提供打开与关闭数据库连接的功能。

7、StuBean、java

该类负责数据库操作,包括对学生信息数据库的添加、查询、修改、删除。

1、4相关文件及其功能

1、welcome、jpg

为主窗口的背景图片,MainWidow需要调用该文件。

2、icon、jpg

该文件就是窗口最小化时的窗口图标,MainWidow需要调用该文件。

3、专业、txt

该文件为专业组合的组合键提供下拉菜单的内容,InputStudent与ModifyStudent需要调用该文件。

4scmanage、mdb

该文件为本程序数据源,负责保存学生基本信息,Database连接到该数据库

第二章详细设计

2、1主类MainWindow

(1)成员变量见表2-1

表2-1主要成员变量(属性)

成员变量描述

变量类型

名称

面板

InputStudent

ins

面板

ModifyStudent

mos

面板

DeleteStudent

des

面板

QueryStudent

qus

菜单栏

JButtonBar

bar

菜单组

JMenu

menuSystemmenuStu

菜单项

JMenuItem

itemWelitemExititemSearchitemAdditemEdititemDelete

布局管理器

CardLayout

card

(2)方法见表2-2

表2-2主要方法

方法名称

返回类型

功能

备注

MainWindow

无类型

创建窗口

构造方法

actionPerformed

无类型

处理响应事件

继承自父类抽象方法

main

无类型

执行程序

程序的主函数

(3)源代码见文件MainWindow、java

2、2类Database

(1)成员变量见表2-3

表2-3主要成员变量

成员变量描述

变量类型

名称

执行SQL语句的接口

Statement

stmt

返回结果的接口

ResultSet

rs

数据库连接接口

Connection

conn

字符串(SQL语句、驱动)

String

sqlstrurl

(2)方法见表2-4

表2-4主要方法

方法名称

返回类型

功能

备注

Database

无类型

创建Database对象

构造方法

OpenConn

无类型

打开数据库连接

executeQuery

ResultSet

执行SQL查询语句,返回结果集RS

返回ResultSet类型结果集

executeUpdate

无类型

执行SQL更新语句

closeStmt

无类型

关闭当前的Statement对象

closeConn

无类型

关闭数据库连接

(3)源代码见文件Database、java

2、3类StuBean

(1)成员变量见表2-5

表2-5主要成员变量

成员变量描述

变量类型

名称

返回结果的接口

ResultSet

rs

字符串(SQL语句数据库属性)

String

sqlsNumsNamesSexsMajorsGradesBirth

创建Database对象

Database

DB

(2)方法见表2-4

表2-4主要方法

方法名称

返回类型

功能

备注

stuAdd

添加学生信息

stuModify

修改学生信息

stuDel

删除学生信息

stuSearch

String[]

根据学号查询学生信息

返回ResultSet类型结果集

(3)源代码见文件StuBean、java

2、4类InputStudent

(1)成员变量见表2-5

表2-5主要成员变量

成员变量描述

变量类型

名称

StuBean对象类型

StuBean

addStuqueryStu

文本域

JTextField

SnumSnameSgradeSbirth

组合框

JComboBox

Smajor

单选框

ButtonGroup

boy,girl

按钮多斥作用域

ButtonGroup

group

按钮

JButton

Entryreset

(2)方法见表2-4

表2-4主要方法

方法名称

返回类型

功能

备注

InputStudent

无类型

创建录入学生信息界面

构造方法

actionPerformed

无类型

处理响应事件

继承自父类抽象方法

clearMess

无类型

清除文本框内容

(3)源代码见文件InputStudent、java

2、5类ModifyStudent

(1)成员变量见表2-5

表2-5主要成员变量

成员变量描述

变量类型

名称

StuBean对象类型

StuBean

modifyStuqueryStu

文本域

JTextField

SnumSnameSgradeSbirth

组合框

JComboBox

Smajor

单选框

ButtonGroup

boy,girl

按钮多斥作用域

ButtonGroup

group

按钮

JButton

entryresetstart

(2)方法见表2-4

表2-4主要方法

方法名称

返回类型

功能

备注

ModifyStudent

无类型

创建修改学生信息界面

构造方法

actionPerformed

无类型

处理响应事件

继承自父类抽象方法

clearMess

无类型

清除文本框内容

(3)源代码见文件Modify、java

2、6类QueryStudent

(1)成员变量见表2-5

表2-5主要成员变量

成员变量描述

变量类型

名称

StuBean对象类型

StuBean

queryStu

文本域

JTextField

SnumSnameSgradeSbirthSmajor

启动并执行打印作业

PrintJob

pri

单选框

ButtonGroup

boy,girl

按钮多斥作用域

ButtonGroup

group

按钮

JButton

quertprint

面板(查询结果之后)

JPanel

messPanel

(2)方法见表2-4

表2-4主要方法

方法名称

返回类型

功能

备注

QueryStudent

无类型

创建录入学生信息界面

构造方法

actionPerformed

无类型

处理响应事件

继承自父类抽象方法

clearMess

无类型

清除文本框内容

(3)源代码见文件QueryStudent、java

2、7类DeleteStudent

(1)成员变量见表2-5

表2-5主要成员变量

成员变量描述

变量类型

名称

StuBean对象类型

StuBean

delStuqueryStu

文本域

JTextField

SnumSnameSgradeSbirthSmajor

单选框

ButtonGroup

boy,girl

按钮多斥作用域

ButtonGroup

group

按钮

JButton

del

(2)方法见表2-4

表2-4主要方法

方法名称

返回类型

功能

备注

InputStudent

无类型

创建录入学生信息界面

构造方法

actionPerformed

无类型

处理响应事件

继承自父类抽象方法

clearMess

无类型

清除文本框内容

(3)源代码见文件DeleteStudent、java

第三章功能测试及运行效果

3、1系统主界面

图3-1系统主窗口

3、2录入学生信息界面

图3-2学生信息录入界面

3、3查询学生信息界面

图3-3学生信息查询界面

3、4修改学生信息界面

图3-4学生信息修改界面

3、5修改学生信息界面

3-5学生信息删除界面

工作总结

通过这次课程设计,我锻炼了自己的动手能力,巩固了对面向对象程序设计概念的理解与JAVA的运用,初步掌握JAVA开发应用程序的基本方法,学习了对数据库的基本操作,能够对MicrosoftAcess的表做基本处理,提高了自己综合运用所学知识的能力。

深刻认识到了基本知识的重要性。

现在我知道了,不知道函数怎么来的,根本什么也做不了。

除非照抄别人的代码,那样也根本不可能知道功能就是如何实现的。

现在很有必要加强基本语法知识的学习了。

JAVA应用性很强,只有老师的讲解不行,只瞧也不中,只有自己动手去做才会发现自己确实有太多的不足,许多程序瞧似简单,真正去做才知道知识并没有自己想象的那样扎实。

从而懂得了理论与实际相结合就是很重要的,只有理论知识就是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力与独立思考的能力。

其中对JAVA图像用户界面、JAVA数据库JDBC的运用、内部匿名类等JAVA知识有了更深的理解与应用。

树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。

而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难与成功时的喜悦。

提高了学习计算机的兴趣,增强了信心。

在本次课程设计中,我遇到了很多的困难,这些困难搞得我焦头烂额,几度试图放弃,但最终坚持着一一把困难克服掉了。

每当克服一个困难,都非常的兴奋,这些都就是自己努力的结果。

现在,我有信心面对接下来的挑战,在不断的实践中锻炼自己,提高自己!

经过几个星期的设计与开发,系统基本开发完毕。

在本次课程设计中困难遇到不少,比如数据库的连接,SQL语言的书写格式,全局参数的传递等。

由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,功能不够完善等多方面问题。

在这次系统开发的过程中,我深深体会到了做一个系统,首先进行需求分析的重要性,了解了一个系统的制作,从功能分析到功能模块分析、与其她系统的关系,再到数据库设计、数据库结构实现及各功能模块的创建都需要从整体上考虑设计。

这些都有待以后进一步改进。

回顾起此次JAVA课程设计,我仍感慨颇多,学到了很多的东西。

同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。

在实际设计中才发现,书本上理论性的东西与在实际运用中的还就是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。

一切问题必须要靠自己一点一滴的解决,而在解决的过程当中您会发现自己在飞速的提升。

参考文献

[1]耿祥义,张跃平、Java2实用教程(第三版)[M]、北京:

清华大学出版社,2006

[2](美)霍斯特曼(Horstmann C、S、)&nbs、Java2核心技术(卷Ⅱ高级特性原书第7版)/Sun公司核心技术丛书[M]、机械工业出版社,2006

全部源码(此源码不在报告中,为了瞧着方便,附在了后面)。

Database、java

packageStu;

importjava、sql、*;

/**

*连接数据库的类

*/

publicclassDatabase{

privateStatementstmt=null;

ResultSetrs=null;

privateConnectionconn=null;

Stringsql;

Stringstrurl="jdbc:

odbc:

scmanage";

publicDatabase(){

}

/**

*打开数据库连接

*/

publicvoidOpenConn()throwsException{

try{

Class、forName("sun、jdbc、odbc、JdbcOdbcDriver");

conn=DriverManager、getConnection(strurl);

}

catch(Exceptione){

System、err、println("OpenConn:

"+e、getMessage());

}

}

/**

*执行SQL查询语句,返回结果集RS

*/

publicResultSetexecuteQuery(Stringsql){

stmt=null;

rs=null;

try{

stmt=conn、createStatement(ResultSet、TYPE_SCROLL_INSENSITIVE,ResultSet、CONCUR_READ_ONLY);

rs=stmt、executeQuery(sql);

}

catch(SQLExceptione){

System、err、println("executeQuery:

"+e、getMessage());

}

returnrs;

}

/**

*执行SQL更新语句

*/

publicvoidexecuteUpdate(Stringsql){

stmt=null;

rs=null;

try{

stmt=conn、createStatement(ResultSet、TYPE_SCROLL_INSENSITIVE,ResultSet、CONCUR_READ_ONLY);

stmt、executeQuery(sql);

conn、commit();

}

catch(SQLExceptione){

System、err、println("executeUpdate:

"+e、getMessage());

}

}

publicvoidcloseStmt(){

try{

stmt、close();

}

catch(SQLExceptione){

System、err、println("closeStmt:

"+e、getMessage());

}

}

/**

*关闭数据库连接

*/

publicvoidcloseConn(){

try{

conn、close();

}

catch(SQLExceptionex){

System、err、println("aq、closeConn:

"+ex、getMessage());

}

}

/*

*转换编码

*/

publicstaticStringtoGBK(Stringstr){

try{

if(str==null)

str="";

else

str=newString(str、getBytes("ISO-8859-1"),"GBK");

}

catch(Exceptione){System、out、println(e);}

returnstr;

}

}

DeleteStudent、java

packageStu;

importjava、awt、*;

importjava、awt、event、*;

importjavax、swing、*;

publicclassDeleteStudentextendsJPanelimplementsActionListener{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

/**

*删除界面

*/

StuBeanqueryStu=newStuBean();

StuBeandelStu=newStuBean();

JTextFieldSnum,Sname,Smajor,Sgrade,Sbirth;

JRadioButtonboy,girl;

JButtondel;

ButtonGroupgroup=null;

publicDeleteStudent(){

Snum=newJTextField(20);

del=newJButton("删除");

Snum、addActionListener(this);

del、addActionListener(this);

Sname=newJTextField(20);

Sname、setEditable(false);

Smajor=newJTextField(20);

Smajor、setEditable(false);

Sgrade=newJTextField(20);

Sgrade、setEditable(false);

Sbirth=newJTextField(20);

Sbirth、setEditable(false);

group=newButtonGroup();

boy=newJRadioButton("男",false);

girl=newJRadioButton("女",false);

group、add(boy);

group、add(girl);

Boxbox0=Box、createHorizontalBox();

JLabellabel=newJLabel("学生信息删除",JLabel、CENTER);

label、setFont(newFont("黑体",Font、BOLD,25));

box0、add(label);

Boxbox1=Box、createHorizontalBox();

box1、add(newJLabel("学号:

",JLabel、CENTER));

box1、add(Snum);

box1、add(del);

Boxbox2=Box、createHorizontalBox();

box2、add(newJLabel("姓名:

",JLabel、CENTER));

box2、add(Sname);

Boxbox3=Box、createHorizontalBox();

box3、add(newJLabel("性别:

",JLabel、CENTER));

box3、add(boy);

box3、add(girl);

Boxbox4=Box、createHorizontalBox();

box4、add(newJLabel("专业:

",JLabel、CENTER));

box4、add(Smajor);

Boxbox5=Box、createHorizontalBox();

box5、add(newJLabel("年级:

",JLabel、CENTER));

box5、add(Sgrade);

Boxbox6=Box、createHorizontalBox();

box6、add(newJLabel("出生:

",JLabel、CENTER));

box6、add(Sbirth);

BoxboxH=Box、createVerticalBox();

boxH、add(box0);

boxH、add(box1);

boxH、add(box2);

boxH、add(box3);

boxH、add(box4);

boxH、add(box5);

boxH、add(box6);

boxH、add(Box、createVerticalGlue());

JPanelmessPanel=newJPanel();

messPanel、add(boxH);

messPanel、setBackground(Color、YELLOW);

setLayout(newBorderLayout());

add(messPanel,BorderLayout、CENTER);

validate();

setVisible(true);

}

//处理事件

publicvoidactionPerformed(ActionEvente){

if(e、getSource()==del||e、getSource()==Snum){

Stringnumber="";

number=Snum、getText();

Stringrs[]=newString[4];

rs=queryStu、stuSearch(number);

if(rs!

=null){

Stringq="该生信息已存在,您想删除该生的基本信息不?

";

intyes=JOptionPane、showConfirmDialog(this,q,"确认",JOptionPane、YES_NO_OPTION,JOptionPane、QUESTION_MESSAGE);

if(yes==JOptionPane、YES_OPTION){

S

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

当前位置:首页 > 小学教育 > 小升初

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

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