jsp版学生成绩管理系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《java语言程序设计》课程设计报告设计题目:学生成绩管理系统
班级:计算机四班学号:20104777
报告人姓名:蔺天震
指导老师:费老师
实验地点:东校区机房
完成起止日期:2010--2011学年第二学期16周
目录
一、引言 (2)
二、功能规划 (3)
1学生的需求 (3)
2老师的需求 (3)
3管理员的需求 (3)
三、具体设计 (4)
1、数据库设计: (4)
2、程序界面设计: (8)
3、servlet 设计: (12)
四、程序测试 (22)
1、测试项目 (22)
2、各模块的测试结果...................................
22
五、课程设计感想 (22)
六、总结 (23)
学生成绩管理系统设计报告
•、引言
1.1课程设计目的
(1)复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;
(2)课程设计为我们提供了一个既动手又动脑,独立实践的机会,将课本上的理
论知识和实际有机的结合起来,锻炼我们的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;
(3)培养我们在项目开发中团队合作精神,创新意识及能力。
1.2题目说明
一个学生成绩管理系统,能够实现对学生、老师基本信息、课程信息、成绩信息的管理。
学生端:能够实现查看自己的成绩、排名、选课信息等;
老师端:能够让老师查看学生的信息、查看学生的成绩、输入学生的成绩;管理员端:能够实现对学生和老师的综合管理,能查看所有的学生、老师的基本信息和课程信息,能够添加、修改老师学生的课程信息和密码等。
二、功能规划
1学生的需求
(1)在第一时间查询自己所有的成绩(自己的平时成绩、卷面成绩、总成绩)
(2)查询某一科成绩
(3)查询自己的上课信息及选课信息
(4)修改登录密码
2老师的需求
(1)查询某一学生的所有成绩(平均成绩,总成绩)
(2)查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩
(3)查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)
(4)对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)
(5)录入考试成绩和补考成绩(自己所教授的那一科成绩)
(6)查询自己的上课信息
(7)修改登录密码
3管理员的需求
(1)查询某一学生的所有成绩(平均成绩,总成绩)
(2)查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩
(3)查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)
(4)对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)
(5)录入成绩和修改成绩
(6)对学生和老师进行管理
(7)数据库管理
三、具体设计
本系统MVC三层模式进行开发,使模型,视图和控制分开,业务逻辑和显示分开,这样有利于错误的查找和系统的升级。
该系统适用于各个学校,其功能主要为:
成绩管理:用于对成绩的录入、修改、汇总、排名以及查询等操作。
数据库中共有老
id
name
师、学生、管理
22 b
员、课程、老师
课程信息、学生课程信息六张表, 分别如下:
课程信息:
系统框图:
登录
1、 查询自己的成绩
2、 查询课程表
3、 添加选课信息
管理员
1、 管理学生信息
2、 管理老师信息
3、 管理课程信息
4、 查看学生、老师信
息
1、数据库设计:
passport hrn _ 22
管理员信息:
学生课程信息:
ccuneic扣d te^d greiel砂2gnde credt ranKhg BBM1O01201 附77 111199S37845 201G4学生信息:S9774匚i
BBMU2&1C4/J t 11 H885941
id rams糊rd ttleje$pe:iaty'
20101111qq20101111m —
20104777ra201M777
201047872fll)4;87Wl韭技术
id jfflue ctlleje password
老师信息:
1111sii n i
22222222
老师课程信息:
lead cour^&Kl isfirwsh
mi BBDD40141
mi BB0010080
UH BB001D020
2222BBWIOO^1
连接数据库的类设计如下: packageDateBase;
import java.sql.Co nn ecti on;
import java.sql.DriverMa nager;
import java.sql.ResultSet;
import java.sql.SQLExceptio n;
import java.sql.Stateme nt;
public classDbUtile {
public Connectionconnection= null;
public ResultSetresultSet= null;
public Stateme ntstateme nt= n ull;
private String Db_Driver = "com.mysql.jdbc.Driver";
private String Db_url = "jdbc:mysql://localhost:3306/studentmanagesystem"; private String Db_user= "root";
private String Db_password= "sa";
public DbUtile() { //构造方法连接数据库
try{
Class.forName(Db_Driver);
conn ecti on =
DriverMa nager.getC onn ectio n( Db_url,Db_user,Db_password);
stateme nt= connection. createStateme nt(;
}
catch(java」an g.ClassNotF oun dExceptiore){
System.out.println「加载驱动器有错误:"+ e.getMessage(); } catch(SQLExcepti one) {
System.out.println("连接数据库有错误:"+ e.getMessage();
}
}
public int execute In sert(Stri ngsql) { 〃插入记录
int num = 0;
System.out.pri ntln( sql);
try {
num = stateme nt.executeUpdate(sql);
}
catch(SQLExceptio nex) {
System.out.println("执行插入有错误:"+ ex.getMessage(》;
}
return num;
public ResultSetexecuteQuery(Stringsql) { // 查询记录resultSet= nu II;
try{
resuItSet= stateme nt.executeQuery(sql);
}
catch(SQLExceptio nex) {