学生管理系统项目开发报告.docx
《学生管理系统项目开发报告.docx》由会员分享,可在线阅读,更多相关《学生管理系统项目开发报告.docx(26页珍藏版)》请在冰豆网上搜索。
学生管理系统项目开发报告
《用JSP开发高校学生管理系统(WEB版)》
软件项目开发报告
一、项目介绍
本项目是采用JSP技术开发一个简单的高校学生管理WEB版软件。
高校学生管理系统围绕学生进行信息化管理。
包括学生的基本信息、学生学习情况及成绩信息。
学生进入学校学习后,需要建立个人档案信息,并需要分专业、班级进行学习。
而学校各专业均有自己的教学体系及相应的学习课程。
需要安排教师进行日常的教学活动。
学生修完规定的学习任务与相应的学分后方可毕业。
本项目就是对上述业务进行网络信息化管理。
另外,为了使软件能正常有序地运行,需要管理员在软件后台对各操作员进行权限管理与控制。
本项目开发技术:
⏹JSP技术为表现层,包括EL表达式、JSP动作、JSTL标准标签技术
⏹Servlet为控制层技术
⏹JavaBean开发模型层
⏹运用MVC模式进行软件开发
⏹MySQL数据库
⏹Tomcat作为Web服务器
二、用例模型
通过用例模型说明系统的业务需求。
本系统有四种操作人员:
分别是学生、教师、教务员和管理员。
●学生主要是查看自己要学习的课程,以及查询自己学习的成绩。
●教师可以查看自己授课的课程安排,以及对应的班级、学生情况,可以对学生的学习成绩进行登分。
●教务员需要录入学生、教师、课程等档案信息,还可以修改专业相应信息、班级及学生对应班级的信息进行管理;教务员还需要对本专业各班级的教学情况进行排课。
●管理员主要是后台管理。
包括操作员管理,即对操作员进行注册、权限分配的操作,以及静态数据的维护等。
具体的业务见如下用例模型。
图1用例模型
三、功能需求介绍
本学生管理系统需要满足用户的如下操作功能:
●日常静态数据的管理,主要是日常操作时的环境数据,大部分只有教务员才有权限进行操作。
它们包括:
⏹专业管理:
输入、修改维护本专业的信息。
⏹班级管理:
新增新的班级信息,并维护班级信息。
⏹课程管理:
对本专业的所以课程信息进行管理,包括新增课程信息及维护课程信息。
⏹教师管理:
对本专业的所有教师信息进行管理,包括新增老师信息、教师变动信息的维护。
教师可以看到与修改自己某些基本信息。
⏹学生管理:
对本专业的所有学生信息进行管理,包括新增学生信息及对学生信息的维护。
学生可以看到与修改自己某些基本信息。
教务员还可以对学生进行专业、班级的分配。
●日常业务信息的管理:
⏹班级排课:
教务员对每个班进行排课,排课时是确定上课的班级、课程、教师等信息。
⏹成绩管理:
教师对所授的课程的学生进行分数登记,学生可以查看到自己的学习成绩,并且教务员可以对学生成绩的操作权限进行控制。
⏹查询报表:
可以按条件对相关信息进行查询,并可以形成报表与打印。
也可以以Excel表的形势进行导出。
●后台管理:
:
后台管理是对业务操作进行管理与控制。
是对操作员、角色、权限、模块信息进行管理。
四、数据库设计
高校学生管理系统的数据库表结构设计包括10个表,分别是:
1、日常教学管理
1、学生信息表(student)
2、教师信息表(teacher)
3、班级表(classes)
4、专业表(major)
5、课程信息表(subject)
6、成绩表(score)
7、课程表(cla2sub)
2、后台管理
8、功能表(privilege)
9、角色(role)
10、操作员表(operator)
1.学生信息表(student)
字段
类型
约束
描述
stu_id
in(11)
主键
学生id
ope_id
in(11)
外键
操作员id
stu_no
varchar(22)
学生学号
stu_name
varchar(22)
学生名字
stu_sex
enum(‘男’,’女’)
学生性别
stu_birth
data
学生生日
stu_pic
varchar(22)
学生照片
cla_id
int(11)
外键
班级id
2.教师信息表(teacher)
字段
类型
约束
描述
tec_id
int(11)
主键
教师id
ope_id
int(11)
外键
操作员id
tec_sex
enum(‘男’,’女’)
教师性别
tec_birth
data
教师生日
tec_major
varchar(22)
专业
tec_phone
varchar(22)
联系电话
tec_name
varchar(22)
教师名字
3.班级表(classes)
字段
类型
约束
描述
cla_id
int(11)
主键
班级id
cla_name
varchar(22)
班级名称
cla_tec
varchar(22)
班主任姓名
maj_id
int(11)
外键
主修专业id
4.专业表(major)
字段
类型
约束
描述
maj_id
int(11)
主键
专业id
maj_name
varchar(22)
专业名称
maj_prin
varchar(22)
专业负责人
maj_link
varchar(22)
专业联系人
maj_phone
varchar(22)
专业联系人电话
5.课程信息(subject)
字段
类型
约束
描述
sub_id
int(11)
主键
科目id
sub_name
varchar(22)
科目名称
sub_type
varchar(22)
课程类型
sub_times
int(11)
课时
6.成绩表(score)
字段
类型
约束
描述
sco_id
int(11)
主键
成绩id
sco_daily
float
平时成绩
sco_exam
float
考试成绩
wco_count
float
总成绩
stu_id
int(11)
外键
学生id
sub_id
int(11)
外键
科目id
cla2sub_id
int(11)
外键
课程表id
cla_id
int(11)
外键
班级id
7.课程表(cla2sub)
字段
类型
约束
描述
cla2sub_id
int(11)
主键
课程表id
cla_id
int(11)
外键
班级id
sub_id
int(11)
外键
科目id
tec_id
int(11)
外键
主讲老师id
8.功能表(privilege)
字段
类型
约束
描述
pri_id
int(11)
主键
功能id
pri_name
varchar(22)
模块名称
pri_url
varchar(55)
模块连接
menu_name
varchar(55)
菜单名称
rol_id
int(11)
外键
角色id
9.角色(role)
字段
类型
约束
描述
rol_id
int(11)
主键
角色id
rol_name
varchar(22)
角色名称
10.操作员表(operator)
字段
类型
约束
描述
ope_id
int(11)
主键
操作员id
ope_name
varchar(22)
登录名
ope_pwd
varchar(22)
登录密码
rol_id
int(11)
外键
角色id
图2数据模型(E-R图)
五、软件设计
1、软件结构设计
图3软件结构设计图
2、软件模块列表
序号
模块名称
模块内容
1
专业信息管理
●添加专业信息
●查询专业信息
●修改专业信息
●删除专业信息
2
班级信息管理
●添加班级信息
●查询班级信息
●修改班级信息
●删除班级信息
3
学生信息管理
●.添加学生信息
●修改学生信息
●删除学生信息
●修改学生信息
4
教师信息管理
●添加教师信息
●查询教师信息
●修改教师信息
●删除教师信息
5
课程信息管理
●添加课程信息
●查询课程信息
●修改课程信息
●删除课程信息
6
班级排课
●添加班级课程
●查询班级课程
●修改班级课程
●删除班级课程
7
成绩管理
●查询成绩信息
●修改成绩信息
8
统计报表
●可以进行条件查询、统计,并查询的结果进行报表打印,并可导出Excel表。
9
后台系统维护管理
●操作员管理
●权限管理
●密码修改
3、软件架构设计
图4软件总体架构设计
4、各模块设计
教师模块设计
子模块
控制器
视图层
模型层
备注
添加教师信息模块
AddTeacherServlet.java
add_teacher.jsp
search_teacher.jsp
TeacherImpl.java的方法:
add(Teacher):
void
delete(Teacher):
void
getcountPage(String,String):
int
query(String,String):
List
query(String,String,int):
List
update(Teacher):
void
实体类:
Teacher.java
数据表:
Teacher.java
修改教师信息模块
UpdateTeacherServlet.java
update_teacher.jsp
search_teacher.jsp
删除教师信息模块
DeleteTeacherServlet.java
search_teacher.jsp
查询教师信息模块
SearchTeacherServlet.java
编辑教师信息模块
EditTeacherServlet.java
教师个人信息模块
InfoTeacherServlet.java
info_teacher.jsp
学生模块设计
子模块
控制器
视图层
模型层
备注
添加前预处理
PlanAddStudentServlet.java
add_student.jsp
search_student.jsp
TeacherImpl.java的方法:
add(Student):
void
delete(Student):
void
getcountPage(String,String):
int
query(String,String):
List
query(String,String,int):
List
update(Student):
void
实体类:
Student.java
数据表:
student
添加学生信息
AddStudentServlet.java
删除学生信息
DeleteStudentServlet.java
search_student.jsp
编辑学生信息
EditStudentServlet.java
update_student.jsp
search_student.jsp
修改学生信息
UpdateStudentServlet.java
查询学生信息
SearchStudentServlet.java
search_student.jsp
查询个人信息
InfoStudentServlet.java
info_student.jsp
查询同班同学
SearchClassmatesServlet.java
search_classmates.jsp
查询教师学生
SearchTeacherClassServlet.java
search_student.jsp
专业模块设计
子模块
控制器
视图层
模型层
备注
添加专业信息
AddMajorServlet.java
add_major.jsp
MajorImpl.java的方法:
add(Major):
void
delete(Major):
void
getcountPage(String,String):
int
query(String,String):
List
query(String,String,int):
List
update(Major):
void
实体类:
Major.java
数据表:
major.sql
修改专业信息
UpdateMajorServlet.java
update_major.jsp
search_major.jsp
删除专业信息
DeleteMajorServlet.java
search_major.jsp
查询专业信息
SearchMajorServlet.java
课程模块设计
子模块
控制器
视图层
模型层
备注
添加课程信息
AddSubjectServlet.java
add_subject.jsp
SubjectImpl.java的方法:
add(Subject):
void
delete(Subject):
void
getcountPage(String,String):
int
query(String,String):
List
query(String,String,int):
List
update(Subject):
void
实体类:
Subject.java
数据表:
subject.sql
编辑课程信息
EditSubjectServlet.java
update_subject.jsp
search_subject.jsp
修改课程信息
UpdateSubjectServlet.java
删除课程信息
DeleteSubjectServlet.java
search_subject.jsp
查询课程信息
SearchSubjectServlet.java
班级模块设计
子模块
控制器
视图层
模型层
备注
添加班级预处理
PlanClassesServlet.java
AddClassesServlet.java
add_classes.jsp
add_classes.jsp
search_classes.jsp
ClassesImpl.java的方法:
add(Classes):
void
delete(Classes):
void
getcountPage(String,String):
int
query(String,String):
List
query(String,String,int):
List
update(Classes):
void
实体类:
Classes.java
数据表:
classes.sql
添加班级信息
修改班级信息
UpdateClassesServlet.java
update_classes.jsp
search_classes.jsp
删除班级信息
DeleteClassesServlet.java
search_classes.jsp
查询班级信息
SearchClassesServlet.java
编辑班级信息
EditClassesServlet.java
班级课程模块设计
子模块
控制器
视图层
模型层
备注
班级课程预处理
PlanAddCla2subServlet.java
add_classes_subject.jsp
Cla2Submpl.java的方法:
add(Clas2Sub):
void
delete(Clas2Sub):
void
getcountPage(String,String):
int
query(String,String):
List
query(String,String,int):
List
update(Cla2Sub):
void
findCla2sub(int,int,int):
Cla2Sub
实体类:
Clas2Sub.java
数据表:
clas2sub.sql
查询可选课程信息
SearchCla2sub_exServlet.java
添加班级课程信息
AddCla2subServlet.java
删除班级课程信息
DeleteCla2subServlet.java
search_classes_subject.jsp
查询班级课程信息
SearchCla2subServlet.java
学生成绩模块设计
子模块
控制器
视图层
模型层
备注
查询学生成绩信息
SearchScoreServlet.java
search_score.jsp
ScoreImpl.java的方法:
add(Score):
void
delete(Score):
void
getcountPage(String,String):
int
query(String,String):
List
query(String,String,int):
List
update(Score):
void
实体类:
Score.java
数据表:
score.sql
编辑学生成绩信息
EditScoreServlet.java
update_score.jsp
修改学生成绩信息
UpdateScoreServlet.java
update_score.jsp
search_score.jsp
六、软件操作说明
本软件可以对高校围绕学生的相关信息进行计算机管理,包括专业信息、班级信息、教师信息、学生个人信息、上课信息、成绩信息的管理。
下面通过界面展示部分功能(节选)。
1教师信息管理
可以对教师信息进行管理。
包括添加教师信息、查询教师信息、修改教师信息等。
图5添加教师信息界面
图6查询教师信息界面
图7编辑教师信息界面
图8教师个人信息界面
2学生信息管理
可以对学生信息进行管理。
包括添加学生、查询学生信息、修改学生信息等。
图9添加学生页面
图10查找学生信息界面
图11编辑学生信息界面
图12学生个人信息显示界面
图13学生同班同学信息显示界面
3专业信息管理
可以对专业信息进行管理。
包括添加专业、查询专业信息、修改专业信息等。
图14添加专业信息界面
图15查找专业信息界面
图16编辑专业信息界面
4课程信息管理
可以对课程信息进行管理。
包括添加课程信息、查询课程信息、修改课程信息等。
图17添加课程信息界面
图18查找课程信息界面
图19编辑课程信息界面
5班级信息管理
可以对班级信息进行管理。
包括添加班级信息、查询班级信息、修改班级信息等。
图20添加班级信息界面
图21查找课程信息界面
图22编辑课程信息界面
6课程安排
可以对班级需要上课的课程进行管理,即形成上课课表。
图23添加课程信息界面
图24查找班级课程信息界面
7学生成绩管理
对学生的学习信息进行管理。
图25学生成绩信息显示界面
图26编辑成绩信息界面