摘 要:在科学技术飞速发展的今天,传统的教育和管理受到了极大地冲击。教育的方式、辅助手段和工具也发生着日新月异的变化。在线教育是一种全新的教育模式,它可以突破时间和空间的限制,让更多的学习者共享优秀教育资源。在线学习答疑系统有着广阔的应用前景。
在线学习答疑系统中采用了目前流行的B/S结构,使用ASP动态网页技术,选用ACCESS 2000作为后台数据库进行开发的。系统实现教师发布教案、布置/批改作业、发布公告和答疑解惑。学生完成自学,向老师提出问题,与老师和其他同学讨论,查询作业及成绩等功能。管理员则对系统进行管理和维护。整个系统开发过程中遵循软件工程相规范,结合了现有的设备条件和具体的实际情况。
通过测试系统所有功能都得以实现。本系统具有操作简单、有一定的实用性等特点,但设计界面不够完美,部分功能不够完善。在线学习答疑系统可使教学过程网络化,创建知识学习的新途径,将推动电子化学习发展与应用。
关键词:在线学习;教学平台;B/S结构
目录
第1章 绪论 ..................................................... 1
1.1选题背景..................................................... 1 1.2选题的目的与意义............................................. 2 1.2.1选题的目的............................................... 2 1.2.2选题的意义............................................... 2 1.3解决的主要问题............................................... 2 1.4论文结构安排................................................. 2
第2章 在线学习答疑系统分析 ................................... 4
2.1系统功能需求分析............................................. 4 2.2系统性能要求................................................. 4 2.2.2系统响应时间性需求....................................... 4
2.2.2系统安全性需求........................................... 4 2.2.3 系统灵活性需求 .......................................... 5 2.3系统开发环境需求分析......................................... 5 2.3.1软件开发环境的需求分析................................... 5 2.3.2硬件开发环境的需求分析................................... 5 2.4数据流图................................................... 5 2.5设计方案..................................................... 8 2.5.1方案的比较............................................... 8 2.5.2 方案的选择 .............................................. 8 2.6系统可行性分析............................................... 9 2.6.1技术可行性................................................. 9 2.6.2经济可行性................................................. 9 2.6.2操作可行性................................................. 9
第3章在线学习答疑系统系统概要设计 .......................... 10
3.1 概述 ....................................................... 10 3.2 系统功能定义 ............................................... 10 3.2.1管理员管理部分的功能定义................................ 10 3.2.2教师管理部分的功能定义.................................. 11 3.2.3学生管理部分的功能定义.................................. 11 3.3系统数据描述................................................ 11 3.4功能模块设计................................................ 12
第4章 数据库设计 ............................................. 14
4.1 数据库需求分析 ............................................. 14 4.2 数据库逻辑结构设计 ......................................... 14 4.3 数据库物理结构设计 ......................................... 18
第5章 功能模块详细设计与实现 ................................ 22
5.1连接后台数据库和前端应用程序的开发模块...................... 22 5.2系统用户管理模块创建........................................ 22
5.2.1创建管理员登录对话框.................................... 22 5.2.2修改管理员密码对话框.................................... 25 5.2.3添加公告栏信息窗口...................................... 25 5.2.4上传作业答案及附件窗口.................................. 27 5.2.5添加公告栏信息窗口...................................... 27 5.2.6修改学生信息界面........................................ 28 5.2.7添加课程信息窗口........................................ 29 5.2.8作业评分窗口............................................ 30
第6章 在线学习答疑系统测试及试运行 ......................... 32
6.1测试目的.................................................... 32 6.2测试教师管理部分的功能...................................... 32 6.2.1测试老师登录............................................ 32 6.2.2测试教师信息以及信息的录入.............................. 33 6.2.3测试学生清单的查询...................................... 34 6.2.4测试在线教案/作业的修改和删除........................... 34 6.2.5测试在线公告的管理...................................... 34 6.2.6测试在线作业/教案的添加................................. 35 6.3测试学生管理部分的功能...................................... 36 6.3.1测试在线教案的查看...................................... 36 6.3.2测试作业的上传.......................................... 36 6.3.3测试作业分数的查询...................................... 37 6.4测试管理员管理部分的功能.................................... 37 6.4.1测试学生信息的添加...................................... 37 6.4.2测试管理员密码的修改.................................... 38 6.4.3测试交流论坛............................................ 38 6.5测试总结.................................................... 38
结论 ............................................................ 39 后记 ............................................................ 41
致谢 ............................................................ 42 参考文献 ........................................................ 43 论文结构安排
本论文具体结构安排如下:
第一章 绪论。主要介绍在线学习答疑系统的选题背景和意义,论文结构安排以及方案选择。
第二章 系统需求分析。主要介绍在线学习答疑系统的可行性研究,系统功能分析,性能分析,运行环境分析以及系统数据流图的分析。
第三章 概要设计。主要介绍在线学习答疑系统的系统功能定义,系统数据描述以及功能模块设计等。
第四章 数据库设计。主要介绍在线学习答疑系统的数据库需求分析,数据库逻辑结构设计以及数据库物理结构设计等。
第五章 功能模块详细设计与实现。主要介绍数据库访问的实现,具体功能模块的实现以及实现的关键代码。
第六章 测试及试运行。主要介绍在线学习答疑系统功能的测试结果及分析测试结果。
第七章 总结。主要介绍对在线学习答疑系统作出的简单小结,说明系统存在不足的地方以及自己的收获等。
第2章 在线学习答疑系统分析
2.1系统功能需求分析
针对传统远距离教育中的教学诊断和反馈的问题进行开发设计的基于ASP技术的在线学习答疑系统,具有广泛发展空间。它的整个设计适用于Internet发布,其开发主要包括后台数据库的建立和前端应用程序的开发以及整体网站的美工设计三个方面。总体结构采用的是B/S结构,使用ASP动态网页技术,数据库采用ACCESS 2000进行开发的。
在线学习答疑系统与传统网络远距离教育、多媒体辅助教学有所不同,主要是:不仅使用多媒体传送预制的教学内容,学生自主学习;而且有设计的反馈、评价与互动机制,它彻底打破现有学校教育体制的时间和空间限制,打破以教师为主导地位的灌输式教育方式,对扩大教育对象的范围,有效利用各种优势教育资源提供了可能。这很符合我国的国情也符合世界教育发展的潮流。
本题目主要目标是开发设计一个网上教学平台,教师可通过它发布教案、布置/批改作业、发布公告和答疑解惑。学生可以通过该系统完成自学,向教师提出问题,与教师和其他同学讨论,查询作业及成绩等功能。而整个系统是由管理员管理与维护的。
2.2系统性能要求
2.2.1系统响应时间的需求
整个系统要求能对数据库中的所有数据进行查询和统计,因为在线学习答疑系统具有很高的实用性,为了确保用户可以较快的打开网站,系统要求具有很高的响应速度,80%的查询和统计时间应控制在2秒以内,最大时间不应超过5秒;而作为学生、系统必须要有繁重的事务处理能力,教师和管理员三方面用户使用,能日处理上千条数据。 2.2.2系统安全性需求
在软件使用方面,教师和学生使用该系统必须进行必要的身份验证,在教师和学生第一次使用该软件的时候以给定的用户名和密码进行登录。而管理员是登录用户名和密码是唯一的,一旦管理员登录成功就可以修改登录密码。同时根据不同用户的属性赋予相应的菜单使用权限。
2.2.3系统灵活性需求
操作方式上的变化:本系统能支持鼠标操作和键盘操作;
运行环境的变化:本系统支持的运行平台有win98,win2000, winxp,win2003。
2.3系统开发环境需求分析
2.3.1软件开发环境的需求分析
支持中文的Windows XP各种版本操作系统。数据库系统使用ACCESS 2000,使用的语言为ASP。在服务器端引用上ASP和JSP有着相同之处。ASP和JSP都可以支持此功能的服务器(IIS,APACHE)上实现服务器端包含虚文件。但JSP是将动态页面的结果包含进来,而不是包含文件的代码本身。当你包含的文件在另一个服务器上时,不包含任何代码和对象是一个非常有效的功能。通过比较作者认为在线答疑系统选用ASP作为开发工具。
ACCESS 2000是桌面型数据库,优点是:操作灵活、转移方便、运行环境简单,对于小型网站的数据库处理能力效果还不错。缺点是:不支持并发处理、数据库易被下载存在安全隐患、数据存储量相对较小、数据量过大时严重影响网站访问速度和程序处理速度。而SQL SERVER 2000是基于服务器端的企业级数据库,适合大容量数据和大流量网站的应用,在性能、安全、功能管理、可扩展性上要比ACCESS 2000强很多,两者并非同级别的数据库,有些功能ACCESS 2000甚至无法做到。缺点是:一般用户无法直接对SQL SERVER 2000进行远程管理、空间租用的成本比ACCESS 2000稍高。所以本系统后台数据库系统使用的是ACCESS 2000。
2.3.2硬件开发环境的需求分析
至少Pentium III 500Mhz,64MB内存。建议PentiumIII 733Mhz,128MB内存以上。显示器的分辨率不低于800×600,24位真彩。计算机机标准键盘。
2.4 数据流程图
在本系统的数据流设计中,主要是实现在线作业/教案管理、课程管理、在线公告管理、作业分数查看管理、答案管理以及交流论坛管理等,其数据流图如图2-1所示。
图2-1 顶层数据流程图
管理员管理部分主要实现了课程管理、在线作业/教案管理、在线公告管理、交流论坛管理以及答案的管理,其数据流图如图2-2所示。
图2-2 第一层数据流程图—管理员管理
教师管理部分主要实现了课程管理的、在线作业/教案管理、在线公告管理、交流论坛管理以及答案的管理,其数据流图如图2-3所示。
图2-3 第一层数据流程图——教师管理
学生管理部分主要实现了作业分数管理、在线作业/教案管理、在线公告管理以及交流论坛管理,其数据流图如图2-4所示。
图2-4 第一层数据流程图——学生管理
2.5设计方案
方案一:B/S模式(Browser/Server,浏览器/服务器)
B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
方案二:C/S (Client/Server,客户机/服务器)
C/S (Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种。C/S模式简单地讲就是基于企业内部网络的应用系统。C/S模式软件开发广泛应用于现在的局域网中,它以其灵活的设计方法,丰富的客户表现形式,快速的数据交换能力受到广大用户的的欢迎.但是他在广域网上的能力受到了限制,通过结合VPN技术以及在广域网上C/S模式软件开发的特点和一些注意事项进行剖析,使C/S模式开发应用到广域网上。 2.5.1 方案的比较
基于C/S的技术存在以下三大致命的弱点:1.数据库的集中管理,造成局部工作效率低下。2.应用逻辑封装在C端的客户机上,系统扩充性低,不易维护和修改。3.应用逻辑的简单封装,使其对应用服务器性能要求过高,最终导致系统效率无法充分发挥。而基于Web的计算机技术、B/S(Browser/Server)结构和用户界面统一机制来作用户访问应用服务器,其中最重要的就是数据库服务器。这样采用B/S(Browser/Server)结构,在软件开发工作中主要集中于服务器端的应用程序,可以节约对客户端的应用程序进行开发所花费的时间和麻烦。 2.5.2 方案的选择
作者在设计本系统时,考虑到C/S作为一种需要客户端的架构,用户要求下载安装客户端,对于便利用户操作不利。而B/S架构则允许用户直接通过浏览器访问登陆页面,通过验证后进入系统,完成各项操作。对用户的要求低,非常方
便,快捷,同时无客户端的设计大大减少了系统维护与系统升级的成本。综上所述,本系统选择B/S体系结构。
2.6系统可行性分析
2000作为数据库管理在线学习答本系统是用ASP语言开发,并使用ACCESS
疑系统。在计算机高度普及的当前社会状况下,这个系统的可行性主要体现在以下的几个方面: 2.6.1 技术可行性
可运用ASP技术进行开发,并结合适当的操作平台(Windows XP),在MACROMEDIA DREAMWEAVER 8集成开发环境下,建立WEB服务器站点,实现与Internet的网络连接,用ACCESS 2000 作为数据库。
ASP是运行在服务器端,所以我们无须担心浏览器是否支持ASP所使用的编程语言,用户端只要使用可执行HTML码的浏览器,即可浏览所设计的网页内容。ASP在服务器端运行,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。
ACCESS 2000是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。 2.6.2 经济可行性
由于本系统相对比较简单,因此其开发周期比较短,使得本系统在成本方面,具有很大的优势与竞争能力。同时,不需要购买硬件,所使用软件也属于免费软件,故开发成本较低。 2.6.3 操作可行性
本系统主要是为了方便教师在网上对学生的教学和管理以及学生查看教案、完成作业等。通过强大的查询功能,教师和学生能容易的找到自己想要查看的信息,并做出自己的选择。同时管理员可以进行老师和学生信息的管理,教师教案和学生作业等管理。管理系统界面美观,操作简单,只要管理员、教师以及学生通过网上浏览就可以自如的使用本系统。
第3章 在线学习答疑系统系统概要设计
3.1概述
在线学习答疑系统教学策略的设计应该着重提供给学生自主权,利用网络环境让学生主动的收集、探索,增加学生对学习活动的参与性。教师在学生的学习过程中充当帮助者的角色,为学生的学习提供充分的支持和保障。
在线学习答疑系统设计让学生根据自己的情况进行个别化的学习或协作学习。学生可以通过课程内容结构,一步一步系统地学习;也可以通过专题以及常见问题的解答所搭成的支架,来学习课程的综合应用;提供虚拟真实世界的某些环境,设置答疑专区、在线讨论区,让学生能够在其中进行探索研讨。总之,让学生顺利的同化和顺应外来的知识。
3.2系统功能定义
在线学习答疑系统根据用户的种类共分为三个部分:管理员管理、教师管理、学生管理。各部分功能需求如下。 3.2.1管理员管理部分的功能定义
管理员管理部分的功能列表如表3-1所示。
表3-1 管理员管理部分的功能列表
功能名称 学生清单 教师清单 在线公告 在线作业 在线教案 学生答案 管理帐户 课程管理 交流论坛
定义 主要用于管理员对注册学生的管理和查询 主要用于管理员对注册老师的管理和查询 主要用于管理员对公告信息的查询 主要用于管理员对学生上交作业信息的查询 主要用于管理员对教师发布的教案信息的查询 主要用于管理员对学生作业信息的查询 主要用于管理员的密码修改 主要用于管理员对所有任课教师课程信息的管理 主要用于管理员对留言版信息的管理 3.2.2教师管理部分的功能定义
教师管理部分功能列表如表3-2所示。
表3-2 教师管理部分的功能列表
功能名称 个人信息 我的学生 定义 主要用于教师对个人信息的填加、修改 主要用于教师对学生的查询和管理 在线作业/教案 主要用于教师发布教案和习题 在线公告管理 主要用于教师发布公告 发布作业/教案 主要用于教师布置作业 答案管理 课程管理 交流论坛 主要用于教师对学生作业的评分 主要用于教师对自己所上课程的查询 主要用于教师对学生提出问题的回答 3.2.3学生管理部分的功能定义
学生管理部分的功能列表如表3-3所示。
表3-3 学生管理部分的功能列表
功能名称 个人信息 在线教案 在线作业 答案提交 作业分数查看 交流论坛 定义 主要用于学生对个人信息的填加、修改 主要用于学生下载和查看教师发布教案和习题 主要用于学生查看老师发布的作业 主要用于学生上传提交作业 主要用于学生查看作业评分 主要用于学生对教师提出的问题 3.3系统数据描述
系统数据描述是在系统开发的总体任务的基础上完成。 ● 管理员信息的输入,包括管理员用户名,管理员密码。
● 教师教案信息的输入,包括教师姓名、电话、提交时间、完成期限、标题、性质、老师编号等。
● 学生作业答案信息的输入,包括学生姓名、学号、对应教师的姓名、对
应教师的编号、对应学生的电话、分数、评语、对应的标题、时间等。 ● 班级信息的输入,包括班级名称。
● 教师信息的输入,包括教师姓名、编号、密码、电话、学院、性别等。 ● 学生信息的输入,包括学生姓名、学号、密码、班级、电话、性别等。 ● 公告信息的输入,包括标题、内容、教师、时间、编号。 ● 课程信息的输入,包括课程名称。
● 课表信息的输入,包括教师姓名,老师编号,班级,课程名。
3.4功能模块设计
在线学习答疑系统主要分为管理员管理部分、教师管理部分、学生管理部分。管理员管理部分的主要功能是查询和添加学生、教师的基本信息,对在线公告、在线作业、在线教案进行修改,对答案信息的查询,修改管理员密码,管理交流论坛以及对系统的管理和维护。教师管理部分的主要功能是修改个人基本信息,查看所教班级的学生的基本信息,在线查看和添加公告、教案,在线布置作业并且批阅学生所交作业,管理在线公告,查询所教课程和班级,和学生进行在线交流。学生管理部分的主要功能是添加和修改个人信息,下载习题和作业,并完成和上交作业,和教师、学生进行在线交流。
在系统功能分析的基础上,得到的系统功能模块图如图3-1所示。
学生清单 教师清单 在线公告 在线作业 管理员管理 部分 在线教案 课程管理 学生答案 管理帐户 交流论坛 个人信息 在线教案 在线作业 在线学习答疑系统 学生管理部分 作业答案 作业分数查询 交流论坛 个人信息 我的学生 在线作业/教案 教师管理部分 在线公告管理 发布作业/教案 答案管理 交流论坛 图3-1 系统功能模块图
第4章 数据库设计
数据库是技术是信息资源管理最有效的手段。数据库设计是指对于一个指定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响。合理的数据库设计可以提高数据存储的效率,保证数据的完整和一致。
4.1数据库需求分析
针对在线学习答疑系统的需求,通过对网上教学管理工作过程和数据流程的分析,设计如下面所示的数据项和数据结构:
● 管理员信息的输入,包括管理员用户名,管理员密码。
● 教师教案信息的输入,包括教师姓名、电话、提交时间、完成期限、标题、性质、教师编号等。
● 学生作业答案信息的输入,包括学生姓名、学号、对应教师的姓名、对应教师的编号、对应学生的电话、分数、评语、对应的标题、时间等。 ● 班级信息的输入,包括班级名称。
● 教师信息的输入,包括教师姓名、编号、密码、电话、学院、性别等。 ● 学生信息的输入,包括学生姓名、学号、密码、班级、电话、性别等。 ● 公告信息的输入,包括标题、内容、老师、时间、编号。 ● 课程信息的输入,包括课程名称。
● 课表信息的输入,包括教师姓名,老师编号,班级,课程名。
4.2数据库逻辑结构设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及他们之间的关系,为后面的逻辑结构设计打下基础。
根据上面的设计规划出的实体有:管理员实体、教师教案实体、学生作业答案实体、教师实体、学生实体、公告实体。各个实体属性图以及系统的E-R图如下。
管理员实体属性如图4-1所示。
管理员用户名 管 理 员 实 体 管理员密码
图4-1 管理员实体属性图
教师教案实体属性如图4-2所示。
教师姓名 电 话 教师编号 教 师 教 案 实 体 提交时间 性 质 标 题 完成期限
图4-2 教师教案实体属性图
学生作业答案实体属性如图4-3所示。
学 号 学生姓名 对应教师的姓名 对应教师的编号 时 间 学 生 作 业 答 案 实 体 对应学生的电话 对应的标题 评 语 分 数
图4-3 学生作业答案实体属性图
班级实体属性如图4-4所示。
班 级 实 体 班级名称
图4-4 班级实体属性图
教师实体属性如图4-5所示。
教师姓名 编 号 性 别 教 师 实 体 密 码 学 院 电 话
图4-5 教师实体属性图
学生实体属性如图4-6所示。
教师姓名 学 号 性 别 学 生 实 体 密 码 电 话 班 级
图4-6 学生实体属性图
公告实体属性如图4-7所示。
标 题 编 号 公 告 实 体 内 容 时 间 老 师
图4-7 公告实体属性图
课程实体属性如下图4-8所示。
课程实体 课程名称
图4-8 课程实体属性图
课表实体属性如下图4-9所示。
教师姓名 教师编号 课表实体 课 程 班 级
图4-9 课表实体属性图
在线学习答疑系统E-R图如下图4-10所示。
1 N 管 理 管理员 老 师 1 1 上 课 1 1 上 课 1 1 1 上 课 N N 发 布 班 级 课 表 N 发 布 管 理 课 程 N 批 改 1 1 N 上 课 公 告 N 上 课 学生作业答案 上 课 N 1 N N N 查 看 1 上 交 1 1 1 老师教案 学 生 1 查 看 N 图4-10 在线学习答疑系统E-R图
4.3数据库物理结构设计
现在需要将上面的数据库概念结构转化为ACCESS 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在线学习答疑系统数据库名为“xuexi.mdb”,数据库中共有9张表如下。
表4-1是按照管理员实体来建立的,它主要是记录管理员的登录用户名和密码,表名为“admin”。
表4-1 管理员信息表
表4-2是按照教师教案实体来建立的,便于学生查找教师发布的教案和习题,表名为“jazy”。
表4-2 教师教案信息表
表4-3是按照学生作业答案实体来建立的,便于教师批改学生的作业已经填写评语,表名为“zyda”。
表4-3 学生作业答案信息表
表4-4是按照老师实体来建立的,它主要是记录老师的基本资料,表名为“laoshi”。
表4-4 老师信息表
表4-5是按照班级实体来建立的,它主要是数据库添加班级信息,表名为“banji”。
表4-5 班级信息表
表4-6是按照学生实体来建立的,它主要是记录学生的基本资料,表名为“xuesheng”。
表4-6 学生信息表
表4-7则是记录的是教师发布的公告,便于学生查看制定教学计划、发布考试日程的安排、发布临时通知等,表名为“gonggao”。
表4-7 公告信息表
表4-8记录的是课程信息,是便于学生查询所选课程以及教师查看所教课程的班级,表名为“kc”。
表4-8 课程信息表
表4-9记录的是课表的信息,教师查看上课时间等信息,表名为“kebiao”。
表4-9 课表信息表
第5章 功能模块详细设计与实现
5.1后台数据库和前端应用程序连接模块
在这个在线学习答疑系统中,后台数据库和网站页面的连接是由以下代码实现的。
set conn=server.createobject(\"adodb.connection\") dbpath=server.mappath(\"date/xuexi.mdb\")
conn.open \"driver={microsoft access driver (*.mdb)};dbq=\"& dbpath 通过以上的编写,完成了后台数据库和网站页面的连接,为下面的工作提供了最基本的功能。
5.2系统用户管理模块创建
5.2.1创建管理员登录对话框
这个模块主要是管理管理员登录、添加用户以及修改用户密码的。登录程序是在线答疑学习系统运行主页面后首先打开的界面。在这个界面,管理员必须输入预先设定好的用户名以及密码才能进入,这样有利于防止他人在没有授权的情况下进入系统,修改系统中的数据,对单位造成不必要的损失。 登录窗口的界面如图5-1所示。
图5-1 管理员登录窗口
窗口中放置了2个静态文本框控件,在窗口相应的位置显示文字。放置了2个编辑框(Edit)控件,一个供管理员输入登录的用户名(IDC_LOGIN_USER),另一个供管理员输入口令(IDC_LOGIN_PWD)。输入的值存放在编辑框控件对应的
变量中。还设置了1个按钮控件(Button),用来进入管理员界面。管理员首先在编辑框输入自己的用户名,取出管理员的登录密码保存在局部变量中并和用户在输入的密码进行比较,相同则打开程序的主窗口,否则禁止管理员登录软件。
管理员登录认证流程图如图5-2所示。
输入登录信息 管理员登录
N
Y
图5-2 管理员登录认证流程图
输入登录信息以后将交由check.asp执行判断,从而决定是否进入管理员管理界面。check.asp的主要代码如下: //对管理员登录的信息进行认证
dim admin_name,admin_pwd
admin_name=trim(request(\"name\")) admin_pwd=trim(request(\"pwd\")) //用户名和密码为空时
if admin_name=\"\" or admin_pwd=\"\" then
document.location.href='login.asp';\"
response.write \"\" response.end end if
//密码错误
if not rs.eof then
if rs(\"admin_pwd\")<>admin_pwd then
response.write \"\"
response.end else
session(\"admin\")=rs(\"admin_name\")
登录成功进入管理员界面 数据合法判断 response.redirect \"index.asp\"
end if
登录成功后打开的在线学习答疑系统中管理员可以在左边的站点管理控制中心中点击学生清单和教师清单来查询所有学生和老师的基本资料,点击在线公告、在线作业以及在线教案,对其进行查询、修改和删除,点击课程管理可以添加删除老师所教的课程以及班级的信息,点击学生答案,可以查询到所有学生上交给自己老师的作业,并且可以删除上交多的作业以及一些存在严重问题的文件等,点帐户管理管理员可以修改的新密码,点击交流论坛对论坛进行管理和维护。管理员主页面如图5-3所示。
图5-3 在线学习答疑系统管理员界面
5.2.2修改管理员密码对话框
修改管理员密码的窗口界面如图5-4所示。
图5-4 修改管理员密码界面
窗口中放置了2个静态文本框控件,在窗口相应的位置显示文字。放置了1个编辑框(Edit)控件,供管理员输入的密码进行确认(IDD_CHANGEPWD_PWD1),并且将重新输入的密码录入数据库中。还设置了2个按钮控件(Button),用来进行提交和重写。管理员把重新输入的新密码到编辑框(IDD_CHANGEPWD_PWD1)中,进行确认。
提交表单以后将交由modadmin.asp执行判断,从而决定是否进入管理员修改密码窗口。modadmin.asp的主要代码如下: //对管理员修改密码的认证
if min_pwd=\"\" then
esponse.write\"\" response.end end if
rs(\"admin_pwd\")=admin_pwd rs.update rs.close
set rs=nothing
response.write \"\" 5.2.3添加公告栏信息窗口
这个窗口主要是作用是老师及时的发布公告,使得学生能及时的知道学校的最近公告,便于老师与学生的沟通。当教师有重要消息要通知自己的学生的时候,教师就可以登陆自己的用户名和密码,到在线公告栏里填写公告标题以及内容就可以点“确定”上传公告了。添加公告栏信息窗口如图5-5所示。
图5-5发布公告栏窗口
公告栏窗口流程图如图5-6所示。
N 输入发布信息 是否完整 老师发布公告栏窗口 Y 发布公告完成 图5-6公告栏流程图
提交表单以后将交由addgonggao.asp执行判断,从而决定是否进入添加公告栏窗口。addgonggao.asp的主要代码如下: //教师发布公告的判断
if action=\"save\" then
dim biaoti,laoshi,neirong
biaoti=request.form(\"biaoti\") laoshi=request.form(\"laoshi\") bianhao=request.form(\"bianhao\")
neirong=request.form(\"neirong\") if biaoti=\"\" or neirong=\"\" then
response.write\"\" else
neirong=server.HTMLEncode(neirong)
sql=\"insert into gonggao(biaoti,neirong,bianhao,laoshi)
values('\"&biaoti&\"','\"&neirong&\"','\"&bianhao&\"','\"&laoshi&\"')\"
conn.execute(sql)
5.2.4上传作业答案及附件窗口
这个窗口主要是作用学生上传作业答案以及附件。学生只需填写电话号码、选择上交老师以及老师编号,在添加上附件名称和上交文件,之后点“确定”就上交成作业了。上传作业答案及附件窗口如图5-7所示。
图5-7 上传作业及附件窗口
提交表单以后将交由addan.asp执行判断,从而决定是否进入上传作业答案以及附件窗口。addan.asp的主要代码如下: //判断学生上传作业是否符合上传条件 dim sxh
sxh=session(\"user1\")
set rs=server.createobject(\"adodb.recordset\")
sql=\"select * from xuesheng where sxh='\"&sxh&\"'\" rs.open sql,conn,1,3 dim action
action=request.querystring(\"action\") if action=\"\" or isnull(action) then 5.2.5学生查询作业分数窗口
这个窗口主要用于学生查询上交作业的分数以及老师的评语。点击“作业题目对应答案”,提示下载上交作业的文件包,可选择打开和保存两种形式对上交作业进行查看。学生查询作业分数窗口如图5-8所示。
图5-8 学生查询作业分数窗口
提交表单以后将交由chafen.asp执行判断,从而决定是否进入学生查询作业分数界面。chafen.asp的主要代码如下: //判断学生是否可以进入查询作业分数窗口
if Not(rst.bof and rst.eof) then//判别数据表中是否为空记录
NumRecord=rst.recordcount rst.pagesize=10
NumPage=rst.Pagecount
if request(\"page\")=empty then
NoncePage=1 else
if Cint(request(\"page\"))<1 then
NoncePage=1 else
NoncePage=request(\"page\") end if
if Cint(Trim(request(\"page\")))>Cint(NumPage) then
NoncePage=NumPage end if else
NumRecord=0 NumPage=0 NoncePage=0 end if
5.2.6修改学生信息界面
修改学生信息窗口可以对学生的性别、学生登陆密码、学生班级以及学生的电话号码进行修改。而对于学生的学号和学生姓名是唯一的,学生是不能进行修改的,如有特殊情况需要修改时,由管理员删除该学生的旧信息,再重新录入新信息。修改学生信息界面如图5-9所示。
图5-9 修改学生信息界面
提交表单以后将交由modxuesheng.asp执行判断,从而决定是否进入学生查询作业分数界面。modxuesheng.asp的主要代码如下: //对修改学生信息的判断 if session(\"user1\")=\"\" then
response.write \"您无此权限\" response.end end if dim sxh
sxh=session(\"user1\")
set rs=server.createobject(\"adodb.recordset\")
sql=\"select * from xuesheng where sxh='\"&sxh&\"'\" rs.open sql,conn,1,1 5.2.7添加课程信息窗口
老师所教课程和班级是有管理员通过添加课程信息窗口进行添加的。添加课程信息后方便老师查看自己所交的班级的学生信息、在上传作业时不用自己填写班级名称,而是直接选出自己所交班级。也方便了学生查询自己班级的教学老师。添加课程信息窗口如图5-10所示。
图5-10 添加课程信息窗口
提交表单以后将交由addkebiao.asp执行判断,从而决定是否进入学生查询作业分数界面。addkebiao.asp的主要代码如下: //对添加课程信息的认证 dim action
action=request.querystring(\"action\") if action=\"\" or isnull(action) then
orm name=\"frmCtoy\" method=\"post\" action=\"addkebiao.asp?action=save\" >
set rs1=server.createobject(\"adodb.recordset\")
sql1=\"select * from kc\" rs1.open sql1,conn,1,1 do while not rs1.eof %>
rs1.movenext loop
rs1.close 5.2.8作业评分窗口
作业评分窗口是老师查看作业后,对学生作业分数进行评分并且进行填写作业评语的窗口。方便学生通过老师所写的评语对自己作业错误的地方进行修改和对课程学习的进一步认识。作业评分窗口如图5-11所示。
图5-11 作业评分窗口
提交表单以后将交由addfen.asp执行判断,从而决定是否进入学生查询作业分数界面。chafen.asp的主要代码如下: //对作业评分的判断
dim id,biaoti,qixian,filename,workfile
id=request.querystring(\"id\")
if id=\"\" or isnull(id) or isnumeric(id)<>true then
esponse.write\"\" else
sql=\"select * from zyda where id=\"&id set rs=conn.execute(sql) end if
if rs.eof then
esponse.write\"\" else
filename=rs(\"filename\") workfile=rs(\"workfile\") end if
第6章 在线学习答疑系统测试及试运行
6.1测试目的
在该阶段主要是对应用程序的编码进行调试,排除存在的程序逻辑错误。并且往数据库中装入测试用数据。由于数据库中通常包含着一个组织内多个部门的数据,这些数据的格式、规格都可能不同,所以在加载之前要对这些数据作严格地检验、整理,将数据装入数据库。
6.2测试教师管理部分的功能
6.2.1测试教师登录
首先测试老师登陆情况,输入老师编号:11,密码:11,点击“进入”,如图6-1所示。
图6-1 教师登陆窗口框
点“进入”后系统自动进行测试,当输入的教师编号和密码正确时,系统将自动进入教师主界面。
如果输入的老师编号为:11,密码为:56,系统将提示:“对不起,密码有错,请重新输入”。
如果填写的老师编号为:85,,密码为:11,系统将提示“对不起,你的教师号不存在,请于管理员联系”。
6.2.2测试教师信息以及信息的录入
在进入老师主界面后就可以进行各项操作,按照菜单顺序来进行测试,先测试菜单中“个人信息”,教师个人信息由管理员录入,教师在此可以修改个人信息。教师基本信息窗口如图6-2所示。
图6-2 教师基本信息窗口
老师点击“请点这里———”进入下一页面,如图6-3所示。
图6-3 教师修改信息窗口
教师编号和姓名是唯一的、不可修改的信息,对老师的性别、老师的登陆密码、老师所在的学院以及老师的电话号码可以进行修改。
将性别改为“女”之后点“提交”,系统会提示修改成功。电话和学院的修改也一样,只要输入正确的字符信息就可以修改。
如果对信息仍有需要修改的地方可以点“全部重写”。
如有特殊情况需要修改老师的编号和姓名时,由管理员删除该老师的旧信息,再重新录入新信息。 6.2.3测试学生清单的查询
测试菜单中“学生清单”,在这里选择班级可以查找所选班级所有学生信息,来进行实际的测试,如图6-4所示。
图6-4 查询学生清单窗口
点击“确定”查询到计0601班所有学生信息。计0601班所有学生的基本信息将以表格的形式列出。
6.2.4测试在线教案/作业的修改和删除
“在线教案/作业”是对老师发布的教案/作业上传后的查看、修该和删除。点击标题,查看上传 具体信息。在线教案/作业窗口如图6-5所示。
图6-5 在线教案/作业窗口
6.2.5测试在线公告的管理
“在线公告管理”是对老师发布的公告上传后的查看、修该和删除。点击标题,查看上传 具体信息,和“在线教案/作业”显示功能类似。当老师要发布公告时,点击“我要发布公告……”,添加上传标题、内容、发布老师和老师号。测试数据如图6-6所示。
图6-6 教师发布公告窗口
当上传公告成功时,系统将提示:恭喜,公告上传成功。
如果标题或者内容没有填写就点击“确定”,系统将提示“请返回把资料填写详细”。
6.2.6测试在线作业/教案的添加
测试菜单中“在线作业/教案”时,先添加作业要求,通过浏览上传附件,点击“确定”。测试数据如图6-7所示。
图6-7 教师发布教案/作业窗口
当上传公告成功时,系统将提示“恭喜,作业上传成功”。
如果作业标题等基本资料没有填写就点击“确定”,系统将提示“请返回把资料填写详细”。
6.3 测试学生管理部分的功能
6.3.1测试在线教案的查看
测试“在线教案”只需要点击标题,就可查看教案具体信息,如图6-8所示。
图6-8 在线教案界面
6.3.2测试作业的上传
测试菜单中“提交作业答案”时,先上传作业要求,通过浏览上传附件,点击“确定”。测试数据如图6-9所示。
当点击“确定”时,如果信息添写完整时,体统将提示“恭喜,作业上传成功”。如果上传信息输入不完整,系统将提示“请将提交信息填写完整”。
图6-9 学生提交作业答案界面
6.3.3测试作业分数的查询
测试菜单中 “作业分数查询”是用于查看老师对作业的打分和评语。测试如图 6-10所示。
图6-10 作业分数查询界面
如果老师已经批阅过,则可以看到“已批改”并且可以查看作业成绩和老师评语。如果老师还未批改则提示“未批阅”。
6.4 测试管理员管理部分的功能
6.4.1测试学生信息的添加
管理员主要有添加信息,修改管理员密码以及管理交流论坛的功能,所以下面将对这些主要功能进行测试。添加学生信息界面如图6-11所示。
图6-11 添加学生信息界面
输入完成后点“确认”,系统就会弹出以下窗口,如图6-12所示。
恭喜,学生信息添加成功 你可以返回到上一页面查看 图6-12 添加学生信息成功界面
测试 “教师信息”和“学生信息” 类似,可以通过查询老师信息,也可以添加老师信息。
6.4.2测试管理员密码的修改
测试管理员修改密码时,登陆密码已经存在,只需输入有效的新密码:123,即可更改密码。修改管理员密码窗口如图6-13所示。
图6-13 修改管理员密码窗口
6.4.3测试交流论坛
在设计中交流论坛采用了动态网站的形式完成的,除了老师和学生的交流,还可以使老师和学生之间、学生和学生之间进行交流。不过这个交流论坛需要老师和学生通过注册才能使用。论坛设定了答疑专区,不同的学院和不同的科目有不同的交流平台。如图6-14所示。
图6-14 交流论坛界面
6.5 测试总结
通过测试,数据库的操作正常,系统功能设计达到任务书要求,满足了在线学习的需要,各功能模块运行正常。
结论
作者在在线学习答疑系统中采用了目前流行的B/S结构,使用ASP动态网页,选用ACCESS 2000作为后台数据库进行开发的。在线学习答疑系统共分为三个管理部分:管理员管理部分、教师管理部分、学生管理部分,功能模块划分如下。教师管理部分中包括个人信息模块、我的学生模块、在线作业/教案模块、在线公告管理模块、发布作业/教案模块、答案管理模块、交流论坛模块。学生管理部分中包括个人信息模块、在线教案模块、在线作业模块、答案提交模块、作业分数查看模块、交流论坛模块。管理员管理部分中包括学生清单模块、教师清单模块、在线公告模块、在线作业模块、在线教案模块、学生答案模块、管理帐户模块、课程管理模块、交流论坛模块。通过在线学习答疑系统的设计与实现的开发,各功能都得以实现,特别是上传功能的设计较全面。但还存在些不足之处,在交流论坛的设计中,只考虑到除了满足学生和教师之间的交流外,还可以满足学生与学生之间、教师与教师之间的交流,而忽略了采用动态网站的方式,用户需要注册并且重新登录的问题。采用ASP+ACCESS成为许多中小型网上应用系统的首选方案,所以作者在本设计中选用了该方案,但是ASP+ACCESS解决方案在带来便捷的同时,也带来了不容忽视的安全问题。 ASP+ACCESS的安全隐患 。作者找到了ASP+ACCESS解决方案的主要安全隐患来自ACCESS数据库的安全性,其次在于ASP网页设计过程中的安全漏洞。因此在今后的管理系统的设计中,作者会在这两方面重新思考,争取找到更好的解决方法。
在进行毕业设计的过程中,不断地遇到遇到各种问题,然后分析问题产生的原因进而想方设法解决问题。这样一方面使系统的设计逐步完善,另一方面使自己不断积累软件设计方面的技巧,有一些比较深刻的经验体会,首先要根据软件工程来制定出一套适合自己的软件开发时间和进程,严格按照时间和进程来进行操作,然后是一定要做好系统分析,系统开发的关键在于对系统进行需求分析,在开发一个系统的初期,首先要对系统的整个工作流程,需要实现的功能,用户的需求等进行充分的分析。在做好需求分析的前提下才能顺利的完成整个系统的开发,否则可能会在开发的过程中出现不断修改不断出错的问题,甚至是一段时间后发现之前所做的设计与要求相去甚远而必须丢弃重做。这将给系统的开发带来很大的麻烦,甚至直到最后也未能达到理想的开发效果。其次是开发数据库应用系统一定要做好数据库的分析与设计,完全整理通顺系统中的数据流图,各部
分E-R图和系统总体E-R图后才进行数据库的逻辑结构设计,一定要数据库关系表的设计中注意运用数据库规范化理论对数据库关系表进行规范化使其满足高的范式要求。如若不然,数据库关系表就会存在函数依赖,不但使应用程序的设计极为麻烦在对数据库进行操作时会出现冗余影响数据库的完整性。
总之,设计实现一个数据库管理信息系统,应该以软件工程思想为指导,在做好系统需求分析的基础上,完善数据库的设计与实现,将应用程序的操作行为设计与数据库紧密相连,这样得到的系统才会具有较高的完成度和可用性。
参考文献
[1] 萨师煊,王珊,数据库原理与应用(第三版)[M].2000.北京:高等教育出版社 [2] 刘自伟等,管理信息系统开发技术[M].2003.武汉理工大学出版社 [3] 求是科技,ASP信息管理系统开发实例导航[M].2005.人民邮电出版社 [4] 胡鹏,刘嘉,稳步推进客户管理 统一整合客户体验[J].2006.05.每周电脑报 [5] 陆路,电信大客户管理系统的分析与设计[J].2005.10.哈尔滨工程大学 [6] 张海藩,软件工程技术[J]. 2006.3.计算机应用研究
[7] 陈勇,赵曦滨,WEB SERVICES的应用系统的多级授权研究与实现[J]. 2006.7.计算机应用研究
[8] 邵红伟,张国军,朱海平,基于ASP的工作流管理系统研究与实现[J]. 2006.3.计算机应用研究
[9] Gireesh Kumar P,Active Server Pages: Technology for Creating Dynamic Web Pages and Webenabled Databases,Documentation Research and Training Centre, Bangalore,26th -28th February,2001,0652-2569
[10] ScottW.Ambler,ACCESS database applications,Februray,1999,0685-2657
[11] Lixin Tao,Shifting Paradigms with the Application Service Provider Model,October 2001,0018-9162
因篇幅问题不能全部显示,请点此查看更多更全内容