学生信息管理系统完整.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流学生信息管理系统完整.精品文档.学生信息管理系统(总体设计)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、 登录模块代码:Option ExplicitPrivate Sub cmd3_Click()Dim cn As ADODB.ConnectionDim rs As ADODB.RecordsetDim str_cn As String '访问sql server的连接字符串Dim str_sql As Stringstr_cn = "driver=sql server;server=.;uid=sa;pwd=;database=student"Set cn = New ADODB.Connectioncn.CursorLocation = adUseClientcn.Open str_cn '连接sql serverstr_sql = "select * from user_info where user_name='" & Text1.Text & "' and user_code='" & Text2.Text & "'"Set rs = New ADODB.Recordsetrs.Open str_sql, cn, adOpenDynamic, adLockOptimisticIf Len(Text1.Text) = 0 Then MsgBox "请输入用户名!", 64, "提示" Text1.SetFocusElseIf Len(Text2.Text) = 0 Then MsgBox "请输入密码!", 64, "提示" Text2.SetFocusElse If rs.RecordCount = 0 Then i = MsgBox("不存在该用户,是否立即注册?", 4 + 32, "提示") If i = 6 Then Unload Me Form3.Show Else mdlTextBox.Blank Me Text2.SetFocus End If Else ' Unload Me Form1.Hide Form4.Show End IfEnd IfEnd SubPrivate Sub Form_Load()mdlTextBox.Centen Me '使窗体居中End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label5.ForeColor = vbBlackLabel5.FontUnderline = FalseLabel6.ForeColor = vbBlackLabel6.FontUnderline = FalseEnd SubPrivate Sub Label5_Click()Unload MeForm3.ShowEnd SubPrivate Sub Label5_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label5.ForeColor = vbBlueLabel5.FontUnderline = TrueEnd SubPrivate Sub Label6_Click()Unload MeForm2.ShowEnd SubPrivate Sub Label6_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label6.ForeColor = vbBlueLabel6.FontUnderline = TrueEnd Sub2、 添加学生信息代码:Option ExplicitPrivate Sub Command1_Click()If Len(Text1.Text) = 0 Or Len(Text6.Text) = 0 Then MsgBox "请将信息补充完整!", 48, "警告" Exit SubEnd If'添加新记录sqlstr = "select * from student_Info"Set rs = 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.Blank MeEnd SubPrivate Sub Command2_Click()Unload MeForm4.ShowEnd SubPrivate Sub Form_Load()mdlTextBox.Centen MemdlTextBox.Blank MeCombo1.Text = "男": Combo2.Text = ""Combo1.AddItem "男"Combo1.AddItem "女"sqlstr = "select * from class_Info"Set rs = ExecuteSQL(sqlstr, Msg)For i = 1 To rs.RecordCount Combo2.AddItem rs.Fields(0) rs.MoveNextNext irs.CloseEnd Sub3、 删改学生信息代码:Option ExplicitPrivate Sub Command4_Click() '从数据库中读取学生信息并添加到窗体中的输入框 sqlstr = "select * from student_Info where student_id='" & Combo2.Text & "' and class_no='" & Combo1.Text & "'" Set rs = ExecuteSQL(sqlstr, Msg) If rs.RecordCount = 0 Then MsgBox "没有找到符合条件的数据!", 48, "警告" mdlTextBox.Blank Me: Combo3.Text = "" Else Text2.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")End If rs.CloseEnd SubPrivate Sub Command1_Click()Dim cn As ADODB.Connectionsqlstr = "update student_info set student_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 & "' where student_id='" & Combo2.Text & "'" On Error GoTo exitsub Set cn = New ADODB.Connection cn.Open connstr cn.Execute sqlstr MsgBox "成功修改数据!"exitsub: cn.Close mdlTextBox.Blank Me: Combo3.Text = ""End SubPrivate Sub Command2_Click()Dim cn As ADODB.Connectionsqlstr = "delete from student_info where student_id='" & Combo2.Text & "'"On Error GoTo exitsubSet cn = New ADODB.Connectioncn.Open connstrcn.Execute sqlstrMsgBox "成功删除数据!"exitsub:cn.Close mdlTextBox.Blank Me: Combo3.Text = ""End SubPrivate Sub Command3_Click()Unload MeForm4.ShowEnd SubPrivate Sub Form_Load()mdlTextBox.Centen MeCombo1.Text = "": Combo2.Text = ""mdlTextBox.Blank MeCombo3.Text = "" Combo4.Text = "男" Combo4.AddItem "男" Combo4.AddItem "女"Dim sqlstr As StringDim Msg As StringDim i As Integersqlstr = "select * from class_Info"Set rs = ExecuteSQL(sqlstr, Msg)For i = 1 To rs.RecordCount Combo1.AddItem rs.Fields(0) Combo3.AddItem rs.Fields(0) rs.MoveNextNextDim sql As StringDim msgtext As Stringsql = "select * from student_Info"Set rs = ExecuteSQL(sql, msgtext)For i = 1 To rs.RecordCount Combo2.AddItem rs.Fields(0) rs.MoveNextNextrs.CloseEnd Sub4、 查询学生信息:Option ExplicitPrivate Sub Command1_Click()Dim rs As New ADODB.RecordsetDim cn As New ADODB.ConnectionDim cnstr As Stringcnstr = "driver=sql server;server=.;uid=sa;pwd=;database=student"cn.Open cnstrIf Option1.Value = True Then sqlstr = "select * from student_info" Combo1.Text = "" Text1.Text = "": Text2.Text = ""End IfIf Option2.Value = True Then sqlstr = "select * from student_info where class_no='" & Combo1.Text & "' " Text2.Text = "": Text1.Text = ""End IfIf Option3.Value = True Then sqlstr = "select * from student_info where student_id='" & Text1.Text & "' " Combo1.Text = "": Text2.Text = ""End IfIf Option4.Value = True Then sqlstr = "select * from student_info where student_name='" & Text2.Text & "'" Combo1.Text = "": Text2.Text = ""End Ifrs.Open sqlstr, cnSet rs = ExecuteSQL(sqlstr, Msg)If rs.RecordCount = 0 Then MsgBox "没有查找到满足条件的数据!", 48, "提示" fgStudent.Rows = 1Else fgStudent.Rows = rs.RecordCount + 1 fgStudent.Cols = 9 '设定行高 For i = 0 To fgStudent.Rows - 1 fgStudent.RowHeight(i) = 280 Next i '设定列的属性 fgStudent.Row = 0 For i = 0 To fgStudent.Cols - 1 fgStudent.Col = i '指定当前列为第I 列 fgStudent.FixedAlignment(i) = 4 '使内容居中 Select Case i Case 0 fgStudent.ColWidth(i) = 1500 '设定列宽 fgStudent.Text = "学号" Case 1 fgStudent.ColWidth(i) = 2000 '设定列宽 fgStudent.Text = "姓名" Case 2 fgStudent.ColWidth(i) = 800 '设定列宽 fgStudent.Text = "性别" Case 3 fgStudent.ColWidth(i) = 800 '设定列宽 fgStudent.Text = "班级" Case 4 fgStudent.ColWidth(i) = 1300 '设定列宽 fgStudent.Text = "出生日期" Case 5 fgStudent.ColWidth(i) = 1500 '设定列宽 fgStudent.Text = "电话" Case 6 fgStudent.ColWidth(i) = 1500 fgStudent.Text = "入学时间" Case 7 fgStudent.ColWidth(i) = 2500 '设定列宽 fgStudent.Text = "地址" Case 8 fgStudent.ColWidth(i) = 3000 '设定列宽 fgStudent.Text = "备注信息" End Select Next i i = 1 '从第二行开始显示内容 While (Not rs.EOF) fgStudent.Row = i For j = 0 To fgStudent.Cols - 1 fgStudent.Col = j fgStudent.CellAlignment = 4 Select Case j Case 0 fgStudent.Text = rs.Fields("student_id") Case 1 fgStudent.Text = rs.Fields("student_name") Case 2 fgStudent.Text = rs.Fields("student_sex") Case 3 fgStudent.Text = rs.Fields("class_no") Case 4 fgStudent.Text = rs.Fields("born_date") Case 5 fgStudent.Text = rs.Fields("tele_number") Case 6 fgStudent.Text = rs.Fields("ru_date") Case 7 fgStudent.Text = rs.Fields("address") Case 8 fgStudent.Text = rs.Fields("comment") End Select Next j rs.MoveNext i = i + 1 WendEnd Ifrs.CloseEnd SubPrivate Sub Command2_Click()Unload MeForm4.ShowEnd SubPrivate Sub Form_Load()mdlTextBox.Centen MeText1.Text = "": Text2.Text = "": Combo1.Text = ""Dim rs As ADODB.Recordsetsqlstr = "select * from class_info"Set rs = ExecuteSQL(sqlstr, Msg)For i = 1 To rs.RecordCount Combo1.AddItem rs.Fields(0) rs.MoveNextNextrs.CloseEnd Sub程序运行界面:学生信息管理系统(详细设计)登录的系统界面:总体程序流程图:学校构成系部开始课程选课成绩构成教师授课构成班级构成学生学生档案课程名称学时课程信息授课老师登录学生档案登录学生选课登录学生成绩成绩学生选课选课信息查询统计管理人员