收藏 分销(赏)

教学管理系统设计说明-模板.doc

上传人:天**** 文档编号:2577493 上传时间:2024-06-01 格式:DOC 页数:28 大小:546.04KB 下载积分:10 金币
下载 相关 举报
教学管理系统设计说明-模板.doc_第1页
第1页 / 共28页
教学管理系统设计说明-模板.doc_第2页
第2页 / 共28页


点击查看更多>>
资源描述
教学管理系统设计说明_模板 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 兰州交通大学 课程设计(论文) 题 目 名 称 教学管理系统 课 程 名 称 数据库技术及应用 学 生 姓 名 毛燕春 学 号 201109118 学院 自然班 自动化与电气工程学院 电气2011-01 指 导 教 师 甄兴华 2013年 6 月 14 日 1. 需求 本系统主要用于学校的学生成绩管理。 1. 用户身份的验证 2. 学生基本信息管理 3. 按班级选课 4. 学生成绩的管理 2. 总体设计 本系统包括:标准模块、系统登录模块、主界面模块、系统管理模块、学生基本信息管理模块、选课模块、成绩管理模块。 1. 标准模块 定义公共变量和过程。 2. 系统登录模块 进行用户身份的验证。 3. 主界面模块 作为系统总界面,供用户进行各项选择. 4. 系统管理模块 用户管理及系统退出。 5. 学生基本信息管理模块 学生基本信息的录入和查询. 6. 选课模块 为班级选课。 7. 成绩管理模块 进行学生成绩的录入及查询。 3. 数据库设计及配置 3.1. 数据库设计 该数据库由以下几个表组成: 用户表、学生基本信息表、班级课程表、学生成绩表。 3.1.1 用户表 包括用户名、密码、是否是超级用户。 字段名称 数据类型 用户名 文本 密码 文本 是否为超级用户 布尔 3.1.2 学生基本信息表 包括学号、姓名、电话、地址、班级名称、性别. 字段名称 数据类型 学号 文本 姓名 文本 电话 文本 地址 文本 班级名称 文本 性别 文本 3.1.3 班级课程表 包括班级名称、课程名称。 字段名称 数据类型 班级名称 文本 课程名称 文本 3.1.4 学生成绩表 包括学号、课程名称、成绩。 字段名称 数据类型 学号 文本 课程名称 文本 成绩 数值(单精度浮点型) 3.2. 数据库中各表关系 学生基本信息表与班级课程表通过班级名称字段相关联,学生基本信息表与学生成绩表通过学号字段相关联,班级课程表与学生成绩表通过课程名称字段相关联. 4. 系统实现 4.1. 标准模块(公有模块) 4.1.1 标准模块中的数据定义 用于定义全局变量及过程。本系统定义了当前用户名及用户类型。 序号 变量名 数据类型 1 UserName String 2 UserType Boolean 4.1.2 标准模块代码设计 Option Explicit Public UserName As String Public UserType As Boolean 4.2. 系统登录模块 4.2.1 说明 进行用户身份的验证。特定的用户才能登录到系统。 4.2.2 窗体设计 系统登录窗体的窗体类型为Form,界面如下图所示: 主要控件属性如下表所示: 对象名 类型 属性 值 说明 FrmLogin 窗体 Caption 学生成绩管理系统登录 学生成绩管理系统登录窗体 Label1 标签 Caption 用户名: Label2 标签 Caption 密码: Text1 文本框 Text 用于输入用户名 Text2 文本框 Text 用于输入密码 cmdOk 命令按钮 Caption 确定 确定当前输入的用户名和密码,进行用户登录.登录成功后进入主界面.如果三次输入错误的用户和密码,程序将自动退出 cmdCancel 命令按钮 Caption 取消 取消操作,退出程序 Adodc1 Adodc ConnectionString 连接所使用的数据库,ConnectionString属性在界面中设置,RecordSource属性在代码中设置。 4.2.3 代码设计 l 公共定义 Option Explicit Dim Count1 As Integer l 窗体装载处理程序(Load) Private Sub Form_Load() Count1 = 0 ‘错误次数清零 End Sub l 取消按钮(cmdCancel)处理程序(Click) Private Sub cmdCancel_Click() Unload Me ‘系统退出 End Sub l 确定按钮(cmdOk)处理程序(Click) Private Sub cmdOk_Click() Dim s1 As String Dim Password As String On Error Resume Next If Text1.Text = "" Then ‘用户名为空,则退出 MsgBox (”用户名不能为空,请重新输入") Text1。SetFocus Exit Sub End If ‘按输入的用户名进行查询 s1 = ”SELECT * from 用户表 WHERE 用户名=’” & Text1.Text & ”'" Adodc1。RecordSource = s1 Adodc1。Refresh If Adodc1.Recordset。EOF = False Then ‘判断查询结果 UserName = Adodc1.Recordset.Fields(0) ‘有该用户名,即用户名正确 Password = Adodc1.Recordset。Fields(1) UserType = Adodc1.Recordset.Fields(2) If Password = Text2.Text Then ‘判断密码是否正确 Unload Me ‘密码正确,关闭当前窗体 FrmMain。Show ‘显示主界面窗体 Exit Sub Else MsgBox ("密码错误,请重新输入") ‘密码错误,提示 Text2。SetFocus Text2。Text = ”" End If Else ‘没有该用户名,即用户名错误 MsgBox ”用户名错误,请重新输入" Text1.SetFocus Text1。Text = "” Text2.Text = ”" End If Count1 = Count1 + 1 ‘错误次数累计 If Count1 >= 3 Then MsgBox "错误超过3次,系统退出" Unload Me End If End Sub 4.3. 主界面模块 4.3.1 说明 作为系统总界面,供用户进行各项选择。 4.3.2 窗体设计 主界面模块窗体类型为MDIForm,界面如下图所示. 4.3.3 代码设计 l 窗体变为活动窗体处理程序(MDIForm-Activate) Private Sub MDIForm_Activate() WindowState = 2 ‘窗体最大化状态 StatusBar1.Panels(1)。Text = ”用户名: ” & UserName ‘在状态栏显示用户名、用户类型 If UserType = True Then StatusBar1。Panels(2).Text = "用户类型: 管理员" Else StatusBar1.Panels(2).Text = ”用户类型: 普通用户" End If If UserType = False Then ‘对普通用户设某些菜单项不可用 AA1.Enabled = False BB1。Enabled = False CC。Enabled = False DD1.Enabled = False Toolbar1。Buttons(1).Enabled = False ‘对普通用户设工具栏的某些按钮不可用 Toolbar1.Buttons(3).Enabled = False Toolbar1.Buttons(6)。Enabled = False Toolbar1。Buttons(7).Enabled = False Toolbar1.Buttons(9).Enabled = False End If End Sub l 定时器(Timer1)处理程序(Timer) Private Sub Timer1_Timer() StatusBar1.Panels(3).Text = Now ‘在状态栏中显示当前时间 End Sub l 工具栏(Toolbar1)处理程序(ButtonClick) Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1 Form11.Show (1) ‘用户管理 Case 3 Form21.Show (1) ‘学生基本信息维护 Case 4 Form22.Show (1) ‘学生基本信息查询 Case 6 Form31.Show (1) ‘课程添加 Case 7 Form32.Show (1) ‘课程删除 Case 9 Form41.Show (1) ‘学生成绩维护 Case 10 Form42.Show (1) ‘学生成绩查询 Case 12 Unload Me ‘系统退出 End Select End Sub l “用户管理”菜单项处理程序(AA1-Click) Private Sub AA1_Click() Form11.Show (1) End Sub l “退出”菜单项处理程序(AA3-click) Private Sub AA3_Click() Unload Me End Sub l “学生基本信息维护”菜单项处理程序(BB1-click) Private Sub BB1_Click() Form21.Show (1) End Sub l “学生基本信息查询"菜单项处理程序(BB2-click) Private Sub BB2_Click() Form22。Show (1) End Sub l “课程添加”菜单项处理程序(CC1-click) Private Sub CC1_Click() Form31。Show (1) End Sub l “课程删除”菜单项处理程序(CC2-click) Private Sub CC2_Click() Form32。Show (1) End Sub l “学生成绩维护”菜单项处理程序(DD1-click) Private Sub DD1_Click() Form41.Show (1) End Sub l “学生成绩查询”菜单项处理程序(DD2-click) Private Sub DD2_Click() Form42。Show (1) End Sub 4.4. 用户管理模块 4.4.1 说明 创建、删除用户。设定用户权限。 4.4.2 窗体设计 4.4.3 代码设计 l 上一条(Command1)处理(Click) Private Sub Command1_Click() Command2.Enabled = True Adodc1.Recordset。MovePrevious If Adodc1。Recordset.BOF Then Command1。Enabled = False Adodc1.Recordset.MoveFirst End If End Sub l 下一条(Command2)处理(Click) Private Sub Command2_Click() Command1.Enabled = True Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Command2。Enabled = False Adodc1.Recordset.MoveLast End If End Sub l 添加(Command3)处理(Click) Private Sub Command3_Click() If Command3.Caption = "添加" Then Command3.Caption = ”确定" Command1.Enabled = False Command2.Enabled = False Command4。Enabled = False Adodc1。Recordset.AddNew Text1.SetFocus Else If Text1。Text = "" Then MsgBox (”用户名不能为空”) Exit Sub End If Command3.Caption = ”添加" Adodc1。Recordset.Update Command1.Enabled = True Command2。Enabled = True Command4。Enabled = True End If End Sub l 删除(Command4)处理(Click) Private Sub Command4_Click() Adodc1.Recordset。Delete Adodc1.Recordset。MoveNext If Adodc1.Recordset。EOF Then Adodc1。Recordset。MoveLast End If End Sub l 退出(Command5)处理(Click) Private Sub Command5_Click() Unload Me End Sub 4.5. 学生基本信息管理模块 4.5.1 说明 学生基本信息的添加、删除、查询。 该模块有两个窗体:学生基本信息维护窗体和学生基本信息查询窗体 4.5.2 学生基本信息维护窗体 4.5.2.1. 窗体设计 主要控件属性如下表所示: 对象名 类型 属性 值 说明 Form21 窗体 Caption 学生基本信息维护 学生基本信息维护窗体 Adodc1 Adodc ConnectionString 连接所使用的数据库,ConnectionString、RecordSource属性都在界面中设置。 作为DataGrid1的数据源 RecordSource CommandType 2-adCmdTable 学生基本信息表 DataGrid1 DataGrid DataSource Adodc1 用于显示学生基本信息表内容 Command1 命令按钮 Caption 退出 4.5.2.2. 代码设计 l 窗体装载处理程序(Load) Private Sub Form_Load() DataGrid1.AllowAddNew = True DataGrid1。AllowDelete = True DataGrid1.AllowUpdate = True End Sub l 退出(Command1)处理(Click) Private Sub Command1_Click() Unload Me End Sub 4.5.3 学生基本信息查询窗体 4.5.3.1. 窗体设计 主要控件属性如下表所示: 对象名 类型 属性 值 说明 Form22 窗体 Caption 学生基本信息查询 学生基本信息查询窗体 Adodc1 Adodc ConnectionString 连接所使用的数据库,ConnectionString属性在界面中设置,RecordSource属性在代码中设置。 Adodc2 Adodc ConnectionString 连接所使用的数据库,ConnectionString、RecordSource属性都在界面设置。 作为DataList1的数据源 RecordSource CommandType 1-adCmdText SELECT DISTINCT 班级名称 FROM 学生基本信息表 Check1 复选按钮 Caption 姓名 选择查询条件 Check2 复选按钮 Caption 学号 Check3 复选按钮 Caption 班级 Text1 文本框 用于输入姓名 Text2 文本框 用于输入学号 DataList1 DataList RowSource Adodc2 用于选择输入班级名称 ListField 班级名称 DataSource Adodc2 DataListField 班级名称 DataGrid1 DataGrid 显示查询得到的学生基本信息 Command1 命令按钮 Caption 查询 Command2 命令按钮 Caption 退出 4.5.3.2. 代码设计 l 查询(Command1)处理(Click ) Private Sub Command1_Click() Dim s1 As String s1 = ”” If Check1。Value = 1 Then If Text1。Text 〈〉 "" Then s1 = s1 & "姓名=’" & Text1.Text & "'" End If End If If Check2。Value = 1 Then If Text2。Text <> "” Then If s1 〈〉 ”" Then s1 = s1 & " and " End If s1 = s1 & "学号='" & Text2.Text & ”’" End If End If If Check3。Value = 1 Then If DataList1。Text <〉 ”” Then If s1 <> ”” Then s1 = s1 & " and ” End If s1 = s1 & "班级名称='" & DataList1。Text & ”’" End If End If If s1 <> "" Then s1 = "where ” & s1 End If Adodc1。RecordSource = ”select * from 学生基本信息表 " & s1 Adodc1.Refresh Set DataGrid1。DataSource = Adodc1 End Sub l 退出(Command2)处理(Click) Private Sub Command2_Click() Unload Me End Sub l 窗体装载处理程序(Load) Private Sub Form_Load() DataGrid1.AllowAddNew = False DataGrid1.AllowDelete = False DataGrid1.AllowUpdate = False End Sub 4.6. 选课模块 4.6.1 说明 该模块为一个班级选课. 4.6.2 课程添加窗体 用于课程的添加和查询 4.6.2.1. 窗体设计 主要控件属性如下表所示: 对象名 类型 属性 值 说明 Form31 窗体 Caption 课程添加 课程添加窗体 Adodc1 Adodc ConnectionString 连接所使用的数据库,ConnectionString属性在界面中设置,RecordSource属性在代码中设置. Label1 标签 Caption 班级名称 Label2 标签 Caption 课程名称 Text1 文本框 用于输入班级名称 Text2 文本框 用于输入课程名称 DataGrid1 DataGrid 显示该班级课程 Command1 命令按钮 Caption 添加 Command2 命令按钮 Caption 查询 Command3 命令按钮 Caption 退出 4.6.2.2. 代码设计 l 添加(Command1)处理(Click) Private Sub Command1_Click() Dim s1 As String, s2 As String On Error Resume Next If Text1。Text = ”” Or Text2.Text = ”" Then MsgBox (”输入不能为空”) Exit Sub End If s1 = ”select * from 班级课程表 where 班级名称='" s2 = Text1。Text & "’ and 课程名称='” & Text2.Text & ”’” Adodc1。RecordSource = s1 & s2 Adodc1。Refresh If Adodc1.Recordset.EOF = False Then Text1。SetFocus MsgBox ”该记录已存在,请重新输入", , "警告" Exit Sub End If s1 = ”select * from 班级课程表” Adodc1。RecordSource = s1 Adodc1。Refresh Adodc1.Recordset。MoveLast Adodc1。Recordset。AddNew Adodc1。Recordset。Fields(”班级名称") = Text1。Text Adodc1.Recordset。Fields(”课程名称") = Text2.Text Adodc1.Recordset.Update Adodc1。Refresh s1 = ”select 课程名称 from 班级课程表 where 班级名称='" & Text1。Text & ”’” Adodc1。RecordSource = s1 Adodc1。Refresh Set DataGrid1。DataSource = Adodc1。Recordset Text2.SetFocus Text2.Text = "” Exit Sub End Sub l 查询(Command2)处理(Click) Private Sub Command2_Click() Dim s1 As String s1 = "select 课程名称 from 班级课程表 where 班级名称='" & Text1。Text & "’” Adodc1。RecordSource = s1 Adodc1.Refresh Set DataGrid1.DataSource = Adodc1。Recordset End Sub l 退出(Command3)处理(Click) Private Sub Command3_Click() Unload Me End Sub l 窗体装载处理程序(Load) Private Sub Form_Load() DataGrid1.AllowAddNew = False DataGrid1.AllowDelete = False DataGrid1.AllowUpdate = False End Sub 4.6.3 课程删除窗体 4.6.3.1. 窗体设计 主要控件属性如下表所示: 对象名 类型 属性 值 说明 Form32 窗体 Caption 课程添加 课程删除及修改窗体 Adodc1 Adodc ConnectionString 连接所使用的数据库,ConnectionString、RecordSource属性都在界面中设置。 作为DataList1的数据源 RecordSource CommandType 1-adCmdText SELECT DISTINCT 班级名称 from 班级课程表 Adodc2 Adodc ConnectionString 连接所使用的数据库,ConnectionString在界面中设置,RecordSource属性在代码中设置。 Label1 标签 Caption 班级名称 Label2 标签 Caption 课程列表 DataList1 DataList RowSource Adodc1 用于选择输入班级名称 ListField 班级名称 DataSource Adodc1 DataListField 班级名称 DataGrid1 DataGrid 显示查询得到的学生基本信息 4.6.3.2. 代码设计 l 退出(Command1)处理(Click) Private Sub Command1_Click() Unload Me End Sub l 数据列表框(DataList1)处理(Click) Private Sub DataList1_Click() Dim s1 As String s1 = ”select * from 班级课程表 where 班级名称=’" & DataList1。Text & ”'" Adodc2。RecordSource = s1 Adodc2.Refresh Set DataGrid1。DataSource = Adodc2 End Sub l 窗体装载处理程序(Load) Private Sub Form_Load() DataGrid1.AllowDelete = True DataGrid1。AllowUpdate = True DataGrid1。AllowAddNew = False End Sub 4.7. 成绩管理模块 4.7.1 说明 进行学生成绩的录入及查询。 4.7.2 成绩录入窗体 进行学生成绩的添加、修改及删除。 4.7.2.1. 窗体设计 4.7.2.2. 代码设计 l 录入(Command1)处理(Click) Private Sub Command1_Click() Dim s1 As String, s2 As String, s3 As String On Error Resume Next s1 = "select * from 学生成绩表 ” s2 = "where 学号='" & List2。Text & "' and " s3 = "课程名称=’" & List1.Text & "’" Adodc3。RecordSource = s1 & s2 & s3 Adodc3.Refresh If Adodc3.Recordset。EOF = False Then Adodc3。Recordset.Fields(2) = Val(Text1.Text) Else Adodc3.Recordset.MoveLast Adodc3.Recordset.AddNew Adodc3。Recordset。Fields(0) = List2。Text Adodc3.Recordset.Fields(1) = List1.Text Adodc3.Recordset。Fields(2) = Val(Text1.Text) End If Adodc3。Recordset.Update Adodc3.Refresh s1 = "select 学号,成绩 from 学生成绩表 where 课程名称='" & List1.Text & "’” s2 = " and 学号 in (select 学号 from 学生基本信息表 " s3 = "where 班级名称 =’" & DataList1。Text & ”’)” Adodc3.RecordSource = s1 & s2 & s3 Adodc3。Refresh Set DataGrid1。DataSource = Adodc3 End Sub l 退出(Command1)处理(Click ) Private Sub Command2_Click() Unload Me End Sub l 数据列表框(DataList1)处理(Click) Private Sub DataList1_Click() Dim s1 As String, s2 As String Set DataGrid1。DataSource = Nothing s1 = ”select 课程名称 from 班级课程表 ” s2 = ”where 班级名称='" & DataList1.Text & "'" Adodc2.RecordSource = s1 & s2 Adodc2.Refresh If Adodc2。Recordset.EOF = True Then MsgBox "请在班级课程表里添加该班级的课程名称" Exit Sub End If List1.Clear Adodc2。Recordset。MoveFirst Do While Adodc2.Recordset.EOF = False List1.AddItem Adodc2。Recordset。Fields(0) Adodc2.Recordset.MoveNext Loop s1 = "select 学号 from 学生基本信息表 ” s2 = ”where 班级名称=’” & DataList1。Text & "’” Adodc2。RecordSource = s1 & s2 Adodc2.Refresh If Adodc2.Recordset。EOF = True Then MsgBox "请在学生信息表里
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服