声明:不一定正确,只是想存起来,毕竟是自己的心血,以防数据丢失,找不到
1 需求分析
为教学管理部门开发一个学生成绩管理系统,方便教学管理工作。
- 数据库设计: 参考相关学校的教学管理规范,设计出数据库和表结构(如管理员表、教师表、课程表、学生表、学生选课信息表等),录入部分初始数据,并测试字段有效性、表间约束等,保证数据库设计正确。
- 界面风格设计:确定系统风格,尽量格调一致。
- 用户管理:本系统用户分为系统管理员、教师、学生,不同级别用户在登陆后的操作权限不同。管理员用户能管理教师和课程信息以及学生选课情况信息,并能进行相应统计及数据导出。教师能查看学生选课情况信息并能进行成绩录入。学生能查看自己的成绩信息。
- 具体功能:
- 管理员管理:增加、修改、删除
- 教师管理:增加、修改、删除
- 课程管理:增加、修改、删除
- 学生信息管理:增加、修改、删除
- 学生选课信息管理:增加、修改、删除
- 学期管理
- 成绩管理
成绩录入
成绩修改
-
- 成绩查询
教师查询
学生查询
1.1系统概述
本系统主要有四个界面:登陆界面,学生界面,辅导员界面,管理员界面。首先要通过登陆,才能浏览系统信息,若非本学院的人,则不可以浏览。若果是学生,登陆后可以查看、修改个人信息,也可以查看、修改个人的家庭信息,查看个人获奖情况、缺旷考核情况。若果是辅导员,登陆后可以查看、修改个人信息,可以查看学生的基本信息(学生个人信息,学生家庭信息),辅导员也可以修改学生的获奖信息、缺旷考核信息,查看专业信息。若果是管理员,可以删除、修改、管理所有信息。
1.2 功能需求分析
1.2.1.登陆模块
用户名,密码,权限。
1.2.2.学生模块
个人信息,查看与修改;课程信息及成绩,查看;选课信息,添加。
1.2.3.教师模块
个人信息,查看与修改;学生基本信息,查看与修改;学生选课信息及成绩,查看与修改。
1.2.4.管理员模块
个人信息,查看与修改;学生、教师信息增删改查等,专业信息的增删改查;课程信息的增删改查;教师授课信息的增删改查;学生选课信息的增删改查。
1.3运行环境
SQL Server 2019,visual studio 2019
1.4测试数据
学生修改个人信息:
图1-4-1 学生修改个人信息
教师查看学生基本信息:
图1-4-2查看学生基本信息
教师修改选课信息及成绩
图1-4-3修改选课信息
管理员调试
管理员添加专业
图1-4-4添加专业
管理员添加课程
图1-4-5添加课程
这里只选择了一部分功能进行测试,详见后面调试分析。
2 概要设计
2.1 设计思路
本文针对学生信息管理,建立了对学生信息的基本管理的解决方案,系统基于B/S模式,采用visual studio 2019,SQL server 2019作为主要开发的工具,使用c#.net对SQL Server数据库的基本操作。本系统主要是由三个部分组成:学生部分,教师部分,管理员部分。
系统对分别对学生,教师,管理员不同的操作特点,做出需求分析,而且根据各个操作功能的实现,完成了三大部分的模块的划分,设计出数据库。
2.2 模块功能介绍
1)学生登录
操作描述:登录界面主要包括用户名,密码,验证码的输入,学生用户名是学号,默认密码是123456,学生有权修改自己的密码,验证码是随机生成的带数字与字母的字符,当所有信息验证成功后才登录成功,进入学生界面。
涉及数据:学生用户名,密码,验证码。
- 教师登录
操作描述:登录界面主要包括用户名,密码,验证码的输入,教师的用户名是教师号默认密码是123456,教师有权修改个人密码,验证码是随机生成的带数字与字母的字符,当所有信息验证成功后才登录成功,进入教师界面。
涉及数据:教师用户名,密码,验证码。
- 管理员登录
操作描述:登录界面主要包括用户名,密码,验证码的输入,管理员用户名与密码是个人的管理员号,验证码是随机生成的带数字与字母的字符,当所有信息验证成功后才登录成功,进入管理员界面。
涉及数据:管理员用户名,密码,验证码。
2.2.2输入功能
操作描述:管理员有权录入学生信息,登陆管理员界面,在新增人员的二级下拉列表处选择新增学生信息,根据提示输入学号、姓名等信息。
涉及数据:学号,姓名,性别,出生日期,所属年级,民族,籍贯,政治面貌,手机号,身份证号,入校成绩。
(2)教师信息录入
操作描述:管理员有权录入教师信息,登陆管理员界面,在新增人员的二级下拉列表处选择新增教师信息信息,根据提示输入教师号、姓名等信息,点击确定按钮会弹出消息框选择是否要把教师信息同步到登陆表中,点击确定即可新增教师的登录信息。
涉及数据:教师编号,姓名,年龄,性别等。
(3)课程信息录入
操作描述:管理员进入对应页面,录入课程信息及授课信息。
涉及数据:课程信息及授课信息。
- 专业信息录入
操作描述:管理员进入对应页面,录入专业信息。
涉及数据:专业信息。
- 学生选课信息录入
操作描述:由学生自己选课,录入信息。管理员和教师也可进入对应页面增加选课信息。
涉及数据:选课信息,课程信息
2.2.3数据查询功能
操作描述:学生可以在主界面点击查看个人信息即可进入对应的界面,查看个人信息。
涉及数据:学生信息
(2)学生选课信息查询
操作描述:学生可以在主界面点击查看个人选课信息即可进入对应的界面,可通过学学期等筛选查询。但是不能修改,修改需要找教师。
- 学生成绩查询
操作描述:教师和学生可以在主界面点击查看成绩进入对应界面,通过开课学期、课程名称等进行筛选。
涉及数据:学生个人成绩
(4)教师个人信息查询
操作描述:教师可以查询个人信息,首先进入教师主界面,在菜单中点击查看个人信息即可完成对个人信息的查询
涉及数据:教师个人信息
(5)管理员个人信息查询
操作描述:管理员点击查看个人信息,可以进入对应页面查看自己的基本信息。
涉及数据:管理员个人信息
- 专业信息查询
操作描述:管理员点击查看专业信息,可以进入对应页面查看专业信息。
涉及数据:专业信息
- 课程信息查询
操作描述:管理员点击查看课程信息,可以进入对应页面查看课程信息,包括教师授课和学生选课信息。
涉及数据:课程信息,教师授课,学生选课
2.2.4数据删除,修改功能
(1)学生个人信息
操作描述:学生可以在主界面点击查看个人信息即可进入对应的界面,同时学生可以对个人信息中的部分进行修改,也可以修改自己的密码,密码忘记可以找教师修改为默认密码。(专业等不能修改。)
涉及数据:学生信息
- 教师个人信息的修改
操作描述:教师可以在主界面点击查看个人信息即可进入对应的界面,同时教师可以对个人信息进行修改,也可以修改自己的密码,密码忘记可以找管理员修改为默认密码。
涉及数据:教师信息
- 管理员个人信息的修改
操作描述:管理员可以在主界面点击查看个人信息即可进入对应的界面,同时管理员可以对个人信息进行修改,也可以修改自己的密码。
涉及数据:管理员信息
(4)教师对学生信息的修改
操作描述:教师有权的学生的信息进行修改,首先进入教师的主界面,主页中包含所有学生基本信息,从主页按学号或年级找到学生点击详情及修改即可进入对应界面,对学生除学号之外的任意项进行修改,也可以修改学生密码。
涉及数据:学生基本信息,学生详细信息
- 教师对学生选课信息的修改、删除及成绩录入
操作描述:教师有权的学生的选课信息进行修改,首先进入教师的主界面,主页中包含所有学生选课信息,从主页按学号或年级找到学生点击详情及修改即可进入对应界面,进行修改选课信息以及成绩录入。
涉及数据:学生基本信息,学生详细信息
(6)教师信息的修改及删除
操作描述:管理员有权对教师的信息进行修改,首先进入管理员的主界面,点击菜单中的教师信息进入相应的界面,界面中显示了所有教师的信息,每一位教师的后面有删除和编辑的按钮点击即可完成修改。管理员有权修改教师的密码。
涉及数据:教师信息
(7)学生信息的修改和删除
操作描述:管理员有权进行学生信息的删除和修改,进入管理员主界面,可以看到所有学生的信息,每一位学生后面对应删除按钮,点击删除即可删除这名学生,同时,删除该名学生的选课信息及成绩;点击修改,即可进入该学生的详细页面,进行修改,点击修改按钮修改弹出修改成功对话框。
涉及数据:学生基本信息,选课信息
(8)课程信息的修改和删除
操作描述:管理员点击查改课程,即可进入对应界面看到所有的课程信息,可通过课程性质和课程号课程名进行查找课程,点击每条课程信息后的修改即可进入该课程信息的详细页面进行课程信息的修改,点击删除即可删除该条信息。
涉及数据:课程信息
(9)专业信息修改和删除
操作描述:管理员点击专业管理,即可进入对应界面看到所有的专业信息,可通过所属学院和专业号专业名进行查找专业,点击每条专业信息后的修改即可进入该专业信息的详细页面进行专业信息的修改,点击删除即可删除该条信息。
涉及数据:专业信息
- 教师授课信息的修改和删除
操作描述:管理员点击教师授课管理,即可进入对应界面看到所有的授课信息,可通过学期、课程性质、课程号课程名、授课教师进行查找授课信息,点击每条授课信息后的修改即可进入该专业信息的详细页面进行授课信息的修改,点击删除即可删除该条信息。
涉及数据:教师授课信息
- 学生选课信息的修改和删除
操作描述:管理员点击学生选课管理,即可进入对应界面看到所有的选课信息,可通过学期、课程性质、课程号课程名、授课教师进行查找选课信息,点击每条选课信息后的修改即可进入该专业信息的详细页面进行选课信息的修改,点击删除即可删除该条信息。
涉及数据:学生选课信息
2.2.5登录密码的修改
- 学生登陆密码的修改
操作描述:教师和管理员有权对学生的登陆密码进行修改,首先进入教师主界面,点击菜单中对应的链接进入相应的界面选择学生登陆密码修改即可根据提示进行重置,点击确认后弹出对话框询问是否重置该同学的密码,点击确认即可完成对密码的重置。
涉及数据:学生登陆密码
- 教师登录密码的修改
操作描述:教师有权对个人的登陆密码进行修改,首先进入教师主界面,点击菜单中对应的链接进入相应的界面选择教师一项,用户名会自动显示为个人的教师号输入自己的需要更改的密码及确认密码即可完成修改。忘记密码可找管理员重置密码。
涉及数据:教师登陆密码
2.3模块结构
1)登陆模块
登录模块主要包括用户名,登录身份(学生,教师,管理员),登录密码。登录界面如图2-3-1 所示。
图2-3-1 登录
2)学生模块
学生模块的主要功能有:(1)查看、修改少部分个人信息 (2)查看个人选课情况以及成绩。功能菜单如图2-3-2所示。
图2-3-2学生模块的功能菜单
3)教师模块
教师模块的主要功能有:(1)查看、修改少部分个人信息(2)查看及修改学生的基本信息(3)修改个人及学生密码(4)查看和修改学生选课信息及成绩的录入和修改。教师模块的功能菜单如图2-3-2所示。
图2-3-3教师功能菜单
4)管理员模块
管理员模块的主要功能有:(1)增加修改删除学生信息(同时删除该学生的选课信息)(2)增加修改或删除教师信息,(3)增加修改或删除课程信息及授课和选课信息,(4)增加修改或删除专业信息,(5)增加学生、教师、课程或专业信息,(6)查看、修改个人基本信息和密码(7)重置教师密码或学生密码(8)课程信息的增删改查。管理员模块的功能菜单如图2-3-4所示。
2-3-4管理员功能菜单
2.4 流程图
图2-4-1 系统功能流程图
局部E-R图如图2-4-2所示
图2-4-2 局部ER图
全局ER图如图2-4-3所示
图2-4-3全局ER图
2.5 功能设计分工
-
- 数据库名称及描述
1 学生表:其中包含一些学生的基本情况。
2 教师表:包含教师的基本情况。
3 专业表:包括专业的相关信息。
4 课程表:包含课程本情况。
5 教师授课表:录入教师授课信息。
6 学生选课表:包括学生选课信息及成绩情况。
7 管理员表:包含管理员基本信息。
-
- 数据表
表1.学生表
字段名 | 数据类型 | 是否允许空 | 默认值 | 备注(主外键、字段说明、值域) |
学号 | Char(13) | 否 | 无 | PK |
密码 | Char(10) | 否 | 123456 | |
姓名 | Nchar(6) | 否 | 无 | |
性别 | Nchar(1) | 否 | 男 | 只能为’男’或’女’ |
出生日期 | Smalldatetime | 是 | 无 | |
所属年级 | Nchar(5) | 否 | 无 | |
民族 | Nchar(8) | 否 | 无 | |
籍贯 | Nchar(20) | 否 | 无 | |
政治面貌 | Nchar(6) | 否 | 无 | |
手机号 | Char(11) | 否 | 无 | Like’1[1-9][1-9][1-9][1-9][1-9] [1-9][1-9][1-9][1-9][1-9]’ |
邮箱 | Char(20) | 是 | ||
身份证号 | Char(18) | 否 | Like’ [0-9][0-9][0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9][0-9][0-9,X] | |
入校成绩 | numeric(4, 1) | 是 | ||
兴趣爱好 | Nvarchar(20) | 是 | ||
头像 | image | 是 | ||
备注 | Nvarchar(500) | 是 | ||
专业 | Char(6) | 否 | 无 |
表2.教师表
字段名 | 数据类型 | 是否允许空 | 默认值 | 备注(主外键、字段说明、值域) |
教师号 | Char(13) | 否 | 123456 | PK |
密码 | Char(10) | 否 | 无 | |
姓名 | Nchar(6) | 否 | 无 | |
性别 | Nchar(1) | 否 | 男 | 只能为’男’或’女’ |
出生日期 | Smalldatetime | 是 | 无 | |
职称 | Nchar(10) | 是 | 无 | |
民族 | Nchar(8) | 否 | 无 | |
籍贯 | Nchar(20) | 否 | 无 | |
政治面貌 | Nchar(6) | 否 | 无 | |
手机号 | Char(11) | 否 | 无 | Like’1[1-9][1-9][1-9][1-9][1-9] [1-9][1-9][1-9][1-9][1-9]’ |
邮箱 | Char(20) | 是 | ||
身份证号 | Char(18) | 否 | Like’ [0-9][0-9][0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9][0-9][0-9,X]’ | |
头像 | Image | 是 | ||
备注 | Nvarchar(500) | 是 |
表3.管理员表
字段名 | 数据类型 | 是否允许空 | 默认值 | 备注(主外键、字段说明、值域) |
管理员号 | Char(13) | 否 | 123456 | PK |
密码 | Char(10) | 否 | 无 | |
姓名 | Nchar(6) | 否 | 无 | |
邮箱 | Char(20) | 是 | ||
手机号 | Char(11) | 否 | 无 | Like’1[1-9][1-9][1-9][1-9][1-9] [1-9][1-9][1-9][1-9][1-9]’ |
表4.课程表
字段名 | 数据类型 | 是否允许空 | 默认值 | 备注(主外键、字段说明、值域) |
课程号 | Char(6) | 否 | 无 | PK |
课程名称 | nchar(10) | 否 | 无 | |
课程性质 | Nchar(8) | 否 | 无 | |
学分 | Numeric(2,1) | 否 | 无 | |
课时 | Int | 否 | 无 |
表5.专业表
字段名 | 数据类型 | 是否允许空 | 默认值 | 备注(主外键、字段说明、值域) |
专业号 | Char(6) | 否 | 无 | PK |
专业名称 | nchar(10) | 否 | 无 | |
所属学院 | Nchar(10) | 否 | 无 |
表6.教师授课表
字段名 | 数据类型 | 是否允许空 | 默认值 | 备注(主外键、字段说明、值域) |
开课班号 | Char(10) | 否 | 无 | PK |
教师号 | Char(13) | 否 | 无 | FK |
课程号 | Char(6) | 否 | 无 | FK |
开课学期 | Char(20) | 否 | 无 |
表7.学生选课表
字段名 | 数据类型 | 是否允许空 | 默认值 | 备注(主外键、字段说明、值域) |
学号 | Char(13) | 否 | 无 | FK, PK |
开课班号 | Char(6) | 否 | 无 | FK,PK |
成绩 | Numeric(4,1) | 否 | 0 |
.........
太多了,不想复制了,上链接: