管理系统信息系统课程设计学生成绩管理系统.docx
《管理系统信息系统课程设计学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《管理系统信息系统课程设计学生成绩管理系统.docx(22页珍藏版)》请在冰豆网上搜索。
管理系统信息系统课程设计学生成绩管理系统
中国矿业大学徐海学院
管理信息系统
课程设计
设计名称:
学习成绩管理系统
专业班级:
工业10-2班
小组成员:
志谦、江涛、顾龙云、峰
组长:
志谦
指导老师:
董成亮
完成日期:
2013.6.28
目录:
学生成绩管理信息系统
一、系统规划
学生成绩是高校人才培养计划的重要组成部分,是实现人才培养目标、培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段与综合性实践教学环节。
而笔者所在学院多采用半手工管理学生成绩的方式,所以有必要开发学生成绩管理系统来对学生成绩档案进行数字化管理。
既可减轻学院教职员工工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,又可加快成绩查询速度、加强成绩管理,跟上国家各部门关于信息化的步伐,使各项管理更加规化。
二、系统分析
(一)、可行性分析:
1.管理上的可行性:
主要是教务处管理人员的大力支持,系领导认同,现有的管理制度和方法科学,规章制度齐全,原始数据正确等。
规章制度和管理方法系统的建设提供了制度保障。
2.技术上的可行性:
技术的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求。
此外还要考虑开发人员的水平,在数据库方面要对管理模式比较熟悉。
我们学习过数据库和管理信息系统课程设计的相关课程,有能力编写学生成绩管理系统这种不算太难的程序。
使用MicrosoftVisualStudio2008作为系统开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。
而且由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此几乎可以实现。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。
3.经济上的可行性:
现在,计算机的价格已经十分低廉,性能却有了长足的进步。
而本系统的开发,也在一定程度上为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:
一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。
这是个超小的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统就可以搞起来,考虑到学校里有电脑,现只要购置一台打印机就可以了。
从节省人力方面,可以让管理人员从繁冗复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。
具体有以下几个方面:
(1)本系统只需要一台计算机;
(2)本系统的运行可以节省许多资源;
(3)本系统的运行可以大大的提高学校的工作效率;
(4)本系统可以敏感文档更加安全,等等。
(二)、组织结构图:
组织结构图分析:
总控模块是管理员模块,此模块的主要功能有:
系统管理员进入学生成绩管理的主要功能:
实现管理员用户的添加、修改和删除,以及对成绩查询、成绩修改、教师查询、学生添加、学生修改、学生删除、学生查询以及成绩打印等基本功能。
数据流程图和数据字典
1.数据流程图
学生成绩管理数据流程图(顶层图)
学生成绩管理数据流程图(展开图)
2.数据字典
(1)数据流的描述
数据流表1数据字典
(一)No:
__________
编号:
B—01名称:
成绩单
简述:
开出的成绩表单
组成:
课程+成绩代码+学生+班级+学号+性别+成绩
若为数据流
来源:
教务处
去向:
成绩单审核模块
峰值流量:
约30——50名/日
填表人_____________年月日
(2)处理逻辑的描述
处理表2数据字典
(二)No:
__________
编号:
E—01名称:
成绩单审核
输入信息:
成绩单
输出信息:
成绩通过、补考
简要说明:
审核成绩单是否全部输入
出错处理:
审查成绩单填写格式是否符合要求,与成绩填写是否一致等。
执行频率:
30个/日
填表人_____________年月日
(3)数据存储
数据存储表3数据字典(三)No:
__________
编号:
G—01名称:
学生成绩
简述:
记录学生考试的成绩表单
组成:
课程+成绩+学生+学号+性别
关键字:
课程+学号
相关处理:
E—01
填表人_____________年月日
(4)外部实体
外部实体表4数据字典(四)No:
__________
编号:
H—01名称:
学院
简述:
学生考试成绩
输入的数据流:
B—03
输出的数据流:
B—01
填表人_____________年月日
(5)数据项
数据项表5数据字典(五)No:
__________
编号:
I02—01名称:
学生编号别名:
学生编码
简述:
某学生代码
连续值
类型(C,N):
字符型
宽度:
4位
取值围:
“0001”~“9999”
填表人_____________年月日
(6)数据结构
数据结构表6数据字典(六)No:
__________
编号:
D03—01名称:
学生成绩单别名:
简述:
用户所填用户情况及成绩要求等信息
组成:
DSA03—02+DS03—03+DS03—04
填表人_____________年月日
三、系统设计
(一)、模块结构体系:
1.功能模块
图5功能模块图
2.功能模块说明
(1)用户管理和班级管理:
通过验证用户的使用权限及进行数据的导入、导出工作。
对班级的管理。
(2)学生信息设置
对与学生相关信息的录入。
(3)课程与成绩设置:
各门课程所属学院及相关学分设置。
学生成绩的录入。
(4)成绩查询与统计:
按要求查询成绩。
成绩审核业务,就单据格式是否规和填写数据是否与实务数量相符的审核在系统中仍由人工完成,对成绩单上填写的学生人数量大于实际学生成绩数量的情况可在成绩录入过程中自动审核,并拒绝该成绩单。
数据录入模块用于录入学生和成绩单,它是高校学生成绩管理系统的基本数据输入的模块,他根据各科教师送来的成绩单,记录各学生的每人成绩数据。
为方便学校各级管理人员及时了解、掌握各学院的学生成绩,新系统特别设计了数据查询模块,并提供多种查询功能,每学期、各学院的查询等。
报表输出模块可以完成系统所需的各种报表的计算和打印输出功能,可输出“学生成绩表”等。
为了统一产品的品种及其特性,方便数据输入。
特设计了产品代码、产品名称及其特性对照表。
系统中设计代码维护模块的目的是当产品代码或特性变动时及时修改代码表,可对代码表进行增加、删除、修改和打印等处理。
编辑效果(将“峰”改为“工业一班”)
查询效果(按学号“201”,进行查询)
增加效果(增加学号为“204”,为“峰”,课程为“高数”,成绩为“88”的这条信息)
删除效果(删除“峰”这条信息)
打印效果:
3.系统维护模块
系统维护部模块图
4.系统流程图
图7系统流程图
(二)、数据库设计
1)数据库概要设计
本系统的数据库主要有“学生”、“班级”、“课程”、“教师”等。
其中教师与课程系统存在授课联系,并且一个教师可以授N门课程,即教师与课程是一对多的关系。
一个学生可以学习N们课程,一门课程可以有M个学生学习,即学生与课程是多对多的关系。
2)数据库详细设计
该系统子系统分为学生-成绩系统、班级系统、教师系统、课程系统、学生系统、管理员系统。
如图所示:
学生-成绩表
学生表
教师表
管理员表
课程表
班级表
(三)代码设计
新系统为每个学生设计了代码,一方面可统一学生的成绩管理,另一方面是为了方便数据输入。
产品代码为两位数字字符,采用的是顺序码结构。
在系统运行过程中,凡是需要输入某种产品时,只需输入产品代码即可,系统可根据学生代码、成绩表单、自动将相应的学生和成绩等信息调出来,而且代码表显示在输入/输出窗口中,用户不一定要记住学生的代码,可随时通过系统联机查询。
登陆界面代码:
PartialClass_Default
InheritsSystem.Web.UI.Page
ProtectedSubBt1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)Handlesbt1.Click
DimnAsSystem.Data.SqlClient.SqlConnection
DimadpAsSystem.Data.SqlClient.SqlDataAdapter
DimrstAsSystem.Data.DataSet
n=NewSystem.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("jiaowuConnectionString").ConnectionString)
adp=NewSystem.Data.SqlClient.SqlDataAdapter("select*frommanagerwheremno='"&txtuid.Text&"'andmpwd='"&txtpsw.Text&"'",n)
rst=NewSystem.Data.DataSet
adp.Fill(rst)
Ifrst.Tables(0).Rows.Count>0Then
Session("mno")=txtuid.Text
Session("mname")=rst.Tables(0).Rows(0)("mn").ToString()
Response.Redirect("main.aspx")
Else
ScriptManager.RegisterStartupScript(Me.Page,Me.Page.GetType,"","alert('用户名或密码错误!
');",True)
EndIf
EndSub
ProtectedSubbt2_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)Handlesbt2.Click
txtuid.Text=""
txtpsw.Text=""
EndSub
EndClass
主界面代码:
PartialClass_Default
InheritsSystem.Web.UI.Page
ProtectedSubbt4_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)Handlesbt4.Click
Response.Redirect("xinxiguanli.aspx")
EndSub
ProtectedSubbt3_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)Handlesbt3.Click
Response.Redirect("student.aspx")
EndSub
ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Load
Label1.Text="登陆者:
"&Session("mname")
EndSub
ProtectedSubbt5_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)Handlesbt5.Click
Response.Redirect("kechengxinxi.aspx")
EndSub
EndClass
学生信息界面代码:
PartialClassstudent
InheritsSystem.Web.UI.Page
ProtectedSubGridView1_RowUpdating(ByValsenderAsObject,ByValeAsSystem.Web.UI.WebControls.GridViewUpdateEventArgs)HandlesGridView1.RowUpdating
DimgrAsGridViewRow
gr=GridView1.Rows(e.RowIndex)
SqlDataSource2.UpdateParameters("sex").DefaultValue=CType(gr.FindControl("dpsex"),DropDownList).SelectedItem.Value
SqlDataSource2.UpdateParameters("bno").DefaultValue=CType(gr.FindControl("dpclass"),DropDownList).SelectedItem.Value
EndSub
ProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.Click
Ifhavethisid(textsno.Text)=FalseThen
SqlDataSource2.InsertParameters("sno").DefaultValue=textsno.Text
SqlDataSource2.InsertParameters("sn").DefaultValue=textsn.Text
SqlDataSource2.InsertParameters("sex").DefaultValue=dpsex.SelectedItem.Value
SqlDataSource2.InsertParameters("age").DefaultValue=textage.Text
SqlDataSource2.InsertParameters("bno").DefaultValue=dpclass.SelectedItem.Value
SqlDataSource2.Insert()
Else
ScriptManager.RegisterStartupScript(Me.Page,Me.Page.GetType,"","alert('当前学号不存在!
')",True)
EndIf
EndSub
PublicFunctionhavethisid(ByValsnAsString)AsBoolean
DimnAsSystem.Data.SqlClient.SqlConnection
DimadptAsSystem.Data.SqlClient.SqlDataAdapter
DimrstAsNewSystem.Data.DataSet
n=NewSystem.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("jiaowuConnectionString").ConnectionString)
adpt=NewSystem.Data.SqlClient.SqlDataAdapter("select*fromstudentwheresno='"&"'",n)
adpt.Fill(rst)
havethisid=rst.Tables(0).Rows.Count>0
EndFunction
EndClass
成绩录入界面代码:
PartialClass_Default
InheritsSystem.Web.UI.Page
ProtectedSubbtadd_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)Handlesbtadd.Click
Ifhavethisid(txtsno.Text)=FalseThen
SqlDataSource1.InsertParameters("sno").DefaultValue=txtsno.Text
SqlDataSource1.InsertParameters("sn").DefaultValue=txtsn.Text
SqlDataSource1.InsertParameters("cno").DefaultValue=dpcn.SelectedItem.Value
SqlDataSource1.InsertParameters("grade").DefaultValue=txtgrade.Text
SqlDataSource1.Insert()
Else
ScriptManager.RegisterStartupScript(Me.Page,Me.Page.GetType,"","alert('当前学号不存在!
')",True)
EndIf
EndSub
PublicFunctionhavethisid(ByValsnAsString)AsBoolean
DimnAsSystem.Data.SqlClient.SqlConnection
DimadptAsSystem.Data.SqlClient.SqlDataAdapter
DimrstAsNewSystem.Data.DataSet
n=NewSystem.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("jiaowuConnectionString").ConnectionString)
adpt=NewSystem.Data.SqlClient.SqlDataAdapter("select*fromachievementwheresno='"&"'",n)
adpt.Fill(rst)
havethisid=rst.Tables(0).Rows.Count>0
EndFunction
PrivateSubrefresh(ByValoutcondAsString)
DimsqlAsString
DimcondAsString
sql="SELECT*FROM[achievement]leftjoinstudentonachievement.sno=student.snoleftjoincourseono=o"
Ifoutcond=""Then
Ifrbt1.CheckedThen
cond="achievement.sno"
ElseIfrbt2.CheckedThen
cond="sn"
Else
cond=""
EndIf
cond=cond&"like'%"&txtvalue.Text.Trim&"%'"
Else
cond=outcond
EndIf
sql=sql&"where"&cond
Me.SqlDataSource1.SelectCommand=sql
'ViewState("sql")=sql
Session("xinxiguanlisql")=sql
EndSub
ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Load
IfNotIsPostBackThen
refresh("")
EndIf
EndSub
ProtectedSubbt5_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)Handlesbt5.Click
refresh("")
EndSub
ProtectedSubbt6_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)Handlesbt6.Click
Response.Redirect("achievementprint.aspx")'?
sql=&ViewState("sql")
EndSub
EndClass
打印功能代码:
PartialClassachievementprint
InheritsSystem.Web.UI.Page
ProtectedSubpage_load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Load
DimsqlAsString
sql=Session("xinxiguanlisql")'Request.QueryString("sql").ToString
SqlDataSource1.SelectCommand=sql
EndSub
EndClass
(四)输入/输出设计
在系统的输入/输出设计上遵循的是既满足用户需求又方便用户使用的原则。
输入/输出界面的确定都与用户反复沟通,直到用户满意为止。
输入界面的设计不仅考虑数据输入窗口的屏幕格式,而且考虑如何使输入数据的错误率可能的小,为此在程序中加入了对输入数据的校验和判断等功能,如输入数据上下限的设置、与相关数据关系的判断、参考对照表等。
例如,在输入和选择学生时,只输入学生代码即可,系统可根据成绩代码、科目及其学生对照表,自动将相应的学生和成绩等信息调出来。
当用户输入的学生代码不对时,系统自动转入代码表查询窗口,让用户在窗口中浏览查询选择学生代码,因此用户可不必一定记住每个产品的代码,系统将代码表显示在输入输出窗口旁,用户可随时通过系统联机查询。
登陆界面:
主界面:
学生信息界面:
成绩录入界面:
四、总结
在次管理信息系统课程设计中,我和我的组员们相互协作,积极完成课程设计,在课程设计过程中,我们虽然遇到了不少问题,但我们通过查找资料,请教老师和同学,现均已得到解决,我们组设计的学习成绩管理系统,进过测试,可以正常运行,满足了查询、修改、增加、