学生成绩管理系统的设计与实现Word格式文档下载.docx
《学生成绩管理系统的设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统的设计与实现Word格式文档下载.docx(27页珍藏版)》请在冰点文库上搜索。
![学生成绩管理系统的设计与实现Word格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/7/796a1ebc-41ec-443d-b09f-cc015c6466d4/796a1ebc-41ec-443d-b09f-cc015c6466d41.gif)
1.2系统及开发工具介绍
随着学生数量的增加,学生的各种信息和成绩也成倍增长。
给学校的日常管理造成了一定的压力,有的学校用人工的方法,增加一些教务人员的工作,或者招聘更多的教务人员,导致了工作效率下降,管理成本提高,有必要开发学生成绩管理系统来提高学生成绩管理工作的效率。
通过这样的系统,可以做到学生成绩的规范管理、科学统计和快速查询,从而降低教务人员的工作压力,把更多的时间可以运用到提高教育质量上,复杂重复的工作很多都可以用MIS管理系统来完成。
本系统通过应用
MicrosoftVisualStudio2010、SQLServer2008技术开发了本系统。
winform应用程序和其他windows应用程序一样,也是由两大部分组成的:
一是用户界面,二是应用于处理逻辑。
用户是通过窗口、菜单和窗口上的各种控件等界面元素来操作应用程序的,而应用处理逻辑是通过事件和函数中的程序代码来实现的。
它可以实现各种成绩的管理操作。
本学生成绩管理系统具有较强的应用性和实用性。
第二章系统需求分析
1.1需求分析
学生成绩管理系统主要提供学生人员管理,成绩管理的信息平台。
管理员可以对学生和教师信息进行添加,修改,和删除,学生成绩的汇总,以及数据库的备份,还原,维护等操作。
教师可以通过系统输入学生成绩,修改学生成绩,删除学生成绩,查询学生班级成绩,查询重考(补考)名单等操作。
学生可以通过系统查询自己的相关信息和成绩,以及班级排名等操作。
学生成绩管理系统主要应用于学校,可以帮助教师管理学生成绩和学生查询自己的相关信息。
因此,开发学生成绩管理系统可使教师减轻工作压力,比较系统地对学生成绩进行管理。
同时,也方便学生及时了解自己的相关信息。
由此看来,开发一套完整的,统一的学生成绩管理系统是很有必要的。
1.2功能分析
学生成绩管理系统是由用户信息管理,单科成绩管理,期末成绩管理,重考管理,查询学生信息和成绩等部分组成的。
具体功能介绍如下:
(1)用户信息管理:
用于对教师和学生基本信息的添加,修改,以及教师和学生登录系统的密码修改等操作。
(2)单科成绩管理:
用于教师对学生单科成绩的添加,修改,删除等操作。
(3)期末成绩管理:
用于管理员对学生期末成绩的汇总,修改,删除等操作。
(4)重考管理:
用于教师对需要重考的学生名单的查询,以及重考成绩的添加,修改,删除等操作。
(5)查询学生信息和成绩:
用于学生对自己信息和成绩的查询。
1.3总体功能模块图
图2-1总体功能模块图
1.4模块功能描述
学生成绩管理系统共有五个模块:
用户信息管理,单科成绩管理,期末成绩管理,重考管理和查询学生成绩。
这五个模块既相互联系又相互联系。
1.4.1用户管理
本模块主要有教师和学生基本信息的添加,修改,以及教师和学生登录系统的密码修改等功能。
(1)教师和学生信息管理
系统管理员对系统内教师和学生的信息进行添加,如果有错误可以进行修改和删除。
在信息添加的过程中,需要输入教师的教师号,姓名,性别,年龄,所教科目,电话等信息和学生的学号,姓名,班级,性别,年龄,年级等信息。
(2)密码修改
教师和学生可以通过系统修改自己的登录密码,教师的默认登录账号和登录密码为教师号,学生的默认登录账号和登录密码为学号。
1.4.2单科成绩管理
本模块主要用于教师添加,修改和删除学生的单科成绩,而且教师只能对自己所教的科目进行操作。
1.4.3期末成绩管理
本模块主要用于所有教师添加完单科成绩后,管理员汇总学生的期末成绩。
如果期末成绩有错可以进行修改和删除。
在期末成绩汇总的过程中也进行学生期末成绩的班级排名。
1.4.4重考管理
本模块主要用于教师查询重考名单和重考成绩管理。
(1)查询重考名单
教师通过系统查询需要重考的人数和名单,从而知道及格率和教学情况。
(2)重考成绩管理
教师通过系统添加学生重考成绩,以及修改和删除等操作。
同时,重考成绩也会更新在学生的成绩表中。
1.4.5查询学生信息
本模块主要用于学生查询自己的信息,同时也能查询到自己的期末各科成绩和单科成绩。
第三章数据流图和数据字典
3.1数据流图
(1)顶层DFD
图3-1顶层DFD
(2)第0层DFD
图3-2第0层DFD
(3)第1层DFD
1)查询学生成绩数据流图
图3-3查询学生成绩数据流图
3.2数据字典
(1)数据流描述
表3-1信息管理数据流
系统名称
学生成绩管理系统
编号
F1
名称
信息管理
来源:
系统管理员
去处:
教师,学生信息管理
数据流结构:
教师信息=教师号+姓名+性别+年龄+所教科目+电话。
学生信息=学号+姓名+班级+性别+年龄+年级。
简要说明:
教师号和学号都为自定义编号。
表3-2密码修改数据流
F2
密码修改
教师,学生
登录信息=教师号或学号+密码
登录成功后即可修改密码。
表3-3管理成绩数据流
F3
管理成绩
教师
单科成绩管理
单科信息=单科号+单科名。
教师可进行成绩添加,修改和删除。
表3-4汇总成绩数据流
F4
汇总成绩
期末成绩管理
科目信息=科目号+科目名。
管理员可进行总成绩的汇总,修改和删除。
表3-5重考管理数据流
F5
重考管理
重考科目信息=科目号+科目名。
教师可进行重考名单的查询,以及重考成绩的添加,修改和删除。
表3-6查询结果数据流
F6
查询结果
重考管理和查询学生信息
查询信息=学号+姓名+班级+性别+年龄+年级+学科名+学科成绩。
查询信息的内容都是学生信息。
表3-7查询信息数据流
F7
查询信息
学生
查询学生信息
学生可查询自己的信息,成绩和班级排名。
(2)数据存储描述
表3-8教师信息数据存储
D1
教师信息表
组织形式:
按教师号从小到大排列
关键字:
教师号
记录组成:
{教师信息}
存放所有教师的个人信息
表3-9学生信息数据存储
D2
学生信息表
按学号号从小到大排列
学号
{学生信息}
存放所有学生的个人信息
表3-10单科成绩信息数据存储
D3
单科成绩表
按学号从小到大排列
{单科成绩信息}
存放所有学生的某一课程的成绩信息
表3-11总成绩信息数据存储
D4
总成绩表
{所有成绩信息}
存放某一位学生的所有成绩信息
(3)数据处理描述
表3-12用户信息数据处理
学生成绩系统
P1
用户信息管理
输入:
教师,学生信息
输出:
教师,学生信息文件
处理过程:
添加,修改,删除教师和学生信息
表3-13单科成绩数据处理
P2
学生单科成绩信息
学生单科成绩信息文件
添加,修改,删除学生单科成绩
表3-14期末成绩数据处理
P3
学生所有单科成绩信息
学生总成绩信息文件
汇总,修改和删除学生总成绩
表3-15重考数据处理
P4
学生重考成绩信息
学生重考名单和成绩文件
添加,修改,删除学生重考成绩
表3-16查询学生信息数据处理
P5
学生信息文件
学生信息和成绩文件
查找学生的所有信息。
第四章数据库设计
4.1E-R图
(1)学生总体E-R图
图4-1学生总体E-R图
4.2二维表
表4-1学生信息表
字段名
字段解释
数据类型及长度
关键字
可空
stu_num
学号/密码
char(12)
是
否
stu_name
学生姓名
stu_age
年龄
char(3)
stu_sex
性别
char
(2)
stu_cla
年级
stu_roo
班级
表4-2单科成绩信息表
sig_num
课程编号
sig_name
课程名称
sig_res
成绩
表4-3总成绩信息表
all
总分
char(5)
第五章系统设计和实现
5.1主要运行界面及功能代码
5.1.1系统实现界面
1.学生登录
(1)功能描述
学生的学号作为登录本系统的用户名和密码。
学生输入正确的用户名和密码,单击“点我登录”按钮时,就可以进入学生界面。
如果没有输入用户名和密码或用户名和密码错误时,则仍停留在登陆界面。
(2)模块流程图
图5-1学生登录流程图
(3)实现界面
1)登录界面
图5-2学生登录界面
2)学生界面
图5-3学生界面
2.学生信息查询
(1)功能描述
学生成功登录本系统后,可以查询自己相关信息。
(2)模块流程图
图5-4学生查询信息流程图
(3)实现界面
图5-5查询个人信息
3.学生成绩查询
学生成功登录本系统后,可以查询自己的期末总成绩和单科成绩。
图5-6学生成绩查询流程图
1)学生期末总成绩查询
图5-7学生期末总成绩查询
2)学生单科成绩查询
图5-8学生单科成绩查询
5.1.2重点程序代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespace学¡
ì
生¦
¨
²
成¨
¦
绩¡
§
管¨
¹
理¤
ª
系¦
Ì
统ª
3
{
publicpartialclass学¡
:
Form
{
public学¡
()
InitializeComponent();
}
privatevoidbtn_inf_Click(objectsender,EventArgse)//信?
息¡
é
学¡
信?
formstuinf=new学¡
();
formstuinf.Show();
this.Hide();
privatevoidbtn_res_Click(objectsender,EventArgse)//成¨
formstures=new学¡
formstures.Show();
privatevoidbtn_clo_Click(objectsender,EventArgse)//取¨
?
消?
this.Close();
}
usingSystem.Data.SqlClient;
stringstrcon=@"
DataSource=DP-201208161629\SQLEXPRESS;
InitialCatalog=学¡
3;
IntegratedSecurity=True"
;
//链¢
¡
ä
接¨
®
字Á
符¤
串ä
privatevoidbutton1_Click(objectsender,EventArgse)//返¤
回?
上¦
一°
级?
formstu=new学¡
formstu.Show();
privatevoidbtn_selinf_Click(objectsender,EventArgse)//查¨
询¡
¥
个?
人¨
dataGridView1.Visible=true;
SqlConnectioncon=newSqlConnection(strcon);
con.Open();
stringstrcom="
selectstu_numas学¡
号?
stu_nameas姓?
名?
stu_ageas年¨
º
龄¢
stu_sexas性?
别À
e,stu_claas年¨
stu_rooas班ã
¤
stu_majas专Á
业°
fromStudentwherestu_num='
20114851'
"
SqlCommandcom=newSqlCommand(strcom,con);
SqlDataAdapterda=newSqlDataAdapter(com);
DataSetds=newDataSet();
da.Fill(ds);
dataGridView1.DataSource=ds.Tables[0];
con.Close();
stringstrcon=@"
privatevoidbtn_back_Click(objectsender,EventArgse)//返¤
privatevoid学¡
_Load(objectsender,EventArgse)
SqlConnectioncon=newSqlConnection(strcon);
stringstrcom="
gaodengshuxueas高?
等Ì
数º
y学¡
lisanshuxueas离¤
散¦
daxueyingyuas大ä
学¡
英®
语®
netasNET编À
程¨
¬
databasesas数º
y据Y库afromStudent_restult"
label2.Text="
:
ê
o"
+ds.Tables[0].Rows[1][0].ToString();
label3.Text="
姓?
+ds.Tables[0].Rows[1][1].ToString();
label4.Text="
高?
+ds.Tables[0].Rows[1][2].ToString();
label5.Text="
离¤
+ds.Tables[0].Rows[1][3].ToString();
label6.Text="
大ä
+ds.Tables[0].Rows[1][4].ToString();
label7.Text="
.NET编À
+ds.Tables[0].Rows[1][5].ToString();
label8.Text="
y据Y库a课?
设¦
计?
+ds.Tables[0].Rows[1][6].ToString();
privatevoidbtn_sel_Click(objectsender,EventArgse)//查¨
stringstrcom=string.Format("
select{0}fromStudent_restultwherestu_num='
textBox1.Text.Trim());
try
SqlDataAdapterda=ne