还剩22页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程设计VB课程设计报告系别计算机科学与技术系专业(班级)作者(学号)指导教师完成日期2008年12月20日教务处制题目:学生信息管理系统的实现内容摘要学生信息管理系统主要包括班级管理信息的输入、查询、修改;学校基本课程信息的输入、修改;学生课程信息的设置和修改;学生成绩信息的输入、修改、查询以及统计目录
1.需求分析----------------------------------------
22.概要设计-----------------------------------------
43.详细设计-----------------------------------------
44.测试-----------------------------------------------
255.附录或参考资料----------------------------------261:需求分析随着学校规模的不断扩大,学生的数量急剧增加,有关学生的各种信息管理也成倍增长而对于庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率,取代从前的手工操作基于今后计算机的网路普及以及方便实现用户阅读及统一查询,所以使用SQLserver2000做数据库系统,使用VisualBasic作为前台处理软件
(1)系统分析a.系统功能分析班级管理信息的输入,包括班级设置、年级的设置等;班级管理信息管理的查询;班级管理信息的修改;学校基本课程信息的输入;基本课程信息的修改;学生课程信息的设置和修改;学生成绩信息的输入;学生成绩信息的修改;学生成绩信息的查询;学生成绩信息的统计b.系统功能模块分析上述各功能的系统功能模块图如下
(2)数据库分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响合理的数据库结构设计可提高数据存储的效率,保证数据的完整和一致同时,合理的数据库结构也将有利于程序的实现数据库需求分析用户的需求具体体现在各种信息的提供、保证、更新和查询,这就要求数据库结构能够充分满足各种信息的输出和输入针对一般学生信息管理系统的要求,通过对学生学习过程的内容和数据流程分析,设计如下的数据项和数据结构a.学生基本信息包括的数据项有学生学号、学生姓名、性别、出身日期、班号、联系电话、入校日期、家庭地址、备注等b.班级信息包括的数据项有班号、所在年级、班主任姓名、所在教室等c.课程基本信息包括的数据项有课程号、课程名称、课程类别、课程描述等d.课程设置信息包括数据项有年级信息、所学课程等e.学生成绩信息包括数据项有考试编号、所在班号、学生学号、学生姓名、所学课程、考试分数等根据上面的数据结构、数据项和数据流程,进行一下的数据库设计
2.概要设计
(1)数据库设计利用SQLserver2000数据库系统中的SQl企业管理器,建立数据库student.sql文件,数据库名为student,在student数据库中创建6个表,分别为学生基本信息表、班级基本信息表、课程基本信息表、年级课程基本信息表、学生成绩信息表、系统用户表
(2)系统设计用VisualBasic来编写数据库系统客户端程序即学生信息管理系统中各功能模块该系统包括工程文件Student_Mis.vbp,标准模块文件Module
1.bas,主窗体文件frmMain.frm,登陆窗体文件frmLogin.frm,添加用户窗体文件frmAdduser.frm修改用户密码窗体文件frmModifyuserinfo.frm,添加学籍信息窗体文件frmAddsinfo.frm,修改学籍信息窗体文件frmModifysinfo.frm,查询学籍信息窗体文件frmInquiresinfo.frm,添加班级信息窗体文件frmAddclassinfo.frm,修改班级信息窗体文件frmModifyclassinfo.frm,添加课程信息窗体文件frmAddcourseinfo.frm,修改课程信息窗体文件frmModifycourseinfo.frm,设置年级课程窗体文件frmSetcourseinfo.frm,添加成绩信息窗体文件frmAddresult.frm,修改成绩窗体文件frmModifyresult.frm,查询成绩信息窗体文件frmInquireresult.frm
3.详细设计
(1)数据库设计a.数据库概念结构设计得到数据项和数据结构后,设计出能够满足用户需求的各种实体,以及它们之间的关系这些实体包括具体信息,通过相互之间的作用形成数据段流动设计规划出的实体有年级实体、学生实体、课程实体各个实体具体的描述及关系的E-R图如下图所示b.数据库逻辑结构设计学生信息管理系统数据库中各表设计结果如图
1.1~
1.6所示每个表格表示在数据库中的一个表表
1.1student_info学生基本信息表表
1.2class_info班级信息表表
1.3course_info课程基本信息表
1.4gradecourse_info年级课程设计表格表
1.5result_info学生成绩信息表表
1.6user_info系统用户表
(2)系统设计
1.学生信息管理系统主窗体的创建a.创建一个工程名为Student_Mis的工程文件Student_Mis.vbpb.创建学生信息管理系统的主窗体MID窗体,窗体名为frmMain,窗体文件名为frmMain.frmc.创建主窗体的菜单主窗体表
2.1菜单结果表对象属性属性值对象属性属性值主菜单项1名称sysMenu子菜单项2名称modifycionfoMenu标题系统标题修改班级信息子菜单项1名称adduserMenu主菜单项4名称courseMenu标题添加用户标题课程设置子菜单项2名称modifypwdMenu子菜单项1名称addcourseMenu标题修改密码标题添加课程设计子菜单项3名称exitMenu子菜单项2名称modifycourseMenu标题退出系统标题主菜单项2名称sinfoMenu子菜单项3名称gradecourseMenu标题学籍信息标题设计年级课程子菜单项1名称addsinfoMenu主菜单项5名称resultMenu标题添加学籍信息标题成绩管理子菜单项2名称modifysinfoMenu子菜单项1名称addresultMenu标题修改学籍信息标题添加成绩信息子菜单项3名称inquiresinfoMenu子菜单项2名称modifyresultMenu标题查询学籍信息标题修好学籍信息主菜单项3名称classinfoMenu子菜单项3名称inquireresultMenu标题班级管理标题查询成绩信息子菜单项1名称addcinfoMenu标题添加班级信息学生信息管理系统主窗体代码如下PrivateSubMDIForm_LoadMe.Left=GetSettingApp.TitleSettingsMainLeft1000Me.Top=GetSettingApp.TitleSettingsMainTop1000Me.Width=GetSettingApp.TitleSettingsMainWidth6500Me.Height=GetSettingApp.TitleSettingsMainHeight6500EndSubPrivateSubMDIForm_UnloadCancelAsIntegerIfMe.WindowStatevbMinimizedThenSaveSettingApp.TitleSettingsMainLeftMe.LeftSaveSettingApp.TitleSettingsMainTopMe.TopSaveSettingApp.TitleSettingsMainWidthMe.WidthSaveSettingApp.TitleSettingsMainHeightMe.HeightEndIfEndSubPrivateSubmodifycinfoMenu_ClickfrmModifyclassinfo.ShowEndSubPrivateSubmodifycourseMenu_ClickfrmModifycourseinfo.ShowEndSubPrivateSubmodifypwdMenu_ClickfrmModifyuserinfo.ShowEndSubPrivateSubmodifyresultMenu_ClickfrmModifyresult.ShowEndSubPrivateSubmodifysinfo_Menu_ClickfrmModifysinfo.ShowEndSubd.创建公共模块在工程资源管理器中为项目添加一个名称为Module的标准模块文件Module.bas代码如下PublicfMainFormAsfrmMainPublicUserNameAsStringSubMainDimfLoginAsNewfrmLoginfLogin.ShowvbModalIfNotfLogin.OKThenLoginFailedsoexitappEndEndIfUnloadfLoginSetfMainForm=NewfrmMainfMainForm.ShowEndSubPublicFunctionConnectString_AsStringreturnsaDBConnectStringConnectString=FileDSN=studentinfo.dsnEndFunctionPublicFunctionExecuteSQLByValSQL_AsStringMsgStringAsString_AsADODB.RecordsetexecutesSQLandreturnsRecordsetDimcnnAsADODB.ConnectionDimrstAsADODB.RecordsetDimsTokensAsStringOnErrorGoToExecuteSQL_ErrorsTokens=SplitSQLSetcnn=NewADODB.Connectioncnn.OpenConnectStringIfInStrINSERTDELETEUPDATE_UCase$sTokens0Thencnn.ExecuteSQLMsgString=sTokens0_querysuccessfulElseSetrst=NewADODB.Recordsetrst.OpenTrim$SQLcnn_adOpenKeyset_adLockOptimisticrst.MoveLastgetRecordCountSetExecuteSQL=rstMsgString=查询到rst.RecordCount_条记录EndIfExecuteSQL_Exit:Setrst=NothingSetcnn=NothingExitFunctionExecuteSQL_Error:MsgString=查询错误:_Err.DescriptionResumeExecuteSQL_ExitEndFunctionPublicFunctionTesttxttxtAsStringAsBooleanIfTrimtxt=ThenTesttxt=FalseElseTesttxt=TrueEndIfEndFunction2.系统用户管理模块的创建a.系统用户管理模块主页实现用户登陆;用户添加;修改用户密码用户登陆窗体的创建进入系统后出现如图
2.1所示用户登陆窗体,用户首先输入用户名,然后输入密码如果用户3次输入密码不正确,将退出程序图
2.1代码如下OptionExplicitPublicOKAsBoolean记录确定次数DimmiCountAsIntegerPrivateSubForm_LoadOK=FalsemiCount=0EndSubPrivateSubcmdCancel_ClickOK=FalseMe.HideEndSubPrivateSubcmdOK_ClickDimtxtSQLAsStringDimmrcAsADODB.RecordsetDimMsgTextAsStringToDo:createtestforcorrectpasswordcheckforcorrectpasswordUserName=IfTrimtxtUserName.Text=ThenMsgBox没有这个用户,请重新输入用户名!vbOKOnly+vbExclamation警告txtUserName.SetFocusElsetxtSQL=select*fromuser_Infowhereuser_ID=txtUserName.TextSetmrc=ExecuteSQLtxtSQLMsgTextIfmrc.EOF=TrueThenMsgBox没有这个用户,请重新输入用户名!vbOKOnly+vbExclamation警告txtUserName.SetFocusElseIfTrimmrc.Fields1=TrimtxtPassword.TextThenOK=Truemrc.CloseMe.HideUserName=TrimtxtUserName.TextElseMsgBox输入密码不正确,请重新输入!vbOKOnly+vbExclamation警告txtPassword.SetFocustxtPassword.Text=EndIfEndIfEndIfmiCount=miCount+1IfmiCount=3ThenMe.HideEndIfExitSubEndSub用户添加窗体的创建进入系统后,选择菜单“系统|添加用户”就可以添加用户,会出现如图
2.2所示的窗体图
2.2代码如下PrivateSubcmdCancel_ClickUnloadMeEndSubPrivateSubcmdOK_ClickDimtxtSQLAsStringDimmrcAsADODB.RecordsetDimMsgTextAsStringIfTrimText
10.Text=ThenMsgBox请输入用户名称!vbOKOnly+vbExclamation警告ExitSubText
10.SetFocusElsetxtSQL=select*fromuser_InfoSetmrc=ExecuteSQLtxtSQLMsgTextWhilemrc.EOF=FalseIfTrimmrc.Fields0=TrimText10ThenMsgBox用户已经存在,请重新输入用户名!vbOKOnly+vbExclamation警告Text
10.SetFocusText
10.Text=Text
11.Text=Text
12.Text=ExitSubElsemrc.MoveNextEndIfWendEndIfIfTrimText
11.TextTrimText
12.TextThenMsgBox两次输入密码不一样,请确认!vbOKOnly+vbExclamation警告Text
11.SetFocusText
11.Text=Text
12.Text=ExitSubElseIfText
11.Text=ThenMsgBox密码不能为空!vbOKOnly+vbExclamation警告Text
11.SetFocusText
11.Text=Text
12.Text=Elsemrc.AddNewmrc.Fields0=TrimText
10.Textmrc.Fields1=TrimText
11.Textmrc.Updatemrc.CloseMe.HideMsgBox添加用户成功!vbOKOnly+vbExclamation添加用户EndIfEndIfEndSub修改用户密码窗体的创建用户可以修改自己的密码,选择“系统|修改密码”,出现如图
2.3所示,在这个窗体中放置看两个文本框,用来输入密码和确认密码图
2.3代码如下PrivateSubcmdCancel_ClickUnloadMeEndSubPrivateSubcmdOK_ClickDimtxtSQLMsgTextAsStringDimmrcAsADODB.RecordsetIfTrimText
11.TextTrimText
12.TextThenMsgBox密码输入不正确!vbOKOnly+vbExclamation警告Text
11.SetFocusText
11.Text=ElsetxtSQL=select*fromuser_Infowhereuser_ID=UserNameSetmrc=ExecuteSQLtxtSQLMsgTextmrc.Fields1=Text
11.Textmrc.Updatemrc.CloseMsgBox密码修改成功!vbOKOnly+vbExclamation修改密码Me.HideEndIfEndSub3.学籍管理模块的创建学籍信息管理主题实现如下功能添加学籍信息;修改学籍信息;查询学校信息添加学籍信息窗体的创建选择“学籍管理|添加学籍信息”菜单,将出现如图
2.4所示的窗体图
2.4代码如下PrivateSubCommand1_ClickDimmrcAsADODB.RecordsetDimtxtSQLAsStringDimMsgTextAsStringifNotTesttxttxtSID.TextThenMsgBox请输入学号!vbOKOnly+vbExclamation警告txtSID.SetFocusExitSubEndIfIfNotTesttxttxtName.TextThenMsgBox请输入姓名!vbOKOnly+vbExclamation警告txtName.SetFocusExitSubEndIfIfNotTesttxtcomboSex.TextThenMsgBox请选择性别!vbOKOnly+vbExclamation警告comboSex.SetFocusExitSubEndIfIfNotTesttxttxtBorndate.TextThenMsgBox请输入出生日期!vbOKOnly+vbExclamation警告txtBorndate.SetFocusExitSubEndIfIfNotTesttxtcomboClassno.TextThenMsgBox请选择班号!vbOKOnly+vbExclamation警告comboClassno.SetFocusExitSubEndIfIfNotTesttxttxtTel.TextThenMsgBox请输入联系电话!vbOKOnly+vbExclamation警告txtTel.SetFocusExitSubEndIfIfNotTesttxttxtRudate.TextThenMsgBox请输入入校日期!vbOKOnly+vbExclamation警告txtRudate.SetFocusExitSubEndIfIfNotTesttxttxtAddress.TextThenMsgBox请输入家庭住址!vbOKOnly+vbExclamation警告txtAddress.SetFocusExitSubEndIfIfNotIsNumericTrimtxtSID.TextThenMsgBox请输入数字!vbOKOnly+vbExclamation警告ExitSubtxtSID.SetFocusEndIftxtSQL=select*fromstudent_Infowherestudent_ID=TrimtxtSID.TextSetmrc=ExecuteSQLtxtSQLMsgTextIfmrc.EOF=FalseThenMsgBox学号重复,请重新输入!vbOKOnly+vbExclamation警告mrc.ClosetxtSID.SetFocusElsemrc.CloseIfNotIsDatetxtBorndate.TextThenMsgBox出生时间应输入日期格式(yyyy-mm-dd)!vbOKOnly+vbExclamation警告txtBorndate.SetFocusElsetxtBorndate=FormattxtBorndateyyyy-mm-ddIfNotIsDatetxtRudate.TextThenMsgBox入校时间应输入日期格式(yyyy-mm-dd)!vbOKOnly+vbExclamation警告txtRudate.SetFocusElsetxtRudate=FormattxtRudateyyyy-mm-ddtxtSQL=select*fromstudent_InfoSetmrc=ExecuteSQLtxtSQLMsgTextmrc.AddNewmrc.Fields0=TrimtxtSID.Textmrc.Fields1=TrimtxtName.Textmrc.Fields2=TrimcomboSex.Textmrc.Fields3=TrimtxtBorndate.Textmrc.Fields4=TrimcomboClassno.Textmrc.Fields5=TrimtxtTel.Textmrc.Fields6=TrimtxtRudate.Textmrc.Fields7=TrimtxtAddress.Textmrc.Fields8=TrimtxtComment.Textmrc.UpdateMsgBox添加学籍信息成功!vbOKOnly+vbExclamation警告mrc.CloseMe.HideEndIfEndIfEndIfEndSubPrivateSubCommand2_ClickUnloadMeEndSubPrivateSubForm_LoadDimmrcAsADODB.RecordsetDimtxtSQLAsStringDimMsgTextAsStringDimiAsIntegercomboSex.AddItem男comboSex.AddItem女txtSQL=select*fromclass_InfoSetmrc=ExecuteSQLtxtSQLMsgTextFori=1Tomrc.RecordCountcomboClassno.AddItemmrc.Fields0mrc.MoveNextNextimrc.CloseEndSub修改学籍信息窗体的创建选择“学籍管理|修改学籍信息”菜单,将会出现如图
2.5所示的窗体这个窗体在添加学籍信息窗体的基础上增加了两排按钮图
2.5代码略查询学籍信息窗体的建立选择“学籍管理|查询学籍信息”菜单,将出现如图
2.6所示的窗体这里可以按照各种方式以及它们的组合进行查询图
2.6代码略4.班级管理模块的创建班级管理模块主要实现如下功能添加班级信息;修改班级信息添加班级信息窗体的创建选择“班级管理|添加班级信息”菜单,将出现如图
2.7所示的窗体图
2.7窗体中各个表的控件属性设置见下表控件属性属性取值控件属性属性取值FrmAddclassinfoFormNameFrmAddclassinfoLabel1Caption班号Caption添加班级信息Command2NameCommand2MIDChildTrueCaption退出按钮txtClassnoNametxtClassnoLabel2Caption年级comboGradeNamecomboGradeLabel3Caption班主任txtDirectorNametxtDirectorLabel4Caption教室txtClassroomNametxtClassroomCommand1NameCommand1Caption确定添加输入完内容,单击按钮“确认添加”,触发Click事件,添加内容到数据库代码如下PrivateSubCommand1_ClickDimmrcAsADODB.RecordsetDimMsgTextAsStringDimtxtSQLAsStringIfNotTesttxttxtClassno.TextThenMsgBox请输入班号!vbOKOnly+vbExclamation警告txtClassno.SetFocusExitSubEndIfIfNotTesttxtcomboGrade.TextThenMsgBox请选择年级!vbOKOnly+vbExclamation警告comboGrade.SetFocusExitSubEndIfIfNotTesttxttxtDirector.TextThenMsgBox请输入班主任姓名!vbOKOnly+vbExclamation警告txtDirector.SetFocusExitSubEndIfifNotTesttxttxtClassroom.TextThenMsgBox请输入教室房间号!vbOKOnly+vbExclamation警告txtClassroom.SetFocusExitSubEndIfIfNotIsNumericTrimtxtClassno.TextThenMsgBox请输入数字!vbOKOnly+vbExclamation警告ExitSubtxtClassno.SetFocusEndIftxtSQL=select*fromclass_InfoSetmrc=ExecuteSQLtxtSQLMsgTextmrc.MoveFirstWhilemrc.EOF=FalseIfTrimmrc.Fields0=TrimtxtClassno.TextThenMsgBox班号已经存在,请重新输入班号!vbOKOnly+vbExclamation警告ExitSubtxtClassno.Text=txtClassno.SetFocusElsemrc.MoveNextEndIfWendmrc.AddNewmrc.Fields0=TrimtxtClassno.Textmrc.Fields1=TrimcomboGrade.Textmrc.Fields2=TrimtxtDirector.Textmrc.Fields3=TrimtxtClassroom.Textmrc.Updatemrc.CloseMsgBox添加班级信息成功!vbOKOnly+vbExclamation添加班级信息EndSubPrivateSubCommand2_ClickUnloadMeEndSubPrivateSubForm_LoadcomboGrade.AddItem初中一年级comboGrade.AddItem初中二年级comboGrade.AddItem初中三年级comboGrade.AddItem高中一年级comboGrade.AddItem高中二年级comboGrade.AddItem高中三年级EndSub5.课程设置模块的创建课程设置模块主要实现如下功能添加课程信息;修改课程信息;设置年级课程添加课程信息窗体的创建选择“课程设置|添加课程信息”菜单,将出现如图
2.8所示的窗体图
2.8单击“确定添加”按钮,添加班级信息单击“取消添加”将退出程序代码可以参照上面的添加班级信息修改课程信息窗体的创建选择“课程设置|修改课程信息”菜单,将出现如图
2.9所示的窗体图
2.9查看课程信息和修改基础信息框架中的按钮的功能,方法前面已经介绍过,参照前面的内容设置年级课程窗体的创建选择菜单“课程设置|设置年级课程”,将出现如图
2.10所示的窗体图
2.10窗体中各个控件的属性如下表控件属性属性取值控件属性属性取值frmSetcourseinfoFromNamefrmSetcourseinfocmdModifyNamecmdModifyCaption设置年级课程信息Caption确认设置MIDChildTruecmdAddNamecmdAddcomboGradeNamecomboGradeCaption--listAllcourseNamelistAllcoursecmdDeleteNamecmdDeletelistSelectcourseNamelistSelectcourseCaption--cmdSetNamecmdSetLabel1Caption选择年级Caption设置课程Label2Caption所有课程Label3Caption已经选择程主要代码如下PrivateSubcmdModify_ClickDimiAsIntegerDimmrcAsADODB.RecordsetDimmrccAsADODB.RecordsetDimtxtSQLAsStringDimMsgTextAsStringDimmyBookmarkAsVariantIfNotTesttxtcomboGrade.TextThenMsgBox请先选择年级!vbOKOnly+vbExclamation警告ExitSubEndIfIfNotTesttxtlistSelectcourse.List0ThenMsgBox请选择课程!vbOKOnly+vbExclamation警告ExitSubEndIftxtSQL=select*fromgradecourse_Infowheregrade=TrimcomboGrade.TextSetmrc=ExecuteSQLtxtSQLMsgTextIfmrc.EOFThenFori=1TolistSelectcourse.ListCountmrc.AddNewmrc.Fields0=comboGrade.Textmrc.Fields1=listSelectcourse.Listi-1mrc.UpdateNextimrc.CloseMsgBox课程设置成功!vbOKOnly+vbExclamation警告Elsemrc.ClosetxtSQL=deletefromgradecourse_Infowheregrade=TrimcomboGrade.TextSetmrcc=ExecuteSQLtxtSQLMsgTexttxtSQL=select*fromgradecourse_InfoSetmrcc=ExecuteSQLtxtSQLMsgTextFori=1TolistSelectcourse.ListCountmrcc.AddNewmrcc.Fields0=comboGrade.Textmrcc.Fields1=listSelectcourse.Listi-1mrcc.UpdateNextimrcc.CloseMsgBox课程设置成功!vbOKOnly+vbExclamation警告EndIfEndSub单击“确认设置”按钮,将课程设置数据保存到数据库中单击“退出课程设置”按钮将退出6.成绩管理模块的创建成绩管理模块主要实现如下功能添加成绩信息;修改成绩信息;查询成绩信息添加成绩信息窗体的创建选择“成绩管理|添加成绩信息”菜单,将出现如图
2.11所示的窗体图
2.11控件属性及代码和前面大部分窗体一样修改成绩信息窗体的创建如图
2.12图
2.12控件属性及代码和前面大部分窗体一样查询成绩信息窗体的创建如图
2.13所示图
2.13控件属性的设置以及代码和查询学籍信息窗体的内容一样
4.测试结果1连接数据库建立数据源控制面板——管理工具——数据源——文件DSN——添加——SQLServer——下一步——在浏览框内填写数据源名称(必须和模块中写数据源一致)——下一步——服务器选择“Local”——下一步——更改默认数据库为student数据库——下一步——完成2测试首先用查询分析器在studnet数据库的user_info表中写入用户名和密码用来登陆然后登陆学生信息管理系统,进行添加用户、查询用户等测试
5.附录或参考资料参考资料《VisualBasic程序设计》(安徽大学出版社)《VisualBasic程序设计上机实验》(安徽大学出版社)。