收藏 分销(赏)

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

上传人:天**** 文档编号:2164286 上传时间:2024-05-21 格式:DOC 页数:22 大小:525.04KB 下载积分:10 金币
下载 相关 举报
教学信息反馈网络平台设计论文.doc_第1页
第1页 / 共22页
教学信息反馈网络平台设计论文.doc_第2页
第2页 / 共22页


点击查看更多>>
资源描述
教学信息反馈网络平台设计论文 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 安阳师范学院本科学生毕业设计报告 教学信息反馈网络平台设计 作  者   郭 文 辉 系(院)  物理与电气工程学院 专  业  电气工程及其自动化  年  级   2009级  学  号   091103061  指导教师   李 立 新 日  期   2013。5.10 第 18 页 学生诚信承诺书和论文使用授权说明样张(A4纸 210×297mm) 学生诚信承诺书 本人郑重承诺:所呈交的设计报告是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,报告中不包含其他人已经发表或撰写的研究成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在报告中作了明确的说明并表示了谢意。 签名:        日期:      报告使用授权说明 本人完全了解安阳师范学院有关保留、使用学位报告的规定,即:学校有权保留送交报告的复印件,允许报告被查阅和借阅;学校可以公布报告的全部或部分内容,可以采用影印、缩印或其他复制手段保存报告。 签名:      导师签名:       日期: 教学信息反馈网络平台设计 郭文辉 (安阳师范学院 物理与电气工程学院, 河南 安阳 455002) 摘 要:现今的教育系统受信息采集、加工多元化、数字化的影响越来越明显,学院的教学手段与管理方法信息数字化越来越重要。因而引进现代化的网络信息技术,借助其强大的数据采集、传输及处理分析能力,研发学生教学信息反馈平台,实现办公自动化则显得尤为重要。本文详尽介绍了基于B/S架构的教学信息反馈网络平台的设计与开发的过程,同时也介绍了系统开发过程中我们所用到的各类开发工具以及技术,系统在框架设计上也采用了很多打破传统方式的亮点,比如我们用关系型数据库实现了非关系型数据结构数据存储,同时实现了数据同步的问题。其次我们没有依托任何传统的web开发框,完全采用原生的html元素与javascript来实现我们的所有交互。第三,我们将传统的同步请求响应模式全部用异步请求与响应的模式来实现,实现整个客户端的绝对无刷新.相信系统建成后不仅可以节约大量的人力资源,对于教学质量的提升也将有很大的促进用。 关键词:非关系型数据库;数据同步;B/S架构;web开发框架 1 引言 高校教学管理的核心是教学质量管理,只有通过信息的反馈,依靠大量真实可靠的信息,教学质量管理才能落实到实处.所有高校都已经意识到了教学信息反馈的重要性,并采用多种多样的反馈形式。如学生座谈,学生信息员反馈,教师教学质量评估量化评价等。这些方式有利于教务人员了解学生的学习和教师的授课等情况.但还存在着很多不足:1)任课教师和学生缺乏有效沟通目前,绝大多数高校信息反馈由教学主管领导或主管部门实施管理,收集的反馈信息再转发给各任课教师。所以教师获得的信息大多是总体的评价,缺少细节描述,如存在的不足和提出的意见和建议等。因此各种反馈信息只成为了教学管理者对教师考核的一种手段.信息反馈的意义不仅在于评,更重要的是根据反馈结果及时调整授课方式和手段.因此传统的信息反馈方式对指导教师提高教师教学水平存在着一定缺陷.2)时间的局限性传统的信息反馈方式都是每学期在固定时间或定期的组织。 网上信息管理方式的实现,能在很大程度上降低学校考核学生时老师与学校所需付出的物力与精力,同时也可以进一步提高学生考试成绩的准确性。学院各种信息发布,无纸化办公,老师网络硬盘,这些基于Web的网络应用平台也可以为学校管理老师,老师之间的信息交流,老师与学生的实时交互,提供良好的平台.为此,我们设计并制作了一个基于WEB的学校信息管理系统。通过该系统,很好地解决了在学校管理工作中,管理工作量大、统计数据难、各个部门互动慢、学校与老师、老师与学生之间交流效率低、透明度不高等问题。为了提高效率,迫切需要改进工作模式,推进教学信息反馈网络信息化进程,研发教学信息反馈平台,实现办公自动化。这样不仅可以节约大量的人力资源,对于教学质量的提升也将有很大的促进作用。 2 课题要求 该课题总的要求为实现教学信息反馈工作的办公自动化,实现学生,老师,领导教学管理中心在教学信息反馈工作上的高效及时的互动。首先实现的各种角色的用户在登入系统过程中的账号和角色信息的验证,同时需要根据不同的角色进入不同的模块.其次在登入系统后,学生、老师、院督导员、学校督导员等作为信息员角色主要实现问题反馈,查看自己反馈的问题的处理进度,以及能根据关键字对检索出自己感兴趣的问题,以及对自己的账号信息的管理与维护。其次是校领导、教务处领导、院部领导能够实现对问题的查看以及根据关键字实现对问题的检索,最重要是能够对自己关心的问题作出自己的批示,同时也可以对自己的账号信息的更新与维护.最后是中心模块的实现。该模块为整个系统的管理中心,能够实现对整个系统中的所有信息的管理与维护,首先需要实现能够对所有角色的账号信息的添加,删除,修改,检索等工作,其次是实现对所有教学信息的管理,包括删除,查看详情,以及填写处理结果,更改处理状态等工作.同时能够实现对各种角色的账号信息的批量导入,以及对特定账号的密码重置,最后还需实现对各类反馈问题的统计工作。 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所示. 图1 编译和运行机制图 3。2 业务需求分析及确定 需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程.(这个和我在微软体验到的又不太一样,微软的需求分析大多是市场人员和用户协助小组的人去评估用户的接受程度,这一点也可以理解,因为公司的性质有根本差别)在这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设 计打下基础.从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。简言之,需求分析的任务就是解决”做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求。需求分析就是分析软件用 户的需求是什么。如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大的精力,开发一个软件,最后却不满足 用户的要求,从而要重新开发过,这种返工是让人痛心疾首的.(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死。需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位.大家一定要对需求分析具有足够的重视。在一个大型软件系统的开发中,他的作用要远远大于程序设计。个人收集整理,勿做商业用途本文为互联网收集,请勿用作商业用途 3.3 客户端与服务端技术选型和数据存储解决方案选择 3.3。1 客户端与服务端技术选型 技术选型也是一件很重要的事情,因为它涉及到整个系统的框架设计,技术选型包括,客户端技术选型,服务端技术选型,数据存储的技术选型,这三个环节一般关联性比较强,对于我们现有的项目来说,客户端技术主要依托原生的html以及javascript和一套目前应用最为广泛javascript框架jQuery。服务端主要采用基于。net平台的C#语言来实现我们的服务端逻辑。客户端与服务端主要依托HTTP协议和异步请求来实现客户端与服务器的异步通信。 3.3.2 数据存储解决方案选择 数据存储方案的选择也是一件很重要的事情,它是整个项目的最底层,目前应用最广泛的是基于二维表的关系型数据库,但是它由很多缺陷,比如数据的冗余性比较大,导致查询效率不高,数据结构不灵活,数据表中的每条记录必须满足表字段所规定的字段数量,导致数据结构很难随着业务需求的变化而做出及时的变化。总而言之关系数据库在处理复杂数据结构和对于海量数据的存储方面显得效率低下,因此近些年非关系型的数据库越来越流行,比如mongoDB,其采用的是基于文件的存储,数据结构灵活,查询效率高。对于本系统我们主要采用的是微软的LocalDB,LocalDB是SQL Server 2012带来的新特性,它是一个专门为开发人员量身定制的轻量级数据库。LocalDB专门为开发人员创建,它非常易于安装,几乎无需管理,兼容T-SQL语言,编程接口与SQL Server Express别无二致.一直以来,SQL Server Express满足了我们两方面的需求。它既是免费版的SQL Server,又具有足够强大的功能,与其它版本相兼容。当然,它的能力也存在一些限制,即它的每个数据库的存储容量不能超过10G。SQL Server作为一个成熟的数据库产品,其Express版本依然具有相当的复杂度。但作为开发人员,我们更希望降低管理复杂度,专注于开发。LocalDB的开发目标由此形成,它是轻量级的SQL Server Express,为开发人员量身定制。对于数据的访问,我们主要采用微软的EF(实体框架).个人收集整理,勿做商业用途本文为互联网收集,请勿用作商业用途 3.4 原型与UI设计 原型与UI的设计的好与坏,直接影响到下一步的开发阶段,我们先说一下原型设计,一般比较大型的项目都需要进行前期的产品原型的设计,原型必须准确的反应用户的需求,且必须紧跟用户的需求变化。产品原型可以概括的说是整个产品面市之前的一个框架设计,以网站注册作为例子,整个前期的交互设计流程图之后,就是原形开发的设计阶段,简单的来说是将页面的模块、原素、人机交互的形式,利用线框描述的方法,将产品脱离皮肤状态下更加具像跟生动的进行表达。原型设计是交互设计师与PD、PM、网站开发工程师沟通的最好工具.而该块的设计在原则上必须是交互设计师的产物,交互设计以用户为中心的理念会贯穿整个产品。利用交互设计师专业的眼光直接导至该产品的可用性。用户界面原型必须在先启阶段的初期或在精化阶段一开始建立。整个系统(包括它的“实际”用户界面)的分析、设计和实施必须在原型建立后进行.请注意:创建用户界面原型的主要目的是在实际设计与开发开始之前揭示和测试系统的功能与可用性。这样,您可以在将太多时间与资源投入开发活动之前,确保所构建的系统是正确的。为了成功进行该初期测试,开发原型的开支必须远远低于开发实际系统的开支,同时这个原型应具备足够的功能,可以进行有意义的使用测试。文档为个人收集整理,来源于网络个人收集整理,勿做商业用途 3.5 框架设计与功能模块开发 软件的框架是软件的核心和灵魂,一般大型的软件在开发前期都会进行框架设计,一个好的框架应该具有良好的可扩展性和数据访问性。框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系.因此构件库的大规模重用也需要框架。本文为互联网收集,请勿用作商业用途文档为个人收集整理,来源于网络 构件领域框架方法在很大程度上借鉴了硬件技术发展的成就,它是构件技术、软件体系结构研究和应用软件开发三者发展结合的产物。在很多情况下,框架通常以构件库的形式出现,但构件库只是框架的一个重要部分.框架的关键还在于框架内对象间的交互模式和控制流模式。本文为互联网收集,请勿用作商业用途文档为个人收集整理,来源于网络 框架比构件可定制性强。在某种程度上,将构件和框架看成两个不同但彼此协作的技术或许更好。框架为构件提供重用的环境,为构件处理错误、交换数据及激活操作提供了标准的方法。 应用框架的概念也很简单。它并不是包含构件应用程序的小片程序,而是实现了某应用领域通用完备功能(除去特殊应用的部分)的底层服务。使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系统开发。框架提供了所有应用期望的默认行为的类集合.具体的应用通过重写子类(该子类属于框架的默认行为)或组装对象来支持应用专用的行为。 应用框架强调的是软件的设计重用性和系统的可扩充性,以缩短大型应用软件系统的开发周期,提高开发质量。与传统的基于类库的面向对象重用技术比较,应用框架更注重于面向专业领域的软件重用。应用框架具有领域相关性,构件根据框架进行复合而生成可运行的系统。框架的粒度越大,其中包含的领域知识就更加完整。 一个基于框架开发的应用系统包含一个或多个框架,与框架相关的构件类,以及与应用系统相关的功能扩展.与应用系统相关的扩展包括与应用系统相关的类和对象。应用系统可能仅仅复用了面向对象框架的一部分,或者说,它可能需要对框架进行一些适应性修改,以满足系统需求。 面向对象的框架作为一种可复用的软件,在基于框架的软件开发过程中会涉及到框架的开发和利用两个方面的工作。框架的开发阶段在于产生领域中可复用的设计.该阶段的主要结果是框架以及与框架相关的构件类。该阶段的一个重要活动是框架的演变和维护。象所有软件一样,框架也易于变化。产生变化的原因很多,如应用出错,业务领域变化,等等。 不论是哪一种技术,最终都是为业务发展而服务的。从业务的角度来讲。首先,框架的是为了企业的业务发展和战略规划而 服务的,他服从于企业的愿景;其次,框架最重要的目标是提高企业的竞争能力,包括降低成本、提高质量、改善客户满意程度,控制进度等方 面.最后,框架实现这一目标的方式是进行有效的知识积累.软件开发是一种知识活动,因此知识的聚集和积累是至关重要的。框架能够采用一种结构化的方式对某个特定的业务领域进行描述,也就是将这个领域相关的技术以代码、文档、模型等方式固化下来. 为什么要用框架了?因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处. 框架的最大好处就是重用.面向对象系统获得的最大的复用方式就是框架,一个大的应用系统往往可能由多层互相协作的框架组成。由于框架能重用代码,因此从一已有构件库中建立应用变得非常容易,因为构件都采用框架统一定义的接口,从而使构件间的通信简单。 框架能重用设计。它提供可重用的抽象算法及高层设计,并能将大系统分解成更小的构件,而且能描述构件间的内部接口。这些标准接口使在已有的构件基础上通过组装建立各种各样的系统成为可能.只要符合接口定义,新的构件就能插入框架中,构件设计者就能重用构架的设计。 框架还能重用分析.所有的人员若按照框架的思想来分析事务,那么就能将它划分为同样的构件,采用相似的解决方法,从而使采用同一框架的分析人员之间能进行沟通。框架要解决的最重要的一个问题是技术整合的问题,在J2EE的框架中,有着各种各样的技术,不同的软件企业需要从J2EE中选择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技术的风险性将会直接对应用造成冲击。而应用是软件企业的核心,是竞争力的关键所在,因此应该将应用自身的设计和具体的实现技术解耦。这样,软件企业的研发将集中在应用的设计上,而不是具体的技术实现,技术实现是应用的底层支撑,它不应该直接对应用产生影响。个人收集整理,勿做商业用途个人收集整理,勿做商业用途 3.6 测试与部署 最后我们讲一下软件质量保证阶段。开发人员在对功能模块提交以后,即进入测试阶段,先是进行模块测试,模块测试完成后即进行整体测试,好的软件在后期还需进行压力测试,测试软件在高并发环境和大数据量的性能问题.现在的软件测试已经逐步从人工测试向自动化测试的方向转变,借助于很多自动化测试工具,比如QTP,LoadRunner等。软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估.执行测试用例后,需要跟踪故障,以确保开发的产品适合需求. 测试原则:一,测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求.二,程序员应该避免检查自己的程序,软件测试应该由第三方来负责。三,设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,如网络异常中断、电源断电等。四,应该充分注意测试中的群集现象.五,对错误结果要进行一个确认过程。一般由A测试出来的错误,一定要由B来确认.严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格地确认,是否真的存在这个问题以及严重程度等。六,制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成也有一个高水平的测试。七,妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。 由开发人员来测试自己的代码是一件很不妥当的事情。开发和测试生来就是不同的活动。开发是创造或者建立某种事物的行 为,如一个功能模块或整个系统.而测试的重要目的是证实一个模块或者一个系统工作不正常.这两个活动之间有着本质的矛盾.一个人不太可能把两个截然对立的 角色都扮演地很好,因此应当限制开发人员在测试中的参与,给他们比较合适的任务是进行最底层的测试——单元测试. 当一个程序员完成了设计与编写程序的建设性工作后,要一夜之间突然改变他的观点,设法对程序形成一个完全否定的态 度,那是非常困难的.所以,大部分程序员都由于不能使自己进入必要的精神状态(不是抱着要揭露出自己程序中错误的态度),就不能有效的测试自己的程序.除 了这个心理学问题之外,还有一个重要的问题:程序中可能包含由于程序员对问题的叙述或说明的误解而产生了错误.如果是这种情况,当程序员测试自己的程序 时,往往还会带着同样的误解致使问题难以发现。 4 课题设计 4。1 需求分析 4.1。1 登入模块需求分析 首先实现的各种角色的用户在登入系统过程中的账号和角色信息的验证,用户通过链接或浏览器地址栏进入登入界面。用户在输入账号信息和密码后,选择自己对应的角色,然后点击登入,此时客户端将账户信息发送到服务端进行验证,如果验证不通过,则会给出相应的提示信息,如果验证通过,则根据角色进入相应的子系统。 4。1。2 信息员模块需求分析 当用户选择学生、老师、院督导员、学校督导员等角色进入系统后,即扮演信息员的角色.作为信息员角色主要实现问题反馈,他们可以页面头部的我要反应问题链接,进入反应问题的界面,在那里可以对具体需要反应的问题进行编辑,然后进行提交。同时可以查看自己反馈的问题的列表以及每个问题的处理进度,以及能根据关键字对检索出自己感兴趣的问题,同时点击每一个问题细项可以查看问题的详情.除此之外用户还可以对自己的账号信息的管理与维护。 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的键值对集合才满足我们的业务需求。这是读取数据,那如何增加数据了。首先我们需要创建一个数据对象,并给其赋予具体的值,然后将其进行序列化,序列化为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 客户端脚本框架介绍 客户端脚本框架是实现交互设计的主要框架,在我们现有的系统中,主要依托JQuery,JQueryUI这样的第三方脚本框架和我自己封装的mac—ui库,主要用于顶部导航栏的交互设计,在系统中,我们主要用JQuery来实现对Dom元素的操作。我们为什么需要用脚本框架,为什么不直接去写原生的javascript代码,这样同样也可以实现我们的工作.脚本框架的好处在哪里了,首先它把我们一些常用的操作都封装起来,让我们调用起来很简单,主要体现在:1,对dom元素的操作变得更加简单。2,对数组的操作也变得很简单。3,解决了很多浏览器的兼容性的问题,让我们可以把更多的时间和精力放在具体的交互逻辑上。4,发送异步请求变得更简单。虽然我们有了这些优秀的脚本框架,是不是我们就不用去写脚本了?答案当然是否定的。我们仍需要学会对于原生脚本代码的编写了,因为有很多我们所需要实现的交互效果在框架中是根本找不到的,需要我们自己去实现,有时甚至需要我们对自己写的东西做一些封装,形成一个通用的插件,项目中的mac-ui就是一个这样的例子。 5 效果图介绍 5。1 用户登入界面效果图介绍 下图为为用户登入界面的效果图,用户通过浏览器访问到该页面,首先输入账号和密码,然后进行角色选择,根据自己的需要进行正确的角色选择,点击登入按钮,客户端就会将我们的账号和密码信息以及角色信息发送到服务端进行验证,首先进行账号和角色的一致性验证,然后进行账号和密码的一致性验证,如果账号和角色不一致,则会向客户端返回提示信息“您的账号和角色不对应”,如果账号和密码不一致,则向客户端返回提示信息“账号和密码错误”。如果账号的密码和角色都通过验证,则可以进入相应的角色页面,如图2所示. 图2 用户登入界面效果图 5.2 信息反馈角色系统界面效果图介绍 用户在登入界面选择学生,老师,院部督导员,学校督导员这四种角色后,就会进入如下信息反馈角色的界面,界面首先是导航栏部分,主要分为“我反应的问题”,“我要反应问题",“退出"等功能模块。在我反应的问题模块,主要是显示自己反应的所有问题的列表,列出了该问题的分类、主题、反应时间、处理状态等信息。点击每一个问题细项,可以进入查看问题的详情,以及该问题的处理进度。点击最下面的分页页码,可以进行页码切换.在页面的中部有搜索模块,首先进行搜索关键字的分类选择,然后输入关键字点击搜索按钮即可得到搜索结果,如图3所示。 图3 信息反馈角色首页效果图 5.3 反应问题界面效果图介绍 当用户点击导航栏的“我要反应问题"的链接时,页面就会跳转到反应问题的界面上来,在这里可以将自己收集到的问题反应出来,首先填写问题的主题,然后选择问题的类型,在这里,如果选择的问题类型为other,则在其后会显示一个输入框让用户输入其它的类型,然后输入的是问题的内容,最后是关于问题的备注.最后确认提交的信息没有问题后即可以提交问题了。问题在被提交后就会进入问题列表页面,此时问题列表页面就会显示刚才被自己提交的问题,并且为待处理的状态。,如图4所示. 图4 信息反馈角色首页效果图 5。4 问题详情页面效果图 当用户在列表页面点击某一问题细项时,就会进入到该问题的详情界面,在这里,可以看到关于此问题的详细的信息。在这里是以弹出框的形式显示出来的,不会影响到原来的列表页面,如图5所示。 图5 信息反馈角色首页效果图 5。5 领导查看问题界面效果图 当用户选择“校领导”、“院领导”的角色后进行账号信息验证就可以进入到查看反应的问题的列表界面。在这里,校领导可以查看到全校反应的所有问题,并且可以通过页面中部的搜索模块,搜索出自己关心的问题,点击问题细项,可以进入到问题的详情页面进行查看,点击列表右边的作批示链接即可以进入作批示的界面,在那里可以对该问题作出自己的批示,做完批示后该问题项就会被归入已批示问题列表页面。可以在那里对该问进行查看,如图6所示。 图6 领导查看问题界面效果图 5。6 领导作对问题作出批示界面效果图 当用户点击某一具体问题项的作批示链接后即进入了对该问题作批示的界面,在这里不仅可以查看问题的详细信息,还可以对该问作出自己的批示,做完批示后点击提交按钮即可以将自己批示的信息与该问进行绑定,教学管理中心在查看该问的时候就可以看到领导对该问的批示信息,如图7所示. 图7 领导批示问题界面效果图 5.7 信息管理中心首页效果图介绍 当用户选择校管理员、学员管理员角色进行登入时就会进入信息管理中心首页,首页是关于登入账号管理的界面,在此可以对所有的账号进行删、改、查的操作,也可以根据学号或工号、角色进行关键字过滤,找到自己想要的账号信息进行编辑,如图8所示。 图8 信息管理中心首页效果图 5.8 信息管理中心教学反馈信息管理界面效果图介绍 信息管理中心最重要的工作还是对全校或全院的信息反馈进行处理,并及时更新处理结果,同时可根据条件对这些信息进行搜索和过滤,如图9所示. 图9 信息管理中心反馈信息管理效果图 5.9 信息处理界面效果图介绍 点击反馈信息细项即可进入信息处理界面,在该界面,不仅可以查看信息的详情,而且还可以对信息作出处理,更改处理状态,填写处理结果等等信息,然后将处理的结果提
展开阅读全文

开通  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 

客服