学生成绩管理系统柏昆鹏文档格式.docx
《学生成绩管理系统柏昆鹏文档格式.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统柏昆鹏文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
引言
当今时代在各行各业中离不开对信息处理,这正是计算机被广泛应用于学生成绩管理信息管理系统的环境。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。
实现学生成绩信息管理工作流程的系统化、规范化和自动化。
目前人工统计成绩的管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。
在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。
一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩。
学生成绩管理与分析系统提供了强大的与分析管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。
第1章系统的需求分析
1.1学生成绩管理系统设计的功能需求分析
学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,该系统是以C#编程+SQLSERVER数据库语言编写的,其系统功能在内部IIS服务器上运行。
系统管理员、教师、学生只需通过简单的操作,用户都可以了解本系统软件的基本工作原理。
用户只需进行输入一些简单的汉字、数字,或用鼠标点击即可达到自己想要的目标。
(1)管理员能够实现对整个学生信息的添加、修改、删除、查询等操作,对教师用户的添加、删除、修改等操作。
(2)可以让学生和老师快速查询成绩,查看排名等信息,从而达到资源共享的目的。
(3)教师能够在一定的权限内对所有学生成绩的查询,所有教师信息的查询,对学生成绩的录入,统计学生成绩以及修改自己的密码。
(4)学生可以在自己的权限内对对自己成绩的查询,以及个人信息的查询,登录密码的修改等操作。
1.2学生成绩管理系统的可行性分析分析
可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。
也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解,研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。
一般说来,应从经济可行性、技术可行性、运行可行性、法律可行性和开发方案可行性等方面研究可行性。
(1)技术可行性分析
技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户(这里是校方)提出的要求(如计算机的容量、速度等)。
此外,还要考虑开发人员的水平,做为计算机软件技术专业毕业的学生,我们对于数据库的设计有一定的基础,在学校里生活了这么些年,对这个成绩管理模式应该还比较熟悉。
系统的编写,是可编的。
我们掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的认识与一定的动手实践能力。
从一定程度上具备了开发一个小型系统的能力。
(2)经济可行性分析
主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。
这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统就可以搞起来,考虑到学校里有电脑,现只要购置一台打印机就可以了。
从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。
(3)运行可行性分析
当今教育正在迅猛发展,学院从硬件到软件都投入了大量的人力、物力、财力,在教务上,给各个办公室配置了计算机,并能联接到互联网,并且,学院领导对这方面比较重视,在教务上配置了一定数目的能够训练操作计算机的干事,可以快速、方便、高效地使用计算机进行日常工作。
学院开展了计算机组装与维护专业课程,可让学生以实践方式对系统进行维护。
使此系统在实践上具备了可行性。
由此可知,开发系统在学校中具有可行性。
1.3运行环境简介
本学生成绩管理与分析系统开发与运行环境如下:
开发环境:
WindowsXP
数据库管理系统:
SQLSERVER2000
软件平台:
VisualStudio2005
运行环境:
Windows98/NE/2000/XP+IIs
服务器CPU:
PIII500以上,内存:
512M以上
客户机CPU:
P200MMX以上,内存:
32M以上
第2章系统设计与分析
2.1数据库需求分析
学生成绩管理系统以学生为主要主体,因此在这个系统中必须要有一个保存学生信息的表。
这个表的各个字段应该包括学生的基本属性。
如:
学生的姓名、学号、所在班级等。
其中学号应该唯一。
所以用学号做主键。
管理学生的系统管理员和老师,这样看来就应该有保存管理员信息的表和保留老师信息的表,其中的字段和学生表类似,也是一些基本信息。
并且分别以管理员编号和老师编号作为主键。
在一个系统中,不可避免的要有学生的成绩。
这样的话就必须有一个成绩表,该表保存成绩信息。
学生可以按照自己的喜好,在学校开设的某些课程中选择自己喜欢的课程。
这也是符合现今教学特点的。
根据这些分析,在成绩表中,以成绩编号为主键,以课程号、学生号为外码,另外当然还有一个成绩自段用来保存某同学某科目的成绩。
这样的数据库结构设计能够满足其中需求。
除此之外,还有一些学校基本设置的表。
班级表等。
以上这些就是系统的数据库需求分析。
数据库的概念设计,即利用数据模型进行概念数据库的模式设计。
它不依赖任何DBMS(数据库管理系统)常用的数据模型为ERM(实体-关系模型),用到的术语有:
实体、属性、联系、键。
根据学生成绩管理与分析系统的需求,设计出以下的实体-关系模型(E-R)图如图2-1所示。
图2-1E-R图
数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。
数据库设计的特点可概述为:
数据库建设是硬件、软件和干件的结合。
技术与管理的界面称之为“干件”。
数据库设计应该与应用系统设计相结合,结构(数据)设计:
设计数据库框架或数据库结构,行为(处理)设计:
设计应用程序、事务处理等,结构和行为分离的设计。
传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计具体可如图2-2所示。
图2-2数据库设计
根据系统的需求分析及数据库的感念设计,得到以下的数据库表和表的相关说明如下数据字典。
数据字典包含本系统数据库中重要数据信息的集合,包含每个表中的字段,数据类型,长度等一些信息,进行详细的描述。
(1)学生信息表(Student),主键StuID,用来存储学生学号,字段ID用来存储编号,StuName用来存储学生用户名称,StuPwd用来存储学生用户密码,StuClass用来存储用户所在班级,学生信息表的结构及相关说明如表2.1所示。
表2.1学生信息表
字段名称
数据类型
说明
ID
自动编号
编号
StuID
数字
学号,主键
StuName
文本
姓名
StuClass
班级编号
StuPwd
密码
(2)管理员信息表(Administertor),AID用来存储管理员帐号,APwd来存储用户密码,管理员信息表的结构及相关说明如表2.2所示。
表2.2管理员信息表
AID
管理员帐号
APwd
(3)教师信息表(Teacher)主键TechID,用来存储教师编号,TechCourse用来存储教师用户名称,StuPwd用来存储教师登陆密码,教师信息表的结构及相关说明如表2.3所示。
表2.3教师信息表
TechID
编号,主键
TechCourse
教授的课程
TechPwd
(4)成绩表(StudentGrade)主键StuID,用来存储学生学号,StuClass用来存储学生所在班级,StuName用来存储学生姓名,StuGradeChinese用来存储语文成绩,StuGradeMath用来存储数学成绩,StuGradeEnglish用来存储英语成绩,StuGradePolitics用来存储语文成绩,StuGradeHistory用来存储历史成绩,StuGradeGeography用来存储地理成绩,StuGradePhysics用来存储物理成绩,StuGradeChemistry用来存储化学成绩,StuGradeOrganisms用来存储生物成绩,Stusum用来存储学生总成绩,成绩表的结构及相关说明如表2.4所示。
表2.4成绩表
学生学号,主键
班级
StuGradeChinese
语文
StuGradeMath
数学
StuGradeEnglish
英语
StuGradePolitics
政治
StuGradeHistory
历史
StuGradeGeography
地理
StuGradePhysics
物理
StuGradeChemistry
化学
StuGradeOrganisms
生物
Stusum
总分
2.2连接数据库的设计分析
系统采用SQLSERVER数据库和+C#语言制作,所以要用到的connection对象和SQLSERVER驱动连接到数据库。
其实现代码如下所示。
stringconter="
DataSource=.;
InitialCatalog=系统;
IntegratedSecurity=True"
;
SqlConnectionmycon=newSqlConnection(conter);
mycon.Open();
stringsql="
selectStuPwd,StuNamefromstudentwhereStuID='
"
+textBox1.Text.Trim()+"
'
SqlCommandmycom=newSqlCommand(sql,mycon);
SqlDataAdaptermyda=newSqlDataAdapter(mycom);
DataSetmyds=newDataSet();
myda.Fill(myds);
只有成功连接到了数据库才能进行其他操作,否则就无法开展以下的设计与实现工作了。
可见,连接数据库是一个很关键的步骤。
2.3系统设计
系统总体结构设计是要根据系统分析的要求和组主的实际情况来对新系统的总体结构形式和可利用的阻援进行大致的设计,是宏观上的规划。
(一)系统用例图
系统总体用例图如图2-3所示。
图2-3系统总体用例图
(二)系统活动图
系统总体活动图如图2-4所示。
图2-4系统活动图
(三)功能模块图
系统总功能模块图如图2-5所示。
图2-5系统功能模块图
学生成绩管理子系统可按照功能、顺序、数据、过程、时间和环境进行划分。
根据本系统的实际情况,按照功能可将此系统划分为以下子系统:
学生登陆管理子系统、教师登陆管理子系统、管理员登陆管理子系统。
(1)学生登陆管理子系统结构设计
学生信息的管理权限分配给管理员和教师,学生除了可以查看自己的成绩信息。
学生登陆管理主要实现对学生相关属性的管理等操作,其结构图如图2-6所示。
图2-6学生登陆管理子系统结构图
(2)教师登陆管理子系统
教师管理子系统主要实现对学生成绩设置的查询,添加,修改,删除等操作。
其结构图如图2-7所示。
图2-7教师登陆管理子系统结构图
(3)管理员登陆管理子系统
管理员登陆管理子系统分为对教师信息的查询,修改,删除,添加和查看学生成绩的功能。
其结构如图2-8所示。
图2-8管理员登陆管理子系统结构图
(四)系统模块设计分析
1、登陆界面设计
登陆界面数据链接代码:
SqlConnectionmycon=newSqlConnection(conter);
登录界面如图2-9所示
图2-9登录界面
登录代码:
if(myds.Tables[0].Rows.Count!
=0)
{
if(textBox2.Text.Trim()==myds.Tables[0].Rows[0][0].ToString().Trim())
a=myds.Tables[0].Rows[0][1].ToString().Trim();
StuQuestionmyfrom=newStuQuestion();
myfrom.ShowDialog(this);
this.Visible=false;
}
else{MessageBox.Show("
密码错误!
);
}
else
stringsql1="
selectTechPwd,TechCoursefromTeacherwhereTechID='
+textBox1.Text.Trim()+"
SqlCommandmycom1=newSqlCommand(sql1,mycon);
SqlDataAdaptermyda1=newSqlDataAdapter(mycom1);
DataSetmyds1=newDataSet();
myda1.Fill(myds1);
if(myds1.Tables[0].Rows.Count!
if(textBox2.Text.Trim()==myds1.Tables[0].Rows[0][0].ToString().Trim())
a=myds1.Tables[0].Rows[0][1].ToString().Trim();
TechQuestionmyfrom=newTechQuestion();
myfrom.Show();
this.Visible=false;
else{MessageBox.Show("
2、主界面设计
学生成绩查询主界面模块设计,其界面如图2-10,图2-11所示。
图2-10管理系统查询
注:
跳转该界面是,都是把学生班级信息传入,是该界面加载时只显示本班的学生信息
图2-11学生成绩查询界面模块图
查询学生成绩信息模块的主要实现代码如下所示。
{
SqlConnectionmycon=newSqlConnection(conter);
if(comboBox1.Text.ToString().Trim()=="
学号"
)
selectStuNamefromStudentGradewhereStuID='
+textBox1.Text.ToString().Trim()+"
SqlCommandmycom=newSqlCommand(sql,mycon);
if(myds.Tables[0].Rows.Count!
=0)
select*fromStudentGradewhereStuID='
dataGridView1.DataSource=myds1.Tables[0];
MessageBox.Show("
提供的学生信息错误!
textBox1.Text="
elseif(comboBox1.Text.ToString().Trim()=="
姓名"
selectStuIDfromStudentGradewhereStuName='
select*fromStudentGradewhereStuName='
mycon.Close();
3、学生信息维护设计分析
其界面如图2-12所示。
图2-12学生信息维护界面
添加学生信息界面如图2-13
图2-13学生信息添加
主要实现代码如下所示。
if(textBox1.Text.ToString().Trim()=="
请输入学号!
elseif(textBox2.Text=="
请输入密码!
elseif(textBox3.Text=="
请输入姓名!
elseif(textBox4.Text=="
请输入班级!
stringconter1="
InitialCatalog=学生成绩管理系统;
SqlConnectionmycon1=newSqlConnection(conter1);
mycon1.Open();
insertintoStudent(StuID,StuPwd,StuName,StuClass)
values('
'
+textBox2.Text.ToString().Trim()+"
+textBox3.Text.ToString().Trim()+"
+textBox4.Text.ToString().Trim()+"
)"
SqlCommandmycom=newSqlCommand(sql,mycon1);
try
mycom.ExecuteNonQuery();
catch(Exception)
学号已存在"
修改学生信息界面如图2-14所示。
图2-14学生信息修改
模块的主要实现代码如下所示:
stringsel="
updatestudentsetStuPwd='
+textBox2.Text+"
StuName='
+textBox3.Text+"