《毕业设计学生信息管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计学生信息管理系统.doc(29页珍藏版)》请在三一办公上搜索。
1、渤海大学本科毕业论文(设计)学生信息管理系统student information management system学 院(系): 工学院 专 业: 自动化 学 号: 09060221 学 生 姓 名: 盛鑫 入 学 年 度: 2009年 指 导 教 师: 刘慧巍 完 成 日 期: 2013年 5月 10 日 渤海大学Bohai University摘 要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。学生成绩管理系统
2、主要提供方便高效的管理功能,该实现以下一些基本功能: 1.系统管理模块:维护系统的正常运行和安全性设置,包括添加用户、修改密码、删除用户等等。 2.学院信息模块:实现对学校院系、专业、班级操作。包括:添加、修改、删除院系、专业、班级等信息。这三个功能模块各自独立,完成学校的全部班级的管理。 3.学生学籍管理模块:实现对学生的个人信息的管理工作,包括学籍添加、 学籍查询、学籍修改等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解。 4.课程管理模块:该模块对各个班级的课程进行设置,并可在其中设置各门 课程的教材选用情况,方便了学校教材管理部门和教务处的教学管理人员的工作。该模块包括基本
3、课程设置和班级课程设置两个模块。5.成绩管理模块:检验学生学习情况的一个主要手段,本模块包括考试类型 设置,共有期中考试和期未考试两种类型,还设置了成绩添加、成绩查询、成绩浏览、成绩修改等功能模块。关键词:数据库;ACCESS;数据库;VBStudent Information Management SystemAbstractAlong with the information technology in the management of a more profound and extensive application, management information systems im
4、plementation, technology has gradually matured. Management information system is a continuous development of new disciplines, any one unit to survive and to develop, efficient activities of the internal organization of organic, it must establish its own characteristics and to adapt the management of
5、 information system.Student achievement management system to facilitate the provision of efficient management, the implementation of the following basic functions:1 system management module: maintaining the normal operation of the system and security settings, including add, modify, delete user pass
6、word user and so on.2 school of information module :the realization of school faculty, professional operation, class. Include: add, modify, delete, professional colleges, class and other information. The three function modules are independent, complete the whole school class management.3 student man
7、agement module: the realization of students personal information management, including add, query student school, student modify functions, thereby facilitating school administration to the schools basic situation of fast inquiry and understanding.4 the curriculum management module:This module of th
8、e various classes of curriculum setting, and can be set up in which the course of the teaching material selection, convenient school teaching material management department and the school administration office of the teaching management staff. The module includes the basic curriculum and the courses
9、 setting of two modules.5 performance management module:testing the students learning is one of the main means, the module test type setting, a total of midterm and final exams in two types, also set up the achievement to add, query results, performance, function modules such as browsing performance
10、 changes.Key Words:database ;ACCESS; database;VB目 录摘 要IAbstractII引 言11 需求分析21.1 调查21.2 可行性分析22 功能设计32.1 业务流程分析32.2 数据流程分析32.3 软件功能设计53 数据库设计63.1 学生表63.2 教师表63.3 管理员表73.5 院系表73.8 班级表84 程序代码的设计94.1 程序代码设计要求94.2 详细代码设计94.2.1 公共模块94.2.2 登陆界面设计114.2.3 主窗体设计134.2.4 学生注册页面164.2.5 班级添加18结 论24参 考 文 献25致 谢26引
11、 言该信息管理系统可以说是一个综合性的学校学生管理系统,它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统等多种功能,因而具有较强的实用性和先进性。(1)项目提出的意义现在我国的大中专院校的学生信息管理水平普遍不高,有的还停留在纸介质基础上,这种管理手段已不能适应时代的发展,因为它浪费了许多的人力和物力。在当今信息时代这种传统的管理方法必然被计算机为基础的信息管理系统所代替。如果本系统能被学校所采用,将会改变以前靠手工管理 学生成绩的状况,可以树立良好的办学形象,提高工作效率1。(2)项目开发背景学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关
12、重要,对学生来说也可以轻松的查阅自己在校的成绩以及信息等。但是一直以来人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,如:效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机对学生信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。这些优点能够极大地提高学生信息管理的效率,方便系统管理员对学 生成绩等信息的添加,修改,删除,查询,留言等操作,同时一样的方面学生对自己各科成绩查询,学习的交流2。(3)项目开发的目标建立学生信息管理系统,采
13、用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。 注:页码,居中,底部,宋体,小五,正文起始页页码为1。阅后删除此文本框。1 需求分析1.1 调查通过调查,要求系统需要有以下功能: (1).要求有良好的人机界面;(2).较好的权限管理;(3).原始数据修改简单方便,支持多条件修改;(4).方便的数据查询,支持多条件查询;(5).相应的权限下,删除数据方便简单,数据稳定性好;(6).数据计算自动完成,尽量减少人工干预。1.2 可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉
14、及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是奔腾3以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它通过程序的功能,因此完全可以实现。数据库是 MIS 中的重要支持技术,在 MIS 开发过程中,如何选择数据库管理 是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下: Visual Basic 是一种可视化的、面对对象和调用事件驱动方式的结构化 高级程序设计,
15、可用于开发 Windows 环境下的种类应用程序。它简单易学、效率高,且功能强大3。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,可以高效、快速地开发出 Windows 环境下功能强大、图形界面丰富的应用软件系统4。学生信息管理系统已计算机为工具,通过对学生管理所需的信息管理,把管理人员从繁琐的数据计算处理中解拖出来,使其有更多的精力从事学术的研究,从而全面提高学习质量。2 功能设计2.1 业务流程分析学生信息管理系统普通用户中级用户管理员查查询个人信息查查询个人成绩查查询个人信息改改查学生成绩修修改密码添添加学生教师添添加管理员查查询数据设设置学院信息图
16、2.1 业务流程分析2.2 数据流程分析普通用户(学生):提供查询(需登录,仅显示登录用户信息)中等用户(教师):提供增删改查(需登录,只可操作成绩表,并且教师工号对自己对应的成绩)管理员(教务处):提供增删改查(可对学生,教师,成绩等操作)学生信息管理系统普通 户中级管理员学生表教师表管理员表成绩表 图2.2 数据流程分析普通:登录账户为学生学号中级:登录账号为教师工号,密码自定义,可修改管理员:登录账号为特定,密码可修改,可增加特殊账号管理员管理员表增查个人信息增查教师信息教师表修改学院信息专业表院系表班级表图2.3 管理员系统2.3 软件功能设计 图2.4 软件功能设计3 数据库设计3.
17、1 学生表表3.1 学生表列字段名类型长度是否为空主键学号IdChar20否是姓名nameChar20否否性别sexChar2是否出生年月birthdayDate/time8是否民族nationText10是否籍贯nativetext10是否入学时间enterTimeDate/time8是否院系编号fIDtext5是否专业编号speIDtext5是否班级编号cIDtext5是否3.2 教师表表3.2 教师表列字段名类型长度是否为空主键教师工号tIDtext20否是教师姓名tNametext10否否性别tSextext2是否名族tNationtext10是否籍贯tNativetext10是否政治
18、面貌Politicaltext10是否职称titaltext10是否所属部门departmenttext10是否登陆密码passwordtext50是否3.3 管理员表表3.3 管理员表列字段名类型长度是否为空主键管理员编号adIDtext10否是管理员账号adNametext50否否密码adPasswordtext50否否所属部门adDeparttext10否否3.4 成绩表表3.4 成绩表列字段名类型长度是否为空主键学生编号stuIDtext12否否学科编号subIDtext10否否平时成绩usualtext10否否期末finaltext10否否总评efftext10是否教师工号teach
19、erIDtext20否否3.5 院系表表3.5 院系表列字段名类型长度是否为空主键院系编号fIDtext2否是院系名称fNametext10否否3.6 专业表表3.6 专业表列字段名类型长度是否为空主键专业编号speIDtext2否是专业名称sNametext50否否所属院系sfIDtext2否否3.7 学科表表3.7 学科表列字段名类型长度是否为空主键编号subIDtext5否是名称subNametext50否否 3.8 班级表表3.8 班级表列字段名类型长度是否为空主键班级编号cIDtext2是否班级名称cNametext50是否所属院系fIDtext2是否所属专业sIDtext2是否4
20、程序代码的设计4.1 程序代码设计要求根据系统的主要功能及上一章的总体设计,系统开发进入第二个阶段:详细设计。在这一阶段的工作中,主要任务有以下几项:(1)、根据原型化的开发原则,为系统的每个模块功能进行界面设计,作为进一步优化的基础。(2)、进行系统的流程分析,为模块的细化做好准备。(3)、对每个模块进行详细的算法设计。4.2 详细代码设计4.2.1 公共模块解决登陆用户信息以及数据库标志等公共信息,所以定义通用变量Public gUserName As String 保存用户名称Public gTid As String 保存教师信息Public gStuID As String 保存学生
21、登录信息Public flag As Integer 添加和修改的标志Public gSQL As String 保存SQL语句Public kqsql2 As String 保存查询其他考勤结果SQL语句Public ArecordID As IntegerPublic LrecordID As IntegerPublic orecordID As IntegerPublic ErecordID As IntegerPublic iflag As Integer 数据库是否打开标志数据库连接选用ADODB连接方式,首先先编写一公共模块,用于存放数据库访问类5。Public Function
22、TransactSQL(ByVal sql As String) As ADODB.RecordsetDim con As ADODB.ConnectionDim rs As ADODB.RecordsetDim strConnection As StringDim strArray() As StringSet con = New ADODB.ConnectionSet rs = New ADODB.RecordsetOn Error GoTo TransactSQL_Error strConnection = Provider=Microsoft.jet.oledb.4.0;Data So
23、urce= & App.Path & DBStuData.mdb strArray = Split(sql) con.Open strConnection If StrComp(UCase$(strArray(0), select, vbTextCompare) = 0 Then rs.Open Trim$(sql), con, adOpenKeyset, adLockOptimistic Set TransactSQL = rs iflag = 1 Else con.Execute sql iflag = 1 End IfTransactSQL_Exit: Set rs = Nothing
24、Set con = Nothing Exit FunctionTransactSQL_Error: MsgBox 查询错误: & Err.Description iflag = 2 Resume TransactSQL_ExitEnd Function解决关闭窗口后程序任在后台运行类:Public Sub Shutdown(Optional ByVal Force As Boolean = False)Dim I As LongOn Error Resume Next For I = Forms.Count - 1 To 0 Step -1 If Not Force Then If Forms
25、.Count I Then Exit Sub End If End If Next IIf Force Or (Forms.Count = 0) Then CloseIf Force Or (Forms.Count 0) Then EndEnd Sub识别tab键Public Sub TabToEnter(Key As Integer) If Key = 13 Then SendKeys TAB End If End Sub4.2.2 登陆界面设计图4.1由于有三类用户同时登陆。其中,学生输入学号登陆,教师登陆由教工号于密码登陆,管理员由账号密码登陆。代码如下:Private Sub cmdO
26、K_Click() Dim sql As String Dim rs As ADODB.Recordset If Trim(UserName.Text = ) Then MsgBox 没有输入用户名,请重新输入!, vbOKOnly + vbExclamation, 警告 UserName.SetFocus Else sql = select * from Administrator where adName= & UserName.Text & Set rs = TransactSQL(sql) If iflag = 1 Then If rs.EOF = True Then MsgBox 没
27、有这个用户,请重新输入!, vbOKOnly + vbExclamation, 警告 UserName.SetFocus Else If Trim(rs.Fields(2) = Trim(adPassWord.Text) Then rs.Close Me.Hide gUserName = Trim(UserName.Text) 记录用户 adminFrm.Show Unload Me Else MsgBox 密码不正确,请重新输入!, vbOKOnly + vbExclamation, 警告 adPassWord.SetFocus adPassWord.Text = End If End If
28、 Else Unload Me End If End IfEnd Sub4.2.3 主窗体设计图4.2 主窗口设计系统选项中提供管理员注册,修改,删除功能其中,注册界面代码如下:图4.3 添加管理员代码:Private Sub cmdOK_Click() Dim sql As String Dim rs As ADODB.Recordset If Trim(adName.Text) = Then MsgBox 请输入用户名称, vbOKOnly + vbExclamation, 警告 Exit Sub adName.SetFocus Else sql = select * from Admin
29、istrator where adName= & adName.Text & Set rs = TransactSQL(sql) 判断用户名是否存在 If rs.EOF = False Then MsgBox 这个用户已存在,请重新输入!, vbOKOnly + vbExclamation, 警告 adName.SetFocus adName.Text = passW1.Text = passW2.Text = Exit Sub Else If Trim(passW1.Text) = Then MsgBox 请输入密码, vbOKOnly + vbExclamation, 警告 passW1.
30、SetFocus Exit Sub ElseIf Trim(passW2.Text) = Then MsgBox 请再次输入密码!, vbOKOnly + vbExclamation, 警告 passW2.SetFocus Exit Sub ElseIf Trim(passW1.Text) Trim(passW2.Text) Then MsgBox 两次输入不一致,请重新输入, vbOKOnly + vbExclamation, 警告 passW2.Text = passW2.SetFocus Exit Sub Else sql = insert into Administrator ( ad
31、ID,adName,adPassword,adDepart )values( & id.Text & , & adName.Text & , & passW1.Text & , & Depart.Text & ) Call TransactSQL(sql) MsgBox 注册成功!, vbOKOnly + vbExclamation, 添加结果 Call init End If End If End IfEnd Sub4.2.4 学生注册页面图4.4 学生注册界面优化功能:为用户提供便捷的操作,以及在目标中提到的要求,在学生注册系统中加入了一些便捷操作:由于没个学生由于院系,专业,班级不同学号
32、有所不同所以学号由系统自动生成,以减少人工干预,降低系统出错率。Private Sub cmdID_Click() Dim sql As String Dim rs As New ADODB.Recordset Dim endID As String Dim tempID As String Dim eID As String Dim rsa As String Dim faculty, special, class As String If facultyID = Then MsgBox 请输入院系!, vbOKOnly + vbExclamation, 警告 faculty.SetFocu
33、s Exit Sub ElseIf specialID = Then MsgBox 请输入专业!, vbOKOnly + vbExclamation, 警告 special.SetFocus Exit Sub ElseIf classID = Then MsgBox 请输入班级!, vbOKOnly + vbExclamation, 警告 class.SetFocus Exit Sub Else enterTime = Mid(entTime.Value, 1, 4) sql = select id from student where id and fID= & facultyID & an
34、d speID= & specialID & and cID= & classID & order by id desc Set rs = TransactSQL(sql) eID = rs(0) eID = Right(eID, 2) + 1 native.Text = classID native.Text = sql endID = Right(Format(1000 + eID), 2) rs.Close tempID = enterTime & facultyID & specialID & classID & endID id.Text = tempID End If End Su
35、b院系,专业,班级都从数据库中提取,在学生表中只存储编号代码。 Dim sql As String Dim rs As ADODB.Recordset sql = select * from special where sName= & special.Text & Set rs = TransactSQL(sql) classID = rs(0) rs.Close4.2.5 班级添加由于院系,专业,班级有包含关系所以在这里combobox控件加入代码,实现选择院系后所包含的专业自动加入队列。Private Sub faculty_click() Dim sql As String Dim r
36、s As ADODB.Recordset Dim fID As String Dim s As String special.Clear 选定院系后刷新获得院系所含专业 specialID = class.Clear classID = sql = select * from faculty where fName= & faculty.Text & Set rs = TransactSQL(sql) facultyID = rs(0) rs.Close sql = select * from special where sfID= & facultyID & Set rs = Transac
37、tSQL(sql) Do While Not rs.EOF s = rs(1) special.AddItem (s) rs.MoveNext Loop rs.CloseEnd Sub由于在表中只存储编号信息,程序中显示名称我们以添加新的班级为例。图4.5 班级添加在窗口加载时得将院系信息加入到combobox控件队列,实现代码如下:Private Sub Form_Load() Dim sql As String Dim rs As ADODB.Recordset Dim f As String sql = select * from faculty where fName Set rs =
38、 TransactSQL(sql) Do While Not rs.EOF f = rs(1) fID.AddItem (f) rs.MoveNext Loop rs.CloseEnd Sub在选取院系信息后要将院系所包含的专业信息加入到队列,实现代码如下:Private Sub fID_Click() Dim sql As String Dim rs As ADODB.Recordset Dim s As String sID.Clear 选定院系后刷新获得院系所含专业 sql = select * from faculty where fName= & fID.Text & Set rs = TransactSQL(sql) facID = rs(0) rs.Close sql = select * from special where sfID= & facID & Set rs = TransactSQL(sql) Do While Not