教务管理系统 课程设计报告.doc

上传人:精*** 文档编号:853541 上传时间:2023-09-16 格式:DOC 页数:15 大小:1.79MB
下载 相关 举报
教务管理系统 课程设计报告.doc_第1页
第1页 / 共15页
教务管理系统 课程设计报告.doc_第2页
第2页 / 共15页
教务管理系统 课程设计报告.doc_第3页
第3页 / 共15页
教务管理系统 课程设计报告.doc_第4页
第4页 / 共15页
教务管理系统 课程设计报告.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、一概述 1.1 开发背景现如今学校招生越来越多,必然就会有大量的学生信息需要处理。如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,而且还会出现很多意想不到的错误,给管理这些数据带来了很大的不便,也越来越不适合学校发展的需要。教务管理系统是一个庞大而复杂的系统,它包括对院系资料的管理,对课程资料的管理,对学生资料的管理和对学生成绩的管理等等主要的功能。教务管理系统是每个学校的一项必不可少的内容,它的好坏直接影响到学校里的主要工作,一旦此系统瘫痪,学校将会受到非常严重的损失,也会影响到每一个学生。所以现如今设计一个功能完整、操作简单以及界面友好的教务管理系统变得非常重要。为了提高教务管理工

2、作的效率,减少错误的出现,节约大量的人力资源,现在的学校的教务管理也逐步从手工转到计算机自动化信息处理阶段。通过这个系统,用户可以方便的对院系资料、课程资料、学生资料和学生成绩资料进行添加、修改和删除操作,还可以对学生资料和成绩进行查询操作。除此之外,对用户的添加和删除操作也很方便。 1.2 开发环境简介 系统平台:Windows xp 数据库服务器:Microsoft SQL Server 2000 开发工具:Visual Studio 2008二需求分析 2.1 功能需求这次开发的教务管理系统大大提高了学校管理工作的效率,使用户能够方便的对院系信息、课程信息、学生信息以及成绩信息进行管理。

3、本系统对具有不同权限的用户所开放的功能是不同的,最高级用户的权限是“管理员”,它能使用系统的所有功能,另一种用户的权限是“用户”,它只能使用系统的部分功能。不同权限的用户能使用的功能如下:用户管理:此项功能只能由管理员使用修改密码:管理员和用户都能使用信息管理:包含了系别管理、学生管理、课程管理、成绩管理四个模块,只能由管理员使用,用户不能使用。学生资料查询:只能由管理员使用,用户不能使用学生成绩查询:管理员和用户都能使用 2.2 模块划分本系统并不复杂,模块划分也比较清楚。通过对不同的功能进行分析,就可以得到系统的模块划分。(1)登录管理模块:为了保证系统的安全性,可以根据不同的用户权限来提

4、供不同的服务。分为管理员登录和用户登录两个子模块。(2)系统管理模块:分为用户管理和修改密码两个子模块。其中用户管理子模块又包含了添加用户和删除用户两部分。(3)信息管理模块:对各基本表进行管理。分为系别管理、学生管理、课程管理和成绩管理四个子模块。每一个模块又包含添加、修改和删除三个部分。(4)信息查询模块:在各基本表的基础上进行信息查询。分为学生资料查询和学生成绩查询两个子模块。(5)帮助模块:分为关于系统和关于作者两个子模块。与之对应的模块划分(图一)如下所示: 教务管理系统登录管理用户管理信息管理信息查询帮助系统管理管理员登录课程管理系别管理学生管理学生成绩查询学生资料查询成绩管理关于

5、系统关于作者用户登录修改密码添加学生删除学生修改学生添加成绩添加课程修改课程修改成绩删除课程删除成绩添加院系修改院系删除院系添加用户删除用户 图一:模块划分图2.3 系统的窗体命名约定如表一所示: 表一:各窗体的命名约定 窗体窗体名称窗体实现的功能LoginForm1登录窗口作为用户登录系统的窗口FrmMain教务管理系统系统的主界面,列出所有的功能FrmUser用户管理对用户的信息进行管理FrmPasswordCharge修改密码用户可以在此修改密码FrmDepartment系别管理对院系的信息进行管理FrmCourse课程管理对课程的信息进行管理FrmStudent学籍管理对学生的基本信息

6、进行管理FrmGrade成绩管理对学生的成绩进行管理FrmStuQuery学生资料查询对学生的基本信息进行查询FrmGradeQuery学生成绩查询对学生的学习成绩进行查询FrmAboutSysterm关于系统简单介绍了此系统的主要功能FrmAboutAuthor关于作者给出了作者的主要信息三设计内容 3.1 数据库设计由用户的需求分析和概念结构设计,最终设计了名为教务管理数据库的数据库,数据库中的表如下所示:表1:登录信息表记录号字段名称数据类型字段大小属性(是否可为空)1用户名text16否2密码text16否3权限text16否表2:系别信息表记录号字段名称数据类型字段大小属性(是否可为

7、空)1系编号int4主键2系名nvarchar50是3系主任nvarchar50是表3:学生信息表记录号字段名称数据类型字段大小属性(是否可为空)1学生编号char10主键2学生姓名nvarchar50是3学生性别char10是4年龄int4是5身份证号nvarchar50是6所在系nvarchar50是表4:课程信息表记录号字段名称数据类型字段大小属性(是否可为空)1课程编号Int4主键2课程名nvarchar50否3任课老师nvarchar50是4课程学分float8是5开课院系nvarchar50是6课程简介nvarchar16是表5:成绩信息表记录号字段名称数据类型字段大小属性(是否可

8、为空)1学生编号char10主键2课程编号Int4主键3平时成绩char8是4考试成绩char8是3.2 系统中主要功能实现(1)登录界面的设计本系统的登录界面上主要有用户名、密码和用户权限三部分内容。用户若想进入系统,就必须给出正确的用户名和密码,而且要选择正确的用户权限。如果用户输入的用户名不存在或者密码与用户名不一致或者与用户权限不一致,都会给出相应的提示信息,告诉用户出现的错误输入。而且,如果用户进行错误的输入超过三次时,系统会自动退出。实现这一功能的说明如下: 函数开始:建立连接,利用Fill()函数在Systerm.Data.DataSet的指定范围中添加或刷新行,以与使用Syst

9、erm.Data.DataSet名称中的数据源中的行相匹配。 OleDbDataAdapter1.Fill(dt) 利用For循环,判断循环次数是否小于所有记录的个数 For i = 0 To dt.Rows.Count - 1If (用户名、密码和用户权限三者匹配时 ) Then Me.Hide() Me.Finalize() Me.AddOwnedForm(myform) 显示主窗体 If ( 用户权限 = 用户 ) Then 隐藏主窗体中的部分功能 myform.系统用户管理ToolStripMenuItem.Enabled = False myform.教务信息管理ToolStripM

10、enuItem.Enabled = False myform.学生资料查询ToolStripMenuItem.Enabled = False Else 什么也不做 End If 退出For循环 End If Next If ( i = dt.Rows.Count 即在所有记录中都没有找到与用户输入的值相同的) Then说明在所有记录中都没有找到与之匹配的用户名、密码和用户权限 Then 弹出MsgBox,警告用户出现错误 MsgBox(用户名与密码与用户权限不匹配!请验证后重新输!, MsgBoxStyle.Exclamation, 警告) 将密码对应的文本框中的内容置空 End If If

11、( 重复输入的次数超过3次) Then 弹出弹出MsgBox,警告用户出现错误 MsgBox(你输入的次数已经超过了3次!系统将退出!, MsgBoxStyle.Exclamation, 警告)退出 End If 函数结束(2)信息管理模块的设计:信息管理模块的三种操作,主要是添加记录,修该记录,删除记录三大功能。而且在执行各项功能时都会给出足够的提示信息,例如进入时的提示信息,有些信息不能为空的提示,以及操作成功的提示信息。(a) 下面以系别管理模块中添加院系来说明如何添加记录的,说明如下: 函数开始: 添加记录时给出提示信息,等待用户确认 S = MsgBox(您确定要增加记录吗?, 36

12、, 提示) If (S 6 即用户选择的是取消按钮) Then 退出函数 End If If (系名对应的文本框为空) Then MsgBox(系名不能为空!) 退出函数 End If If (系主任对应的文本框为空) Then . ElseIf ( S = 6 即用户选择的是确定按钮) Then利用count()函数来返回所有记录的个数然后让个数加1作为下一个记录的编号 i = Me.BindingContext(DataSet1, 系别信息).Count + 1 新建一个表示内存中数据的一个表tmptable tmptable = DataSet1.Tables(系别信息) 打开连接 Ol

13、eDbConnection1.Open() 构造插入语句 Dim tmpcommand As New System.Data.OleDb.OleDbCommand(insert into 系别信息 (系编号,系名,系主任) values( & i & , & TextName.Text & , & TextMan.Text & ), OleDbConnection1) 异常处理 Try tmpcommand.ExecuteNonQuery() Catch fillException As System.Exception MsgBox(获得错误信息: & fillException.Messa

14、ge) End Try 将数据集中的记录清空 DataSet1.Clear() 将更改后的所有记录在填入数据集 OleDbDataAdapter1.Fill(DataSet1, 系别信息) 关闭连接 OleDbConnection1.Close() 添加成功后弹出MsgBox提示用户已完成 MsgBox(添加记录成功!, MsgBoxStyle.OkOnly, 提示) End If 函数结束(b) 下面以课程管理模块中修改课程来说明是如何修改记录的,说明如下: 函数开始: 修改记录时给出提示信息,等待用户确认 If (S 6 即用户选择的是取消按钮) Then 退出函数 End If If (

15、课程名对应的文本框为空) Then MsgBox(课程名不能为空!) 退出函数 End If If (任课老师对应的文本框为空) Then . ElseIf ( S = 6 即用户选择的是确定按钮) Then 新建一个表示内存中数据的一个表tmptable tmptable = DataSet1.Tables(课程信息) 打开连接 构造更新语句,来完成对数据的修改操作 Dim tmpcommand As New System.Data.OleDb.OleDbCommand(Update 课程信息 set 课程编号= & TextID.Text & ,课程名= & TextName.Text &

16、 ,任课老师= & TextTeacher.Text & ,课程学分= & TextPoint.Text & ,开课院系= & ComDepart.Text & ,课程简介= & TextAbout.Text & where 课程编号= & TextID.Text & , OleDbConnection1) 异常处理 清空DataSet对象并重新赋值 关闭连接 MsgBox(您的修改以被受理,更新成功!, MsgBoxStyle.OkOnly, 提示) End If 函数结束(c) 下面以学生管理模块中删除学生资料来说明是如何删除记录,说明如下: 函数开始: 删除记录时给出提示信息,等待用户确

17、认S = MsgBox(您确定要删除记录吗?, 36, 提示) If (S = 6 即用户选择了确定按钮) Then 新建一个表示内存中数据的一个表tmptable tmptable = DataSet1.Tables(学生信息) 打开连接 构造删除语句,来完成对数据的删除操作 Dim tmpcommand As New System.Data.OleDb.OleDbCommand(delete from 学生信息 where 学生编号= & TextID.Text & , OleDbConnection1) 异常处理 清空DataSet对象并重新赋值 关闭连接 MsgBox(记录已经成功删除

18、!, MsgBoxStyle.OkOnly, 提示) End If 函数结束(3)信息查询模块的功能设计查询模块主要包括学生资料查询和学生资料查询两个子模块。而且查询时会给出相应的信息来告诉用户如何来做,什么不能为空,查询成功时也会给出相应的提示信息(a)学生资料查询是一种模糊查询,可以根据给出部分信息进行查询,说明如下: 函数开始: If (所有的可输入条件的文本框的内容都为空) 则弹出提示的Msgbox,告诉用户条件不能都为空 MsgBox(请选择一种查询条件!不能都为空!) Else 新建一个表示内存中数据的一个表tmptable 打开连接 tmptable = DataSet5.Tab

19、les(学生信息) 构造查询语句,选择出满足条件的记录 Dim tmpcommand As New System.Data.OleDb.OleDbCommand(select * from 学生信息 where 学生编号 LIKE % & Textid.Text & %AND 学生姓名 LIKE % & Textname.Text & %AND 学生性别 LIKE % & Textsex.Text & %AND 年龄 LIKE% & Textage.Text & %AND 身份证号 LIKE % & Textcard.Text & %AND 所在系 LIKE % & TextDepartmen

20、t.Text & %, OleDbConnection1) 执行SQL语句并返回受影响的行数 tmpcommand.ExecuteNonQuery() 将查询对话框中的所有文本框的内容都置空 清空DataSet对象并重新赋值 DataSet5.Clear() OleDbDataAdapter1.SelectCommand = tmpcommand OleDbDataAdapter1.Fill(DataSet5) 关闭连接 MsgBox(查询成功!, MsgBoxStyle.OkOnly, 提示) End If 函数结束(b)学生成绩查询是选择条件进行查询,说明如下: Private Sub B

21、tQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtQuery.Click 函数开始: If (依据对应的组合框的内容为空) Then . Else 新建一个表示内存中数据的一个表tmptable 打开连接 tmptable = DataSet6.Tables(成绩信息) 构造查询语句,查询出满足条件的记录 Dim tmpcommand As New System.Data.OleDb.OleDbCommand(select * from 成绩信息 where & ComboBox

22、1.Text & ComboBox2.Text & & TextBox1.Text & , OleDbConnection1) tmpcommand.ExecuteNonQuery() 清空DataSet对象并重新赋值 关闭连接 MsgBox(查询成功!, MsgBoxStyle.OkOnly, 提示) End If 函数结束(4)修改密码功能模块设计:本模块利用了两个函数来查询输入的用户名是否存在和查询用户名对应的密码与用户输入的密码是否一致。这里就把那两个函数的代码省略了。 函数开始: 修改密码时给出提示信息 利用自定义的两个函数checkpassword()和checkUserID()来

23、判断密码与用户编号不对应或者用户编号不存在 MsgBox(密码与用户编号不对应或者用户编号不存在) TextUsername.Focus() If (两次输入的密码不一致 )then MsgBox(两次输入的密码不一致!请重新输入!, MsgBoxStyle.Exclamation, 密码不一致) 新建一个表示内存中数据的一个表tmptable 打开连接 构造更新语句,来修改满足条件的记录 异常处理清空DataSet对象并重新赋值关闭连接MsgBox(你的密码修改成功!, MsgBoxStyle.OkOnly, 提示)End If 函数结束四.调试分析4.1 上机过程中出现的问题及其解决方案。

24、 问题一:再添加或修改记录时,当把原来的记录修改时,即使取消了添加与修改操作,虽然数据库中的数据没有改变,但是当前数据集中显示的记录会发生改变。 解决方案:添加一个刷新的功能,使数据集中的数据重新被填充,可以避免类似错误的产生。 问题二:在编写登录窗体的时候,当代码没有任何错误时,运行时,输入用户名跟密码后,仍然显示“用户名与密码不匹配,请重新输入”。 解决方案:经过查阅资料后发现,用早Windows 登录窗体中的数据类型必须是文本类型才可以,其余的类型都不会显示正确的输入。 问题三:再添加Timer 控件时,编写的代码正确时,仍然不显示时间,也不控制一行字的滚动,没有起到作用 解决方案:原来

25、时Timer的一个属性,我们必须把它设为TRUE,上面的问题就解决了。4.2 系统在开发环境下实现的功能以及结果 此系统是在系统平台:Windows xp,数据库服务器:Microsoft SQL Server 2000,开发工具:Visual Studio 2008的环境下开发的,实现了教务管理系统的基本操作。(1)系统实现了对不同用户权限的用户提供了不同功能的操作,结果是对于用户权限为“管理员”的用户能够使用系统所有的功能,而对于用户权限为“用户”的用户,仅能完成其中的一部分功能,不能对院系信息、课程信息、成绩信息和用户信息进行添加、修改和删除操作。只能对成绩资料进行查询和修改密码以及查阅

26、帮助信息。(2)本系统实现了对院系资料的添加、修改和删除操作;实现了对课程资料的添加、修改和删除操作;实现了对学生资料的添加、修改和删除操作以外,还能对学生资料进行不同方式的查询;实现了的对学生成绩资料的添加、修改和删除操作以外,还能够根据不同的条件对学生成绩资料进行查询。(3)本系统实现了对用户资料的添加和删除操作,用户能够修改密码,完善了系统功能。五.用户手册(1)运行程序后,首先出现登录界面,用户根据提示输入用户名和密码,点击确定后进入主界面,如图1所示 图1 登录窗口输入用户名admin,密码admin,选择用户权限为管理员(管理员可以使用系统所有功能,所以进入的主界面中所有菜单选项都

27、是可用的),点击确定按钮。如果输入错误的用户名、密码或权限,系统就会给出错误的提示信息,如图2所示: 图2:登录时输入错误的警告(2)输入正确的用户名、密码和用户权限后,通过身份验证之后,进入系统的主界面,如图3所示。其中系统菜单中包括修改密码和退出登录两个子菜单,系统用户管理菜单中包括用户管理子菜单,教务信息管理菜单中包括系别管理、课程管理、学籍管理和成绩管理四个子菜单,教务信息查询菜单中包括学生资料查询和学生成绩查询两个子菜单,帮助菜单中包括关于系统和关于用户两个子菜单。 图3 主界面(3)选择“系统”-“修改密码”命令,将弹出“修改密码”窗体,如图4所示,填写数据后,单击确定按钮就会完成

28、密码的修改操作。但是当输入的用户名为空或者用户名与原密码不匹配,或者用户名不存在以及两次输入的密码不一致时都会给出相应的信息来提示和警告用户,如图5所示。 图4:修改密码 图5: 警告和提示信息(4)选择“系统用户管理”-“用户管理”命令,将弹出“用户管理”窗体,如图6所示, 当你点击记录集中的记录时,相应的数据就会在左侧显示,而且当你输入的用户名或密码及权限为空时,系统会给出相应的提示信息。如图6所示: 图6:有关的提示信息 (5)选择“教务信息管理”-“课程管理”命令,将弹出“课程管理”窗体,如图7所示, 图7:课程管理界面 当你操作时系统会给出足够的提示信息,来告诉你什么样的输入是不合法

29、的。有关提示信息如图8所示: 图8:相关提示信息(6)选择“教务信息管理”-“学籍管理”命令,将弹出“学籍管理”窗体,如图9所示, 图9:学籍管理界面 当你操作时系统会给出足够的提示信息,来告诉你什么样的输入是不合法的。有关提示信息如图10所示: 图10:相关提示信息(6)选择“教务信息管理”-“系别管理”命令,将弹出“系别管理”窗体,如图11所示, 图11:系别管理界面 当你操作时系统会给出足够的提示信息,来告诉你什么样的输入是不合法的。有关提示信息如图12所示: 图12:相关提示信息(7)选择“教务信息管理”-“成绩管理”命令,将弹出“成绩管理”窗体,如图13所示, 图13:成绩管理界面当

30、退出界面时,系统会给出提示信息,如图14所示: 图14:退出界面提示前面的那些提示信息对这几个功能模块都是一样的,这里就不一一演示,只是取其中一个进行演示。(8)选择“教务信息查询”-“成绩查询”命令,将弹出“学生成绩查询”窗体,如图15所示 图15:学生成绩查询界面 查询时应当选择查询条件,不然就会给出提示,查询成功时也会给出相应的提示,如图16所示 图16:相关提示信息(9)选择“教务信息查询”-“学生资料查询”命令,将弹出“学生资料查询”窗体,如图17所示, 图17:学生资料查询界面当没有填写任何一种条件时,就会给出提示,如图18所示: 图18:相关提示(10)选择“帮助”-“关于系统”

31、命令,将弹出“关于系统”窗体,如图19所示, 图19:关于系统(11)选择“帮助”-“关于作者”命令,将弹出“关于作者”窗体,如图20所示,图20:关于作者(12)选择“系统”-“退出登录”命令,将弹出提示信息,如图21所示, 图21:退出系统提示六.总结 6.1 程序中可以改进的地方说明。(a)在用户登录的时候如果连续三次用户名或密码错误,系统就会自动退出,但是并没有把此用户锁定,这点会带来一定得安全隐患,所以为了增强系统的安全性,如果连续三次输入错误,就应该把此用户给锁定住,只有它与管理员联系后,完成解锁后方可继续使用。(b)在网络功能上没有提供很好的接口和支持,基本上术语单机版状态(c)

32、本系统的数据库一旦被更改,就是永久性的,所以为了避免一些问题的发生,应该适时的进行数据库备份。所以可以在系统中添加备份数据库的功能,这样就可以及时备份数据库,当数据库遭到破坏的时候,可以还原数据库。6.2 程序中可以扩充的功能及设计实现构想。(a)可以在学生资料中添加照片这一属性,为每一位学生设置一张图片,当浏览每一位学生的记录时,都能看到这位学生的照片。(b)可以在学生资料中增加出生年月这一属性,利用相关控件,当输入、修改日期数据时,都会弹出一个框供选择。(c)增加模块,用来实现班级资料的管理,使教务管理系统更加完整。(d)可以在系统中添加备份数据库的功能,这样就可以及时备份数据库,当数据库

33、遭到破坏的时候,可以还原数据库。6.3 我的体会通过这两周的课程设计,我学到了很多从书本上学不到的知识。在此次课程设计中,我对这门课有了更加深刻的认识,把所学的理论知识和实践联系起来。在做这次课程设计之前,我对它了解的很少,也从来没想到我能完成这么一个程序。但是经过两周的时间,我终于弄出了一个完整的程序。 在这次课程设计中,我觉得我最大的收获就是学会了为了做出这个程序,我该如何去寻找有用的资料,在短时期内学到尽量多而且有用的知识和本领。这两周的时间里,我从原来的模糊认识,到现在编出这个程序,中间也遇到了很多困难和挫折。在程序的编写过程中,也出现了很多错误,经过我认真修改,查阅资料,向老师和同学们请教,终于把那些错误都改正过来,最终使程序能够正确的运行。 所以说,这次课程设计不仅是让我学到了一门面向对象的编程方法,更重要的是它提高了我接受新事物的能力,让我以后遇到新事物时,不再感到茫然,感到无从下手。当下次我接触到新知识时,我会知道我该做些什么,该去看那些书籍资料,心中就会有一个明确的目的。七.参考文献 1

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922