一、需求与功能分析 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属性、并添加了RequiredFieldValidator控件对文本框控件进行校验。AutoPostBack属性用于自动回传,也就是说此控件值更改后是否和服务器进行交互,OnTextChanged属性当文本框的值发生改变时触发。 RadioButton控件:相当于html中的单选框,可以通过设置相同的GroupName属性来把多个RadioButton划分为一组,并在后台进行相关的操作。 DropDownList控件,相当于html中的下拉框,用于创建下拉列表。控件中的每个可选项都是由 ListItem 元素定义的。 Button控件:按钮控件,通过设置OnClick属性在后台编写触发按钮后的相应事件。 GridView控件:Gridview是一个表格控件自带编辑,排序、删除等功能。他的数据绑定方式有两种:通过DataSource属性 或者DataSourceID属性(支持双向数据绑定),本程序中两种方式都有使用。此控件的功能十分强大,可以绑定数据源对数据库中的数据进行展示。把AllowSorting设置为true则可以根据表格的字段进行排序。通过设置AllowPaging对数据进行分页处理。
三、调试分析
3.1技术难点分析 1、本程序的技术难点在于各个控件数据源的绑定,由于本机没有安装SQL Serve数据库,只有MySQL数据库,而asp.net默认的数据库时SQL Server,因此很多高级操作无法在前台进行(如图3.1.1所示),只能在后台用代码进行操作。
图3.1.1 2、在教师录入成绩的页面,对低于60分的成绩以红色显示,高于60分的成绩以绿色显示(如图3.1.2所示),因为成绩录入后是实时更新的,所以每一次刷新gridview时都要对成绩的值进行判断并在后台设置字体的颜色。一开始不知道如何获取某一单元格的值,因此花了较多的时间。
图3.1.2
3.2 调试错误分析 1、先查询了某一个学生的信息,表格中只显示了这一行,点击重置按钮,虽然文本框内数据被清除,但是表格仍然只显示了一行信息:
图3.2.1
修改如下,在重置按钮的OnClick事件中,添加查询全部学生数据的代码:
图3.2.2
2、在按学生姓名进行查询时,发生如下错误:
图3.2.3 查看自动窗口,生成的错误的sql语句如下,发现缺少引号:
图3.2.4
因为name是字符串类型,因此在写查询的sql语句时,要加上引号,修改如下:
图3.2.5
四、测试结果分析
4.1 登录功能测试
图4.1.1 登录界面
图4.1.2 用户名和密码均为空时
图4.1.3 密码为空时
图4.1.4 用户名为空时
4.2 管理员功能测试 学生信息管理界面如图4.2.1所示
图4.2.1
点击右上角的按钮可以展开菜单栏:
图4.2.2
添加一个学生:
图4.2.3 添加学生时要求姓名和年龄不能为空:
图4.2.4 姓名和年龄为空时 年龄要求在10-100之间的整数:
图4.2.5 添加完成后表格将会更新:
图4.2.6 删除刚刚添加的学生:
图4.2.7
输入学号查询某个学生信息:
图4.2.8 点击菜单栏跳转到学生课程管理页面:
图4.2.9 输入学号点击查询显示该学生所选课程:
图4.2.10
选择开课学院和课程名称后点击添加,为该学生添加一门课程:
图4.2.11
点击相应的行后的删除,可以删除此门课程:
图4.2.12
若学号输入错误,则系统产生相应的提示:
图4.2.13
若该学生没有课程,也会产生相应的提示:
图4.2.14 教师信息管理和教师课程管理与上面类似。
4.3 学生功能测试 学生点击登录,系统将以表格形式展示该学生所选课程,若有成绩的话将显示成绩。学生的个人信息展示在右上角:
图4.2.15
4.4教师功能测试 教师登录系统后,系统将会展示该教师所教的课程以及选课人数:
图4.2.16
点击对应课程后面的录入成绩链接,系统将展示所有选择该课程的学生信息,点击最后的编辑可以更新成绩:
图4.2.17
输入完毕后点击更新即可更新成绩:
图4.2.18
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。