学生成绩数管理系统Word格式文档下载.docx
《学生成绩数管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生成绩数管理系统Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
第3章详细设计与实现5
3.1界面效果图5
第4章测试12
4.1基础信息设置测试12
总结15
参考文献16
第1章项目概要
1.1功能描述
学生成绩管理系统主要包括管理员管理、教师管理、学生管理等三个功能模块。
1管理员管理系统
管理员管理系统包括课程信息管理、教师信息管理、学生信息管理、学生成绩统计、奖学金获得情况等功能。
(1)课程信息管理包括对课程信息的添加、删除、修改等操作。
(2)学生信息管理包括对学生信息的添加、删除、修改等操作。
(3)学生成绩统计包括对学生总分和平均分,课程的平均分等计算操作。
(4)奖学金获得情况主要是实现统计具有各等级奖学金资格的人数。
2教师管理系统
教师管理系统包括查询学生名单、录入成绩等功能。
(1)查询学生名单就是查询学习所教课程的学生信息。
(2)录入成绩就是为所学的这门课的学生录入成绩,同时能够对成绩进行修改操作。
3学生管理系统
学生管理系统包括查询学生成绩、选修课程、网上评教等功能。
(1)查询学生成绩功能实现查询所学课程的全部成绩。
(2)选修课程功能可以实现对课程的选修操作。
(3)网上评教功能可以对老师所教的课程进行评教。
1.2开发环境与关键技术
1开发环境
OS:
MicrosoftWindowsXPSP2
开发环境:
MicrosoftVisual
Studio2010
其它软件:
Office、MSDNLibrary
2关键技术
面向对象分析与设计
数据库编程
1.3开发进度计划
表1-1预计开发时间
时间(工作日)
阶段
成果
1
项目计划与需求分析
需求描述及用例图(或数据流图)
概要设计与详细设计
系统模块结构图、程序流程图
2
编码与测试2天
源程序、测试用例
项目总结与答辩
课程设计报告
第2章总体设计
2.1系统结构与模块功能
系统包含三个模块:
1管理员管理模块。
包括2个子模块:
(1)课程信息管理;
(2)学生信息管理。
2.教师管理模块。
(1)查询学生名单;
(2)录入成绩。
3.学生管理模块。
包括3个子模块:
(1)查询成绩;
(2)选修课程;
(3)网上评教。
系统的模块图如图2-1所示:
图2-1系统结构图
2.2数据库逻辑级设计
根据数据需求分析,可以为5类对象:
学生信息、课程信息、教师信息、选课、评教分别设计5个基本数据表,如表2-1至2-5所示。
表2-1学生信息表
字段名
字段描述
类型
可否为空
备注
sno
学号
Nvarchar(50)
否
主键
sname
姓名
ssex
性别
ssage
年龄
Smallint
classnum
班号
scholarship
奖学金情况
可
表2-2课程信息表
cno
课程号
cname
课程名
ccreat
学分
smallint
ctime
课时
nature
课程性质
表2-3选课表
cno和sno都是成绩表的外键,(cno,sno,semester)作主键
sno
grade
成绩
technum
教师编号
semester
学期
表2-4教师信息表
教师工号
technam
表2-5评教表
cno和sno都是评教表的外键,(cno,sno)作主键
score
第3章详细设计与实现
开发系统的要求来自对传统管理模式的不满,不管是手工系统还是正在运行的计算机系统。
由于存在的问题充斥各个方面,内容分散,甚至含糊不清,这就要求作者进行详细分析,并在原管理模式的基础上提出系统开发方案。
3.1界面效果图
1.登录界面如图3-4所示。
操作员在进入系统时是需要通过密码验证,方可进入系统主界面。
图3-1学生成绩管理系统登录界面
代码如下:
if((string)comboBox1.SelectedItem=="
教师"
)
{
SqlConnectioncon=newSqlConnection();
con.ConnectionString="
server=.;
database=studentsystem;
Integratedsecurity=true"
;
con.Open();
SqlCommandcom=newSqlCommand("
select用户名,注册密码fromtechregister"
con);
SqlDataReaderdt=com.ExecuteReader();
while(dt.Read())
if(Equals(textuser.Text,dt["
用户名"
].ToString().Trim())&
&
Equals(paswd.Text.Trim(),dt["
注册密码"
].ToString().Trim()))
MessageBox.Show("
登录成功!
"
);
TechFormtechform=newTechForm();
techform.Struse=getuser();
DialogResultdialogresult=techform.ShowDialog();
break;
}
if(Equals(textuser.Text,dt[0].ToString().Trim())&
Equals(paswd.Text,dt[1].ToString().Trim()))
paswd.Clear();
this.Hide();
struser=this.textuser.Text;
Stuformstuform=newStuform();
stuform.strsno=this.textuser.Text;
DialogResultdialogresult=stuform.ShowDialog();
}
this.Show();
图3-2管理员管理流程图
学生信息管理代码和课程信息管理代码类似。
学生成绩统计和奖学金获得情况也就不一一列举了。
3教师管理主界面如图3-6所示。
图3-3教师管理主界面
教师管理代码如下:
privatevoidtoolStripMenuItem1_Click(objectsender,EventArgse)
CheckFormcheckform=newCheckForm();
checkform.Strtec=this.Struse;
checkform.MdiParent=this;
checkform.Show();
privatevoidtoolStripMenuItem2_Click(objectsender,EventArgse)
LogFormlogform=newLogForm();
logform.Struse=this.Struse;
logform.MdiParent=this;
logform.Show();
录入成绩代码如下:
privatevoidbutton1_Click(objectsender,EventArgse)
Form1gainuser=newForm1();
stringstrtechnum=gainuser.Struser;
strtechnum=this.Struse;
stringstrcno=texcno.Text.Trim();
select*fromsmcoursewheretechnum='
+strtechnum+"
'
andcno='
+strcno+"
con);
SqlDataReaderda=com.ExecuteReader();
dgviewinitial();
while(da.Read())
introwIndex=dgviewlog.Rows.Add();
dgviewlog.Rows[rowIndex].Cells["
cno"
].Value=da["
].ToString().Trim();
sno"
grade"
technum"
dgviewlog.Focus();
introwindex=dgviewlog.CurrentRow.Index;
if(dgviewlog.Rows[rowindex].Cells["
].Value==null)
没有此课程,请重新输入"
privatevoidbutton2_Click(objectsender,EventArgse)
introwIndex=dgviewlog.CurrentRow.Index;
DataGridViewRowrowObj=dgviewlog.Rows[rowIndex];
if((string)rowObj.Cells["
].Value!
="
成绩已经录入,不要重复录入"
else
rowObj.Cells["
].Value=texgra.Text;
SqlCommandcom=newSqlCommand();
com.CommandText="
updatesmcourseset"
+"
grade='
+texgra.Text+"
wheresno='
+rowObj.Cells["
].Value+"
andcno='
+rowObj.Cells["
].Value+"
com.Connection=con;
intintemp=com.ExecuteNonQuery();
if(intemp==1)
录入成功"
privatevoidbutton3_Click(objectsender,EventArgse)
Updatesmcourseset"
].Value+"
修改成功"
}
图3-4教师管理流程图
4学生管理主界面如图3-5所示。
图3-5学生管理主界面
图3-6学生管理流程图
第4章测试
4.1基础信息设置测试
对每一个系统功能设计若干测试用例,
表4-1登录界面测试
用例编号
TC01
测试点
登录系统
步骤
(1)进入用户登录界面;
(2)选择不同用户,例如:
管理员
(2)在选择菜单里选择“刘振”,密码:
123;
(如果密码错误,会有密码错误的提示,然后重新输入)
(3)回车或者点击确定。
预期结果
通过身份验证,进入管理员管理系统主界面。
实际结果
如图3-5所示(与预期结果相同)
实现系统登录功能。
表4-2学生信息管理测试
TC02
学生信息管理系统
(1)选择课程信息管理;
(2)测试
能够对学生信息进行添加、删除、修改等操作。
如图4-1所示(与预期结果相同)
图4-1学生信息管理图
学生信息管理和课程信息管理类似。
表4-2学生成绩统计测试
TC03
学生成绩统计
(3)选择学生成绩统计;
(4)测试
能够计算机学生的总分和平均分。
如图4-2所示(与预期结果相同)
图4-2学生成绩统计图
表4-3查询学生名单测试
TC04
查询学生名单
(5)选择查询学生名单;
(6)测试
能够查询到所教授学生的信息
如图4-3所示(与预期结果相同)
图4-3查询学生名单图
表4-4网上评教测试
TC05
网上评教
(7)选择网上评教;
(8)测试
能够对教师所教的课程进行评教
如图4-4所示(与预期结果相同)
图4-4网上评教图
总结
这次课设,所做的学生成绩管理系统主要实现管理员管理课程信息、学生信息、统计学生成绩、统计各等级奖学金情况,教师查询所教课程的学生信息、录入成绩,学生查询各科成绩、选修课程和网上评教等功能。
这次课设中,每个人都有自己的分工,我所主要负责的是教师所有相关功能实现,其中包括:
查询所教学生的所有信息,对学生成绩的录入以及修改。
但是,我做的还不是很完善,并且离实用性的学生成绩管理系统还有很大的差距。
通过这次课设,我对项目的设计和分析有了一个比较清晰的认识和理解,由于时间关系程序中还有许多需要优化的地方。
通过这次课设,我认为我在做项目方面的能力,提高的不是很多,但是提高比较明显的就是对模块化的设计方法有了更深刻的理解。
在这一个星期的课程设计中,有了很大的收获,例如:
认真上好专业实验课,多在实践中锻炼自己;
写程序的过程中要考虑周到,严密;
在做设计的时候要有信心,有耐心,切勿浮躁;
认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。
参考文献
[1]王珊.数据仓库技术与联机分析处理[M].北京:
北京科学出版社,2005
[2]InmonWH.数据仓库[M].北京:
机械工业出版社,2008
[3]KimballR.数据仓库管理[M].北京:
电子工业出版社,2007
[4]ImhoffC.数据仓库工具箱[M].北京:
电子工业出版社,2009
[5]ImhoffC.数据仓库设计[M].北京:
机械工业出版社,2006
[6]MattisonR.Web仓库工程与知识管理[M].北京:
清华大学出版社,2005
[7]BainT.SQLServe2000数据仓库与AnalysisServices[D].北京:
中国电力出版社,2005
[8]郑宇军.C#语言程序设计基础[D].北京:
清华大学出版社,2008
[9]郑宇军.SQLServer2005+VisualC#2005专业开发精解[D].北京:
清华大学出版社,2007
[10]郑人杰.软件工程[D].北京: