学生信息管理系统完整教案资料.doc
Good is good, but better carries it.精益求精,善益求善。学生信息管理系统完整-学生信息管理系统(总体设计)1、管理系统功能模块设计本系统需要完成的功能主要有:(1)、有关学籍信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。(2)、学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。(3)、学生信息的修改。(4)、班级管理信息的输入,包括输入班级设置、年级信息等。(5)、班级管理信息的查询。(6)、班级管理信息的修改。(7)、学校基本课程信息的输入。(8)、基本课程信息的修改。(9)、学生课程设置和修改。(10)、学生成绩信息的输入。(11)、学生成绩信息的修改。(12)、学生成绩信息的查询。(13)、学生成绩信息的统计。功能模块设计:学生信息输入学生信息查询学生信息管理学生信息修改成绩信息输入成绩信息管理成绩信息查询成绩信息修改学生信息管理系统班级信息输入班级信息管理班级信息查询班级信息修改课程信息输入课程信息管理课程信息查询课程信息修改密码管理系统管理用户管理数据库设计:(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、 登录模块代码:OptionExplicitPrivateSubcmd3_Click()DimcnAsADODB.ConnectionDimrsAsADODB.RecordsetDimstr_cnAsString'访问sqlserver的连接字符串Dimstr_sqlAsStringstr_cn="driver=sqlserver;server=.;uid=sa;pwd=;database=student"Setcn=NewADODB.Connectioncn.CursorLocation=adUseClientcn.Openstr_cn'连接sqlserverstr_sql="select*fromuser_infowhereuser_name='"&Text1.Text&"'anduser_code='"&Text2.Text&"'"Setrs=NewADODB.Recordsetrs.Openstr_sql,cn,adOpenDynamic,adLockOptimisticIfLen(Text1.Text)=0ThenMsgBox"请输入用户名!",64,"提示"Text1.SetFocusElseIfLen(Text2.Text)=0ThenMsgBox"请输入密码!",64,"提示"Text2.SetFocusElseIfrs.RecordCount=0Theni=MsgBox("不存在该用户,是否立即注册?",4+32,"提示")Ifi=6ThenUnloadMeForm3.ShowElsemdlTextBox.BlankMeText2.SetFocusEndIfElse'UnloadMeForm1.HideForm4.ShowEndIfEndIfEndSubPrivateSubForm_Load()mdlTextBox.CentenMe'使窗体居中EndSubPrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Label5.ForeColor=vbBlackLabel5.FontUnderline=FalseLabel6.ForeColor=vbBlackLabel6.FontUnderline=FalseEndSubPrivateSubLabel5_Click()UnloadMeForm3.ShowEndSubPrivateSubLabel5_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Label5.ForeColor=vbBlueLabel5.FontUnderline=TrueEndSubPrivateSubLabel6_Click()UnloadMeForm2.ShowEndSubPrivateSubLabel6_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Label6.ForeColor=vbBlueLabel6.FontUnderline=TrueEndSub2、 添加学生信息代码:OptionExplicitPrivateSubCommand1_Click()IfLen(Text1.Text)=0OrLen(Text6.Text)=0ThenMsgBox"请将信息补充完整!",48,"警告"ExitSubEndIf'添加新记录sqlstr="select*fromstudent_Info"Setrs=ExecuteSQL(sqlstr,Msg)rs.AddNewrs.Fields("student_id")=Text6.Textrs.Fields("student_name")=Text1.Textrs.Fields("class_no")=Combo2.Textrs.Fields("born_date")=Text2.Textrs.Fields("student_sex")=Combo1.Textrs.Fields("address")=Text4.Textrs.Fields("tele_number")=Text7.Textrs.Fields("comment")=Text5.Textrs.Fields("ru_date")=Text3.Textrs.Updaters.CloseMsgBox"学生信息添加完成!",48,"提示信息"mdlTextBox.BlankMeEndSubPrivateSubCommand2_Click()UnloadMeForm4.ShowEndSubPrivateSubForm_Load()mdlTextBox.CentenMemdlTextBox.BlankMeCombo1.Text="男":Combo2.Text=""Combo1.AddItem"男"Combo1.AddItem"女"sqlstr="select*fromclass_Info"Setrs=ExecuteSQL(sqlstr,Msg)Fori=1Tors.RecordCountCombo2.AddItemrs.Fields(0)rs.MoveNextNextirs.CloseEndSub3、 删改学生信息代码:OptionExplicitPrivateSubCommand4_Click()'从数据库中读取学生信息并添加到窗体中的输入框sqlstr="select*fromstudent_Infowherestudent_id='"&Combo2.Text&"'andclass_no='"&Combo1.Text&"'"Setrs=ExecuteSQL(sqlstr,Msg)Ifrs.RecordCount=0ThenMsgBox"没有找到符合条件的数据!",48,"警告"mdlTextBox.BlankMe:Combo3.Text=""ElseText2.Text=Trim(rs.Fields("student_id")Text1.Text=Trim(rs.Fields("student_name")Text3.Text=Trim(rs.Fields("born_date")Combo3.Text=Trim(rs.Fields("class_no")Combo4.Text=Trim(rs.Fields("student_sex")Text4.Text=Trim(rs.Fields("tele_number")Text5.Text=Trim(rs.Fields("address")Text6.Text=Trim(rs.Fields("comment")Text7.Text=Trim(rs.Fields("ru_date")EndIfrs.CloseEndSubPrivateSubCommand1_Click()DimcnAsADODB.Connectionsqlstr="updatestudent_infosetstudent_name='"&Text1.Text&"',born_date='"&Text3.Text&"',student_sex='"&Combo4.Text&"',class_no='"&Combo1.Text&"',tele_number='"&Text4.Text&"',address='"&Text5.Text&"',comment='"&Text6.Text&"',ru_date='"&Text7.Text&"'wherestudent_id='"&Combo2.Text&"'"OnErrorGoToexitsubSetcn=NewADODB.Connectioncn.Openconnstrcn.ExecutesqlstrMsgBox"成功修改数据!"exitsub:cn.ClosemdlTextBox.BlankMe:Combo3.Text=""EndSubPrivateSubCommand2_Click()DimcnAsADODB.Connectionsqlstr="deletefromstudent_infowherestudent_id='"&Combo2.Text&"'"OnErrorGoToexitsubSetcn=NewADODB.Connectioncn.Openconnstrcn.ExecutesqlstrMsgBox"成功删除数据!"exitsub:cn.ClosemdlTextBox.BlankMe:Combo3.Text=""EndSubPrivateSubCommand3_Click()UnloadMeForm4.ShowEndSubPrivateSubForm_Load()mdlTextBox.CentenMeCombo1.Text="":Combo2.Text=""mdlTextBox.BlankMeCombo3.Text=""Combo4.Text="男"Combo4.AddItem"男"Combo4.AddItem"女"DimsqlstrAsStringDimMsgAsStringDimiAsIntegersqlstr="select*fromclass_Info"Setrs=ExecuteSQL(sqlstr,Msg)Fori=1Tors.RecordCountCombo1.AddItemrs.Fields(0)Combo3.AddItemrs.Fields(0)rs.MoveNextNextDimsqlAsStringDimmsgtextAsStringsql="select*fromstudent_Info"Setrs=ExecuteSQL(sql,msgtext)Fori=1Tors.RecordCountCombo2.AddItemrs.Fields(0)rs.MoveNextNextrs.Close4、 EndSub查询学生信息:OptionExplicitPrivateSubCommand1_Click()DimrsAsNewADODB.RecordsetDimcnAsNewADODB.ConnectionDimcnstrAsStringcnstr="driver=sqlserver;server=.;uid=sa;pwd=;database=student"cn.OpencnstrIfOption1.Value=TrueThensqlstr="select*fromstudent_info"Combo1.Text=""Text1.Text="":Text2.Text=""EndIfIfOption2.Value=TrueThensqlstr="select*fromstudent_infowhereclass_no='"&Combo1.Text&"'"Text2.Text="":Text1.Text=""EndIfIfOption3.Value=TrueThensqlstr="select*fromstudent_infowherestudent_id='"&Text1.Text&"'"Combo1.Text="":Text2.Text=""EndIfIfOption4.Value=TrueThensqlstr="select*fromstudent_infowherestudent_name='"&Text2.Text&"'"Combo1.Text="":Text2.Text=""EndIfrs.Opensqlstr,cnSetrs=ExecuteSQL(sqlstr,Msg)Ifrs.RecordCount=0ThenMsgBox"没有查找到满足条件的数据!",48,"提示"fgStudent.Rows=1ElsefgStudent.Rows=rs.RecordCount+1fgStudent.Cols=9'设定行高Fori=0TofgStudent.Rows-1fgStudent.RowHeight(i)=280Nexti'设定列的属性fgStudent.Row=0Fori=0TofgStudent.Cols-1fgStudent.Col=i'指定当前列为第I列fgStudent.FixedAlignment(i)=4'使内容居中SelectCaseiCase0fgStudent.ColWidth(i)=1500'设定列宽fgStudent.Text="学号"Case1fgStudent.ColWidth(i)=2000'设定列宽fgStudent.Text="姓名"Case2fgStudent.ColWidth(i)=800'设定列宽fgStudent.Text="性别"Case3fgStudent.ColWidth(i)=800'设定列宽fgStudent.Text="班级"Case4fgStudent.ColWidth(i)=1300'设定列宽fgStudent.Text="出生日期"Case5fgStudent.ColWidth(i)=1500'设定列宽fgStudent.Text="电话"Case6fgStudent.ColWidth(i)=1500fgStudent.Text="入学时间"Case7fgStudent.ColWidth(i)=2500'设定列宽fgStudent.Text="地址"Case8fgStudent.ColWidth(i)=3000'设定列宽fgStudent.Text="备注信息"EndSelectNextii=1'从第二行开始显示内容While(Notrs.EOF)fgStudent.Row=iForj=0TofgStudent.Cols-1fgStudent.Col=jfgStudent.CellAlignment=4SelectCasejCase0fgStudent.Text=rs.Fields("student_id")Case1fgStudent.Text=rs.Fields("student_name")Case2fgStudent.Text=rs.Fields("student_sex")Case3fgStudent.Text=rs.Fields("class_no")Case4fgStudent.Text=rs.Fields("born_date")Case5fgStudent.Text=rs.Fields("tele_number")Case6fgStudent.Text=rs.Fields("ru_date")Case7fgStudent.Text=rs.Fields("address")Case8fgStudent.Text=rs.Fields("comment")EndSelectNextjrs.MoveNexti=i+1WendEndIfrs.CloseEndSubPrivateSubCommand2_Click()UnloadMeForm4.ShowEndSubPrivateSubForm_Load()mdlTextBox.CentenMeText1.Text="":Text2.Text="":Combo1.Text=""DimrsAsADODB.Recordsetsqlstr="select*fromclass_info"Setrs=ExecuteSQL(sqlstr,Msg)Fori=1Tors.RecordCountCombo1.AddItemrs.Fields(0)rs.MoveNextNextrs.CloseEndSub程序运行界面:学生信息管理系统(详细设计)登录的系统界面:总体程序流程图:学校构成系部开始课程选课成绩构成教师授课构成班级构成学生学生档案课程名称学时课程信息授课老师登录学生档案登录学生选课登录学生成绩成绩学生选课选课信息查询统计管理人员-