
学生信息管理系统
在将来的英语-传统家具
2023年2月20日发(作者:仁华学校)--
--
学生信息管理系统(总体设计)
1、管理系统功能模块设计
本系统需要完成的功能主要有:
(1)、输入学生基本信息、所在班级、所学课程和成绩等。
(2)、学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。
(3)、学生信息的修改。
(4)、班级信息的输入,包括输入班级设置、年级信息等。
(5)、班级信息的查询。
(6)、班级信息的修改。
(7)、班级课程信息的输入。
(8)、班级课程信息的修改。
(9)、学生课程添加和修改。
(10)、学生成绩信息的输入。
(11)、学生成绩信息的修改。
(12)、学生成绩信息的查询。
(13)、学生成绩信息的统计。
2、功能模块设计:
--
--
3、数据库设计:
学
生
信
息
管
理
系
统
学生信息输入
班级信息输入
学生信息修改
班级信息查询
班级信息修改
学生信息查询
成绩信息查询
成绩信息输入
课程信息输入
成绩信息修改
课程信息修改
密码管理
用户管理
课程信息查询
学生信息管理
系统管理
成绩信息管理
班级信息管理
课程信息管理
--
--
(1)学生基本信息:student_Info
列名数据类型说明
Student_idInt(4)学号(主键)
Student_nameChar(10)姓名
Student_sexChar(2)性别
Born_dateDatetime(8)出生日期
Class_noInt(4)班级号
Tele_numberChar(10)联系电话
Ru_dateDatetime(8)入校时期
AddressVarchar(50)家庭住址
commentVarchar(200)备注
(2)班级基本信息:class_Info
列名数据类型说明
Class_noInt(4)班级号(主键)
Class_nameVarchar(50)班级名称
DirectorVarchar(50)班主任
professionVarchar(50)专业
(3)课程基本信息:course_Info
列名数据类型说明
Course_noInt(4)课程编号(主键)
Course_nameChar(10)课程名称
Course_typeChar(10)课程类型
Course_startChar(10)开始学期
Course_timeInt(4)学时数
Course_scoreInt(4)学分
(4)学生成绩信息:result_Info
列名数据类型说明
Student_idInt(4)学号(主键)
Student_nameChar(10)姓名
Course_noInt(4)课程号(主键)
Course_typeChar(10)课程类型
resultFloat(8)成绩
(5)用户信息:user_Info
列名数据类型说明
User_codeVarchar(50)用户密码(主键)
User_nameVarchar(50)用户名(主键)
--
--
学生信息管理系统(需求分析)
1.系统开发背景分析
系统的功能取决开用户的需求。随着科技进步和信息时代的到来,教育的
普及程度起来起高,学校的人数也在迅速的增长,怎样的管理好成千上万的学生,
已经成为一个学校的管理者必须面对的问题。编写本报告的目的就是用最少的代
价,尽可能短的时间内确定问题是否能够解决,通过对学校的一些管理软件的调
研分析,发现了一些不足,所以拟做此系统,使学生信息的管理更加准确,安全
和快捷。
在本次试验中包括的模块有学生信息管理、课程信息管理、成绩信息管理
和班级信息管理等几项,各项管理工作涉及到的内容用下面的关系模式表示。
a)学生(学号,姓名,性别,年龄,班级,电话,备注,出生日期,入学时间,
班级编号,家庭地址)
b)课程(课程编号,课程名称,课程类别,学分,学时)
c)班级(系,班级号,指导老师)
2.系统分析
1.抽象出当前系统的逻辑模型
画出反映当前系统工作的数据流程图。数据流程图是逻辑模型的图形表示,
即使不是专业的计算机技术人员也能非常容易理解,它是一种很好的系统构造的
表示方法。画数据流程图是应该从已获得的人工处理流程中去掉物理因素,只保
留数据、信息处理部分。
2.系统功能分析
系统主要用于学校学生信息管理,主要任务是用计算机对学生各种信息进
行日常管理,如:查询、修改、增加、删除。
3.系统目标设计
根据本校的实际情况,利用校园网而设计一套针对性和功能都比较强的学
生信息管理系统,对学生信息管理系统进行科学的分类、录入、查询.
4.开发设计思想
尽量采用学校现有的软硬件环境及先进的管理系统开发方案,从而达到充
分利用资源,提高系统开发的水平和应用效果的目的。系统应该符合学校学生信
--
--
息管理的规定,满足学校学生日常管理的需要,达到操作过程中的直观、方便、
实用、安全等要求。强调多部门合作,学生工作设计面广泛,应该考虑各部门各
层次的需求,便于维护。要建立可靠的数据备份。通过对数据流程图的进一步分
析,得出学生信息管理系统应该具备以下功能:
1、实现学生基本信息的登记
2、实现数据的浏览与修改
3、实现查询符合一定条件的资料
4、实现学生有关数据的统计分析
5.E-R图
6.数据流程图
姓名
入学时间
出身年月
家庭地址
学号
班级
电话
备注
年龄
性别
学生
课程
课程编号
学分
课程名称
课程类型
学习
班级
班级设置
系
指导老师
班级号
课程设置
学时
--
--
--
--
--
--
7.数据字典
名字:学生基本信息管理
别名:
描述:反映出学生的基本信息情况
定义:学生基本信息管理=姓名+年龄+性别+学号+班级+电话入学时间+出生年月+家庭地
址+备注
位置:学生信息输入
学生信息查询
学生信息修改
名字:班级基本信息管理
别名:
描述:反映出班级的基本信息情况
定义:班级基本信息管理=系+班级号+指导老师
位置:班级信息输入
班级信息查询
班级信息修改
名字:课程基本信息管理
别名:
描述:反映出学生在学校学习的课程的基本情况
定义:课程基本信息管理=课程编号+课程名称+课程类型+学分+学时
位置:课程信息输入
课程信息查询
课程信息修改
名字:用户基本信息
别名:
描述:反映出用户的用户名和密码
定义:用户基本信息=用户名+密码
位置:界面登录系统
--
--
学生信息管理系统(实现、调试、运行)
编码
1、登录模块代码:
OptionExplicit
PrivateSubcmd3_Click()
tion
set
Dimstr_cnAsString'访问sqlserver的连接字符串
Dimstr_sqlAsString
str_cn="driver={sqlserver};server=.;uid=sa;pwd=;database=student"
Setcn=tion
Location=adUseClient
r_cn'连接sqlserver
str_sql="select*fromuser_infowhereuser_name='"&&"'
anduser_code='"&&"'"
Setrs=set
r_sql,cn,adOpenDynamic,adLockOptimistic
IfLen()=0Then
MsgBox"请输入用户名!",64,"提示"
us
ElseIfLen()=0Then
MsgBox"请输入密码!",64,"提示"
us
Else
Count=0Then
i=MsgBox("不存在该用户,是否立即注册?",4+32,"提示")
Ifi=6Then
UnloadMe
Else
e
us
EndIf
Else
'UnloadMe
EndIf
EndIf
EndSub
--
--
PrivateSubForm_Load()
Me'使窗体居中
EndSub
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAs
Single,YAsSingle)
lor=vbBlack
derline=False
lor=vbBlack
derline=False
EndSub
PrivateSubLabel5_Click()
UnloadMe
EndSub
PrivateSubLabel5_MouseMove(ButtonAsInteger,ShiftAsInteger,XAs
Single,YAsSingle)
lor=vbBlue
derline=True
EndSub
PrivateSubLabel6_Click()
UnloadMe
EndSub
PrivateSubLabel6_MouseMove(ButtonAsInteger,ShiftAsInteger,XAs
Single,YAsSingle)
lor=vbBlue
derline=True
EndSub
2、添加学生信息代码:
OptionExplicit
PrivateSubCommand1_Click()
IfLen()=0OrLen()=0Then
MsgBox"请将信息补充完整!",48,"警告"
ExitSub
EndIf
'添加新记录
sqlstr="select*fromstudent_Info"
Setrs=ExecuteSQL(sqlstr,Msg)
--
--
("student_id")=
("student_name")=
("class_no")=
("born_date")=
("student_sex")=
("address")=
("tele_number")=
("comment")=
("ru_date")=
MsgBox"学生信息添加完成!",48,"提示信息"
e
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
Me
e
="男":=""
m"男"
m"女"
sqlstr="select*fromclass_Info"
Setrs=ExecuteSQL(sqlstr,Msg)
Fori=Count
(0)
xt
Nexti
EndSub
3、删改学生信息代码:
OptionExplicit
PrivateSubCommand4_Click()
'从数据库中读取学生信息并添加到窗体中的输入框
sqlstr="select*fromstudent_Infowherestudent_id='"&
&"'andclass_no='"&&"'"
Setrs=ExecuteSQL(sqlstr,Msg)
Count=0Then
--
--
MsgBox"没有找到符合条件的数据!",48,"警告"
e:=""
Else
=Trim(("student_id"))
=Trim(("student_name"))
=Trim(("born_date"))
=Trim(("class_no"))
=Trim(("student_sex"))
=Trim(("tele_number"))
=Trim(("address"))
=Trim(("comment"))
=Trim(("ru_date"))
EndIf
EndSub
PrivateSubCommand1_Click()
tion
sqlstr="updatestudent_infosetstudent_name='"&&
"',born_date='"&&"',student_sex='"&&
"',class_no='"&&"',tele_number='"&&
"',address='"&&"',comment='"&&"',ru_date='"
&&"'wherestudent_id='"&&"'"
OnErrorGoToexitsub
Setcn=tion
nnstr
esqlstr
MsgBox"成功修改数据!!"
exitsub:
e:=""
EndSub
PrivateSubCommand2_Click()
tion
sqlstr="deletefromstudent_infowherestudent_id='"&&
"'"
OnErrorGoToexitsub
Setcn=tion
nnstr
esqlstr
MsgBox"成功删除数据!!"
exitsub:
--
--
e:=""
EndSub
PrivateSubCommand3_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
Me
="":=""
e
=""
="男"
m"男"
m"女"
DimsqlstrAsString
DimMsgAsString
DimiAsInteger
sqlstr="select*fromclass_Info"
Setrs=ExecuteSQL(sqlstr,Msg)
Fori=Count
(0)
(0)
xt
Next
DimsqlAsString
DimmsgtextAsString
sql="select*fromstudent_Info"
Setrs=ExecuteSQL(sql,msgtext)
Fori=Count
(0)
xt
Next
EndSub
4、查询学生信息:
OptionExplicit
PrivateSubCommand1_Click()
set
tion
DimcnstrAsString
--
--
cnstr="driver={sqlserver};server=.;uid=sa;pwd=;database=student"
str
=TrueThen
sqlstr="select*fromstudent_info"
=""
="":=""
EndIf
=TrueThen
sqlstr="select*fromstudent_infowhereclass_no='"&
&"'"
="":=""
EndIf
=TrueThen
sqlstr="select*fromstudent_infowherestudent_id='"&
&"'"
="":=""
EndIf
=TrueThen
sqlstr="select*fromstudent_infowherestudent_name='"&
&"'"
="":=""
EndIf
lstr,cn
Setrs=ExecuteSQL(sqlstr,Msg)
Count=0Then
MsgBox"没有查找到满足条件的数据!",48,"提示"
=1
Else
=Count+1
=9
'设定行高
Fori=-1
ght(i)=280
Nexti
'设定列的属性
=0
Fori=-1
=i'指定当前列为第I列
lignment(i)=4'使内容居中
SelectCasei
Case0
--
--
th(i)=1500'设定列宽
="学号"
Case1
th(i)=2000'设定列宽
="姓名"
Case2
th(i)=800'设定列宽
="性别"
Case3
th(i)=800'设定列宽
="班级"
Case4
th(i)=1300'设定列宽
="出生日期"
Case5
th(i)=1500'设定列宽
="电话"
Case6
th(i)=1500
="入学时间"
Case7
th(i)=2500'设定列宽
="地址"
Case8
th(i)=3000'设定列宽
="备注信息"
EndSelect
Nexti
i=1'从第二行开始显示内容
While()
=i
Forj=-1
=j
ignment=4
SelectCasej
Case0
=("student_id")
Case1
=("student_name")
Case2
=("student_sex")
Case3
=("class_no")
Case4
=("born_date")
--
--
Case5
=("tele_number")
Case6
=("ru_date")
Case7
=("address")
Case8
=("comment")
EndSelect
Nextj
xt
i=i+1
Wend
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
Me
="":="":=""
set
sqlstr="select*fromclass_info"
Setrs=ExecuteSQL(sqlstr,Msg)
Fori=Count
(0)
xt
Next
EndSub
--
--
程序运行界面:
--
--
学生信息管理系统(详细设计)
登录的系统界面:
总体程序流程图:
学校
构成
系部
开始
课程
选课
成绩
构成
教师
授课
构成
班级
构成
学生
--
--
学生档案
课程名称
学时
课程信息
授课老师
登录学生档案登录学生选课登录学生成绩
学生
选课
选课信息
查
询
统
计
管理人员