一.概述
1.1 开发背景
现如今学校招生越来越多,必然就会有大量的学生信息需要处理。如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,而且还会出现很多意想不到的错误,给管理这些数据带来了很大的不便,也越来越不适合学校发展的需要。
教务管理系统是一个庞大而复杂的系统,它包括对院系资料的管理,对课程资料的管理,对学生资料的管理和对学生成绩的管理等等主要的功能。教务管理系统是每个学校的一项必不可少的内容,它的好坏直接影响到学校里的主要工作,一旦此系统瘫痪,学校将会受到非常严重的损失,也会影响到每一个学生。所以现如今设计一个功能完整、操作简单以及界面友好的教务管理系统变得非常重要。
为了提高教务管理工作的效率,减少错误的出现,节约大量的人力资源,现在的学校的教务管理也逐步从手工转到计算机自动化信息处理阶段。通过这个系统,用户可以方便的对院系资料、课程资料、学生资料和学生成绩资料进行添加、修改和删除操作,还可以对学生资料和成绩进行查询操作。除此之外,对用户的添加和删除操作也很方便。 1.2 开发环境简介
系统平台:Windows xp
数据库服务器:Microsoft SQL Server 2000 开发工具:Visual Studio 2008
二.需求分析
2.1 功能需求
这次开发的教务管理系统大大提高了学校管理工作的效率,使用户能够方便的对院系信息、课程信息、学生信息以及成绩信息进行管理。本系统对具有不同权限的用户所开放
的功能是不同的,最高级用户的权限是“管理员”,它能使用系统的所有功能,另一种用户的权限是“用户”,它只能使用系统的部分功能。 不同权限的用户能使用的功能如下: 用户管理:此项功能只能由管理员使用 修改密码:管理员和用户都能使用
信息管理:包含了系别管理、学生管理、课程管理、成绩管理四个模块,只能由
管理员使用,用户不能使用。
学生资料查询:只能由管理员使用,用户不能使用 学生成绩查询:管理员和用户都能使用
2.2 模块划分
本系统并不复杂,模块划分也比较清楚。通过对不同的功能进行分析,就可以得到系统的模块划分。
(1)登录管理模块:为了保证系统的安全性,可以根据不同的用户权限来提供不同的服
务。分为管理员登录和用户登录两个子模块。
(2)系统管理模块:分为用户管理和修改密码两个子模块。其中用户管理子模块又包含
了添加用户和删除用户两部分。
(3)信息管理模块:对各基本表进行管理。分为系别管理、学生管理、课程管理和成绩
管理四个子模块。每一个模块又包含添加、修改和删除三个部分。
(4)信息查询模块:在各基本表的基础上进行信息查询。分为学生资料查询和学生成绩
查询两个子模块。
(5)帮助模块:分为关于系统和关于作者两个子模块。
与之对应的模块划分(图一)如下所示:
教务管理系统 登录管理 系统管理 信息管理 信息查询 帮助 管 理 员 登 录 用 户 登 录 用 户 管 理 修 改 密 码 系 别 管 理 学 生 管 理 课 程 管 理 成 绩 管 理 学 生 资 料 查 询 学 生 成 绩 查 询 关 于 系 统 关 于 作 者 添 加 用 户 删 除 用 户 添 加 院 系 修 改 院 系 删 除 院 系 添 加 学 生 修 改 学 生 删 除 学 生 添 加 课 程 修 改 课 程 删 除 课 程 添 加 成 绩 修 改 成 绩 删 除 成 绩
图一:模块划分图
2.3 系统的窗体命名约定如表一所示:
窗体 LoginForm1 FrmMain FrmUser FrmDepartment FrmCourse FrmStudent FrmGrade FrmStuQuery FrmGradeQuery FrmAboutSysterm FrmAboutAuthor 窗体名称 登录窗口 用户管理 系别管理 课程管理 学籍管理 成绩管理 窗体实现的功能 作为用户登录系统的窗口 对用户的信息进行管理 用户可以在此修改密码 对院系的信息进行管理 对课程的信息进行管理 对学生的基本信息进行管理 对学生的成绩进行管理 表一:各窗体的命名约定
教务管理系统 系统的主界面,列出所有的功能 FrmPasswordCharge 修改密码 学生资料查询 对学生的基本信息进行查询 学生成绩查询 对学生的学习成绩进行查询 关于系统 关于作者 简单介绍了此系统的主要功能 给出了作者的主要信息 三.设计内容
3.1 数据库设计
由用户的需求分析和概念结构设计,最终设计了名为教务管理数据库的数据库,数据库中的表如下所示: 表1:登录信息表
记录号 字段名称 数据类型 字段大小 属性(是否可为空) 1 2 3 用户名 密码 权限 text text text 16 16 16 否 否 否 表2:系别信息表 记录号 字段名称 数据类型 字段大小 属性(是否可为空) 1 2 3 系编号 系名 系主任 int nvarchar nvarchar 4 50 50 主键 是 是 表3:学生信息表 记录号 字段名称 数据类型 字段大小 属性(是否可为空) 1 2 3 4 5 6 学生编号 学生姓名 学生性别 年龄 身份证号 所在系 char nvarchar char int nvarchar nvarchar 10 50 10 4 50 50 主键 是 是 是 是 是 表4:课程信息表 记录号 字段名称 数据类型 字段大小 属性(是否可为空) 1 2 3 课程编号 课程名 任课老师 Int nvarchar nvarchar 4 50 50 主键 否 是 4 5 6 课程学分 开课院系 课程简介 float nvarchar nvarchar 8 50 16 是 是 是 表5:成绩信息表
记录号 字段名称 数据类型 字段大小 属性(是否可为空) 1 2 3 4 学生编号 课程编号 平时成绩 考试成绩 char Int char char 10 4 8 8 主键 主键 是 是 3.2 系统中主要功能实现
(1)登录界面的设计
本系统的登录界面上主要有用户名、密码和用户权限三部分内容。用户若想进入系统,就必须给出正确的用户名和密码,而且要选择正确的用户权限。如果用户输入的用户名不存在或者密码与用户名不一致或者与用户权限不一致,都会给出相应的提示信息,告诉用户出现的错误输入。而且,如果用户进行错误的输入超过三次时,系统会自动退出。 实现这一功能的说明如下:
函数开始:
建立连接,利用Fill()函数在Systerm.Data.DataSet的指定范围中添加或刷新行,以与使用Systerm.Data.DataSet名称中的数据源中的行相匹配。
OleDbDataAdapter1.Fill(dt)
利用For循环,判断循环次数是否小于所有记录的个数
For i = 0 To dt.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 什么也不做 End If 退出For循环 End If
Next
If ( i >= dt.Rows.Count 即在所有记录中都没有找到与用户输入的值相同的) Then
说明在所有记录中都没有找到与之匹配的用户名、密码和用户权限 Then
弹出MsgBox,警告用户出现错误
MsgBox(\用户名与密码与用户权限不匹配!请验证后重新输!\
MsgBoxStyle.Exclamation, \警告\
将密码对应的文本框中的内容置空