课 程 设 计 报 告
课程设计名称: 学生成绩管理系统 系 别 : 三 系 学生姓名: 班 级: 学 号: 成 绩: 指导教师:
开课时间: 学年 学期
一.设计题目
学生成绩管理系统
学生成绩管理系统从功能上划分可分为以下几大模块: 1.学生信息管理
学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、删除。 2.课程信息管理
课程信息管理:设置课程号,课程名,任课教师等课程信息,并可以对课程信息进行添加、修改、删除。 3.学生成绩管理
成绩信息管理模块:设置成绩信息,并可以对成绩信息进行添加、修改、删除。 还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。输出查询的学生成绩信息,并对学生成绩总分,平均分等进行统计。 二.主要内容
三.具体要求
1.具有良好的系统性能,友好的用户界面 2.较高的处理效率,便于使用和维护
3.采用成熟的技术开发,是系统具有较高的技术水平和较长的生命周期 4.系统尽可能简化重复工作,提高工作效率简化数据查询、降低统计难度
四.进度安排 五.成绩评定 序号 1 2 3 4 5 6
内 容 调试工具使用 概要设计 详细设计 调试分析 测试结果 总结和完成设计报告 合 计 时间(天) 0.5 1 2 0.5 1 2 7
1、系统的需求分析和功能设计
需求分析部分:
通过调研目前教学管理系统中的成绩管理子系统,了解成绩管理子系统的业务流程;通过分析比较,结合用户对成绩管理子系统的改进意见与实现情况,运用JAVA设计和实现一个简易的学生成绩管理子系统,以提高学生信息、课程、成绩管理的自动化、友好性等。本系统基于JAVA SE平台和ACCESS数据库,通过课程设计,可以使学生对JAVA开发管理信息系统有一个全面的了解。
学生成绩管理系统应具有以下要求:
1.具有良好的系统性能,友好的用户界面 2.较高的处理效率,便于使用和维护
3.采用成熟的技术开发,是系统具有较高的技术水平和较长的生命周期 4.系统尽可能简化重复工作,提高工作效率 5.简化数据查询、降低统计难度
按客户需求,本学生成绩管理系统需实现以下几项功能: ①学生信息管理:
学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、删除。 ②课程信息管理:
课程信息管理:设置课程号,课程名,任课教师等课程信息,并可以对课程信息进行添加、修改、删除。 ③学生成绩管理“
成绩信息管理模块:设置成绩信息,并可以对成绩信息进行添加、修改、删除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。输出查询的学生成绩信息,并对学生成绩总分,平均分等进行统计。
功能设计部分:
学生成绩管理系统分为3大功能模块,分别为:学生信息管理、课程管理、成绩管理。 学生成绩管理系统从功能上划分可分为以下几大模块: ? ?
学生信息管理
学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、删除。 课程信息管理
课程信息管理:设置课程号,课程名,任课教师等课程信息,并可以对课程信息进行添 加、修改、删除。 ?
学生成绩管理
成绩信息管理模块:设置成绩信息,并可以对成绩信息进行添加、修改、删除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。输出查询的 学生成绩信息,并对学生成绩总分,平均分等进行统计。 系统各个部分及其包括的具体功能模块如图1所示。
学生成绩管理系统 学生信息管理课程信息管理成绩信息管理信息查询 学生信息添加学生信息修改学生信息删除课程信息添加课程信息修改课程信息删除成绩信息添加成绩信息修改成绩信息删除学生信息查询课程信息查询成绩信息查询按照上述功能模块分析设计系统功能。
2、源程序及注释
由于此次课程设计中各界面构建代码又老师提供,因此要求我们自己添加的代码并不是很多,主要代码基本上都是在主界面的代码中添加完成,主界面部分关键代码及注释如下: public void actionPerformed(ActionEvent e)
{
if(e.getSource()==itemExit) { }
System.exit(0);
String xh=JOptionPane.showInputDialog(this,\请输入要增加的学号\学生成绩管理系统\
if(xh.length()==0) {
JOptionPane.showMessageDialog(this,\学号不能为空,请重新输入\
学生信息管理系统\ }
else {
StuInfo newst=new StuInfo();
newst.modifyInfo.setEnabled(false); newst.deleteInfo.setEnabled(false);
else if(e.getSource()==itemAddS) {
图1 系统功能结构图
}
newst.clearInfo.setEnabled(false); newst.sNum.setText(xh);
newst.sNum.setEnabled(false); }
else if(e.getSource()==itemEditS) {
String xh=JOptionPane.showInputDialog(this,\请输入要修改的学号\学生成绩管理系统\
if(xh.length()==0)
{
JOptionPane.showMessageDialog(this,\学号不能为空,请重新输入\
学生信息管理系统\ }
else {
StuInfo newst=new StuInfo();
newst.addInfo.setEnabled(false); newst.deleteInfo.setEnabled(false); newst.clearInfo.setEnabled(false); newst.sNum.setText(xh);
newst.sNum.setEnabled(false); try { Class.forName(\
String url= \Access Driver (*.mdb)};DBQ=student.mdb\
Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStatement();
String sqlstr=\ ResultSet rs=stmt.executeQuery(sqlstr); while(rs.next())
{
if(rs.getString(\男\判断获取性别字段
时输出的 \男\或\女\ newst.xb1.setSelected(true);
else
newst.xb2.setSelected(true); newst.sName.setText(rs.getString(\
newst.sBirth.setText(rs.getString(\ newst.sMajor.setText(rs.getString(\ newst.sHome.setText(rs.getString(\ } }