学生成绩管理系统数据库课程设计.docx

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

学生成绩管理系统数据库课程设计.docx

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

学生成绩管理系统数据库课程设计.docx

学生成绩管理系统数据库课程设计

 

Java学生成绩管理系统设计说明书

 

课程名称:

课程代码:

题目:

年级/专业/班:

学生姓名:

学  号:

时间:

—————

指导教师:

 

1引言

1.1问题的提出

在我国,各大中小学校的各类信息管理系统并非一个新的课题。

大多数学校信息管理系统不完善,甚至有的学校根本就没有任何信息管理系统,所有的管理工作几乎都是靠手工完成。

特别是在西部贫困地区,学校的信息管理都依然靠手工操作,这十分落后,效率极低,成本很大,而且极易出错。

随着计算机技术不断地日新月异地发展,信息化是社会进程的必然趋势,学校的信息管理只有快,精,准,才能发挥其作用。

从人工操作改为计算机的自动化系统,人工操作必将被计算机代替。

1.2国内外研究的现状

信息技术的日益发展深入到社会的各个角落,学生宿舍管理也不例外,尤其作为高等院校的宿舍管理工作,是高校各项工作的一个重要组成部分,其管理水平的高低将直接影响到人才培养的质量。

随着高等教育的发展、高校规模的扩大、学生人数增加、学生宿舍各种信息的汇总、统计和分析等管理工作面临着诸多困难,管理工作也越来越繁重和琐碎。

因此宿舍管理的信息化、网络化越来越受到人们的重视,它既可以大大提高学生宿舍管理的绩效,也可以为学生解决后顾之忧。

同时随着计算机技术的普及和发展,管理的自动化已成为必然趋势。

因此,为了提高高校的整体管理水平,计算机在高等院校宿舍管理中的应用日益普及,这使得学生宿舍管理自动化的实现成为高校管理环节中的重要一环。

1.3任务与分析

本课题主要的目的是学生成绩管理系统,主要任务为建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。

帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。

高校学生的成绩管理工作量大、繁杂,人工处理非常困难。

学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。

学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。

2.

程序的主要功能(或需求分析,正式说明书中请删除此内容)

2.1添加功能

添加一个学生的基本信息,包括student_ID,student_Name,student_Sex,born_Date,class_NO,tele_Number,ru_Date,address,comment。

2.2删除功能

能够对一个学生的信息进行删除按student_ID进行删除。

2.3显示功能

显示所有学生的主要信息包括student_ID,student_Name,student_Sex,result!

2.4查找功能

根据你键入的student_ID,显示其详细信息!

2.5修改功能

对学生的信息和成绩进行修改。

3程序运行平台

编程工具:

Netbeans

编程语言:

JAVA

数据库:

SQLSERVER2005

具体操作如下:

具体操作如下:

新建SutGradeManage项目,然后再编写相应的java文件,再编译,链接,执行等,用户就可登录进该系统进行相应的操作。

4总体设计

图4.1系统总体框架图

5数据库设计(本节说明此程序使用的关键数据结构、类对象等)

数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。

5.1数据库概念设计

在数据库设计中,先要对系统分析所得的数据字典中的数据存储进行分析,然后得出系统的关系模式,可以采用实体——联系图(简称E——R图)的方法进行数据结构的描述。

E——R图由实体、属性、联系三部分组成。

图<5.1.1>登录信息E-R图

图<5.1.2>学生信息E-R图

图<5.1.3>课程信息E-R图

5.2表结构

表1dbo.users表

字段

类型

约束

默认值

说明

userName

VARCHAR2(20CHAR)

PK

 

用户名

userPwd

VARCHAR2(20CHAR)

notnull

 

密码

userRight

VARCHAR2(20CHAR)

notnull

权限

表2dbo.student表

字段

类型

约束

默认值

说明

student_ID

CHAR(10BYTE)

PK

 

学号

student_Name

VARCHAR2(20CHAR)

notnull

 

姓名

student_Sex

CHAR(4CHAR)

 

性别

born_Date

CHAR(11BYTE)

 

出生日期

tele_Number

CHAR(15BYTE)

 

电话

class_NO

NUMBER

 

班号

address

VARCHAR2(20BYTE)

 

地址

comment

VARCHAR2(20BYTE)

 

注释

5.3视图

表3dbo.vi视图

字段

类型

是否可空

insertable

updatable

deletable

说明

Result

NUMBER

Yes

YES

YES

YES

成绩

student_ID

CHAR(10)

No

YES

YES

YES

学号

student_Name

VARCHAR2(80)

No

YES

YES

YES

姓名

student_Sex

CHAR(16)

Yes

YES

YES

YES

性别

born_Date

CHAR(11)

Yes

YES

YES

YES

出生日期

tele_Number

CHAR(15)

Yes

YES

YES

YES

电话

address

VARCHAR2(30)

No

NO

NO

NO

地址

comment

VARCHAR2(20)

Yes

YES

YES

YES

注释

6模块分析

6.1添加模块

学生信息添加部分代码:

publicStudentGradFrame(Stringtitle)

{

studentId=newJLabel("学号:

");

studentId.setHorizontalAlignment(JLabel.RIGHT);

courseId=newJLabel("课程编号:

");

courseId.setHorizontalAlignment(JLabel.RIGHT);

school=newJLabel("学年:

");

school.setHorizontalAlignment(JLabel.RIGHT);

termId=newJLabel("学期:

");

termId.setHorizontalAlignment(JLabel.RIGHT);

grade=newJLabel("分数:

");

grade.setHorizontalAlignment(JLabel.RIGHT);

studentIdField=newJTextField();

studentIdField.grabFocus();

studentIdField.addKeyListener(

newKeyListener()

{

publicvoidkeyPressed(KeyEvente)

{

if(e.getKeyCode()==KeyEvent.VK_ENTER)

{

courseIdField.grabFocus();

}

}

publicvoidkeyTyped(KeyEvente)

{

}

publicvoidkeyReleased(KeyEvente)

{

}

});

6.2显示模块

显示模块将输出所有学生的主要信息;

主要代码为:

publicvoidviewStudent(StringstudId,JTextFieldid,JTextFieldname,JTextFieldsex,JTextFieldcla,JTextFielddate,JTextFieldphone,JTextFieldemail,JTextFieldnote)

{

Connectionconn=SQLConnection.getConnection();

PreparedStatementst=null;

ResultSetrs=null;

if(conn!

=null)

{

try

{

st=conn.prepareStatement("select*fromstudentswherestud_id='"+studId+"'");

rs=st.executeQuery();

while(rs.next())

{

id.setText(rs.getString

(1));

name.setText(rs.getString

(2));

sex.setText(rs.getString(3));

cla.setText(rs.getString(4));

date.setText(rs.getString(5));

phone.setText(rs.getString(6));

email.setText(rs.getString(7));

note.setText(rs.getString(8));

}

}

catch(SQLExceptione)

{

e.printStackTrace();

}

finally

{

try

{

if(rs!

=null)

{

rs.close();

}

if(st!

=null)

{

st.close();

}

if(conn!

=null)

{

conn.close();

}

}

catch(Exceptionignore)

{

}

}

}

}

}

6.3修改模块

首先由用户输入要修改的学生的成绩

主要代码:

publicUpdateGrade(Stringtitle)

{

idLabel=newJLabel("请输入学号:

");

idLabel.setFont(newFont("隶书",Font.BOLD,20));

idField=newJTextField();

idField.grabFocus();

studentId=newJLabel("学号:

");

studentId.setHorizontalAlignment(JLabel.RIGHT);

courseId=newJLabel("课程编号:

");

courseId.setHorizontalAlignment(JLabel.RIGHT);

school=newJLabel("学年:

");

school.setHorizontalAlignment(JLabel.RIGHT);

termId=newJLabel("学期:

");

termId.setHorizontalAlignment(JLabel.RIGHT);

grade=newJLabel("分数:

");

grade.setHorizontalAlignment(JLabel.RIGHT);

studentIdField=newJTextField();

courseIdField=newJTextField();

schoolField=newJTextField();

termIdField=newJTextField();

gradeField=newJTextField();

studentIdField.setEditable(false);

courseIdField.setEditable(false);

schoolField.setEditable(false);

termIdField.setEditable(false);

gradeField.setEditable(false);

bQuery=newJButton("查询");

bQuery.addActionListener(

newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

if(!

gradeDAO.queryGrade(idField.getText()))

{

gradeDAO.viewGrade(idField.getText(),studentIdField,courseIdField,schoolField,termIdField,gradeField);

courseIdField.setEditable(true);

schoolField.setEditable(true);

termIdField.setEditable(true);

gradeField.setEditable(true);

bUpdate.setEnabled(true);

bQuery.setEnabled(false);

}

else

{

//System.out.println("该学号不存在");

JOptionPane.showMessageDialog(newJFrame(),"该学号不存在,重新填写");

idField.setText("");

idField.grabFocus();

}

}

});

6.4查找模块

首先由用户输入要查找的学生学号等,然后查找数据库中的该学生信息

主要代码:

publicQueryExam(Stringtitle)

{

idLabel=newJLabel("请选择查询方式:

");

idLabel.setFont(newFont("隶书",Font.BOLD,20));

idField=newJTextField();

idField.setEditable(false);

jRByNum=newJRadioButton("课程编号");

jRByNum.addActionListener(

newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

Flag=0;

idLabel.setText("请输入课程编号:

");

idField.setEditable(true);

idField.grabFocus();

}

});

jRByName=newJRadioButton("课程名称");

jRByName.addActionListener(

newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

Flag=1;

idLabel.setText("请输入课程名称:

");

idField.setEditable(true);

idField.grabFocus();

}

});

jRByTerm=newJRadioButton("学期");

jRByTerm.addActionListener(

newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

Flag=2;

idLabel.setText("请输入学期:

");

idField.setEditable(true);

idField.grabFocus();

}

});

6.5删除模块

用删除学生信息

主要代码:

publicDeleteStudentInfo(Stringtitle)

{

idLabel=newJLabel("请填写学生编号:

");

idLabel.setFont(newFont("隶书",Font.BOLD,20));

idField=newJTextField();

idField.grabFocus();

studId=newJLabel("学号:

");

studId.setHorizontalAlignment(JLabel.RIGHT);

studName=newJLabel("姓名:

");

studName.setHorizontalAlignment(JLabel.RIGHT);

studSex=newJLabel("性别:

");

studSex.setHorizontalAlignment(JLabel.RIGHT);

studClass=newJLabel("班级编号:

");

studClass.setHorizontalAlignment(JLabel.RIGHT);

studDate=newJLabel("入学年份:

");

studDate.setHorizontalAlignment(JLabel.RIGHT);

studPhone=newJLabel("电话号码:

");

studPhone.setHorizontalAlignment(JLabel.RIGHT);

studEmail=newJLabel("电子邮箱:

");

studEmail.setHorizontalAlignment(JLabel.RIGHT);

studNote=newJLabel("备注:

");

studNote.setHorizontalAlignment(JLabel.RIGHT);

studIdField=newJTextField();

studNameField=newJTextField();

studSexField=newJTextField();

studClassField=newJTextField();

studDateField=newJTextField();

studPhoneField=newJTextField();

studEmailField=newJTextField();

studNoteField=newJTextField();

studIdField.setEditable(false);

studNameField.setEditable(false);

studSexField.setEditable(false);

studClassField.setEditable(false);

studDateField.setEditable(false);

studPhoneField.setEditable(false);

studEmailField.setEditable(false);

studNoteField.setEditable(false);

bQuery=newJButton("查询");

bQuery.addActionListener(

newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

if(!

studentDAO.queryStudent(idField.getText()))

{

studentDAO.viewStudent(idField.getText(),studIdField,studNameField,studSexField,studClassField,studDateField,studPhoneField,studEmailField,studNoteField);

bDelete.setEnabled(true);

bQuery.setEnabled(false);

}

else

{

//System.out.println("该学生不存在");

JOptionPane.showMessageDialog(newJFrame(),"该学生不存在,重新填写");

idField.setText("");

idField.grabFocus();

}

}

});

bDelete=newJButton("删除");

bDelete.setEnabled(false);

bDelete.addActionListener(

newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

intmsg=JOptionPane.showConfirmDialog(newJFrame(),"确定要删除该学生信息吗?

(Y/N)","提示",JOptionPane.YES_NO_CANCEL_OPTION);

if(msg==JOp

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

当前位置:首页 > 法律文书 > 调解书

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

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