教务系统数据库总结报告.docx
- 文档编号:29321411
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:19
- 大小:71.79KB
教务系统数据库总结报告.docx
《教务系统数据库总结报告.docx》由会员分享,可在线阅读,更多相关《教务系统数据库总结报告.docx(19页珍藏版)》请在冰豆网上搜索。
教务系统数据库总结报告
教务系统数据库总结
一.概述
1.1开发背景
为了提高教务管理工作的效率,减少错误的出现,节约大量的人力资源,现在的学校的教务管理也逐步从手工转到计算机自动化信息处理阶段。
通过这个系统,用户可以方便的对院系资料、课程资料、学生资料和学生成绩资料进行添加、修改和删除操作,还可以对学生资料和成绩进行查询操作。
除此之外,对用户的添加和删除操作也很方便。
教务管理系统是一个庞大而复杂的系统,它包括对院系资料的管理,对课程资料的管理,对学生资料的管理和对学生成绩的管理等等主要的功能。
教务管理系统是每个学校的一项必不可少的内容,它的好坏直接影响到学校里的主要工作,一旦此系统瘫痪,学校将会受到非常严重的损失,也会影响到每一个学生。
所以现如今设计一个功能完整、操作简单以及界面友好的教务管理系统变得非常重要。
1.2开发环境简介
系统平台:
Windowsxp
数据库服务器:
MicrosoftSQLServer
二.需求分析
2.1功能需求
这次开发的教务管理系统大大提高了学校管理工作的效率,使用户能够方便的对院系信息、课程信息、学生信息以及成绩信息进行管理。
本系统对具有不同权限的用户所开放的功能是不同的,最高级用户的权限是“管理员”,它能使用系统的所有功能,另一种用户的权限是“用户”,它只能使用系统的部分功能。
不同权限的用户能使用的功能如下:
用户管理:
此项功能只能由管理员使用
修改密码:
管理员和用户都能使用
信息管理:
包含了系别管理、学生管理、课程管理、成绩管理四个模块,只能由
管理员使用,用户不能使用。
学生资料查询:
只能由管理员使用,用户不能使用
学生成绩查询:
管理员和用户都能使用
2.2模块划分
本系统并不复杂,模块划分也比较清楚。
通过对不同的功能进行分析,就可以得到系统的模块划分。
(1)登录管理模块:
为了保证系统的安全性,可以根据不同的用户权限来提供不同的服务。
分为管理员登录和用户登录两个子模块。
(2)系统管理模块:
分为用户管理和修改密码两个子模块。
其中用户管理子模块又包含了添加用户和删除用户两部分。
(3)信息管理模块:
对各基本表进行管理。
分为系别管理、学生管理、课程管理和成绩管理四个子模块。
每一个模块又包含添加、修改和删除三个部分。
(4)信息查询模块:
在各基本表的基础上进行信息查询。
分为学生资料查询和学生成绩查询两个子模块。
(5)帮助模块:
分为关于系统和关于作者两个子模块。
与之对应的模块划分(图一)如下所示:
图一:
模块划分图
2.3系统的窗体命名约定如表一所示:
表一:
各窗体的命名约定
窗体
窗体名称
窗体实现的功能
LoginForm1
登录窗口
作为用户登录系统的窗口
FrmMain
教务管理系统
系统的主界面,列出所有的功能
FrmUser
用户管理
对用户的信息进行管理
FrmPasswordCharge
修改密码
用户可以在此修改密码
FrmDepartment
系别管理
对院系的信息进行管理
FrmCourse
课程管理
对课程的信息进行管理
FrmStudent
学籍管理
对学生的基本信息进行管理
FrmGrade
成绩管理
对学生的成绩进行管理
FrmStuQuery
学生资料查询
对学生的基本信息进行查询
FrmGradeQuery
学生成绩查询
对学生的学习成绩进行查询
FrmAboutSysterm
关于系统
简单介绍了此系统的主要功能
FrmAboutAuthor
关于作者
给出了作者的主要信息
三.设计内容
3.1数据库设计
由用户的需求分析和概念结构设计,最终设计了名为教务管理数据库的数据库,数据库中的表如下所示:
表1:
登录信息表
记录号
字段名称
数据类型
字段大小
属性(是否可为空)
1
用户名
text
16
否
2
密码
text
16
否
3
权限
text
16
否
表2:
系别信息表
记录号
字段名称
数据类型
字段大小
属性(是否可为空)
1
系编号
int
4
主键
2
系名
nvarchar
50
是
3
系主任
nvarchar
50
是
表3:
学生信息表
记录号
字段名称
数据类型
字段大小
属性(是否可为空)
1
学生编号
char
10
主键
2
学生姓名
nvarchar
50
是
3
学生性别
char
10
是
4
年龄
int
4
是
5
身份证号
nvarchar
50
是
6
所在系
nvarchar
50
是
表4:
课程信息表
记录号
字段名称
数据类型
字段大小
属性(是否可为空)
1
课程编号
Int
4
主键
2
课程名
nvarchar
50
否
3
任课老师
nvarchar
50
是
4
课程学分
float
8
是
5
开课院系
nvarchar
50
是
6
课程简介
nvarchar
16
是
表5:
成绩信息表
记录号
字段名称
数据类型
字段大小
属性(是否可为空)
1
学生编号
char
10
主键
2
课程编号
Int
4
主键
3
平时成绩
char
8
是
4
考试成绩
char
8
是
3.2系统中主要功能实现
(1)登录界面的设计
本系统的登录界面上主要有用户名、密码和用户权限三部分内容。
用户若想进入系统,就必须给出正确的用户名和密码,而且要选择正确的用户权限。
如果用户输入的用户名不存在或者密码与用户名不一致或者与用户权限不一致,都会给出相应的提示信息,告诉用户出现的错误输入。
而且,如果用户进行错误的输入超过三次时,系统会自动退出。
实现这一功能的说明如下:
函数开始:
建立连接,利用Fill()函数在Systerm.Data.DataSet的指定范围中添加或刷新行,以与使用Systerm.Data.DataSet名称中的数据源中的行相匹配。
OleDbDataAdapter1.Fill(dt)
利用For循环,判断循环次数是否小于所有记录的个数
Fori=0Todt.Rows.Count-1
If(用户名、密码和用户权限三者匹配时)Then
Me.Hide()
Me.Finalize()
Me.AddOwnedForm(myform)
显示主窗体
If(用户权限=用户)Then
隐藏主窗体中的部分功能
myform.系统用户管理ToolStripMenuItem.Enabled=False
myform.教务信息管理ToolStripMenuItem.Enabled=False
myform.学生资料查询ToolStripMenuItem.Enabled=False
Else
什么也不做
EndIf
退出For循环
EndIf
Next
If(i>=dt.Rows.Count即在所有记录中都没有找到与用户输入的值相同的)Then
说明在所有记录中都没有找到与之匹配的用户名、密码和用户权限Then
弹出MsgBox,警告用户出现错误
MsgBox("用户名与密码与用户权限不匹配!
请验证后重新输!
",MsgBoxStyle.Exclamation,"警告")
将密码对应的文本框中的内容置空
EndIf
If(重复输入的次数超过3次)Then
弹出弹出MsgBox,警告用户出现错误
MsgBox("你输入的次数已经超过了3次!
系统将退出!
",MsgBoxStyle.Exclamation,"警告")
退出
EndIf
函数结束
(2)信息管理模块的设计:
信息管理模块的三种操作,主要是添加记录,修该记录,删除记录三大功能。
而且在执行各项功能时都会给出足够的提示信息,例如进入时的提示信息,有些信息不能为空的提示,以及操作成功的提示信息。
(a)下面以系别管理模块中添加院系来说明如何添加记录的,说明如下:
函数开始:
添加记录时给出提示信息,等待用户确认
S=MsgBox("您确定要增加记录吗?
",36,"提示")
If(S<>6即用户选择的是取消按钮)Then
退出函数
EndIf
If(系名对应的文本框为空)Then
MsgBox("系名不能为空!
")
退出函数
EndIf
If(系主任对应的文本框为空)Then
................
ElseIf(S=6即用户选择的是确定按钮)Then
利用count()函数来返回所有记录的个数
然后让个数加1作为下一个记录的编号
i=Me.BindingContext(DataSet1,"系别信息").Count+1
新建一个表示内存中数据的一个表tmptable
tmptable=DataSet1.Tables("系别信息")
打开连接
OleDbConnection1.Open()
构造插入语句
DimtmpcommandAsNewSystem.Data.OleDb.OleDbCommand("insertinto系别信息(系编号,系名,系主任)values('"&i&"','"&TextName.Text&"','"&TextMan.Text&"')",OleDbConnection1)
异常处理
Try
tmpcommand.ExecuteNonQuery()
CatchfillExceptionAsSystem.Exception
MsgBox("获得错误信息:
"&fillException.Message)
EndTry
将数据集中的记录清空
DataSet1.Clear()
将更改后的所有记录在填入数据集
OleDbDataAdapter1.Fill(DataSet1,"系别信息")
关闭连接
OleDbConnection1.Close()
添加成功后弹出MsgBox提示用户已完成
MsgBox("添加记录成功!
",MsgBoxStyle.OkOnly,"提示")
EndIf
函数结束
(b)下面以课程管理模块中修改课程来说明是如何修改记录的,说明如下:
函数开始:
修改记录时给出提示信息,等待用户确认
If(S<>6即用户选择的是取消按钮)Then
退出函数
EndIf
If(课程名对应的文本框为空)Then
MsgBox("课程名不能为空!
")
退出函数
EndIf
If(任课老师对应的文本框为空)Then
...............
ElseIf(S=6即用户选择的是确定按钮)Then
新建一个表示内存中数据的一个表tmptable
tmptable=DataSet1.Tables("课程信息")
打开连接
构造更新语句,来完成对数据的修改操作
DimtmpcommandAsNewSystem.Data.OleDb.OleDbCommand("Update课程信息set课程编号='"&TextID.Text&"',课程名='"&TextName.Text&"',任课老师='"&TextTeacher.Text&"',课程学分='"&TextPoint.Text&"',开课院系='"&ComDepart.Text&"',课程简介='"&TextAbout.Text&"'where课程编号='"&TextID.Text&"'",OleDbConnection1)
异常处理
清空DataSet对象并重新赋值
关闭连接
MsgBox("您的修改以被受理,更新成功!
",MsgBoxStyle.OkOnly,"提示")
EndIf
函数结束
(c)下面以学生管理模块中删除学生资料来说明是如何删除记录,说明如下:
函数开始:
删除记录时给出提示信息,等待用户确认
S=MsgBox("您确定要删除记录吗?
",36,"提示")
If(S=6即用户选择了确定按钮)Then
新建一个表示内存中数据的一个表tmptable
tmptable=DataSet1.Tables("学生信息")
打开连接
构造删除语句,来完成对数据的删除操作
DimtmpcommandAsNewSystem.Data.OleDb.OleDbCommand("deletefrom学生信息where学生编号='"&TextID.Text&"'",OleDbConnection1)
异常处理
清空DataSet对象并重新赋值
关闭连接
MsgBox("记录已经成功删除!
",MsgBoxStyle.OkOnly,"提示")
EndIf
函数结束
(3)信息查询模块的功能设计
查询模块主要包括学生资料查询和学生资料查询两个子模块。
而且查询时会给出相应的信息来告诉用户如何来做,什么不能为空,查询成功时也会给出相应的提示信息
(a)学生资料查询是一种模糊查询,可以根据给出部分信息进行查询,说明如下:
函数开始:
If(所有的可输入条件的文本框的内容都为空)
则弹出提示的Msgbox,告诉用户条件不能都为空
MsgBox("请选择一种查询条件!
不能都为空!
")
Else
新建一个表示内存中数据的一个表tmptable
打开连接
tmptable=DataSet5.Tables("学生信息")
构造查询语句,选择出满足条件的记录
DimtmpcommandAsNewSystem.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'%"&TextDepartment.Text&"%'",OleDbConnection1)
执行SQL语句并返回受影响的行数
tmpcommand.ExecuteNonQuery()
将查询对话框中的所有文本框的内容都置空
清空DataSet对象并重新赋值
DataSet5.Clear()
OleDbDataAdapter1.SelectCommand=tmpcommand
OleDbDataAdapter1.Fill(DataSet5)
关闭连接
MsgBox("查询成功!
",MsgBoxStyle.OkOnly,"提示")
EndIf
函数结束
(b)学生成绩查询是选择条件进行查询,说明如下:
PrivateSubBtQuery_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)
HandlesBtQuery.Click
函数开始:
If(依据对应的组合框的内容为空)Then
.............
Else
新建一个表示内存中数据的一个表tmptable
打开连接
tmptable=DataSet6.Tables("成绩信息")
构造查询语句,查询出满足条件的记录
DimtmpcommandAsNewSystem.Data.OleDb.OleDbCommand("select*from成绩信息where"&ComboBox1.Text&ComboBox2.Text&"'"&TextBox1.Text&"'",OleDbConnection1)
tmpcommand.ExecuteNonQuery()
清空DataSet对象并重新赋值
关闭连接
MsgBox("查询成功!
",MsgBoxStyle.OkOnly,"提示")
EndIf
函数结束
(4)修改密码功能模块设计:
本模块利用了两个函数来查询输入的用户名是否存在和查询用户名对应的密码与用户输入的密码是否一致。
这里就把那两个函数的代码省略了。
函数开始:
修改密码时给出提示信息
利用自定义的两个函数checkpassword()和checkUserID()来判断密码与用户编号不对应或者用户编号不存在
MsgBox("密码与用户编号不对应或者用户编号不存在")
TextUsername.Focus()
If(两次输入的密码不一致)then
MsgBox("两次输入的密码不一致!
请重新输入!
",MsgBoxStyle.Exclamation,"密码不一致")
新建一个表示内存中数据的一个表tmptable
打开连接
构造更新语句,来修改满足条件的记录
异常处理
清空DataSet对象并重新赋值
关闭连接
MsgBox("你的密码修改成功!
",MsgBoxStyle.OkOnly,"提示")
EndIf
函数结束
四.调试分析
4.1上机过程中出现的问题及其解决方案。
问题一:
再添加或修改记录时,当把原来的记录修改时,即使取消了添加与修改操作,虽然数据库中的数据没有改变,但是当前数据集中显示的记录会发生改变。
解决方案:
添加一个刷新的功能,使数据集中的数据重新被填充,可以避免类似错误的产生。
问题二:
在编写登录窗体的时候,当代码没有任何错误时,运行时,输入用户名跟密码后,仍然显示“用户名与密码不匹配,请重新输入”。
解决方案:
经过查阅资料后发现,用早Windows登录窗体中的数据类型必须是文本类型才可以,其余的类型都不会显示正确的输入。
问题三:
再添加Timer控件时,编写的代码正确时,仍然不显示时间,也不控制一行字的滚动,没有起到作用
解决方案:
原来时Timer的一个属性,我们必须把它设为TRUE,上面的问题就解决了。
4.2系统在开发环境下实现的功能以及结果
此系统是在系统平台:
Windowsxp,数据库服务器:
MicrosoftSQLServer2000,开发工
具:
VisualStudio2008的环境下开发的,实现了教务管理系统的基本操作。
(1)系统实现了对不同用户权限的用户提供了不同功能的操作,结果是对于用户权限为“管理员”的用户能够使用系统所有的功能,而对于用户权限为“用户”的用户,仅能完成其中的一部分功能,不能对院系信息、课程信息、成绩信息和用户信息进行添加、修改和删除操作。
只能对成绩资料进行查询和修改密码以及查阅帮助信息。
(2)本系统实现了对院系资料的添加、修改和删除操作;实现了对课程资料的添加、修改和删除操作;实现了对学生资料的添加、修改和删除操作以外,还能对学生资料进行不同方式的查询;实现了的对学生成绩资料的添加、修改和删除操作以外,还能够根据不同的条件对学生成绩资料进行查询。
(3)本系统实现了对用户资料的添加和删除操作,用户能够修改密码,完善了系统功能。
五.用户手册
(1)运行程序后,首先出现登录界面,用户根据提示输入用户名和密码,点击确定后进入主界面
(2)输入正确的用户名、密码和用户权限后,通过身份验证之后,进入系统的主界面,如图3所示。
其中系统菜单中包括修改密码和退出登录两个子菜单,系统用户管理菜单中包括用户管理子菜单,教务信息管理菜单中包括系别管理、课程管理、学籍管理和成绩管理四个子菜单,教务信息查询菜单中包括学生资料查询和学生成绩查询两个子菜单,帮助菜单中包括关于系统和关于用户两个子菜单
(3)选择“系统”->“修改密码”命令,将弹出“修改密码”窗体,填写数据后,
单击确定按钮就会完成密码的修改操作。
但是当输入的用户名为空或者用户名与原密码不匹配,或者用户名不存在以及两次输入的密码不一致时都会给出相应的信息来提示和警告用户
(4)选择“系统用户管理”->“用户管理”命令,将弹出“用户管理”窗体
当你点击记录集中的记录时,相应的数据就会在左侧显示,而且当你输入的用户名或密码及权限为空时,系统会给出相应的提示信息。
(5)选择“教务信息管理”->“课程管理”命令,将弹出“课程管理”窗体
当你操作时系统会给出足够的提示信息,来告诉你什么样的输入是不合法的。
有关提示信息
(6)选择“教务信息管理”->“学籍管理”命令,将弹出“学籍管理”窗体
当你操作时系统会给出足够的提示信息,来告诉你什么样的输入是不合法的。
(6)选择“教务信息管理”->“系别管理”命令,将弹出“系别管理”窗体
当你操作时系统会给出足够的提示信息,来告诉你什么样的输入是不合法的。
(7)选择“教务信息管理”->“成绩管理”命令,将弹出“成绩管理”窗体
当退出界面时,系统会给出提示信息
前面的那些提示信息对这几个功能模块都是一样的,这里就不一一演示,只是取其中一个进行演示。
(8)选择“教务信息查询”->“成绩查询”命令,将弹出“学生成绩查询”窗体
查询时应当选择查询条件,不然就会给出提示,查询成功时也会给出相应的提示
(9)选择“教务信息查询”->“学生资料查询”命令,将弹出“学生资料查询”窗体
当没有填写任何一种条件时,就会给出提示
(10)选择“帮助”->“关于系统”命令,将弹出“关于系统”窗体
(11)选择“帮助”->“关于作者”命令,将弹出“关于作者”窗体
(12)选择“系统”->“退出登录”命令,将弹出提示信息
六.总结
6.1程序中可以改进的地方说明。
(a)在用户登录的时候如果连续三次用户名或密码错误,系统就会自动退出,但是并没有把此用户锁定,这点会带来一定得安全隐患,所以为了增强系统的安全性,如果连续三次输入错误,就应该把此用户给锁定住,只有它与管理员联系后,完成解锁后方可继续使用。
(b)在网络功能上没有提供很好的接口和支持,基本上术语单机版状态
(c)本系统的数据库一旦被更改,就是永久性的,所以为了避免一些问题的发生,应该适时的进行数据库备份。
所以可以在系统中添加备份数据库的功能,这样就可以及时备份数据库,当数据库遭到破坏的时候,可以还原数据库。
6.2程序中可以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教务 系统 数据库 总结报告
![提示](https://static.bdocx.com/images/bang_tan.gif)