




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生成绩分析与管理系统项目设计方案1.1. 课题来源本课题来源于我的实习公司。本课题主要分为共分为了4个子模块,分别是学生成绩的录入模块、学生信息查询模块、学生成绩查询模块、成绩分析和展示模块。本课题是基于聚类分析的学生成绩知识点预测模型的研究与实现,它将用于教学管理的工作中,以实现教学管理方面的规范化和数字化管理,本系统将主要根据现当代学生教育的现状,设计和开发的系统,实现对学生成绩的管理和分析,促使教学管理的计算机化和自动化。1.2. 开发研究背景随着时代日新月异的长足发展,教育体制在不断的发展和完善,教育受到了国家和政府的大力支持和重视。近年来,我国提倡和发出了要形成全民学习、终身学习的学习型社会,促进人的全面发展的号召。现代社会是一个创新的时代,网络的发展起到了很大的作用。通过网络可以完成各种不同的需求,学生也可以上网查阅资料,进行学习,达到扩展知识面的目的。本课题针对小学生每次的考试成绩进行了录入和汇总,也可以根据不同的情况对学生的信息进行查询。为了能够适时掌握学生的学习情况,能够为学生不同阶段的学习提供一个合理的指导,因此,将现代的先进技术和分析方法应用于教育行业是很有必要的,对学生成绩知识点预测模型的研究是很有意义的。目前的一些教学管理软件主要是已经不再满足现当代教育教学的需要,主要由于使用的应用软件比较落后,或采用原始的手工记录的方式管理,管理人员的工作量相当大,管理的难度高,因此学生的信息和学生的学习成绩等的管理都比较混乱,而且由于学生之间也存在着很大的差异,有很多的特殊情况在其中。因此平时交流不方便,导致学生成绩的管理和针对学生成绩的分析和研究做的并不是很到位。管理不能照搬普通在校生的管理,因此建立一套界面友好,易于学习,非计算机专业人员经过短时间培训即可掌握基本操作,符合成人教育的特点的信息化管理系统是非常有必要的。建立一套界面友好,易于学习、非计算机专业人员也可以掌握基本操作,符合教学特点的学生成绩知识点预测模型的研究与实现是很有必要的。1.3. 课题研究目的为了提高教学管理的工作效率,减轻管理人员的负担,在系统调查及分析阶段能够得到管理人员的支持,能够适时掌握学生的学习情况,并对其进行聚类分析,将学生划分到不同的范围中,以便给教师调整教学重点和进度提供依据,因此设计了本课题。新系统的实现在很大程度上完善,对学习的分析基本上做到全面,一定程度上提高了教学管理的效率,减轻了工作人员的压力。本设计方案重点在数据挖掘中聚类分析算法的实现,其中重点实现了k_mean算法。根据学生的考试成绩,对学生掌握知识点的情况进行分析与研究,把不同的情况进行辨析和聚类,并对不同情况做出合理的解释,以便对学生的学习提供指导。用聚类的思想分析学生的成绩,查看学生成绩所处的位置,计时的给学生以反馈和鼓励,也可以帮助老师整体上把握班级的情况。2. 软件开发环境介绍2.1. ASP.NET简介ASP.net 是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的优势。ASP.net构架是可以用Microsoft公司最新的产品 Visual S开发环境进行开发,ASP.net是基于通用语言编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。ASP.net是运行一些很平常的任务让表单的提交、客户端的身份验证、分布系统和网站配置变得非常简单。ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。 ASP.NET技术就是由微软的.NET技术细化而来的,它跟ASP技术有些关系,然而又不是仅仅是一个继承,可以讲,ASP.NET跟ASP想比较的话,已经是变得面目全非了,当然好得至少是一个量级以上。ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP.NET远远超越了ASP,同时也提供给web开发人员更好的灵活性,有效缩短了web应用程序的开发周期。ASP.NET与Windows 2000 Server/Advanced Server的完美组合,为中小型乃至企业级的web商业模型提供了一个更为稳定,高效,安全的运行环境。微软公司的ASP.NET技术在全球推广短短几年的时间,取得了飞速发展。国内外越来越多的软件公司,开始应用ASP.NET技术进行项目开发。这不仅要归功与微软公司.NET发展战略的成功实施,更重要的是ASP.NET技术本身具有的无限魅力。ASP.NET是微软提供的新一代的Web开发平台,它为开发人员提供了生成企业级Web应用程序所需要的服务、编程模型和软件基础结构,同其他Web开发平台相比,ASP.NET具有下面三大优势。1. 支持编译型语言目前流行的几种脚本语言比如VBScript、JavaScript和ASP等都有两个主要的缺点。第一,不支持强数据类型。在JavaScript中定义变量只有一个关键字var,使用var关键字定义的变量,如果赋值是字符串,该变量就是字符串变量;如果赋值是整数,则该变量就是整型变量。在VBScript和ASP中,定义变量只通过一个关键字DIM,该变量也没有具体的类型。第二,脚本语言是解释型的。通常情况下,解释型的脚本语言在性能上抵不上编译型的语言。自推出.NET开发平台以来,微软在Web服务器端开发语言方面,主推VB.NET和C#.NET这两种编译型语言。通过这两种开发语言,程序员可以像开发普通的Windows程序一样来开发Web程序,只不过在Windows程序中用于开发GUI界面的各种控件,在Web程序开发中也有它们相应的Web版本。程序员通过C#语言,利用VS.NET提供的各种Web控件,可以非常容易地开发ASP.NET Web程序。开发的ASP.NET程序被编译成MSIL语言,这种中间语言具有平台无关性,而且,由于ASP.NET页面在执行前会被编译,所以ASP.NET的性能得到了很大的提高。2程序代码与页面内容的成功分离通常的动态网页开发,往往是在一个网页上混合多种脚本语言。比如在HTML脚本语言上可以嵌入JavaScript或VBScript等客户端脚本语言,也可以同时嵌入ASP或JSP等服务器端脚本语言。这种多语言混合的Web开发模式通行已久,但是它的代码可读性很差,程序代码同页面内容混合在一起,程序员要在多种语言的思维上频繁切换,如果程序很复杂的话,这种开发模式非常不利于程序的开发,而且日后的维护也将成为大问题。ASP.NET Web开发技术为程序员提供了一种非常好的开发模式,即Code Behind技术,它通过Web控件将程序代码与页面内容成功分离,从而使ASP.NET的程序结构异常清晰,开发和维护的效率也得到了很大的提高。另外可以利用Visual Studio.NET集成环境下开发ASP.NET应用程序,该环境不仅提供了强大的调试能力,而且还集成了“所见即所得”的HTML编辑器,为开发人员开发Web页提供了方便的图形化支持。3引入服务器端控件在ASP中,可以给页面手动添加HTML控件,对这些控件的响应有两种办法。一种是在客户端的脚本语言中响应用户对这些控件的输入,另一种是把该页面提交给服务器。这两种办法都存在问题,第一种办法产生的问题是不同的浏览器以不同的方式执行客户端脚本语言,我们很难编写在多种浏览器上都能良好运行的复杂的Web页面。第二种办法存在的问题是,如果我们把Web页面重新提交给服务器,那么Internet的无状态特性就会导致页面上存储在变量中的信息丢失,除非我们编写了复杂的代码,把它们存储在HTML元素或URL查询字符串中。ASP.NET通过服务器控件解决了上述问题。服务器端控件会生成发送给浏览器的HTML代码,显示控件,它们还能生成隐藏的HTML元素来存储它们当前的状态。在提交页面时,这些信息就会传送回服务器,控件将自动处理这些信息,改变HTML,显示控件。2.2. C#简介C#是一种简单、现代、面向对象和类型安全的跨平台编程语言,它将作为Visual Studio中的一部分推出。C#(发音为“C-Sharp”)既保持了C+中熟悉的语法,并且还包含了大量的高效代码和面向对象特性。据微软产品经理透露,C#语言将在保持C/C+灵活性的基础上为程序员带来更高效的RAD开发方式。它不仅能用于WEB服务程序的开发,并且还能开发强大的系统级程序。由C和C+发展而来。C#吸取了C和Java语言中的优点,弥补了它们的不足,并且很快被C和C+程序员所熟悉。C#的目标在于把Java的高生产力和C+本身的能力结合起来。C#包含使XML编程更为轻松的技术。微软将使它的下一代工具软件、操作系统和应用支持XML技术。#是由C和C+派生而来的一种“简单、流行、面向对象、类型安全”的程序设计语言,C#意在综合Visual Basic的高效率和C+的强大功能。事实上,C#将是完全依靠Windows的最完美的产物。那些困绕Java SDK, MFC 和SET的数据库已成为过去。你想放入C#的任何东西(无论何种语言),只要在Windows的.NET子系统下建立和包装的都可以使用Windows的运行库。C#语言的优点包括:语法简单、完全的面向对象、消除大量程序错误、与Web开发紧密结合。C#也并非字节码(bytecode)。微软一位员工罗伯特.舒密特详细描述道:“C#编译程序产生的是微软中间语言(MSIL)但虚拟机或其他类似的技术则不能用于解释这种中间语言(IL)。相反地,每当应用程序载入或JIT编译程序需要编译它时,IL就会被转换成本地代码。一旦这种转换完成,可以执行的代码实际上是本地代码。”实质上,虽然这种方案有点像Java程序通过一个JIL编译程序,但这里最终的JIT编译是100%的本地代码,而Java的JIT产生的结果是不同的。2.3. VS.NET 2005简介Visual Studio.NET 2005是Visual Studio.NET 2003的升级版本,它提供了更好的集成开发环境,可高效创建任何类型的.NET应用程序或者组件,Visual Studio.NET 2005默认支持多种编程语言,例如,C#、Visual C+、Visual Basic.NET、Visual J#和Visual Jscript等。Visual Studio.NET 2005还提供了许多新特性,这些新特性能够帮助不同类型的开发人员,快速创建各类应用程序。支持.NET技术应用程序的开发工具越来越多,从简单的记事本,到复杂的Borland C#、Builder、Delphi,甚至于开源工具SharpDevelop,当然还有微软公司的Visual Studio系列等。虽然开发工具很多,但是开发人员都选择了Visual Studio。这主要是由于Visual Studio能够与.NET技术紧密结合,同时,该系列工具提供了很多提高开发效率的功能。尽管.NET是微软一手缔造的,它并不是只能在Windows上使用。微软准备尽力为那些COM对象提供传统帮助(所有的OLE, ActiveX等等在下一代Viual Studio推出后,都将成为一个legacy平台)。但.NET不会围绕COM建造。新平台无疑将补充COM,并与它几乎天衣无缝地配合,但一点也不会依靠COM。这表明这种结构本身能够Macintosh, UNIX. BeOX展开。这样命名,是因为除了CLS构架是平台独立的,C#将用到的和所有遵从CLS的数据库也是平台独立的。也就是说,它们都是遵从CLS的,如果一个本机MSIL编译程序在平台上有效,那么它们能在运行时刻为任何结构进行编译。微软也积极争取被ECMA标准接纳,他们先前的Javascript已被接纳。 当Visual Studio. NET推出时,开发团体肯定会有不同的反应。微软又开发了一个新平台,这已吓倒那些本来对微软平台统治忧心忡忡的人了。然而更重要的是C#或.NET战略不会对原始C+构成太大威胁,那么有理由推论C#和.NET将是Java的有力竞争者。考虑相反方面:Java VM靠翻译字节码来运行应用程序。CLS在运行时刻本机编译。Java平台只支持Java语言。.NET只支持MSIL,但一些无限制的高级语言如C#,Visual Basic,甚至Eiffel和COBOL都能启动MSIL。Java运用执行转接提供真正的OOP技术。MSIL,C#也是如此。在Java平台,简单地移动平级文件,项目就可以展开为产品目录。据说,.NET平台的项目也可轻松展开而不像以registry-happy Com为基础的项目。或许Java平台真正的优势只在于政治上的正确性-它不是微软搞出来的,且目前有成千上万的执着的宗教追随者。2.4. 设计思想本系统采用C#语言,利用面向对象的思想。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。所有面向对象编程语言都支持三个概念:封装、多态性和继承。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法。2.5. 聚类分析聚类分析源于许多研究领域,包括数据挖掘、统计学、机器学、模式识别等。它是数据挖掘中的一个功能,但也能作为一个独立的工具来获得数据分析的情况,概括出每个簇的特点,或者集中注意力对特定的某些簇做进一步的分析。“物以类聚,人以群分”,聚类是人类一项最基本的认识活动。聚类的用途非常广泛。在生物学中,聚类可以辅助动、植物分类方面的研究,以及通过对基因数据的聚类,找出功能相似的基因;在地理信息系统中,聚类可以找出具有相似用途的区域,辅助石油开采;在商业上,聚类可以帮助市场分析人员对消费者的消费记录进行分析,从而概括出每一类消费者的消费模式,实现消费群体的划分。聚类就是将数据对象分组成多个类或簇,划分的原则是在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。与分类不同的是,聚类操作中要划分的类是事先未知的样本,类的形成完全是数据驱动的,属于一种无指导的学习方法。相异度是根据描述对象的属性值来计算的。距离是经常采用的度量方式。聚类分析源于许多研究领域,包括数据挖掘,统计学,生物学,以及机器学习。作为统计学的一个分支,聚类分析已经被广泛的研究了许多年,主要集中在基于距离的聚类分析。基于k-means(k-平均值),k-medoids(k-中心点)和其他一些方法的聚类分析工具已经被加入到许多统计分析软件包或系统中,例如S-Plus,SPSS,以及SAS。取样算法:这种算法只需扫描一遍被取样数据库,而且使用恒定的内存空间,便可以从N个记录中随机取出n个取样记录。其基本思想是:从第N-n+1条记录开始,做下列操作。设当前处理的是第t个记录(n+1tN),u是产生的一个随机数(u0,t-1),若un,则把第u个记录替换成第t个记录。可以证明该算法能够得到均匀的取样结果。确定取样率很重要。为保证聚类质量,取样数据库应该能够有效地代表原数据库。若取样率太低,取样数据库必然会丢失原数据库的某些特质,导致聚类效果失真。在对大规模数据库进行聚类分析时,数据取样是一种常用的提高聚类效率的方法,即对整个数据库进行数据取样,然后对取样数据库进行聚类分析,而对未被取样的数据进行聚类标注。这样,对大规模数据库的聚类分析就转化为对较小规模的取样数据库的聚类分析。由于没有考虑到整个数据库的数据,聚类质量必然会受到影响。但是,只要取样均匀且取样率适当,则取样数据库也可以较好地反映整个数据库状况,从而在保证聚类质量的同时提高聚类效率。与以前的基于取样的聚类算法相比。3. 系统功能设计3.1. 系统设计思想本系统实现教师录入学生的成绩,并且可以查看学生的成绩,也可查看某次考试的班级的学生成绩,并对其中的一部分学生的成绩进行分析,从而得到学生成绩的分布,学生对知识的掌握情况。对学生的成绩进行分析后,可以将经分析后的图打印、输出。具体的模块图如下所示:图3-1 基于聚类分析的学生成绩知识点预测模型的研究与实现的总体模块图学生成绩录入模块是输入模块,主要实现学生成绩的录入。教师选择相应的试卷、学生的学号、班级,逐条录入。聚类分析模块是主要的处理模块,主要是从数据库提取学生的成绩,根据后台已经编辑好的聚类分析算法进行聚类分析,实现对学生成绩的处理。其中针对不同的对象,进行不同的处理,主要是纵向处理和横向的处理。学生成绩的展示模块主要利用水晶报表将学生成绩的浮动用图表的形式展现出来。利用先进的技术、模块化的软件结构,勾画出了系统的逻辑模型。以此为基础,采用结构化设计方法对系统进行设计,在系统的功能结构图的基础上,对各功能模块和数据库进行了详细的设计,为系统的实现打下了坚实的基础。下面主要是对基于聚类分析的学生成绩预测模型的研究与实现进行的详细设计。3.2. 功能结构图本课题分学生成绩录入、聚类分析和学生成绩展示3部分。基于聚类分析的学生成绩预测模型的研究与实现主要完成以下功能:l 学生成绩的查询和录入l 学生成绩的查询l 聚类分析算法;K_meansl 聚类分析的结果用水晶报表的形式展现学生基本信息的管理是基于聚类分析的学生成绩知识点预测模型研究与实现的一个重要的部分。学生基本信息的管理主要是实现学生基本信息的查询,其中主要提供了两种重要的查询,其一是按照学生的学号进行,其二是按照学生的班级进行查询。学生学习成绩的管理,主要实现了两种方式的查询,一种是按照试卷查看学生的考试成绩,另一种是按照学号和试卷,查看相应的某次考试学生的成绩。这两中查询,一定程度上实现了学生成绩的具体查询和对某次考试成绩的整体查询。查询的结果可以反馈给教师,供教师参考,在教学中做出相应的调整。聚类分析模块,主要是利用数据挖掘中聚类的思想,进行算法的设定和实现。其中重点实现了K_means算法,该算法以K为参数,把n个对象分为K个簇,以使簇内具有较高的相似度,而簇间的相似度较低。相似度的计算根据一个簇中对象的平均值来进行。算法首先随机地选择K个对象,每个对象初始地代表了一个簇的平均值或者中心。对剩余的每个对象根据其与各个簇中心的距离,将它付给最近的簇。然后重新计算每个簇的平均值。这个过程不断重复,知道准则函数收敛。学生成绩的展示模块,主要是实现把聚类分析的结果显示出来,其中主要用到了水晶报表,通过自定义数据集,手动的绑定数据集,让分析的结果以柱状图的形式显示出来。其中还重点的实现了分析结果的打印和导出。导出提供了两种方式的导出一种是Word方式,另一种是Excel方式。系统功能图:图3-2 基于聚类分析的学生成绩知识点预测模型的研究与实现的模块图3.3. 详细功能设计基于聚类分析的学生成绩知识点预测模型的研究与实现主要包括以下功能:学生成绩的录入、按学号查询学生信息、按班级查询学生信息、学生成绩查询、试卷成绩查询及成绩展示、聚类分析处理等方面的功能。系统的数据流程图如下:图3-3 基于聚类分析的学生成绩知识点预测模型的研究与实现的流程图3.3.1. 学生成绩录入l 成绩录入的条件限定成绩录入的参数限定主要是对学生成绩的录入进行管理,避免出现成绩的重复录入和成绩为空的情况。当用户选择正确相应学生的学号,班级,则可以进行录入,录入时考虑是第几次考试,实际的语文成绩和数学成绩各是多少。其中每次考试,我定为数据表TestPaper_One、TestPaper_Two、TestPaper_Four等。数据库中的相应的数据表中记录着每次学生的考试情况。本课题做的是对小学的语文和数学成绩的分析和管理,其中重点记录下每次的考试成绩。在录入成绩的过程中,若不选择“第几次考试”,则弹出提示,提示用户选择;若学生的学号不符合规格,则提示输入正确的学号;若班级的选择和学生的学号对应不起来,则提示选择正确的班级;其中的语文和数学的成绩不能为空,为空的话,则成绩的录入出错,提示录入学生的相应的语文和数学成绩。当此学生的成绩已经成功的录入后,若再词录入学生的成绩,则提示此学生的成绩已经成功的录入.l 更新程序管理当有成绩录入数据库后,数据库中的数据信息进行更新,再一次的查询将是最新的结果,管理员更新了学生的基本信息和成绩后,可以进行相应的查看和对部分信息的管理。在录入的过程中,客户端更新程序的描述。当客户端程序运行时,可以进行学生成绩的录入和校验。3.3.2. 学生信息查询学生信息的查询主要是按学号查询学生信息和按班级查询学生信息。学生的信息主要包括:学号、姓名、所在班级、出生年月日、年龄和家庭住址。学生的信息是从小学校的学生中随机的获取的一部分数据样本,主要是针对小学一年级和二年级的学生,将部分的样本进行入库的处理。l 按学号查询学生信息学生信息成功的录入以后,可以对学生的信息进行相应的查询和改动。按学号查询学生的信息,实现了对数据库中的学生信息的提取,通过与数据库进行手动的连接,定义查询语句,通过DataSet数据集的中间存储,后用GridView控件,将查询的结果显示出来。重点实现了学生信息的查看。l 按班级查询学生的信息选择班级,查询本班级中的学生的基本信息。这一部分的学生信息,其提取的方式和按学号查询学生信息基本一样,主要是为教师提供一些具体的学生的情况,有助于教师掌握班级的整体的学生的基本信息,可以为教师做一些有利于教学的改动提供相应的参考和帮助。图3-4 学生信息查询流程图3.3.3. 学生成绩查询学生的成绩成功的录入以后,就可以对学生的成绩进行查询。学生成绩的查询也可以分为许多种,其中重点实现了两种,一种是通过学号和第几次测试查询学生的成绩,另一种是选择试卷查询参加考试的所有的学生的成绩。l 通过学号和第几次测试查询学生成绩其中通过学号和第几次测试查询学生的成绩,主要实现了具体的某位学生的成绩的查询。实现这种查询的前提是要知道该学生的学号和查询的是第几次测试,只有这样才能查询具体的某位学生的某次的考试成绩。l 通过选择试卷查询学生成绩整体的把握学生的考试成绩是通过选择第几次测试查询学生的成绩。这种查询中只需要知道是第几次测试,选择相应的测试就可以查询学生的成绩。这种查询的方式有利于教师整体上把握学生的成绩,尤其是某次测试的学生的考试成绩一旦学生的成绩录入,即学生的成绩在学生数据库中存在以后,就可以对学生的成绩进行必要的查询,其中查询的方式根据需要选择。学生成绩管理主要是对学生的成绩进行管理,为了规范其管理,使其查询更有效。在代码中实现了代码,有效的实现了查询功能,其中灵活地实现了对数据库的操作,对数据集的访问和GridView的数据显示。学生成绩查询流程图:图3-5 学生成绩查询流程图3.3.4. 聚类分析处理这个功能的设计主要是对学生的成绩进行聚类的分析和研究,其中重点应用了数据挖掘中聚类分析的思想,根据客户端提供的不同的参数,选择K_means算法完成对学生成绩的分析。K_means算法,也被称为K-均值,是一种得到最广泛使用的聚类算法,K-平均算法以K为参数,把n个对象分为k个簇,以使簇内具有较高的相似度,而簇间的相似度较低。相似度的计算根据一个簇中对象的平均值来进行。算法首先随机的选择k个对象,每个对象初始的代表了一个簇的平均值或者中心。对剩余的每个对象根据其与各个簇中心的距离,将它赋给最近的簇。然后重新计算每个簇的平均值。这个过程不断重复,知道准则函数收敛。准则如下:这里的E是数据库所有对象的平均误差的总和,x是空间中的点,表示给定的数据对象, 是簇Ci的平均值。这个准则试图使生成的结果簇尽可能的紧凑和独立。l 算法描述输入:簇的数目k和包含n个对象的数据库输出:k个簇,使平方误差准则最小(1) Assign initial value for means; /任意选择k个对象作为初始的簇中心(2) Repeat;(3) For j=0 to n do assign each xj to the cluster which has the closest mean; /根据簇中对象的平均值,将每个对象赋给最类似的簇(4) For i=0 to k do /新簇的平均值,即计算每个对象簇中对象的平均值(5) Compute /计算准则函数E(6) Until E不再发生明显变化聚类分析算法的流程如下图所示图3-6 聚类分析流程图l 算法的性能分析(1) 优点K-平均算法是解决聚类分析的一种经典算法,这种算法简单、快速。对处理大数据集,该算法是相对课伸缩的和高效率的,应为它的复杂度是O(n.k.t),其中n是所有对象的数目,k是簇的数目,t是迭代的次数。通常地,kn,且tn。这个算法经常以局部最优结束。算法尝试找出使平均误差函数值最小的k个划分。当结果是密集的,而簇与簇之间区别明显时,它的效果较好。(2) 缺点K-平均算法只有在簇的平均值被定义的情况下才能使用。这可能不适用某些应用,例如涉及有分类属性的数据。该算法要求用户必需事先给出k(要求生成的簇的数目),可以算是该方法的一个缺点,而且对初始值敏感,对于不同的初始值,可能会导致不同的聚类结果。该算法不适用于发现非凸面形状的簇,或者大小差别很大的簇。而且它对于“噪声”和孤立点数据是敏感的,少量的该类数据能够对平均值产生极大的影响。(3) 改进措施为实现对离散数据的快速聚类,K-模算法被提出,它在保留了K-平均算法的效率的同时,将K-平均算法的应用扩大到离散数据。K-原型可以对离散和数值属性两种混合的数据进行聚类,在K-原型中定义了一个对数值与离散属性都计算的相异性度量标准。k-平均算法对孤立点是敏感的,为了解决这个问题,不采用簇中的平均值作为参照点,可以选用簇中最位置最靠近中心点的对象,即中心点作为参照点。K-中心点算法的基本思路:首先为每个簇任意选择一个代表对象;剩余的对象根据其与代表对象的距离分配给最近的一个簇;然后反复地用非代表对象代替代表对象,以改进聚类的质量。这样划分方法仍然是基于最小化所有对象与其参照点之间的相异度之和的原则来执行的。3.3.5. 聚类分析结果的打印和导出这个功能主要提供了分析结果的打印和导出。聚类分析的结果是以报表的形式表现出来,针对不同的试卷,不同的算法分析的参数将产生不同的分析结果。其中结果的表现通过第三方组件水晶报表展示,主要应用了Push方式手动的连接数据库,并组装DataSet,同时将它传送至报表。在这种情况下通过使用连接和限定记录集合的大小,可以使报表的性能更大化。分析结果提供了两种不同的导出格式:一种是Word电子文档的形式导出,另一种是以Excel的形式导出。导出为:c:/output.DOC或者c:/output.XLS。4. 数据设计学生成绩录入、学生信息管理、学生成查询和针对学生成绩的聚类分析通过内置浏览器访问的形式来实现。具体到每个功能一个页面,从菜单上选择功能后直接进入相关页面。基于聚类分析的学生成绩知识点预测模型的研究与实现的数据库为:Student,使用本地的数据库:local.mdb,保存所有本地信息。4.1. 数据定义规范数据库每个表都要定义主键;除特殊情况外主键必须是整数;自增整数为Serial表示。l 数据表名字以英文命名,首字母大写l 视图定义为:view_视图名。l 存储过程定义:proc_过程名4.2. 数据字典注:具体每个表如何处理,下面有3个方案。l DM表统统为常量代码表。l 如果该表具有导入功能,那么在每一个表中增加一个自增字段,该字段仅为代码生成器服务。l 对应的代码长度在程序中均要控制,如果不够那么前面用字符0补齐。l 如果其它表用到对应的所属关系,均用代码这个字段,而不用对应的自增字段。l 统一都用整数,在导入其它表时直接将信息转成整型。4.2.1. 班级表:Class_Information表4-1 班级表字段名类型(长度)主键、外键默认值说明Class_IdcharPK班级代码(默认4位)Class_Namechar(10)班级名称Class_Teacherchar(10)班主任Beizhuchar(50)Null备注注:此表的程序界面无需显示,其中0101代表小学一年级一班,0202代表小学二年级二班。 4.2.2. 学生信息表:Stu_Information表4-2 学生信息表字段名类型(长度)主键、外键默认值说明Stu_Nochar(10)Pk学生学号Stu_Namechar(10)学生姓名Stu_Classchar(10)所属班级代号Stu_Birthdatatime(8)学生的出生年月日Stu_Ageint学生的年龄Stu_AddressVchar(50)学生的家庭住址Stu_BeizhuVchar(50)Null备注4.2.3. 教师信息表:Tea_Information表4-3教师信息表字段名类型(长度)主键、外键默认值说明Tea_Nochar(10)Pk教师代号Tea_Namechar(10)教师姓名Tea_Postchar(10)教师职位Tea_Ageint教师年龄Tea_Telchar(12)教师联系电话Tea_Emailchar(20)教师电子邮箱Tea_AddressVchar(50)教师家庭住址Tea_BeizhuVchar(50)Null备注4.2.4. 试卷一表:Teatpaper_One表4-5试卷一表字段名类型(长度)主键、外键默认值说明Stu_Nochar(10)PK学生学号Stu_Classchar(10)班级代号Stu_ChineseInt语文成绩Stu_MathInt数学成绩4.2.5. 试卷二表:TestPaper_Two表4-6试卷二表字段名类型(长度)主键、外键默认值说明Stu_Nochar(10)PK学生学号Stu_Classchar(10)班级代号Stu_ChineseInt语文成绩Stu_MathInt数学成绩4.2.6. 试卷三表TestPaper_Three表4-7试卷三表字段名类型(长度)主键、外键默认值说明Stu_Nochar(10)PK学生学号Stu_Classchar(10)班级代号Stu_ChineseInt语文成绩Stu_MathInt数学成绩4.2.7. 试卷四表TestPaper_Four表4-8试卷四表字段名类型(长度)主键、外键默认值说明Stu_Nochar(10)PK学生学号Stu_Classchar(10)班级代号Stu_ChineseInt语文成绩Stu_MathInt数学成绩4.2.8. 考试类型表:Test表4-16考试类型表字段名类型(长度)主键、外键默认值说明Test_NoChar(10)PK考试代码Test_TypeChar(10)考试类型Test_BeizhuVarchar(50)Null备注5. 界面设计本系统为直观起见,尽量使得用户对所选定的信息显示在同一窗口中,使用户一目了然;用户可以通过提示单击窗口中一条信息使其具体显示。同时,本系统总的色调为浅色,界面设计简单、明朗和快捷。5.1. 学生成绩录入模块登录后首页即自动显示菜单栏包括学生成绩录入、按学号查询学生信息、按班级查询学生信息、学生成绩查询、试卷成绩查询及成绩展示、聚类分析处理的页面。客户端程序启动后,教师可以对学生的成绩进行录入,其中对录入的成绩又一定的限制,主要表现为学生学号的规范正确、学生成绩不可以重复的录入、录入的学生成绩不能为空,录入的学生成绩不能超过100分等。图5-1 学生成绩录入界面当成功录入学生成绩后,系统会给出如下提示:如下图图5-2 学生成绩录入成功界面当重复录入学生的成绩是会提示“此学生的成绩已经录入!”。图5-3 学生成绩重复录入界面5.2. 学生信息查询学生信息查询主要提供了两种方式的查询:一种是按学号查询学生信息,另一种是按班级查询学生信息。5.2.1. 按学号查询学生信息按学号查询学生的信息,只要正确输入学生的学号,就可以查询出学生具体信息。下图是查询的界面:图5-4 按学号查询学生信息界面5.2.2. 按班级查询学生信息按班级查询学生信息,只要选择相应的班级,就可以执行相应的班级学生信息的查询。下图是其查询的界面:图5-5 按班级查询学生信息界面5.3. 成绩查询学生成绩查询主要分为两个方面的查询。其一是学生具体成绩的查询,另一种是试卷成绩的查询。学生成绩查询,可以为教师提供有利的参考,帮助教师及时的掌握学生的学习情况和学生的学习状态,在保证教学质量的同时,让老师更好的掌握学生的学习动态。5.3.1. 学生具体成绩查询学生具体成绩查询的条件是:正确的输入学号,选择对应的某次测试。下面是执行查询时的界面:图5-6 学生成绩查询界面5.3.2. 试卷成绩查询学生每次的考试成绩,都记入相应的试卷中。对于整体上把握学生的成绩,采用试卷查询的方式比较合适。下图为试卷成绩查询的界面:图5-7 试卷成绩查询界面5.4. 聚类分析处理进行聚类分析处理是本课题的重点,也是其中的一个亮点,其中进行的处理吸收和借鉴了针对大数据量的样本就行分析的一些技巧和方法,基本上实现了对学生成绩的辨析和聚类。分析的结果,在一定的程度上给教师提供了辅助和参考。在分析处理的过程中,重点实现了K_means算法,其算法就是用类内的均值作为聚类中心,用欧式距离定义d并使W(C)最小化来搜索测试值x在欧式空间中的聚类C。5.4.1. 进入聚类分析聚类分析界面提供了进行聚类分析所需要的参数的接受。其中主要包括试卷的选择、簇的数目k和要确定的初始的样本数据。下面就是进入聚类分析的界面:图5-8 进入聚类分析界面5.4.2. 聚类分析当算法接收到正确的参数后,点击“进行聚类分析”,则转到新页面。通过水晶报表和GridView展示分析后的结果。其中新形成的簇通过柱状图的形式表现,可以很清晰的掌握分析后的结果,也可以很清晰的知道参与分析的学生成绩的样本数。下面就是一种分析后的结果的展示界面:图5-8聚类分析结果展示界面其中,也重点的实现了报表的打印和导出。本课题提供了两种形式的导出:一种是Word格式,另一种是Excel格式。下面就是导出Excel的界面:图5-9水晶报表以Excel格式导出界面 参考文献1 陈冠军. 精通ASP.NET 2.0典型模块设计与实现M.北京:人民邮电出版社,2007.2.2 李玉林,王岩. ASP.NET 2.0网络编程从入门到精通M. 北京:清华大学出版社,2006.9.3 伊格. 动态网页制作Javascript(修订版)M. 上海:上海交通大学出版社, 2002.1.4 王征. JavaScript网页特效实例大全M. 北京:清华大学出版社, 2006.9.5 谈冉,陈巍,薛胜军. 设计模式在典型.NET三层架构WEB程序中的应用J. 武汉理工大学学报,30(2):344-346,2006.4.6 龚赤兵. ASP.NET 2.0网站开发实例教程M.北京:人民邮电出版社,2006.7.7 翁健红. 基于c#的ASP.NET程序设计M.北京:机械工业出版社,2007.2.8 金雪云,焦桂英. ASP.NET高级开发技术与范例M. 北京:电子工业出版社, 2002.7.9 江红. 基于.NET的Web数据库开发技术实践教程M. 北京:清华大学出版社, 2007.4.10 (美)John Kauffman. ASP.NET数据库入门经典. 康博译. 北京:清华大学出版社, 2002.10. 11 章立民. 用实例学 Crystal Report for Visual Studio.NETM. 北京:电子工业出版社, 2004.1.12 施伟伟,王敬栋. ASP.NET 2.0数据库通用模块开发与系统移植M. 北京:清华大学出版社, 2007.5.13 Bill Evjen,Scott,Hanselman,Farhan Muhammad,S.Srinivasa Sivakumar.Professional ASP.NET 2.0M. New York:Wrox, 2005.11. 14 Shawn Wildermuth. Pragmatic ADO.NET:Data Access for the Internet WorldM. Boston:Addison Wesley, 2002.3.15 Charles Petzold. Programming Microsoft Windows with C#M. Redmond:Microsoft Press, 2001.12.16 Scott Mclean. Microsoft.NET RemotingM.Redmond:Microsoft Press, 2002.10.附 录聚类分析中的部分代码using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;us
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海房地产买卖合同模板
- 2025宠物猫买卖合同范本
- 工地水管出租合同范本
- 景区摊位出租合同范本
- 塔吊机司机合同范本
- 电脑升级合同范本格式
- 生产顾问聘用合同范本
- 全季酒店合同范本
- 2025标准土地转让合同模板
- 临沂代课教师合同范本
- TSG+11-2020锅炉安全技术规程
- 从高考改卷谈对物理教学的几点启示
- DB32-T 4757-2024 连栋塑料薄膜温室建造技术规范
- 项目成本核算表模板
- 2024新版实习律师协议
- 2024辅警考试公基模拟220题及答案解析
- 县乡教师选调进城考试《教育心理学》题库含完整答案【全优】
- 营销优化策略研究方法
- 某中央空调机房拆除施工方案
- 《儿童孟氏骨折》课件
- 《保障农民工工资支付条例》宣传册
评论
0/150
提交评论