当前位置:首页 >> 其它课程 >>

教学信息反馈网络平台设计论文


安阳师范学院本科学生毕业设计报告 教学信息反馈网络平台设计

作 专 年 学 日

者 业 级 号 期

郭 文 辉 物理与电气工程学院 电气工程及其自动化 2009 级 091103061 李 立 新 2013.5.10

系(院)

指导教师

学生诚信承

诺书和论文使用授权说明样张(A4 纸

210×297mm)

学生诚信承诺书 本人郑重承诺:所呈交的设计报告是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,报告中不包含其他人已经发 表或撰写的研究成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用 过的材料。与我一同工作的同志对本研究所做的任何贡献均已在报告中作了明确的说明并 表示了谢意。 签名: 日期:

报告使用授权说明 本人完全了解安阳师范学院有关保留、使用学位报告的规定,即:学校有权保留送交 报告的复印件,允许报告被查阅和借阅;学校可以公布报告的全部或部分内容,可以采用 影印、缩印或其他复制手段保存报告。 签名: 导师签名: 日期:

教学信息反馈网络平台设计
(安阳师范学院 郭文辉 物理与电气工程学院, 河南 安阳 455002)

摘 要:现今的教育系统受信息采集、加工多元化、数字化的影响越来越明显,学院的教 学手段与管理方法信息数字化越来越重要。因而引进现代化的网络信息技术,借助其强大 的数据采集、传输及处理分析能力,研发学生教学信息反馈平台,实现办公自动化则显得 尤为重要。本文详尽介绍了基于 B/S 架构的教学信息反馈网络平台的设计与开发的过程, 同时也介绍了系统开发过程中我们所用到的各类开发工具以及技术,系统在框架设计上也 采用了很多打破传统方式的亮点,比如我们用关系型数据库实现了非关系型数据结构数据 存储,同时实现了数据同步的问题。其次我们没有依托任何传统的 web 开发框,完全采用 原生的 html 元素与 javascript 来实现我们的所有交互。第三,我们将传统的同步请求响 应模式全部用异步请求与响应的模式来实现,实现整个客户端的绝对无刷新。相信系统建 成后不仅可以节约大量的人力资源,对于教学质量的提升也将有很大的促进用。 关键词:非关系型数据库;数据同步;B/S架构;web开发框架 1 引言 高校教学管理的核心是教学质量管理,只有通过信息的反馈,依靠大量真实可靠的信 息,教学质量管理才能落实到实处。所有高校都已经意识到了教学信息反馈的重要性,并 采用多种多样的反馈形式。如学生座谈,学生信息员反馈,教师教学质量评估量化评价等。 这些方式有利于教务人员了解学生的学习和教师的授课等情况。但还存在着很多不足:1) 任课教师和学生缺乏有效沟通目前,绝大多数高校信息反馈由教学主管领导或主管部门实 施管理,收集的反馈信息再转发给各任课教师。所以教师获得的信息大多是总体的评价, 缺少细节描述,如存在的不足和提出的意见和建议等。因此各种反馈信息只成为了教学管 理者对教师考核的一种手段。信息反馈的意义不仅在于评,更重要的是根据反馈结果及时 调整授课方式和手段。因此传统的信息反馈方式对指导教师提高教师教学水平存在着一定 缺陷。2)时间的局限性传统的信息反馈方式都是每学期在固定时间或定期的组织。 网上信息管理方式的实现,能在很大程度上降低学校考核学生时老师与学校所需付出 的物力与精力,同时也可以进一步提高学生考试成绩的准确性。学院各种信息发布,无纸 化办公,老师网络硬盘,这些基于 Web 的网络应用平台也可以为学校管理老师,老师之间 的信息交流,老师与学生的实时交互,提供良好的平台。为此,我们设计并制作了一个基 于 WEB 的学校信息管理系统。通过该系统,很好地解决了在学校管理工作中,管理工作量 大、统计数据难、各个部门互动慢、学校与老师、老师与学生之间交流效率低、透明度不 高等问题。为了提高效率,迫切需要改进工作模式,推进教学信息反馈网络信息化进程, 研发教学信息反馈平台,实现办公自动化。这样不仅可以节约大量的人力资源,对于教学 质量的提升也将有很大的促进作用。 2 课题要求 该课题总的要求为实现教学信息反馈工作的办公自动化,实现学生,老师,领导教学 管理中心在教学信息反馈工作上的高效及时的互动。首先实现的各种角色的用户在登入系 统过程中的账号和角色信息的验证,同时需要根据不同的角色进入不同的模块。其次在登 入系统后,学生、老师、院督导员、学校督导员等作为信息员角色主要实现问题反馈,查 看自己反馈的问题的处理进度,以及能根据关键字对检索出自己感兴趣的问题,以及对自 己的账号信息的管理与维护。其次是校领导、教务处领导、院部领导能够实现对问题的查
第 1 页

看以及根据关键字实现对问题的检索,最重要是能够对自己关心的问题作出自己的批示, 同时也可以对自己的账号信息的更新与维护。最后是中心模块的实现。该模块为整个系统 的管理中心,能够实现对整个系统中的所有信息的管理与维护,首先需要实现能够对所有 角色的账号信息的添加,删除,修改,检索等工作,其次是实现对所有教学信息的管理, 包括删除,查看详情,以及填写处理结果,更改处理状态等工作。同时能够实现对各种角 色的账号信息的批量导入,以及对特定账号的密码重置,最后还需实现对各类反馈问题的 统计工作。 3 设计方案 3.1 开发工具及运行平台的基本介绍 3.1.1 集成开发环境 Visual Studio 2012 的介绍 visual studio 是微软公司推出的开发环境,是最流行 Windows 平台应用程序开发环 境。是目前为止支持开发语言最多的一个平台,包括 C#,C++,C,以及 VB 主流开发语言。 其为广大的开发者提供了高效的开发与调试环境。Visual Studio 2012 作为一个集成解决 方案,适用于无论是个人或者各种规模的开发团队。Visual Studio 2012 实现了同事间的 无缝协作,提高了生产效率与专注度,最终好的点子变成了优秀的现实应用。 3.1.2 web 浏览器介绍 Web 浏览器,基于 B/S 架构的系统均利用 Web 浏览器来实现与用户的交互,它不仅是 系统部署后用户所访问系统的工具,而且也是开发阶段开发人员调试的重要工具,主要是 对客户端脚本的调式,目前主流的浏览器 IE,firefox,Google Charome 等均带有针对开 发人员的调试工具,其中调试过程中我们普遍遇到的一个问题就是浏览器的兼容性问题, 由于不同的浏览器所实现的 web 标准并不统一,因此这个问题一直以来都是困绕开发人员 的一个问题,幸运的是目前市场上有很多第三方的库,他们在一定程度上处理了很多兼容 性的问题,因此也颇受欢迎,比如 JQuery,Extjs 等。 3.1.3 运行平台介绍 下面介绍一下运行平台,基于 visual studio 开发工具所开发项的项目都是运行于微 软。NET 平台,它由公共语言运行时(CLR)和。NET 基础类库组成(FCL) ,CLR 即我们常 说的虚拟机平台,当 CLR 运行时,操作系统会为其其分配一定的内存并开启一个进程,而 所有的应用程序则是运行在 CLR 之上的, 所有运行在 CLR 之上的应用程序均称为托管程序, 是被托管在 CLR 上,随着程序集的运行,CLR 会持续的提供各种服务,如内存管理,安全 管理,线程管理等。然后 CLR 再去调用操作系统的接口来提供各类服务。这就是所说的虚 拟机的运行机制。下面是其运行机制的简图,如图 1 所示。

第 2 页

图 1 编译和运行机制图 3.2 业务需求分析及确定 需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目 代价,最终形成开发计划的一个复杂过程。 (这个和我在微软体验到的又不太一样,微软 的需求分析大多是市场人员和用户协助小组的人去评估用户的接受程度,这一点也可以理 解,因为公司的性质有根本差别)在这个过程中,用户的确是处在主导地位,需求分析工 程师和项目经理要负责整理用户需求,为之后的软件设 计打下基础。从广义上理解:需 求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。简言之, 需求分析的任务就是解决"做什么"的问题,就是要全面地理解用户的各项要求,并准确地 表达所接受的用户需求。需求分析就是分析软件用 户的需求是什么。如果投入大量的人 力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大 的精力,开发一个软件,最后却不满足 用户的要求,从而要重新开发过,这种返工是让 人痛心疾首的。 (相信大家都有体会)比如,用户需要一个 for linux 的软件,而你在软 件开发前期忽略了软件的运行环境, 忘了向用户询问这个问题, 而想当然的认为是开发 for windows 的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲 哭无泪了,恨不得找块豆腐一头撞死。需求分析之所以重要,就因为他具有决策性,方向 性,策略性的作用,他在软件开发的过程中具有举足轻重的地位。大家一定要对需求分析 具有足够的重视。在一个大型软件系统的开发中,他的作用要远远大于程序设计。 3.3 客户端与服务端技术选型和数据存储解决方案选择 3.3.1 客户端与服务端技术选型 技术选型也是一件很重要的事情, 因为它涉及到整个系统的框架设计, 技术选型包括, 客户端技术选型,服务端技术选型,数据存储的技术选型,这三个环节一般关联性比较强, 对于我们现有的项目来说,客户端技术主要依托原生的 html 以及 javascript 和一套目前 应用最为广泛 javascript 框架 jQuery。服务端主要采用基于。net 平台的 C#语言来实现 我们的服务端逻辑。客户端与服务端主要依托 HTTP 协议和异步请求来实现客户端与服务 器的异步通信。 3.3.2 数据存储解决方案选择 数据存储方案的选择也是一件很重要的事情,它是整个项目的最底层,目前应用最广 泛的是基于二维表的关系型数据库,但是它由很多缺陷,比如数据的冗余性比较大,导致
第 3 页

查询效率不高, 数据结构不灵活, 数据表中的每条记录必须满足表字段所规定的字段数量, 导致数据结构很难随着业务需求的变化而做出及时的变化。总而言之关系数据库在处理复 杂数据结构和对于海量数据的存储方面显得效率低下,因此近些年非关系型的数据库越来 越流行,比如 mongoDB,其采用的是基于文件的存储,数据结构灵活,查询效率高。对于 本系统我们主要采用的是微软的 LocalDB,LocalDB 是 SQL Server 2012 带来的新特性, 它是一个专门为开发人员量身定制的轻量级数据库。LocalDB 专门为开发人员创建,它非 常易于安装,几乎无需管理,兼容 T-SQL 语言,编程接口与 SQL Server Express 别无二 致。 一直以来, Server Express 满足了我们两方面的需求。 SQL 它既是免费版的 SQL Server, 又具有足够强大的功能,与其它版本相兼容。当然,它的能力也存在一些限制,即它的每 个数据库的存储容量不能超过 10G。SQL Server 作为一个成熟的数据库产品,其 Express 版本依然具有相当的复杂度。但作为开发人员,我们更希望降低管理复杂度,专注于开发。 LocalDB 的开发目标由此形成,它是轻量级的 SQL Server Express,为开发人员量身定制。 对于数据的访问,我们主要采用微软的 EF(实体框架) 。 3.4 原型与 UI 设计 原型与 UI 的设计的好与坏,直接影响到下一步的开发阶段,我们先说一下原型设计, 一般比较大型的项目都需要进行前期的产品原型的设计,原型必须准确的反应用户的需 求,且必须紧跟用户的需求变化。产品原型可以概括的说是整个产品面市之前的一个框架 设计,以网站注册作为例子,整个前期的交互设计流程图之后,就是原形开发的设计阶段, 简单的来说是将页面的模块、原素、人机交互的形式,利用线框描述的方法,将产品脱离 皮肤状态下更加具像跟生动的进行表达。原型设计是交互设计师与 PD、PM、网站开发工程 师沟通的最好工具。而该块的设计在原则上必须是交互设计师的产物,交互设计以用户为 中心的理念会贯穿整个产品。利用交互设计师专业的眼光直接导至该产品的可用性。用户 界面原型必须在先启阶段的初期或在精化阶段一开始建立。整个系统(包括它的“实际” 用户界面)的分析、设计和实施必须在原型建立后进行。请注意:创建用户界面原型的主 要目的是在实际设计与开发开始之前揭示和测试系统的功能与可用性。这样,您可以在将 太多时间与资源投入开发活动之前,确保所构建的系统是正确的。为了成功进行该初期测 试, 开发原型的开支必须远远低于开发实际系统的开支, 同时这个原型应具备足够的功能, 可以进行有意义的使用测试。 3.5 框架设计与功能模块开发 软件的框架是软件的核心和灵魂,一般大型的软件在开发前期都会进行框架设计,一 个好的框架应该具有良好的可扩展性和数据访问性。框架(Framework)是整个或部分系 统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架 是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、 协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作 的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要 框架。 构件领域框架方法在很大程度上借鉴了硬件技术发展的成就,它是构件技术、软件体 系结构研究和应用软件开发三者发展结合的产物。在很多情况下,框架通常以构件库的形 式出现,但构件库只是框架的一个重要部分。框架的关键还在于框架内对象间的交互模式 和控制流模式。 框架比构件可定制性强。在某种程度上,将构件和框架看成两个不同但彼此协作的技 术或许更好。框架为构件提供重用的环境,为构件处理错误、交换数据及激活操作提供了 标准的方法。
第 4 页

应用框架的概念也很简单。它并不是包含构件应用程序的小片程序,而是实现了某应 用领域通用完备功能(除去特殊应用的部分)的底层服务。使用这种框架的编程人员可以 在一个通用功能已经实现的基础上开始具体的系统开发。框架提供了所有应用期望的默认 行为的类集合。具体的应用通过重写子类(该子类属于框架的默认行为)或组装对象来支 持应用专用的行为。 应用框架强调的是软件的设计重用性和系统的可扩充性,以缩短大型应用软件系统的 开发周期,提高开发质量。与传统的基于类库的面向对象重用技术比较,应用框架更注重 于面向专业领域的软件重用。应用框架具有领域相关性,构件根据框架进行复合而生成可 运行的系统。框架的粒度越大,其中包含的领域知识就更加完整。 一个基于框架开发的应用系统包含一个或多个框架,与框架相关的构件类,以及与应 用系统相关的功能扩展。与应用系统相关的扩展包括与应用系统相关的类和对象。应用系 统可能仅仅复用了面向对象框架的一部分,或者说,它可能需要对框架进行一些适应性修 改,以满足系统需求。 面向对象的框架作为一种可复用的软件,在基于框架的软件开发过程中会涉及到框架 的开发和利用两个方面的工作。框架的开发阶段在于产生领域中可复用的设计。该阶段的 主要结果是框架以及与框架相关的构件类。该阶段的一个重要活动是框架的演变和维护。 象所有软件一样,框架也易于变化。产生变化的原因很多,如应用出错,业务领域变化, 等等。 不论是哪一种技术,最终都是为业务发展而服务的。从业务的角度来讲。首先,框架 的是为了企业的业务发展和战略规划而 服务的,他服从于企业的愿景;其次,框架最重 要的目标是提高企业的竞争能力,包括降低成本、提高质量、改善客户满意程度,控制进 度等方 面。最后,框架实现这一目标的方式是进行有效的知识积累。软件开发是一种知 识活动,因此知识的聚集和积累是至关重要的。框架能够采用一种结构化的方式对某个特 定的业务领域进行描述,也就是将这个领域相关的技术以代码、文档、模型等方式固化下 来。 为什么要用框架了?因为软件系统发展到今天已经很复杂了,特别是服务器端软件, 涉及到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你 完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟, 稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。 还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级 的,你可以直接享受别人升级代码带来的好处。 框架的最大好处就是重用。面向对象系统获得的最大的复用方式就是框架,一个大的 应用系统往往可能由多层互相协作的框架组成。由于框架能重用代码,因此从一已有构件 库中建立应用变得非常容易,因为构件都采用框架统一定义的接口,从而使构件间的通信 简单。 框架能重用设计。它提供可重用的抽象算法及高层设计,并能将大系统分解成更小的 构件,而且能描述构件间的内部接口。这些标准接口使在已有的构件基础上通过组装建立 各种各样的系统成为可能。只要符合接口定义,新的构件就能插入框架中,构件设计者就 能重用构架的设计。 框架还能重用分析。所有的人员若按照框架的思想来分析事务,那么就能将它划分为 同样的构件,采用相似的解决方法,从而使采用同一框架的分析人员之间能进行沟通。框 架要解决的最重要的一个问题是技术整合的问题,在 J2EE 的框架中,有着各种各样的技 术,不同的软件企业需要从 J2EE 中选择不同的技术,这就使得软件企业最终的应用依赖 于这些技术,技术自身的复杂性和技术的风险性将会直接对应用造成冲击。而应用是软件
第 5 页

企业的核心,是竞争力的关键所在,因此应该将应用自身的设计和具体的实现技术解耦。 这样,软件企业的研发将集中在应用的设计上,而不是具体的技术实现,技术实现是应用 的底层支撑,它不应该直接对应用产生影响。 3.6 测试与部署 最后我们讲一下软件质量保证阶段。开发人员在对功能模块提交以后,即进入测试阶 段,先是进行模块测试,模块测试完成后即进行整体测试,好的软件在后期还需进行压力 测试,测试软件在高并发环境和大数据量的性能问题。现在的软件测试已经逐步从人工测 试向自动化测试的方向转变,借助于很多自动化测试工具,比如 QTP,LoadRunner 等。软 件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要 编写不同的测试工具, 设计和维护测试系统, 对测试方案可能出现的问题进行分析和评估。 执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。 测试原则:一,测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误 不外乎是系统不能满足用户的需求。二,程序员应该避免检查自己的程序,软件测试应该 由第三方来负责。三,设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界 条件,特殊情况下要制造极端状态和意外状态,如网络异常中断、电源断电等。四,应该 充分注意测试中的群集现象。五,对错误结果要进行一个确认过程。一般由 A 测试出来的 错误,一定要由 B 来确认。严重的错误可以召开评审会议进行讨论和分析,对测试结果要 进行严格地确认,是否真的存在这个问题以及严重程度等。六,制定严格的测试计划。一 定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内 完成也有一个高水平的测试。七,妥善保存测试计划、测试用例、出错统计和最终分析报 告,为维护提供方便。 由开发人员来测试自己的代码是一件很不妥当的事情。开发和测试生来就是不同的活 动。开发是创造或者建立某种事物的行 为,如一个功能模块或整个系统。而测试的重要 目的是证实一个模块或者一个系统工作不正常。这两个活动之间有着本质的矛盾。一个人 不太可能把两个截然对立的 角色都扮演地很好,因此应当限制开发人员在测试中的参与, 给他们比较合适的任务是进行最底层的测试——单元测试。 当一个程序员完成了设计与编写程序的建设性工作后,要一夜之间突然改变他的观 点,设法对程序形成一个完全否定的态 度,那是非常困难的。所以,大部分程序员都由 于不能使自己进入必要的精神状态(不是抱着要揭露出自己程序中错误的态度) ,就不能 有效的测试自己的程序。除 了这个心理学问题之外,还有一个重要的问题:程序中可能 包含由于程序员对问题的叙述或说明的误解而产生了错误。如果是这种情况,当程序员测 试自己的程序 时,往往还会带着同样的误解致使问题难以发现。 4 课题设计 4.1 需求分析 4.1.1 登入模块需求分析 首先实现的各种角色的用户在登入系统过程中的账号和角色信息的验证,用户通过链 接或浏览器地址栏进入登入界面。用户在输入账号信息和密码后,选择自己对应的角色, 然后点击登入,此时客户端将账户信息发送到服务端进行验证,如果验证不通过,则会给 出相应的提示信息,如果验证通过,则根据角色进入相应的子系统。 4.1.2 信息员模块需求分析 当用户选择学生、老师、院督导员、学校督导员等角色进入系统后,即扮演信息员的角色。 作为信息员角色主要实现问题反馈,他们可以页面头部的我要反应问题链接,进入反应问 题的界面,在那里可以对具体需要反应的问题进行编辑,然后进行提交。同时可以查看自 己反馈的问题的列表以及每个问题的处理进度,以及能根据关键字对检索出自己感兴趣的
第 6 页

问题,同时点击每一个问题细项可以查看问题的详情。除此之外用户还可以对自己的账号 信息的管理与维护。 4.1.3 领导模块需求分析 当用户选择校领导、院领导角色登入的时候就会进入领导子系统。能够实现对问题的查看 以及根据关键字实现对问题的检索,最重要的是能够对自己关心的问题作出自己的批示, 同时也可以对自己的账号信息的更新与维护。 4.1.4 信息管理中心模块需求分析 最后是中心模块的实现。该模块为整个系统的管理中心,能够实现对整个系统中的所 有信息的管理与维护,首先需要实现能够对所有角色的账号信息的添加,删除,修改,检 索等工作,其次是实现对所有教学信息的管理,包括删除,查看详情,以及填写处理结果, 更改处理状态等工作。同时能够实现对各种角色的账号信息的批量导入,以及对特定账号 的密码重置,最后还需实现对各类反馈问题的统计工作。 4.2 框架设计 4.2.1 数据存储框架设计 一个健壮的系统必须要有好的数据存储框架来支持,传统的数据存储均采用关系型数 据库来存储数据和利用 SQL 语句对数据库实现增删改查,这种数据存储方案在实现一些简 单的系统的过程中能够表现出很强劲的效率,但是面对互联网产品日益复杂的交互需求, 对数据存储的也提出了很高的要求,包括数据的结构的灵活性和复杂性,以及对于大数据 量和高并发的查旬效率,在这些需求面前,传统的关系型数据库显得不是那么能满足我们 的需求,现在越来越多的网站采用了近几年流行的 NoSQL(非关系型)数据存储方案。 下面介绍一下我们系统的数据存储方案,总体上来说,我们采用的关系型数据库来实 现的一种非关系型数据存储模式,基于 Key/Value 模式的字典。下面我先讲一下这种存储 方案的构思,关系型数据库在存储数据的时候,数据是存储在一张一张的二维表里面的, 二位表的字段在创建表的时候就已经定义好了,以后不论该条记录是否存在该字段,均会 存储该字段的数据,数据的冗余性比较大。由于二位表的平面结构,不支持嵌套数据结构 的存储,我们需要另外再创建表同时在当前表中利用外键来维护。数据结构扩展起来比较 复杂,基于这些考虑,我打算把数据结构设计成字典类型,字典类型在基本元素为 Key 和 Value(键值对) ,因此所有的表均值需要两个字段就可以存储所有的数据,一个是当前记 录的 Key,另一个是当前记录的 Value,Key 用于当前记录的索引,Value 中存储当前记录 的所有信息,Value 为一个 json 格式的字符串,为什么我们要把整个一条数据存成一个 json 格式的字符串了,首先是因为 json 格式的字符串数据结构灵活,可以存储任意数量 和任意维度的数据,对数据的结构几乎没有任何要求。最重要的是 json 格式的数据很易 于进行序列化和反序列化,可以很方便得和实体对象进行相互转化。实体对象序列化既可 以转化为 json 字符串,json 字符串进行反序列化既可以得倒实体对象。因此我们完全可 以利用 josn 的这一特点来实现我们的数据存储方案,正如我们想的这样,近几年比较流 行的数据存储方案均是利用这一思想实现的。 4.2.2 数据访问框架设计 数据访问框架是系统中最底层的业务逻辑,是实现应用程序和数据存储媒介进行数据 交换的桥梁。本系统采用 Linq to SQL 实现数据访问,在此基础上也针对数据结构进行了 一些转化和封装,在这里我大致介绍一下数据访问的过程,首先我们从数据库中取出来的 键值对集合的数据集是以 Key 键,以所有字段的 json 字符串为 Value 的集合,这种数据 结构并不符合我们对于业务的需求,我们需要对其进行转化,将其转化为以对象为 Value 的键值对集合,因此我们对 json 字符串进行反序列化,将其反序列化为实际的强类型对 象,这样以业务对象为 Value 的键值对集合才满足我们的业务需求。这是读取数据,那如
第 7 页

何增加数据了。首先我们需要创建一个数据对象,并给其赋予具体的值,然后将其进行序 列化,序列化为 json 字符串,然后以数据对象的 ID 为 Key,以数据对象的 json 字符串为 Value 存入数据库。这样就达到了增加数据的功能,删除数据则是以 Key 为索引直接删除 数据,修改数据则是用一个新的 json 字符串来覆盖原来的 Value。 4.2.3 数据同步设计 数据访问过程中不可避免需要对数据进行一些编辑操作,这其中就涉及到数据同步的 问题,何谓数据同步,即内存数据与数据库数据同步的问题,为什么会有这样的问题了, 这里就需要讲解一下内存数据的加载机制, 当系统被启动的时候, 为了便于对数据的操作, 所有的数据都是一次性从数据库加载到内存中来的,在内存中形成若干个全局性性的字典 集合,这样在服务器上会同时存在两份数据,一份在数据库中,一份在内存中,当服务器 停掉后,内存中的那一份数据会被垃圾收集器回收掉。这时候问题就来了,我们每次在进 行数据维护的时候,我们需同时维护两个地方的数据,要始终保持两个地方的数据是同步 的,不然会出问题。因此如何保证数据的同步维护,这也是一个需要解决的问题,以上是 关于数据存储方面的一些内容,具体的实现细节需要去看代码。这里便不再细说。 4.2.4 业务框架设计 下面主要介绍一下我们整个系统的业务框架,业务框架是系统中具体反映业务需求的 一部分,业务规则越复杂,这一部分的逻辑相应也会越复杂。这一部分的实现是依赖与数 据访问层的,它负责从数据层取数据,通过取到的数据与客户端进行交互。下面具体的谈 一下我们系统中的实现细节,首先我们会创建一系列的业务实体,每个实体都代表了系统 中的一个业务对象,他们是数据的载体。从数据层取回来的数据都是一个一个业务实体类 型对象为 Value 的键值对集合。通过一些列的 Linq 查询,得到我们想要的结果集。接下 来为了方便客户端脚本的操作,我们会把这些最终结果集序列化为 json 对象,返回到客 户端。客户端用这些 json 数据来进行页面的初始化或其它的一些交互操作。 由于我们的系统也是一个基于 B/S 架构的系统, 因此也满足 B/S 架构的基本响应模式, 即请求应答模式,即客户端发送请求,服务端收到请求后做相应的处理,然后给客户端以 反馈。因此服务端的行为也依赖与客户端的请求。大致的过程是,首先客户端通过脚本发 送一个异步的请求给一个指定的服务器路径,服务端收到请求后做出处理,并返回数据给 客户端,服务端返回的数据在我们整个系统中均为 json 格式的。在请求发送出去的过程 中,客户端当前发送请求的线程会被挂起,直至服务端的响应过来,该线程才会继续往下 执行。 4.2.5 异步请求与多线程 由于我们系统中所有的请求均是采用的异步方式来发送,这有里我们有必要讲一下异 步请求,也就是我们常听说的 Ajax(Asynchronous JavaScript And XML) ,首先说一下我 们为什么要把所有的请求都用异步来处理,我们就先说一下同步请求,当客户端在运行的 过程中, 浏览器会有一个主线程来向服务器发送请求和处理响应, 而一旦有请求发送出去, 主线程就会被挂起,直到服务端的响应过来,主线程才会继续往下执行,这样就会容易形 成阻塞,如果一个页面在在初始化的过程中需要发送多个请求到服务器,这样效率就会比 较慢,页面初始化的时间可能会比较长。因此为了避免请求阻塞,我们如何做到让多个请 求同时发送了,这里就要用到多线程,我们把每个请求到放到一个异步的线程中来处理, 这样请求发送出去以后被挂起的是一个异步的线程,并没有挂起主线程,主线程可以继续 被执行下去, 这样做的好处是浏览器可以同时处理多个请求, 同时只返回需要更新的数据, 不仅可以节省网络流量,而且这样可以在带宽允许的情况下尽可能快的完成客户端与服务 器的交互,缺点主要是浏览器的线程开销比较大,容易影响运行速度。 4.2.6 客户端脚本框架介绍
第 8 页

客户端脚本框架是实现交互设计的主要框架,在我们现有的系统中,主要依托 JQuery, JQueryUI 这样的第三方脚本框架和我自己封装的 mac-ui 库,主要用于顶部导航栏的交互 设计,在系统中,我们主要用 JQuery 来实现对 Dom 元素的操作。我们为什么需要用脚本 框架,为什么不直接去写原生的 javascript 代码,这样同样也可以实现我们的工作。脚 本框架的好处在哪里了,首先它把我们一些常用的操作都封装起来,让我们调用起来很简 单,主要体现在:1,对 dom 元素的操作变得更加简单。2,对数组的操作也变得很简单。 3,解决了很多浏览器的兼容性的问题,让我们可以把更多的时间和精力放在具体的交互 逻辑上。4,发送异步请求变得更简单。虽然我们有了这些优秀的脚本框架,是不是我们 就不用去写脚本了?答案当然是否定的。我们仍需要学会对于原生脚本代码的编写了,因 为有很多我们所需要实现的交互效果在框架中是根本找不到的,需要我们自己去实现,有 时甚至需要我们对自己写的东西做一些封装,形成一个通用的插件,项目中的 mac-ui 就 是一个这样的例子。 5 效果图介绍 5.1 用户登入界面效果图介绍 下图为为用户登入界面的效果图,用户通过浏览器访问到该页面,首先输入账号和密 码,然后进行角色选择,根据自己的需要进行正确的角色选择,点击登入按钮,客户端就 会将我们的账号和密码信息以及角色信息发送到服务端进行验证,首先进行账号和角色的 一致性验证,然后进行账号和密码的一致性验证,如果账号和角色不一致,则会向客户端 返回提示信息“您的账号和角色不对应” ,如果账号和密码不一致,则向客户端返回提示 信息“账号和密码错误” 。如果账号的密码和角色都通过验证,则可以进入相应的角色页 面,如图2所示。

图 2 用户登入界面效果图 5.2 信息反馈角色系统界面效果图介绍 用户在登入界面选择学生,老师,院部督导员,学校督导员这四种角色后,就会进入 如下信息反馈角色的界面,界面首先是导航栏部分,主要分为“我反应的问题”“我要反 , 应问题”“退出”等功能模块。在我反应的问题模块,主要是显示自己反应的所有问题的 , 列表,列出了该问题的分类、主题、反应时间、处理状态等信息。点击每一个问题细项, 可以进入查看问题的详情,以及该问题的处理进度。点击最下面的分页页码,可以进行页 码切换。在页面的中部有搜索模块,首先进行搜索关键字的分类选择,然后输入关键字点 击搜索按钮即可得到搜索结果,如图3所示。
第 9 页

图 3 信息反馈角色首页效果图 5.3 反应问题界面效果图介绍 当用户点击导航栏的“我要反应问题”的链接时,页面就会跳转到反应问题的界面上 来,在这里可以将自己收集到的问题反应出来,首先填写问题的主题,然后选择问题的类 型,在这里,如果选择的问题类型为 other,则在其后会显示一个输入框让用户输入其它 的类型,然后输入的是问题的内容,最后是关于问题的备注。最后确认提交的信息没有问 题后即可以提交问题了。问题在被提交后就会进入问题列表页面,此时问题列表页面就会 显示刚才被自己提交的问题,并且为待处理的状态。 ,如图4所示。

图 4 信息反馈角色首页效果图 5.4 问题详情页面效果图 当用户在列表页面点击某一问题细项时,就会进入到该问题的详情界面,在这里,可 以看到关于此问题的详细的信息。在这里是以弹出框的形式显示出来的,不会影响到原来 的列表页面,如图 5 所示。

第 10 页

图 5 信息反馈角色首页效果图 5.5 领导查看问题界面效果图 当用户选择“校领导”“院领导”的角色后进行账号信息验证就可以进入到查看反应 、 的问题的列表界面。在这里,校领导可以查看到全校反应的所有问题,并且可以通过页面 中部的搜索模块,搜索出自己关心的问题,点击问题细项,可以进入到问题的详情页面进 行查看,点击列表右边的作批示链接即可以进入作批示的界面,在那里可以对该问题作出 自己的批示,做完批示后该问题项就会被归入已批示问题列表页面。可以在那里对该问进 行查看,如图 6 所示。

第 11 页

图 6 领导查看问题界面效果图 5.6 领导作对问题作出批示界面效果图 当用户点击某一具体问题项的作批示链接后即进入了对该问题作批示的界面,在这里 不仅可以查看问题的详细信息,还可以对该问作出自己的批示,做完批示后点击提交按钮 即可以将自己批示的信息与该问进行绑定,教学管理中心在查看该问的时候就可以看到领 导对该问的批示信息,如图 7 所示。

图 7 领导批示问题界面效果图
第 12 页

5.7 信息管理中心首页效果图介绍 当用户选择校管理员、学员管理员角色进行登入时就会进入信息管理中心首页,首页 是关于登入账号管理的界面,在此可以对所有的账号进行删、改、查的操作,也可以根据 学号或工号、角色进行关键字过滤,找到自己想要的账号信息进行编辑,如图 8 所示。

图 8 信息管理中心首页效果图 5.8 信息管理中心教学反馈信息管理界面效果图介绍 信息管理中心最重要的工作还是对全校或全院的信息反馈进行处理,并及时更新处理 结果,同时可根据条件对这些信息进行搜索和过滤,如图 9 所示。

图 9 信息管理中心反馈信息管理效果图
第 13 页

5.9 信息处理界面效果图介绍 点击反馈信息细项即可进入信息处理界面,在该界面,不仅可以查看信息的详情,而 且还可以对信息作出处理,更改处理状态,填写处理结果等等信息,然后将处理的结果提 交进行保存,这样这条反馈就可以算是处理完毕了,如图 10 所示。

图 10 信息处理界面效果图

6

结语 四年的大学生活即将结束,马上就要踏入工作岗位,回首这四年,有太多难忘的记忆, 有过欢笑,也有过泪水。求学的路上,总会有一些坎坷和波折,但这些都是我们人生的财 富。感谢各位专业老师这四年来对我们孜孜不倦的教育与指导,你们就像那一盏一盏明亮 的灯, 如接力赛般的一步一步的照亮我们前行的道路, 让我们在知识的乐园里不断的飞翔, 飞得更高更远。学友情深,情同兄妹。四年的风雨,我们一同走过充满着关爱,给我留下 了值得珍藏的最美好的记忆。在我的十几年求学历程里,离不开父母的鼓励和支持,是他 们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激 他们一直以来对我的抚养与培育。 最后,我要特别感谢各位老师,是你们在学校对我的默默关心和支持才使我能顺利的 毕业。特别是徐老师、你是我们精神上的导师,总是在我们遇到问题的时候能够给予我们 指导和帮助,特别是在我外出实习期间,对我在学校的事情给予了极大的关心和理解。李 老师,在我毕业的最后关头给了我巨大的帮助与鼓励,使我能够顺利完成毕业计,在此表 示衷心的感激老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪 浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我 以后的工作和学习都有一种巨大的帮助,感谢他耐心的导。在系统开发过程中老师也给予 我很大的帮助,帮助解决了不少的难点,使得系统能够及时开发完成,这里一并表示真诚 的感谢。

第 14 页

参考文献
[1]《精通 HTML5+CSS3+JavaScrip 网页设计》刘增杰 清华大学出版社 第1版 2012年8月1日 [2]《JavaScript 权威指南》 (美)弗兰纳根 机械工业出版社 第1版 2012年5月20日 [3]《jQuery 与 CSS 开发入门经典》 (美)约克 清华大学出版社 第1版 2010年9月1日 [4]《C#与.NET 4高级程序设计》 (美)特罗尔森 人民邮电出版社 第5版 2011年4月1日 [5]《CLR via C#》 (美)瑞奇特 清华大学出版社 第3版 2010年9月1日

The teaching information feedback network platform design
Wenhui.guo (Anyang Teachers College Institute of physics and electrical engineering Henan anyang 455002) Abstract:Today's education processing and diversification,digital more and more obvious, Institute of digitized teaching means and management methods of more and more important. So the introduction of modern network information technology, through its powerful data acquisition, transmission and processing and analysis ability, developing students' teaching information feedback platform, realize office automation is very important, Based on B/S architecture is detailed introduced in this paper the teaching information feedback network platform design and development process, and also introduces the system development process that we use all kinds of development tools and technologies, system design on the frame also USES a lot of break the traditional way, such as we use relational database to realize non-relational data structure, data storage, and realize the data synchronization problem. Second we did not rely on any traditional web development framework (ASP.NET), fully USES the native HTML elements with javascript to implement all of our interactions. Third, we'll all be using thetraditional synchronous request-response pattern to implement asynchronous request and response model, realize the whole client absolutely no refresh. Believe that after the completion of system can not only section. Keywords: non-relational database; Data synchronization; B/S architecture; Web development framework

第 15 页

附件一:开发环境 Visual Studio 2012 概览图

附件二:Account 数据表概览图

附件三:数据访问层部分代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.Linq; using System.Web.Script.Serialization; namespace wenhuiDesign.DataModel

第 16 页

{ public class DataContext { private static FeedBackDataContext _db; private static Object LockObj = new object(); public static FeedBackDataContext DB { get { lock (LockObj) { if (_db == null) } return _db; } } } //获取账户字典集合 public static Dictionary<string, User> GetDataDicUsers() { Dictionary<string, User> Dict = new Dictionary<string, User>(); foreach (var item in DB.Accounts) { if (!string.IsNullOrEmpty(item.Value)) { JavaScriptSerializer js = new JavaScriptSerializer(); var instance = js.Deserialize(item.Value, typeof(User)) as User; Dict.Add(item.Key, instance); } else { Dict.Add(item.Key, null); } } return Dict; } } } { _db = new FeedBackDataContext();

附件四:登入页面客户端脚本
<script type="text/javascript"> $(function () { _RenderLoginTip(); _LoginEventBind(); }); //登入事件绑定 function _LoginEventBind() {

第 17 页

$("#BtnLogin").button().click(function () { var SelectRole = $("#selectRole").val(); //先将角色和账号信息发送到服务端进行账号和角色验证,如果验证通过,则根据角色进行页面跳 转 if (SelectRole == Common.RoleType.Student || SelectRole == Common.RoleType.Teacher || SelectRole == Common.RoleType.AcademySupervisor || SelectRole == Common.RoleType.CollegeSupervisor) { window.location.href = "MyQuestions.html"; } else if (SelectRole == Common.RoleType.TeachingOfficeLeader || SelectRole == Common.RoleType.AcademyLeader || SelectRole == Common.RoleType.CollegeLeader) { window.location.href = "LeaderPage.html"; } else if (SelectRole == Common.RoleType.AcademyAdministrator || SelectRole == Common.RoleType.CollegeAdministrator){ window.location.href = "Administrator.html"; } }); } //用户名和密码输入提示 function _RenderLoginTip() { $("#usernameHidden").focus(function () { $(this).hide(); $("#username").show().focus(); }); $("#userpasswordHidden").focus(function () { $(this).hide(); $("#userpassword").show().focus(); }); $("#username").blur(function () { if ($(this).val() == "") { $(this).hide(); $("#usernameHidden").show(); } }); $("#userpassword").blur(function () { if ($(this).val() == "") { $(this).hide(); $("#userpasswordHidden").show(); } }); } </script>

第 18 页


相关文章:
教学信息反馈范文_图文
教学信息反馈范文_学习总结_总结/汇报_实用文档。大学教学信息反馈,教务处常规...(实验,实习,毕业论文,社会实践) ,作业批改, 课外辅导,课程设计,考试等的意见...
教学信息员教学信息反馈表
实践教学包括课程实验、教育见习、毕业实习、社会实践、毕业设计(论文)等方面。 三、教学管理方面信息反馈内容主要包括: 1、对学校、系部、专业的教学计划、教学内容...
教学信息管理系统的设计与实现毕业设计毕业论文
教学信息管理系统的设计与实现毕业设计毕业论文_调查/报告_表格/模板_实用文档。...新的思想观念,在校园网 络环境下建设先进的、与国际水平接轨的信息化管理平台。...
数据结构网络教学平台的设计与实现论文任务书
如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 数据结构网络教学平台设计与实现论文任务书 计算机科学与技术专业,论文...
加强信息反馈 提高教学效率论文
加强信息反馈 提高教学效率论文_教学案例/设计_教学研究_教育专区。加强信息反馈 提高教学效率 【摘要】 教师向学生传授知识,必须不断进行信息反馈,去 了解学生对知识...
数学课堂教学信息反馈与调控论文
数学课堂教学信息反馈与调控论文_教学案例/设计_教学研究_教育专区。论数学课堂教学信息反馈与调控 摘要:课堂教学是教与学之间的信息传递和反馈的控制过程, 即教师围...
教学信息员反馈表
实践教 学包括课堂实验、教育见习、毕业实习、社会实践、毕业设计(论文)等方面。 三、教学管理方面信息反馈内容主要包括: 1.对学校、系部、专业的教学计划、教学...
注重教学信息反馈 努力提高教学质量
注重教学信息反馈 努力提高教学质量_教学案例/设计_...2.网络反馈:当前,各武警院校利用校园局域网络,纷纷...网络课堂或网络精品课程等教学平台,因此,广大教员应该...
网络教学论文
网络教学论文_教学案例/设计_教学研究_教育专区。网络...过渡为知识的导航者,网络成为师生之间平等对话的平台...知识传授与教学信息反馈、分析、决策相结合,真正实现...
多媒体教学控制系统网络通讯平台的设计论文
多媒体教学控制系统网络通讯平台设计论文_工学_高等教育_教育专区。摘要 随着计算机及网络技术的日益发展,教学条件得到了很大的改善,但同时 也带来了新的问题,如在...
更多相关标签:
网络教学平台 论文 | 云教学平台试用反馈表 | 南昌大学网络教学平台 | 网络教学平台 | 北师珠网络教学平台 | 厦门大学网络教学平台 | 闽江学院网络教学平台 | 网络视频教学平台 |