java课程设计学生成绩管理系统.docx

上传人:b****6 文档编号:15457727 上传时间:2023-07-04 格式:DOCX 页数:59 大小:322.54KB
下载 相关 举报
java课程设计学生成绩管理系统.docx_第1页
第1页 / 共59页
java课程设计学生成绩管理系统.docx_第2页
第2页 / 共59页
java课程设计学生成绩管理系统.docx_第3页
第3页 / 共59页
java课程设计学生成绩管理系统.docx_第4页
第4页 / 共59页
java课程设计学生成绩管理系统.docx_第5页
第5页 / 共59页
java课程设计学生成绩管理系统.docx_第6页
第6页 / 共59页
java课程设计学生成绩管理系统.docx_第7页
第7页 / 共59页
java课程设计学生成绩管理系统.docx_第8页
第8页 / 共59页
java课程设计学生成绩管理系统.docx_第9页
第9页 / 共59页
java课程设计学生成绩管理系统.docx_第10页
第10页 / 共59页
java课程设计学生成绩管理系统.docx_第11页
第11页 / 共59页
java课程设计学生成绩管理系统.docx_第12页
第12页 / 共59页
java课程设计学生成绩管理系统.docx_第13页
第13页 / 共59页
java课程设计学生成绩管理系统.docx_第14页
第14页 / 共59页
java课程设计学生成绩管理系统.docx_第15页
第15页 / 共59页
java课程设计学生成绩管理系统.docx_第16页
第16页 / 共59页
java课程设计学生成绩管理系统.docx_第17页
第17页 / 共59页
java课程设计学生成绩管理系统.docx_第18页
第18页 / 共59页
java课程设计学生成绩管理系统.docx_第19页
第19页 / 共59页
java课程设计学生成绩管理系统.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java课程设计学生成绩管理系统.docx

《java课程设计学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《java课程设计学生成绩管理系统.docx(59页珍藏版)》请在冰点文库上搜索。

java课程设计学生成绩管理系统.docx

java课程设计学生成绩管理系统

课程设计(论文)任务书

一、课程设计(论文)题目 学籍管理系统

二、课程设计(论文)工作自2011年12月12日起至2011年12月16日止。

三、课程设计(论文)地点:

软件学院实训中心

四、课程设计(论文)内容要求:

1.本课程设计的目的

(1)掌握Java语言的程序设计方法;

(2)理论联系实际,进一步提高学生的软件开发技术;

(3)培养学生分析、解决问题的能力;

(4)提高学生实践论文撰写能力。

2.课程设计的任务及要求

1)课程设计任务:

设计基于文件结构的学籍管理系统,实现以下功能:

(1)录入学生基本信息的功能

(2)修改学生基本信息的功能

(3)查询学生基本信息的功能

(4)删除学生基本信息的功能

2)创新要求:

实现数据库的链接,并能实现数据的录入与输出。

3)课程设计论文编写要求

(1)课程设计任务及要求

(2)设计思路--工作原理、功能规划

(3)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代

码及注释)、界面等。

(4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。

(5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,

巩固了哪些知识,有哪些提高。

(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)

(7)报告按规定排版打印,要求装订平整,否则要求返工;

(8)课设报告的装订顺序如下:

封面---任务书---中文摘要---目录----正文---附录

(代码及相关图片)

(9)严禁抄袭,如有发现,按不及格处理。

4)课程设计评分标准:

(1)学习态度:

20分;

(2)程序检查:

20分;

(3)课设答辩:

20分;

(4)课设报告:

40分。

5)参考文献:

(1)丁振凡.Java语言实用教程(第2版)[M].清华大学出版社.2008.1

(2)

(3)

6)课程设计进度安排

1.准备阶段(4学时):

选择设计题目、了解设计目的要求、查阅相关资料

2.程序模块设计分析阶段(4学时):

程序总体设计、详细设计

3.代码编写调试阶段(8学时):

程序模块代码编写、调试、测试

4.撰写论文阶段(4学时):

总结课程设计任务和设计内容,撰写课程设计论文

学生签名:

2011年12月12日

课程设计(论文)评审意见

(1)学习态度(20分):

优( )、良( )、中( )、一般( )、差( );

(2)程序检查(20分):

优( )、良( )、中( )、一般( )、差( );

(3)课设答辩(20分):

优( )、良( )、中( )、一般( )、差( );

(5)论文撰写(40分):

优( )、良( )、中( )、一般( )、差( );

评阅人:

   职称:

讲师

2011年12月16日

中文摘要

本文论述某学校学生学籍管理系统的开发过程。

全文分课程任务及要求、需求分析、设计思路、详细设计、运行调试与分析讨论设计体与小结及参考文献共七部份内容。

本系统以JavaEclipse为开发平台,选择了易学易用可java图形界面开发编程语言,主要用到了swing、awt、sql三个类包,结合单位实际,利用软件工程化思想和方法,总体上用结构化生命周期法进行系统分析和设计,采用快速原型法来实现系统。

在程序设计与调试上采用了自上而下、逐步细化,逐步完善的原则。

采用结构化的功能模块设计系统功能,可读性好,易于扩充。

系统由学生基本信息添加、学生基本信息查询、学生基本信息删除、学生基本信息修改及学籍管理系统退出系统等功能模块组成,基本功能较全面。

本系统用户界面友好、清晰、操作简便,易学易用;系统可读性好,易于维护、更新,安全性较好。

本系统采用传统下拉菜单功能选择,方便、快捷、一目了然,并且在一个窗体中进行操作,每个功能界面颜色不同,这样可使系统可视化性比较强。

对学生的基本信息进行简单操作,可按学号进行查询、修改、删除操作。

本系统采用链入数据库进行存储,可动态进行查看、操作,这样的系统可修改性较强。

目 录

一、课程设计任务及要求

课程设计任务:

学籍管理系统

课程设计要求:

录入学生基本信息

修改学生基本信息

查询学生基本信息

删除学生基本信息

通过这次的设计,主要是做出一个小型的学生学籍管理系统,来加强对JAVA所学知识的巩固和融会贯通,主要是在图形界面方面可以说是对一个学期所学知识的一个小结,加深对JAVA数据库的理解。

二、需求分析

该学生学籍管理系统的所有功能均在一个Frame窗体中实现。

学生学籍管理系统主界面模块:

采用Frame窗体来设置欢迎界面包括背景图片及字幕(可以设计成滚动字幕效果),左上方的菜单条设计成下拉式。

包括“录入学生基本信息”、“修改学生基本信息”、“删除学生基本信息”、“查询学生基本信息”和“退出系统”五项菜单项。

录入学生基本信息模块:

采用Panel面板来设置该部分内容信息并采用方位布局(边缘布局)和Box轻量级组件来设置“学号”、“姓名”、“性别”、“专业”、“年级”、“出生”,并在该面板中添加了“录入”和“重置”两个按钮进行监听,最后将该面板加入到Frame窗体中去。

修改学生基本信息模板:

采用Panel面板来设置该部分内容信息,同样是采用方位布局及Box组件来设置相关信息,并在学号旁设置了“开始修改”按钮。

在面板南部方位添加了“确定修改”和“重置”两按钮进行监听。

查询学生基本信息模板:

采用Panel面板来设置该部分内容信息,并将该面板加入到主窗体中去,采用边缘布局进行方位设置,在上方加入“查询”按钮进行监听。

删除学生基本信息模板:

也是采用Panel面板进行设置相关内容,并用边缘布局进行布局,并在上方添加“确定”按钮,在下方添加“确定删除”按钮实现监听。

退出系统模板:

采用JDialog组件来实现该部分功能,是以弹跳出对话框形式进行选择是否退出该系统,并设置“是”和“否”两个按钮来实现该功能的监听。

综上,本学籍管理系统就是由以上六部分组成,并将所有内容信息在同一窗体中实现,这样可使系统可视化性提高。

三、设计思路

定义四个Panel面板用来实现该学籍管理系统对学生基本信息的操作:

.定义add(录入学生基本信息)面板来实现录入功能

采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“录入学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向box中,通常使用此方法强行使两个组件之间具有某一空间量。

然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向box中,通常使用此方法强行使两个组件之间具有某一空间量。

然后在面板的South方位设置“录入”与“重置”两按钮。

最后实现与数据库的桥接,能够将从文本框获得的信息存储到数据库中去。

.定义Query(查询学生基本信息)面板来实现查询功能

该部分同样采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“查询学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一个“查询”按钮。

并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向box中,通常使用此方法强行使两个组件之间具有某一空间量。

然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向box中,通常使用此方法强行使两个组件之间具有某一空间量。

最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去。

.定义Update(修改学生基本信息)面板来实现修改功能

该部分同样也是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,并将其加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向box中,通常使用此方法强行使两个组件之间具有某一空间量。

并在“学号”该文本框后添加一个“开始修改”按钮用来监听。

然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向box中,通常使用此方法强行使两个组件之间具有某一空间量。

最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,并将修改后的信息存储到数据库中去。

.定义Delete(删除学生基本信息)面板来实现删除功能

该部分还是采用BorderLayout(构造一个组件之间没有间距的新边界布)和Box轻量级组件进行布局,在面板的Nother方位添加一个“修改学生基本信息”的标签,并更改字体,颜色等。

接着用JTextField轻量级组件来设置单行文本编辑,在学号这一文本框后再添加一“确定”按钮实现监听。

并将其所有文本框和标签加入到用createHorizontalBox()方法创建具有一个从左到右显示其组件的Box和用createHorizontalStrut()创建一个不可见的、固定宽度的组件,使其在一个横向box中,通常使用此方法强行使两个组件之间具有某一空间量。

并在“学号”该文本框后添加一个“开始修改”按钮用来监听。

然后Box与Box之间用createVerticalBox()创建一个从上到下显示其组件的Box,并用createVerticalStrut()方法创建一个不可见的、固定高度的组件,使其在一个纵向box中,通常使用此方法强行使两个组件之间具有某一空间量,还在本面板的South方位添加“确定删除”按钮。

最后实现与数据库的桥接,能够将从数据库中获取信息并显示到文本框中去,删除后同时在数据库中也删除该信息并保存该操作。

.定义exit(退出系统)对话框来实现退出功能

本部分采用JDialog来实现,在该对话框的North方位添加“确定要退出学籍管理系统吗?

”这一标签,在South方位添加“是”和“否”两个按钮来实现是否退出学籍管理系统。

.定义fra(欢迎界面窗)窗体来实现下拉菜单条并进入以上五部分功能

用MenuBar类封装绑定到框架的菜单栏与Menu对象是从菜单栏部署的下拉式菜单组件来实现下拉式菜单条。

流程图如下

四、详细设计

首先导入该程序中所需要用到的java包如下:

importjava.sql.*;

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

importjavax.swing.JOptionPane;

设计录入学生基本信息这一模块功能

//add(录入学生基本信息)面板(Panel)设计:

classaddextendsPanelimplementsActionListener{

Connectioncon;

Statementsql;

PanelpNorth,pCenter;

JButtondone,readd;

Boxbox,box0,box1,box2,box3,box4,box5,box6,box7;

JTextFieldnum,name,sex,birth,cla,professional;

publicadd(){

setLayout(newBorderLayout());

Fontfont=newFont("华文中宋",Font.BOLD,22);

UIManager.put("Label.font",font);

num=newJTextField(20);

name=newJTextField(20);

sex=newJTextField(20);

professional=newJTextField(20);

cla=newJTextField(20);

birth=newJTextField(20);

box0=Box.createHorizontalBox();

JLabeljl=newJLabel("录入学生基本信息");

jl.setForeground(Color.red);

jl.setFont(newFont("华文行楷",Font.BOLD,34));

box0.add(jl);

box1=Box.createHorizontalBox();

box1.add(newJLabel("学号:

"));

box1.add(Box.createHorizontalStrut(8));

box1.add(num);

box2=Box.createHorizontalBox();

box2.add(newJLabel("姓名:

"));

box2.add(Box.createHorizontalStrut(8));

box2.add(name);

box3=Box.createHorizontalBox();

box3.add(newJLabel("性别:

"));

box3.add(Box.createHorizontalStrut(8));

box3.add(sex);

box4=Box.createHorizontalBox();

box4.add(newJLabel("专业:

"));

box4.add(Box.createHorizontalStrut(8));

box4.add(professional);

box5=Box.createHorizontalBox();

box5.add(newJLabel("年级:

"));

box5.add(Box.createHorizontalStrut(8));

box5.add(cla);

box6=Box.createHorizontalBox();

box6.add(newJLabel("出生:

"));

box6.add(Box.createHorizontalStrut(8));

box6.add(birth);

box7=Box.createHorizontalBox();

done=newJButton("录入");

done.setFont(newFont("华文行楷",Font.BOLD,22));

done.setForeground(Color.black);

done.setBackground(Color.white);

done.addActionListener(this);

box7.add(done);

box7.add(Box.createHorizontalStrut(8));

readd=newJButton("重置");

readd.setFont(newFont("华文行楷",Font.BOLD,22));

readd.setForeground(Color.black);

readd.setBackground(Color.white);

readd.addActionListener(this);

box7.add(readd);

box=Box.createVerticalBox();

box.add(box0);

box.add(Box.createVerticalStrut(12));

box.add(box1);

box.add(Box.createVerticalStrut(12));

box.add(box2);

box.add(Box.createVerticalStrut(12));

box.add(box3);

box.add(Box.createVerticalStrut(12));

box.add(box4);

box.add(Box.createVerticalStrut(12));

box.add(box5);

box.add(Box.createVerticalStrut(12));

box.add(box6);

box.add(Box.createVerticalStrut(12));

box.add(box7);

pCenter=newPanel();

pCenter.add(box);

add(pCenter,"Center");

setBackground(Color.cyan);

}

//实现动作事件并链接数据库将文本框内信息存储到数据库中:

publicvoidactionPerformed(ActionEvente){

Stringnum0,num1,name1,sex1,cla1,professional1,birth1;

intout=1;

if(e.getSource()==done){

name1=name.getText();

if(name1.equals("")){

JOptionPane.showMessageDialog(this,"对不起,姓名不能为空!

");

}

else{

try{

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

}catch(java.lang.ClassNotFoundExceptionee){

}

try{

con=DriverManager.getConnection("jdbc:

odbc:

stud","","");

sql=con.createStatement();

ResultSetrs=null;

booleanAbook;

rs=sql.executeQuery("select*fromstud");

while(rs.next()){

num1=rs.getString("学号");

if(num1.equals(num.getText().trim())){

num.setText("");

JOptionPane.showMessageDialog(this,"对不起,该学号已存在!

","学籍管理系统",

JOptionPane.ERROR_MESSAGE);

out=0;

break;

}

}

con.close();

sql.close();

}catch(SQLExceptionr){}

{

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

}catch(java.lang.ClassNotFoundExceptionee){

}

try{

con=DriverManager.getConnection("jdbc:

odbc:

stud","","");

sql=con.createStatement();

num1="'"+num.getText().trim()+"'";

name1=name.getText().trim();

sex1="'"+sex.getText().trim()+"'";

professional1="'"+professional.getText().trim()+"'";

cla1="'"+cla.getText().trim()+"'";

birth1="'"+birth.getText().trim()+"'";

Stringtemp="insertintostudvalues("+num1+","

+"'"+name1+"'"+","+sex1+","

+professional1+","+cla1+","+birth1+")";

sql.executeUpdate(temp);

sql.close();

con.close();

}catch(SQLExceptionerr){

JOptionPane.showMessageDialog(this,"信息录入错误,请重新录入!

","学籍管理系统",

JOptionPane.ERROR_MESSAGE);

out=0;

}

if(out==1){

JOptionPane.showMessageDialog(this,"录入成功!

","学籍管理系统",

JOptionPane.INFORMATION_MESSAGE);

num.setText("");

name.setText("");

sex.setText("");

cla.setText("");

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2