一、需求与功能分析
1.1需求分析
学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息和课程,若所选的课程教师已录入成绩,则可以查看成绩。教师可以通过成绩管理系统查阅学生成绩信息,教师信息,并给学生录入成绩。系统管理员可以对学生信息以及每个学生所选课程进行增删改查操作,对教师信息以及每位教师所教课程进行增删改查相关操作。
根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料重多,因此,开发一套适和大众的、兼容性好的系统是很有必要的。
1.2功能分析
“学生成绩管理系统”按登录角色划分系统功能,登录角色包括学生、教师以及管理员。管理员可以对学生和教师的基本个人信息进行增删改查,对学生和教师所选课程进行增删改查。教师的主要权限是查看个人信息和所教课程,并输入所教课程的成绩,系统会计算得出平均分、排名以及不及格人数。学生的主要权限是查看自己的个人信息以及所学课程分数。
本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按姓名、年龄、成绩等对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的学号来查询该学生的成绩资料,并修改或是删除该学生信息。
二、设计思路
2.1系统总体设计
系统总体框架如图1所示:
图1
2.2 系统功能设计
2.2.1 管理员功能
(1)添加学生
管理员可以通过输入学生的学号、姓名、年龄、性别、学院、班级等基本信息来添加学生进数据库。系统会以表格的形式显示所有学生的信息。
(2)修改学生信息
管理员可以在主界面中输入学生学号,系统将自动填充学生其余信息,管理员可以通过修改文本框的值对信息进行修改,点击修改按钮新的信息将被保存进入数据库。
(3)删除学生信息
管理员在学号文本框中输入学生的学号,然后点击删除按钮,若该学生存在,则将从数据库中删除该学生的信息。
(4)查询学生信息
查询学生信息分为两个模块,一是查询全部学生信息,对应的按钮名称为查询全部,二是查询某个学生信息,管理员可以通过在学号文本框中输入学号,点击查询按钮,表格将单独展示此学生的详细信息。
(5)查询学生课程
管理员通过输入学生学号可以查询到该学生所选的课程
(6)添加学生课程
输入学号后,若数据库存在该学生,则会出现添加课程的功能,选择开课学院和具体的课程以后,点击添加按钮将为该学生添加此门课程。
(7)删除学生课程
查询到某个学生的课程后,在每行课程信息的后面会出现删除按钮,点击按钮可以删除此课程。
2.2.2 学生功能
(1)查询个人信息
点击登录后,系统会跳转到学生首页,在首页会展示学生的学号姓名学院班级等信息。
(2)查询成绩
学生登录系统后,首页便会以表格展示该学生所选的课程以及相应的成绩。
(3)查询课程
学生登录系统后,首页便会以表格展示该学生所选的课程。
2.2.3 教师功能
(1)查询个人信息
点击登录后,系统会跳转到教师首页,在首页会展示教师的职工号姓名等信息。
(3)录入成绩
教师登录系统后,首页便会以表格展示该教师所教的课程以及每门课的选课人数,在表格的最后一列有录入成绩的超链接,点击后即可跳转到对应学生的录入成绩界面。
(3)查询课程
教师登录系统后,首页便会以表格展示该教师所教的课程以及每门课的选课人数。
2.3 数据库的设计
本程序设计了6个实体类对应数据库中的6张表,它们分别是学生基本信息类(student_inf),包括学生学号、姓名、性别、年龄、学院、班级等信息,主键为学号;教师基本信息类(teacher_inf),包括教师职工号、姓名、年龄、学院等信息,主键为职工号。课程信息类(course_inf),包括课程编号、课程名称和开课学院等信息;登录账号类(login),包括账号、密码和登录角色等信息。学生-课程类(stu_course),包括学生学号,所选课程编号和成绩等信息,其中学号作为外键对应学生基本信息表的主键,采用级联删除和级联更新方式。所选课程编号作为外键对应于课程信息表的主键,采用级联删除和级联更新方式;教师-课程类(tea_course),包括教师职工号、所教课程编号等信息,其中教师职工号作为外键对应教师基本信息表的主键,采用级联删除和级联更新方式。所选课程编号作为外键对应于课程信息表的主键,采用级联删除和级联更新方式。
表2.3.1 学生基本信息表
学生基本信息表
序号 字段 别名 数据类型 长度 约束条件 主键 外键
1 id 学号 Char 20 非空 Y N
2 name 姓名 Char 45 N N
3 sex 性别 Char 5 男/女 N Y
4 age 年龄 Int 20 > 0 N N
5 department 学院 Char 45 N N
6 className 班级 Char 45 N N
表2.3.2 教师基本信息表
教师基本信息表
序号 字段 别名 数据类型 长度 约束条件 主键 外键
1 id 职工号 Char 20 非空 Y N
2 name 姓名 Char 45 N N
3 sex 性别 Char 5 男/女 N Y
4 age 年龄 Int 20 > 0 N N
5 department 学院 Char 45 N N
表2.3.3 课程基本信息表
课程基本信息表
序号 字段 别名 数据类型 长度 约束条件 主键 外键
1 id 课程编号 Char 10 非空 Y N
2 name 课程名称 Char 45 N N
3 department 开课学院 Char 45 N N
表2.3.4 学生-课程表
学生-课程表
序号 字段 别名 数据类型 长度 约束条件 主键 外键
1 id INT 20 自增长 Y N
2 stu_id 学号 Char 20 N Y
3 course_id 所选课程编号 Char 10 N Y
4 grade 成绩 Int 20 >=0&&<=60 N N
表2.3.5 教师-课程表
教师-课程表
序号 字段 别名 数据类型 长度 约束条件 主键 外键
1 id INT 20 自增长 Y N
2 Tea_id 学号 Char 20 N Y
3 course_id 所选课程编号 Char 10 N Y
表2.3.6 登录账号表
登录账号表
序号 字段 别名 数据类型 长度 约束条件 主键 外键
1 loginName 用户名 Char 10 非空 Y N
2 password 密码 Char 45 N N
3 role 登录角色 Char 45 管理员/学生/教师 N N
2.4 主程序的设计
本程序采用Asp.Net技术,在静态网页文件aspx文件中进行视图的设计,此文件相当于前台,在其中添加一系列控件。通过runat="server"这一语句,后台可以获取到前端所写的控件。然后在后台文件aspx.cs文件中编写各种控件的具体操作代码,包括对数据库的增、删、改、查等一系列操作。下面以stuInf.aspx为例,对几个常用的基本控件进行说明。
HyperLink控件:此控件相当于html中的超链接,NavigateUrl属性指定了要跳转的页面。
TextBox控件:文本框控件,在本页面中使用的属性有AutoPostBack属性、OnTextChanged属性、并添加了RequiredFieldVal