1、 ABC家教服务信息管理系统学 院经济和管理学院专 业物流管理班 级04080701班学 号1姓 名张佳昱指导老师王晓斌年7月日目 录1 引言32 总体设计32.1 系统关键功效32.2 系统功效结构图53 系统设计53.1 设计目标53.2 开发及运行环境63.3 数据库设计63.3.1 数据库概念结构设计63.3.2 数据库逻辑结构设计63.3.3 数据库物理设计64 关键功效模块设计74.1 主窗体设计74.2 编辑模块84.3 学员教员管理模块134.4 服务信息管理模块204.5 综合查询系统模块224.6 新闻管理模块254.7 系统维护模块261 引言引 言社会发展节奏加紧使得大
2、家越来越趋向于信息化、数字化,传统人工管理信息模式已经不能满足社会发展需求,由计算机实现管理信息系统(MIS)以其方便快捷操作受到大家亲睐,并将逐步替换传统人工管理。管理信息系统是一个由人、计算机等组成能进行信息搜集、传输、储存、加工、维护和使用系统,它利用计算机完成对数据操作,不仅能避免繁重业务量所造成人为错误,大大提升工作质量和工作效率,还可利用信息共享加紧信息更新和公布速度。除此之外,管理信息系统面向对象化设计使系统简便易行,操作人员不需很强专业技术,只要经过简单培训即可熟练使用系统。而数据库技术是信息技术基础,在信息高度发达今天,数据库技术和数据库应用显示出了极大作用和发展潜力。本文所
3、探讨ABC家教服务系统,以下简称家教网,在这里指是为家长和老师提供家教信息及其它个性化服务网络产品网站。该网站应为教员和学员提供更为个性化家教小区,为家教双方提供双向选择和文流平台,学员教员能够方便查询自己中意教员,教员能够知道自己家教安排状态等等从而真正实现家教信息网络化和个性化。2 总体设计2.1 系统关键功效依据网络家教服务系统实际情况,该系统需求关键功效以下:(1) 编辑信息模块 编辑信息模块分为学员信息编辑和教员信息编辑,均能够添加、修改、删除、更新或逐条查找信息。(2) 学员教员管理模块 学员教员管理模块分为学员管理模块和教员管理模块。学员管理模块能够依据学员姓名、性别、年级和科目
4、查询或统计学员信息。教员管理模块能够依据教员姓名、性别、学历和科目查询或统计教员信息。(3)服务信息管理模块 服务信息管理模块分为服务体系和收费标准两个模块,关键介绍了家教网收费标准和师资力量等方面。(4)综合查询系统模块 综合查询系统模块分为教员信息查询系统模块和学生信息查询系统模块。教员信息查询系统模块能够依据教员姓名、性别、学历和科目进行综合查询。学生信息查询系统模块是依据学生姓名、性别、科目、年级进行综合查询。在信息比较模糊时能够选择综合查询系统。(5)新闻管理模块 新闻管理模块关键是更新家教网最近新闻,如阶段性测试或收费等。(6)系统维护模块 在此模块中学员或教员能够修改登录密码,默
5、认密码为123456。2.2系统功效结构图学员编辑修改密码系统维护编辑信息ABC家教服务管理系统学员教员管理服务信息管理综合查询系统新闻管理教员编辑学员管理教员管理服务体系收费标准教员信息查询系统学员信息查询系统家教新闻登录家教网3系统设计3.1 设计目标结合现在家教服务系统实际情况,根据面向数据分析设计方法,得出本系统基础模块。q 系统运行稳定,安全可靠。q 界面设计美观,人机交互界面友好。q 信息查询灵活、方便、快捷、正确,数据存放安全可靠。q 采取多个方法查询数据。q 操作员能够随时修改自己口令。q 对用户输入数据,系统进行严格数据检验,尽可能排除人为错误。q 数据保密性强,为每个用户设
6、置对应权限等级。3.2 开发及运行环境系统开发平台:Microsoft Visual Basic 6.0运行平台:Windows xp/Windows /Windows 983.3数据库设计本系统采取是微软企业Microsoft Office Access,原因以下:第一,针对家教服务系统发展现实状况,Access数据库已经完全能够满足其管理需求;第二,Access数据库操作简单,很适合初学者应用,而且采取ADO数据连接技术后,在Access使用基础上很轻易上手譬如SQL server、Oracle等大型网络数据库。3.3.1 数据库概念结构设计依据需求分析,该家教服务系统中实体包含:密码表、
7、学员和教员。3.3.2 数据库逻辑结构设计 经过对设计出家教系统分析,导出数据关系模型以下:(1) 密码表:(编号、username、password)(2) 学员:(编号、姓名、性别、年级、科目)(3) 教员:(编号、姓名、性别、学历、科目)3.2.3 数据库物理设计 依据以上数据库系统功效分析,本着在使用方便前提下尽可能降低数据冗余标准,在Access中建立了base数据库,并建立了以下三个基础表:(1) 密码表:用于用户登录字段名称数据类型编号自动编号username文本型password文本型(2) 学员信息表:用于存放学员基础信息字段名称数据类型编号自动编号姓名文本型性别文本型年级文
8、本型科目文本型(3) 教员信息表:用于存放教员基础信息字段名称数据类型编号自动编号姓名文本型性别文本型学历文本型科目文本型4 关键功效模块设计4.1主窗体设计主界面是登陆后程序运行第一个界面,应该清楚有条理显示系统全部功效模块。本系统是一个家教服务系统,根据应用需求,将该系统设计分为六大关键模块:编辑、学员/教员管理、服务信息管理、综合查询系统、新闻管理、系统维护六个功效模块,主界面拟采取菜单资源显示各个基础模块,用户单击某个菜单项,就能弹出某个功效界面。系统主界面图4.1.1,4.1.2,4.1.3所表示:图4.1.1图4.1.2图4.1.34.2编辑模块编辑信息模块分为学员信息编辑和教员信
9、息编辑,均能够添加、修改、删除、更新或逐条查找信息。(1) 学员编辑模块,运行界面图4.2.1所表示:图4.2.1程序代码:Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 首统计 Adodc1.Recordset.MoveFirst Command1(1).Enabled = False Command1(2).Enabled = True Case 1 上一条 Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF Then Adodc1.Recor
10、dset.MoveFirst Command1(2).Enabled = True Case 2 下一条 Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Command1(1).Enabled = True Case 3 尾统计 Adodc1.Recordset.MoveLast Command1(2).Enabled = False Command1(1).Enabled = True Case 4 返回学员查询系统 Form13.Show Form16.Hide End Sel
11、ectEnd SubPrivate Sub Command2_Click(Index As Integer) Dim ask As Integer Select Case Index Case 0 添加 Adodc1.Recordset.AddNew Case 1 修改 ask = MsgBox(删除否?, vbYesNo) If ask = 6 Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End If Case 2 删
12、除 Adodc1.Recordset.Update Case 3 更新 Adodc1.Recordset.CancelUpdate Case 4 返回主菜单 Form3.Show Form16.Hide End SelectEnd Sub(2) 教员编辑模块,运行界面图4.2.2所表示:图4.2.2程序代码:Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 首统计 Adodc1.Recordset.MoveFirst Command1(1).Enabled = False Command1(2).Enab
13、led = True Case 1 上一条 Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Command1(2).Enabled = True Case 2 下一条 Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Command1(1).Enabled = True Case 3 尾统计 Adodc1.Recordset.MoveLast Command1(
14、2).Enabled = False Command1(1).Enabled = True Case 4 返回教员查询系统 Form14.Show Form17.Hide End SelectEnd SubPrivate Sub Command2_Click(Index As Integer) Dim ask As Integer Select Case Index Case 0 添加 Adodc1.Recordset.AddNew Case 1 修改 ask = MsgBox(删除否?, vbYesNo) If ask = 6 Then Adodc1.Recordset.Delete Ado
15、dc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End If Case 2 删除 Adodc1.Recordset.Update Case 3 更新 Adodc1.Recordset.CancelUpdate Case 4 返回主菜单 Form3.Show Form17.Hide End SelectEnd Sub4.3 学员教员管理模块学员教员管理模块分为学员管理模块和教员管理模块。(1) 教员管理模块:教员管理模块能够依据教员姓名、性别、学历和科目查询统计教员信息。查询统计运行界面分
16、别图4.3.1.1和4.3.1.2所表示:图4.3.1.1图4.3.1.2查询代码:Private Sub Command1_Click() 按姓名查询xm = Trim(Text1)Adodc1.RecordSource = select * from 教员信息 where 姓名= & xm & Adodc1.RefreshEnd SubPrivate Sub Command2_Click() 按性别查询xb = Trim(Text1)Adodc1.RecordSource = select * from 教员信息 where 性别= & xb & Adodc1.RefreshEnd Sub
17、Private Sub Command3_Click() 按学历查询xl = Trim(Text1)Adodc1.RecordSource = select * from 教员信息 where 学历= & xl & Adodc1.RefreshEnd SubPrivate Sub Command4_Click() 按科目查询km = Trim(Text1)Adodc1.RecordSource = select * from 教员信息 where 科目= & km & Adodc1.RefreshEnd SubPrivate Sub Command5_Click() 返回教员教员Form4.S
18、howForm1.HideForm3.HideForm2.HideForm5.HideForm6.HideForm7.HideForm8.HideForm9.HideForm10.HideForm11.HideForm12.HideForm13.HideEnd SubPrivate Sub Command6_Click() 退出EndEnd Sub统计代码:Private Sub Command1_Click() 统计各科教员人数Adodc1.RecordSource = select 科目,count(*) as 人数 from 教员信息 GROUP BY 科目Adodc1.RefreshE
19、nd SubPrivate Sub Command2_Click() 按教员性别统计Adodc1.RecordSource = select 性别,count(*) as 人数 from 教员信息 GROUP BY 性别Adodc1.RefreshEnd SubPrivate Sub Command3_Click() 返回教员管理Form4.ShowForm1.HideForm2.HideForm3.HideForm9.HideForm5.HideForm6.HideForm7.HideForm8.HideForm10.HideForm11.HideForm12.HideForm13.Hide
20、End SubPrivate Sub Command4_Click() 退出EndEnd Sub(2) 学员管理模块能够依据学员姓名、性别、年级和科目查询或统计学员信息。查询和统计运行界面分别图4.3.2.1和4.3.2.2所表示:查询代码:Private Sub Command1_Click() 按姓名查询xm = Trim(Text1)Adodc1.RecordSource = select * from 学员信息 where 姓名= & xm & Adodc1.RefreshEnd SubPrivate Sub Command2_Click() 按性别查询xb = Trim(Text1)
21、Adodc1.RecordSource = select * from 学员信息 where 性别= & xb & Adodc1.RefreshEnd SubPrivate Sub Command3_Click() 按年级查询nj = Trim(Text1)Adodc1.RecordSource = select * from 学员信息 where 年级= & nj & Adodc1.RefreshEnd SubPrivate Sub Command4_Click() 按科目查询km = Trim(Text1)Adodc1.RecordSource = select * from 学员信息 w
22、here 科目= & km & Adodc1.RefreshEnd SubPrivate Sub Command5_Click() 返回学员管理Form7.ShowForm1.HideForm2.HideForm3.HideForm4.HideForm5.HideForm6.HideForm9.HideForm8.HideForm10.HideForm11.HideForm12.HideForm13.HideEnd SubPrivate Sub Command6_Click() 退出EndEnd Sub统计代码:Private Sub Command3_Click() 按科目统计Adodc1.
23、RecordSource = select 科目,count(*) as 人数 from 学员信息 GROUP BY 科目Adodc1.RefreshEnd SubPrivate Sub Command4_Click() 返回学员管理Form7.ShowForm1.HideForm3.HideForm4.HideForm5.HideForm6.HideForm2.HideForm8.HideForm9.HideForm10.HideForm11.HideForm12.HideForm13.HideEnd SubPrivate Sub Command1_Click() 按性别统计Adodc1.R
24、ecordSource = select 性别,count(*) as 人数 from 学员信息 GROUP BY 性别Adodc1.RefreshEnd SubPrivate Sub Command2_Click() 按年级统计Adodc1.RecordSource = select 年级,count(*) as 人数 from 学员信息 GROUP BY 年级Adodc1.RefreshEnd SubPrivate Sub Command5_Click() 退出EndEnd Sub图4.3.2.1图4.3.2.24.4 服务信息管理模块服务信息管理模块分为服务体系和收费标准两个模块。(1)
25、 服务体系模块关键介绍了家教网师资力量等方面,运行界面图4.4.1所表示:图4.4.1(2) 收费标准模块关键介绍了家教网不一样年级收费情况,运行界面图4.4.2所表示:图4.4.2运行代码:Private Sub Command1_Click() 小学Text1 = 20元/小时End SubPrivate Sub Command2_Click() 初中Text2 = 40元/小时End SubPrivate Sub Command3_Click() 高中Text3 = 60元/小时End SubPrivate Sub Command4_Click() 返回主菜单Form3.ShowForm
26、1.HideForm2.HideForm9.HideForm4.HideForm5.HideForm6.HideForm7.HideForm8.HideForm10.HideForm11.HideForm12.HideForm13.HideEnd SubPrivate Sub Command5_Click() 退出End4.5 综合查询系统模块 综合查询系统模块分为教员信息查询模块和学员信息查询模块。(1) 教员信息查询系统模块能够依据教员姓名、性别、学历和科进行综合查询,运行界面图4.5.1所表示:图4.5.1程序代码:Private Sub Command1_Click()sql_str
27、= select * from 教员信息n = 0If Check1.Value = 1 Then sql_str = sql_str + where 姓名= & Combo1 & n = 1End IfIf Check2.Value = 1 Then If n = 1 Then Else sql_str = sql_str + where 性别= & Combo2 & End If n = 1End IfIf Check3.Value = 1 Then If n = 1 Then sql_str = sql_str + and 学历= & Combo3 & Else sql_str = sq
28、l_str + where 学历= & Combo3 & End If n = 1End IfIf Check4.Value = 1 Then If n = 1 Then sql_str = sql_str + and 科目= & Combo4 & Else sql_str = sql_str + where 科目= & Combo4 & End IfEnd IfAdodc1.RecordSource = sql_strAdodc1.RefreshEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Command3_Click()F
29、orm3.ShowForm1.HideForm4.HideForm5.HideForm6.HideForm7.HideForm8.HideForm9.HideForm2.HideForm11.HideForm12.HideEnd SubPrivate Sub Command4_Click()Form17.ShowForm14.HideEnd Sub(2) 学生信息查询系统模块是依据学生姓名、性别、科目、年级进行综合查询,运行界面图4.5.2所表示:图4.5.2程序代码:Private Sub Command1_Click()sql_str = select * from 学员信息n = 0If
30、 Check1.Value = 1 Then sql_str = sql_str + where 姓名= & Combo1 & n = 1End IfIf Check2.Value = 1 Then If n = 1 Then sql_str = sql_str + and 性别= & Combo2 & Else sql_str = sql_str + where 性别= & Combo2 & End If n = 1End IfIf Check3.Value = 1 Then If n = 1 Then sql_str = sql_str + and 科目= & Combo3 & Else
31、sql_str = sql_str + where 科目= & Combo3 & End If n = 1End IfIf Check4.Value = 1 Then If n = 1 Then sql_str = sql_str + and 年级= & Combo4 & Else sql_str = sql_str + where 年级= & Combo4 & End IfEnd IfAdodc1.RecordSource = sql_strAdodc1.RefreshEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Comma
32、nd3_Click()Form3.ShowForm13.HideEnd SubPrivate Sub Command4_Click()Form16.ShowForm13.HideEnd Sub4.6 新闻管理模块 新闻管理模块关键是更新家教网最近新闻,如阶段性测试或收费等,运行界面图4.6.1所表示:图4.6.14.7 系统维护模块在此模块中学员或教员能够修改登录密码,默认密码为123456,运行界面图4.7.1所表示:图4.7.1运行代码:Private Sub Command1_Click()If Text1 = Then MsgBox 用户名不能为空, , 提醒 Text1.SetFoc
33、us ElseIf Text2 = Then MsgBox 请输入原始密码!, , 提醒 Text2.SetFocus ElseIf Text3 = Then MsgBox 请输入新密码!, , 提醒 Text3.SetFocus ElseIf Text4 = Then MsgBox 请输入确定密码, , 提醒 Text4.SetFocusElseIf Text3 Text4 Then MsgBox 确定密码和新密码必需保持一致!, , 提醒Else Dim MPassword As String Adodc1.RecordSource = select * from 密码表 where us
34、ername = & Text1.Text & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then MPassword = Adodc1.Recordset.Fields(password) If Text2.Text = MPassword Then Name1 = Text1.Text If Text3.Text = Text4.Text Then answer = MsgBox(确定修改?, 32 + 1, 确定修改) If answer = 1 Then Adodc1.Recordset.Fields(password) = Tr
35、im(Text2.Text) Adodc1.Recordset.Fields(password) = Trim(Text3.Text) Adodc1.Recordset.Update Adodc1.Refresh MsgBox 密码修改成功!, vbOKOnly, 密码修改 End IfForm2.ShowForm8.Hide Unload Me End If Else MsgBox 密码不正确,请您确定后重新输入, , 提醒信息 Text2.Text = Text2.SetFocus End If Else MsgBox 对不起 没有此用户信息, , 提醒信息 End IfEnd IfEnd
36、 SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Form_Load() Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then ListView1.Enabled = True ListView1.ListItems.Clear i = 1 Adodc1.Recordset.MoveFirst Do While Adodc1.Recordset.EOF = False Key = Adodc1.Recordset.Fields(username) Set itmX = ListView1.ListItems.Add(, , Key, i) i = i + 1 Adodc1.Recordset.MoveNext Loop Else ListView1.Enabled = False End IfEnd SubPrivate Sub ListView1_Click()Text1.Text = ListView1.SelectedItem Text2.SetFocusEnd Sub