学生成绩管理系统毕业设计课程设计Word格式.docx
《学生成绩管理系统毕业设计课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统毕业设计课程设计Word格式.docx(25页珍藏版)》请在冰豆网上搜索。
而且只要软件的设计合理,可以为学校提供合理的管理模式。
所以我想借本次毕业设计之际,开发一个不仅适用本校各系而且适用于其它各校的通用高校学生档案管理系统。
现在我国的学校学生档案的管理水平有些还停留在纸质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
学生成绩管理工作是学校学生管理工作的重要组成部分,现在相当一部分学校的学生成绩管理工作仍沿用手工方式。
随着学校规模的扩大、学生人数的增加,效率低下、容易出错的手工方式越来越不适应实际管理工作的需要,按照软件工程原理和数据库技术开发学生成绩管理系统已成为学生管理部门的迫切需要。
该学生成绩管理系统主要包括有学生档案管理、学生选课管理、学生成绩管理等内容;
面对大量的学生数据、报表,手工处理方式已经很难跟上现代化的步伐。
随着计算机技术及网络通讯技术的飞速发展,许多学校已经有了较好的计算机应用甚至网络硬件建设基础。
因此为提高学校管理工作的现代化、科学化水平,保证信息处理的即时化、准确化,开发一套对学生学籍进行管理的软件是极其重要的。
(2)系统的特点
学生成绩管理系统主要包括以下功能:
•完成数据的录入和修改,并提交数据库保存。
其中的数据包括:
学生信息、课程设置、学生成绩以及操作员信息等。
•实现信息查询。
主要包括:
学生信息查询、课程信息查询和成绩查询等。
•教师信息管理。
教师授课信息查询、授课记录修改,删除等
归纳起来,好处大约有以下几点:
1.可以很方便地查询、修改、删除学生资料、成绩等信息;
2.可以很方便地查询、修改、删除教师授课信息记录等;
3.只需一到二名档案录入员即可操作系统,节省大量人力;
(3)系统设计环境
(1)WindowsXP系统
(2)SQLServer2000数据库管理系统
(3)MicrosoftVisualBasic6.0开放平台
2.系统需求分析
(1)系统设计的目标
学校学生成绩系统是针对数据库课程设计所做的一个小型数据库。
它也是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。
能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。
通过此系统,各科老师何管理员可以查询,修改,删除学生所选课的信息.能够方便的了解学生总体情况
(2)系统需求分析
数据库中至少有个一个表是来存储学生的各课成绩的。
有了学生成绩,得知道这个成绩是哪个学生的,所以此表中也得有学生姓名,但是学生姓名肯定有重复的,所以得必须有个标志来惟一标识一个学生,所以得给每个学生一个编号(学号),但是也得必须清楚,这个成绩是哪门课程的,所以给课程定义了一个编号。
之后,得想到有了学生成绩表,总得有个表来存放学生信息吧,所以又建立一个学生信息表,此表中的必须的字段得有学号、姓名、班级,其他的字段可以根据需要来添加。
然后就是得有个课程表来存放哪个教师教哪门课程信息,所以此表中至少得有课程号,课程名称和教师的惟一标识(教师编号),再有一个表来存放教师的信息的,其中的字段必须有教师编号,教师姓名和所在的部门,当然也可以有教师出生日期、职称、电话号码等字段。
(3)系统功能分析
(1)学生信息管理
每年的大量新生入学,老生毕业都需要处理大量的学生信息。
通过这一模块,可以实现学生基本情况的添加、删除、更新。
还能查询各个学生的情况,姓名、姓别、班级、学号等各个消息.
(2)课程和分数信息管理
每个学期都会增加一些新的科目,通过本模块可以轻松的添加以及更新课程和成绩.而且可以查询任课的教师。
可以根据学期条件或者班级条件的选择,也可根据课程名、课程号或者班级的选择,并对值的输入,可以看到数据集中显示符合条件的课程数据信息,而且可以根据教工的修改要求进行数据的添加、删除、修改的操作。
(3)教师信息管理
对每位任课教师都有详细记录,可以轻松查询教师的姓名,职称,编号,收入门等,并可以对教师的信息进行查询、修改、删除等操作。
(4)概念结构设计
E-R图:
3.系统设计
(1)数据库设计
①逻辑结构设计
1.关系模型
学生(学号,姓名,性别,年龄,所在系)
此为学生实体对应的关系模式,其中学号是码。
课程(课程号,课程名,先行课名,学分)
此为课程实体对应的关系模式,其中课程号是码。
选修(学号,课程号,成绩)
此为联系“选修”对应的关系模式,其中学号,课程号是码。
教师(教师号,姓名,性别,年龄,职称,工资,津贴,所在系)
此为教师实体对应的关系模式,其中教师号是码。
任教(教师号,课程号)
此为任教实体对应的关系模式,其中课程号是码。
2.student表设计
3.Teacher表设计
②各数据表结构
(1)学生基本信息——Student
字段名称
数据类型
字段大小
作用
必填字段
是否主键
Sno
char
4
学号
是
Sname
10
姓名
否
Ssex
2
性别
Sage
int
年龄
Sdept
30
所在系
(2)课程信息——Course
Cno
3
课程号
Cname
课程名
Chour
tinyint
1
先行课名
Ccredit
学分
(3)选课信息——SC
SCORE
Int
成绩
(4)教师基本信息——Teacher
Tno
教师号
Tname
8
Sex
Age
Prof
职称
Sal
smallint
工资
Comm
津贴
Dept
(5)任课信息——TC
③各表之间的关联关系
(2)系统功能设计
操作名称
相关数据
学生基本信息
学号,姓名,性别,年龄,所在系
课程信息
课程号,课程名,先行课名,学分
选课信息
学号,课程号,成绩
教师信息
教师号,姓名,性别,年龄,职称,工资,所在系
任课信息
教师号,课程号
4.系统实现
(1)主界面
PrivateSubCommand1_Click()
sForm1.Show
EndSub
PrivateSubCommand2_Click()
tForm1.Show
PrivateSubCommand3_Click()
sForm2.Show
PrivateSubCommand4_Click()
tForm2.Show
PrivateSubCommand5_Click()
sForm3.Show
PrivateSubCommand6_Click()
tForm3.Show
PrivateSubCommand7_Click()
sForm4.Show
PrivateSubCommand8_Click()
tForm4.Show
PrivateSubCommand9_Click()
UnloadMe
(2)查询界面
PrivateSubForm_Load()
DimconAsNewADODB.Connection
con.Open"
Provider=SQLOLEDB.1;
UID=sa;
PWD=sa;
InitialCatalog=jxsk"
SetMSHFlexGrid1.DataSource=con.Execute("
selectsc.snoas学号,snameas姓名,cnameas课程名fromstudent,course,scWherestudent.sno=sc.snoAndo=o"
)
con.Close
DimcnAsADODB.Connection
DimrsAsADODB.Recordset
DimstrCnnAsString
DimsnameAsString,cnameAsString
sname=Trim(s_text.Text)
cname=Trim(c_text.Text)
strCnn="
DRIVER={SQLSERVER};
SERVER=ASUS;
PWD=sa;
DATABASE=jxsk"
Setcn=NewADODB.Connection
cn.OpenstrCnn
DimcmAsNewADODB.Command
cm.ActiveConnection=cn
cm.CommandText="
selectscorefromstudent,sc,coursewherestudent.sno=sc.snoand"
+_
"
o=oandstudent.sname='
+sname+"
'
andame='
+cname+"
cm.CommandType=adCmdText
cm.CommandTimeout=15
Setrs=cm.Execute(1,1,1)
Ifrs.EOF=FalseThen
score_text.Text=Str(rs!
score)
EndIf
Setrs=Nothing
cn.Close
Setcn=Nothing
selecttnameas姓名fromteacher"
Dimt_nameAsString
t_name=Trim(t_text.Text)
strSQL="
selectcnamefromteacher,tc,coursewhereteacher.tno=tc.tnoand"
"
o=oandteacher.tname='
+t_name+"
Setrs=NewADODB.Recordset
rs.CursorType=adOpenStatic
rs.CursorLocation=adUseClient
Setrs=cn.Execute(strSQL)
DoWhilers.EOF=False
t_list.AddItemrs!
cname
rs.MoveNext
Loop
(3)插入界面
selectsnoas学号,cnoas课程号,scoreas成绩fromsc"
DimsnoAsString,cnoAsString
Dimsc_scoreAsString
sno=Trim(s_text.Text)
cno=Trim(c_text.Text)
sc_score=Trim(score_text.Text)
insertintoscvalues('
+sno+"
'
+cno+"
"
+sc_score+"
)"
cn.Errors.Clear
OnErrorGoToError11
cm.Execute
Error11:
Ifcn.Errors.Count=0Then
MsgBox("
成功插入数据!
Else
插入数据失败!
selecttnoas教师号,cnoas课程号fromtc"
DimstrCnnAsString,strSQLAsString
DimtnoAsString,cnoAsString
Dimid
tno=Trim(t_text.Text)
select*fromtc"
rs.CursorType=adOpenDynamic
rs.LockType=adOpenDynamic
rs.OpenstrSQL,cn,,,adCmdText
rs.AddNew
rs!
tno=tno
cno=cno
rs.Update
id=MsgBox("
vbOKOnly,"
插入教师授课信息"
(4)修改界面
Dimsc_scoreAsInteger
sc_score=Val(score_text.Text)
update_score"
Setprm=cm.CreateParameter("
sno"
adChar,adParamInput,6,sno)
cm.Parameters.Appendprm
cno"
adChar,adParamInput,5,cno)
score"
adTinyInt,adParamInput,,sc_score)
cm.CommandType=adCmdStoredProc
成绩更新成功!
成绩更新失败!
DimtnoAsString,c_oldAsString,c_newAsString
DimidAsInteger
c_old=Trim(dc_text.Text)
c_new=Trim(nc_text.Text)
Setcn=NewA