基于数据挖掘技术的学生成绩分析系统_第1页
基于数据挖掘技术的学生成绩分析系统_第2页
基于数据挖掘技术的学生成绩分析系统_第3页
基于数据挖掘技术的学生成绩分析系统_第4页
基于数据挖掘技术的学生成绩分析系统_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本本 科科 毕毕 业业 设设 计(论文)计(论文) 题目题目: : 基于数据挖掘技术的学生成绩分析系统的设计与实现基于数据挖掘技术的学生成绩分析系统的设计与实现 姓姓 名名 张宇恒张宇恒 学学 院院 软件学院软件学院 专专 业业 软件工程软件工程 班班 级级 2010211503 学学 号号 10212099 班内序号班内序号 01 指导教师指导教师 牛琨牛琨 2014 年年 5 月月基于数据挖掘技术的学生成绩分析系统的设计与实现基于数据挖掘技术的学生成绩分析系统的设计与实现摘摘 要要随着科技的不断发展和中国教育制度的日趋完善,各大高校对教务管理工作提出了越来越高的要求。各大高校不再满足于传统

2、的成绩管理方式,开始运用数据挖掘领域的先进方法对学生成绩进行分析和研究。教务工作人员使用关联规则挖掘算法分析课程间的内在联系,可为学校的改进教学工作提供依据,并为学生的选课和学业规划提供指导;对学生进行分类,让学生能够对自己在校期间所学课程的成绩有一个全面而清晰的了解,方便学生扬长避短选择选修课程,及时对可能在学习上遇到困难的学生进行预警;运用聚类算法对学生进行聚类,找出具有共同特征的学生,并对不同学生群体分别采取不同的教学方法,初步体现因材施教的教育理念,最终探索出适合中国国情和教育制度的个性化培养模式。本系统采用 Eclipse 作为开发平台,以 Java 作为开发语言。通过对高校学生成绩

3、分析系统的需求分析,本系统设计实现了可以使用关联规则挖掘算法分析课程间的内在联系,使用分类算法对学生进行分类,使用聚类算法对学生进行聚类。希望本系统能对今后高校学生成绩分析系统的开发提供一定的参考价值。关键词关键词 成绩分析 关联规则 分类 聚类Design and implementation of student achievement analysis system based on data mining technologyABSTRACTWith the continuous development of technology and the Chinese education s

4、ystem maturing, Universities have put higher requirements to their academic administration. Universities are no longer satisfied with traditional performance management, began to apply advanced data mining methods to analyze and study students achievement. Staff of academic affairs use association r

5、ule mining algorithm to analysis intrinsic link between courses, which can provide the basis for improving the teaching of the school and guidance for the students enrollment and academic planning. Using classification algorithm to classify the students, so that students can have a clear understandi

6、ng in their academic performance, and facilitate students in selecting courses. Warning students who probably face difficulties in the academic. Using clustering algorithm to cluster the students to identify students with common characteristics, so that teachers can teach different students in diffe

7、rent way, embodies the concept of individualized education, finally discover a personalized education model, which is suitable for Chinas national conditions and education system.The system was developed in Eclipse, with java as a development language. By analyzing the need of student achievement an

8、alysis system, this system uses association rule mining algorithm to analysis intrinsic link between courses, uses classification algorithm to classify the students, uses clustering algorithm to cluster the students to identify students. I hope this system can provide some reference value to the fut

9、ure development of college students achievement analysis system.KEY WORDS achievement analysis association rules classification clusteringI目录目录第一章第一章 引言引言.11.1 选题的背景和意义 .11.2 个性化培养的重要意义 .11.3 国内外个性化培养的现状 .21.3.1 国外个性化培养现状 .21.3.2 国内个性化培养现状 .31.4 成绩分析系统的现状和存在的问题 .31.4.1 成绩分析系统开发使用的现状 .31.4.2 成绩分析系统建设

10、存在的问题 .4第二章第二章 相关技术相关技术.42.1 相关数据挖掘知识理论 .42.1.1 数据挖掘 .42.1.2 关联规则 .52.1.3 分类 .62.1.4 聚类 .62.2 开发工具的选择 .72.2.1 Eclipse 简介.72.2.2 Eclipse 的优势.7第三章第三章 系统分析系统分析.83.1 软件过程模型 .83.2 需求分析 .93.2.1 用例图 .93.2.2 需求的结构化描述 .10第四章第四章 系统设计与实现系统设计与实现.144.1 系统概要设计 .144.1.1 系统体系结构 .144.1.2 系统数据结构 .154.2 系统详细设计 .164.2.

11、1 文件导入数据 .164.2.2 数据预处理 .164.2.3 关联规则 .184.2.4 分类 .194.2.5 聚类 .204.2.6 导出文件 .224.3 系统实现 .234.3.1 文件导入数据 .234.3.2 数据预处理 .234.3.3 关联规则 .234.3.4 分类 .24II4.3.5 聚类 .244.3.6 导出文件 .254.4 系统应用 .26第五章第五章 结论结论.30参考文献参考文献.31致致 谢谢.32北京邮电大学本科毕业设计(论文)1第一章第一章 引言引言1.11.1 选题的背景和意义选题的背景和意义进入新世纪以来,我国的高等教育事业正在快速发展,各个领域

12、的重大科研成果不断涌现,各知名院校的国际排名和知名度也不断攀升。然而在这些光鲜靓丽的学术成果之下,各大高校对学生的管理工作却并没有跟上时代的步伐。其实对于给大高校来说,学生的考试成绩是一笔非常宝贵的财富。学生的成绩是反映学校教学水平的最直接的第一手资料,这些数据可以为学校改进招生和教学工作提供重要依据。然而,学生成绩的管理工作并没有引起高校足够的重视,尤其是在对学生成绩的分析处理方面,绝大部分高校还停留在较为原始的数据库管理和查询阶段,没有对学生的成绩进行横向和纵向的对比研究,也缺乏对各学科之间成绩内在联系的挖掘。学科成绩间的内在联系是广泛存在于各个专业的各门课程中的,学科成绩间内在联系的分析

13、和研究对对学生和学校都有着十分重要的意义。通过了解学科成绩间存在的内在联系,学生可以清楚地认识到基础课程、先导课程的重要性,并且在选择选修课的时候,做到扬长避短,通过更多地选择与自己优势课程成绩正相关的课程来帮助提高成绩。而对于学校来说,分析学科成绩间的内在联系可以为各个专业的课程设置提供重要的参考依据。在教务工作人员进行排课工作时,可参考对往届学生成绩的分析结果来调整课程的排布顺序,达到不断优化课程设置的目的。个性化培养和发展是当今高等教育发展的主流方向,以往填鸭式、工厂式的教学方式已经被先进的教育理念所替代,而中国教育制度中流水线式的培养模式一直是一个被广泛诟病、急需解决的问题。在这一方面

14、,我们可以借鉴发达国家的先进经验,结合我国高等教育发展现状,探索并逐步建立由中国特色的、适合我国国情的个性化培养体系。目前可以通过对学生的成绩进行挖掘和分析,对学生进行分群,为具有一定共同特征的学生制定个性化培养方案。基于上述情况,本题目以完善高校培养制度和制定学生个性化培养方案为背景,通过运用数据挖掘及相关专业技术,设计并实现学生成绩分析系统。1.21.2 个性化培养的重要意义个性化培养的重要意义个性化培养其实并不是一个新颖的概念,2000多年前,我国著名教育家孔子就提出了因材施教的教育理念,并且身体力行地用因材施教的方法教育自己的弟子。在2000多年后的今天,多元化人才培养是高等教育发展的

15、必然趋势。个性化培养不仅是实现多元化人才培养最重要的方式,更是我国建立创新型国家战略对高等教育提出的北京邮电大学本科毕业设计(论文)2必然需求。只有摒弃传统的流水线式培养模式,在高等院校中全面推行个性化培养,我国高等教育才能真正完成人才培养方式的革命。(1)个性化培养是高等教育发展的现实需要个性化教育,是社会对大学生的预期变化的结果。在当今时代,社会要求每个人都能发挥自己独特而不可替代的作用,教育的使命也悄然转变为激发每一名学生的内在潜能。在高等院校推行个性化教育是中国高等教育的发展方向,更是世界大多数国家的共识。随着大学的扩招,原本曲高和寡的高等教育已经走进了普罗大众的生活。但是大众化的高等

16、教育不等于流水线式的培养,相反普及高等教育的意义正在于让更多的人进入大学,按照自己的兴趣和自身特点选择专业进行学习,成为独特的人才。(2)个性化培养是创新型国家战略的必然要求2006 年,国家制定了建设创新型国家的重大决策。增强自主创新能力是建设创新型国家战略中最重要的一环,而作为高端人才培养基地的众多高等院校毫无疑问成为了自主创新的排头兵。受制于特殊的国情和几千年的科举传统,我国目前的教育模式仍然是以死记硬背为主要学习手段,以分数作为评价学生优劣的主要甚至是唯一标准。在这种教育模式中培养出来的学生中,相当一部分是与社会脱节的、毫无创新能力可言的“考试机器”。现有的人才培养模式明显滞后于经济社

17、会的发展,更是与建设创新型国家战略相违背的。只有立即转变人才培养模式,真正实现以人为本的个性化培养,才能使高等院校成为培养创新型人才的土壤。因此,以培养多元化人才为主导的个性化培养模式是我国高等教育发展的必然趋势。1.31.3 国内外个性化培养的现状国内外个性化培养的现状1.3.11.3.1 国外个性化培养现状国外个性化培养现状随着高等教育的不断发展,在发达国家学生个性化发展的理念已经深入人心。其中高等教育最为发达同时也是中国留学生首选目的地的美国毫无疑问走在了世界的前列。以常青藤联盟为代表的美国知名大学在新生录取时并不会给新生确定专业,而是根据学生的意愿将学生分进不同的基础学院,允许学生在学

18、院内自由地选择课程。在完成一到两年的基础学习后,学生可以根据所学的课程和个人兴趣爱好自由选择自己的专业。这是一种非常人性化的人才培养模式。学生在入学时往往对自己所选择的专业并不十分了解,有的甚至是一无所知,仅凭一时兴起做出了选择。在这种情况下确定学生的专业显然不是最合理选择的。当学生完成了一段时间的学习后,无论是对所学的专业,还是对自身的学术能力和兴趣爱好都有了一个更深层次的认识。在这个时候学生对专业的选择往往会更加理性,这无论对学生还是对学校来说都是大有裨益的。北京邮电大学本科毕业设计(论文)3而国际知名的布朗大学更是敢为天下先地取消了必修课制度,学生可以完全根据自己的兴趣选择学校提供的任何

19、课程,修满学校要求的学分后即可毕业。学校根据学生选择的课程来给学生颁发不同专业的毕业证书。布朗大学认为:没有人会告诉学生应该上什么课或怎样做,只要有兴趣,学生可以自由的发展。但是这种教学模式一度受到了美国教育界的广泛非议。相比布朗大学,其他常青藤盟校显得保守了许多,或是设置了一些必修课,或是对学生可以选择的课程做出了一系列规定,总而言之,布朗大学超前的教育理念并没有被其他大学所广泛接受。1.3.21.3.2 国内个性化培养现状国内个性化培养现状国内的高等院校仍然遵循着传统的人才培养模式,在当今的时代中已经暴露出了诸如学科专业结构的设置缺乏整体思考、缺少系统设计;课程体系不够综合、开设比例不够合

20、理;考核评价体系知识记忆、轻创新实践等方面的问题。在高校中探索并发展个性化培养模式已经成为了绝大多数教育界人士的共识。相比较国外已经比较成熟的个性化培养方案而言,国内的个性化培养方案尚处在起步摸索阶段,绝大多数国内高校的课程设置都已必修课程为主,辅以少量与专业相关的选修课程供学生选择,离真正的个性化培养还有比较大的差距。学生的专业也都是在招生是就已经确定了,为学生提供的更改专业的机会也比较少,与高等教育比较发达的国家还有较大差距。1.41.4 成绩分析系统的现状和存在的问题成绩分析系统的现状和存在的问题1.4.11.4.1 成绩分析系统开发使用的现状成绩分析系统开发使用的现状对于高校来说,教务

21、管理是他的核心工作之一,而成绩分析能力的高低是衡量教务管理水平的一个关键指标。教务管理的水平对高校教学水平的进步和发展有着至关重要的意义。在当今社会,随着教育改革的逐步深入,和科学技术的发展 社会对高校的成绩分析管理提出了许多新的要求, “规范化、信息化、网络化”是学校教学管理的必然选择。建立并应用一套优秀的成绩分析系统是提升教务管理水平的关键所在。目前,各高校普遍建立了教务信息管理系统,其中很多高校还根据自身需求建有成绩分析系统。此类系统一般采用关系型数据模型, 数据库中主要包括学生的姓名、学号、专业、考试成绩的个人信息。而每个信息又与其它信息相关联,形成了庞大的、涵盖整个教务管理过程的数据

22、信息网。教务管理信息系统实现了教务信息的集中管理、分散操作、信息共享,使传统的教务管理向数字化、无纸化、智能化、综合化及多元化的方向发展。借助现代信息技术,不同形式的成绩分析系统正在利用网络优势实现资源的共享、权限的信息录入、查询及修改等,改变了传统教务管理模式下信息数据北京邮电大学本科毕业设计(论文)4层层传达及存储的模式,提高了信息的实效性,实现了真正意义上的信息交换与互动。1.4.21.4.2 成绩分析系统建设存在的问题成绩分析系统建设存在的问题然而需要正视的是,我国高校的学生成绩分析系统仍然存在着一定问题,主要表现在:(1) 功能需求不明确,设计不尽完善各所高校间教务管理的流程有所不同

23、,教务管理人员如何根据自身学校的特点建立成绩分析系统是一个具有普遍性问题。目前建成的成绩分析系统,大多都没有严格遵循软件项目开发流程,对功能需求的分析做的不够彻底,设计也不够完善,难以达到理想的效果。其中一个最主要的原因是使用者和设计者没能进行充分的沟通,设计人员对教务管理流程并不熟悉,和教学效果体现的理解也不透彻,使得现今的成绩分析系统大多不尽如人意。(2) 没有运用数据挖掘技术对成绩进行分析当今大部分高校对学生成绩管理的理解还停留在较为原始的数据库管理和查询阶段,对学生成绩的分析多以简单地求平均分、中位数、计算方差和标准差、统计优秀率及格率等方式进行。对于很多教务工作者来说,数据挖掘技术是

24、一个更多的运用在商业领域的、离教务管理很遥远的东西。其实在美国等发达国家,数据挖掘技术早已走进了教务工作,成为了教务工作人员对学生成绩进行分析的重要手段。有一些名校甚至拥有一支数据挖掘技术方面的专业团队来对学生成绩进行分析。这些专业的分析结果不仅为学校改进教学工作提供了重要的参考依据,也为学生选择选修课和今后的发展方向提供了极大的便利。第二章第二章 相关技术相关技术2.12.1 相关数据挖掘知识理论相关数据挖掘知识理论2.1.12.1.1 数据挖掘数据挖掘数据挖掘(Data mining),又译为资料探勘、数据采矿。它是数据库知识发现(Knowledge-Discovery in Databa

25、ses, KDD)中的一个步骤。数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,北京邮电大学本科毕业设计(论文)5并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。数据挖掘是目前人工智能技术和数据库领域的研究前沿。数据挖掘是指从海量数据中发现出隐含在表象之下的、不为人所知的并有一定价值的信息的过程。数据挖掘的实质是一种决策支持过程,它主要基于人工智能、模式识别、统计学等相关技术,分析规模庞大的数据,从中找出某种规律并做出归纳性的推理,帮助决策者提高决策的准确性。数据准备、寻找规律和规律表

26、示是数据挖掘的三个基本步骤。数据准备是指从数据源中选取相关的数据并生成可用于数据挖掘工作的数据集;寻找规律是指通过一定方法将数据集中所隐含的规律挖掘出来;规律表示是指以用户容易理解的方式(尤其是那些并不熟悉数据挖掘技术的用户)将挖掘出的规律呈现给用户。数据挖掘有填补缺失值,过滤噪声点、关联规则挖掘、分类、聚类、异常分析等任务。近年来,“大数据”成为了一个非常流行的词汇,这意味着数据挖掘技术已经进入了我们生活的方方面面。这其中最为主要的原因是我们身处在信息爆炸的时代,全世界每天产生的信息都以指数级增长,我们每天所接触的信息甚至超过几百年前一个人一生所能接触到的信息的总和。如果不对数据进行处理,如

27、此海量的数据对于人类来说就是电子垃圾。通过数据挖掘技术,人们可以将原本无法处理的海量数据转变为有用且有限的信息和知识,充分发挥信息的价值。2.1.22.1.2 关联规则关联规则关联规则是指大量数据中项集之间有趣的关联或相关联系。如果两项或多项属性之间存在关联,那么其中一项的属性就可以依据其他属性值进行预测。关联规则挖掘在数据挖掘中是一个重要的研究课题,一直是业界的研究热点。“啤酒与尿布”的故事是对关联规则挖掘的生动阐释。世界著名的沃尔玛超市在一次对原始销售数据的分析中意外发现:和尿布一起销售最多的商品竟然是啤酒!按照人们的常规思维,和尿布一起销售的应该是奶粉奶瓶一类的婴儿用品,尿布和啤酒可谓风

28、马牛不相及。但沃尔玛超市的工作人员在运用数据挖掘技术对销售信息进行分析后,成功揭示了 “啤酒与尿布”的内在联系:在美国,很多男士下班之后经常要遵照太太的指示去超市去给孩子购买尿布。而他们其中三到四成的人会在同时为自己购买一些啤酒。若不是借助了数据挖掘技术,很难想象沃尔玛能够在海量的销售信息中发现这一规律。Apriori 算法是一种应用最为广泛的统计关联规则频繁项集的算法,其核心是基于两阶段频集思想的递归算法。在 Apriori 算法中,所有大于最小支持度的集都称为频繁项集。该算法的基本思想是:首先找出所有的频繁项集,然后由频繁项集产生强关联北京邮电大学本科毕业设计(论文)6规则,而这些规则必须

29、同时满足最小支持度和最小置信度。由于采用了递归的方法,Apriori 算法有两个主要的缺点:会产生大量的候选集,以及需要对数据进行多次扫描。在数据量大于一定规模时,Apriori 算法的时间复杂度会比较惊人。2.1.32.1.3 分类分类分类是一种重要的数据分析形式,它提取刻画重要的数据类的模型。这种模型称为分类器,预测分类的类标号。分类可用于预测,从历史数据记录中自动推导出给定数据的推广描述,从而对未来的数据进行类预测。分类具有广泛的应用,例如医疗诊断、信用卡系统的信用分级、图像模式识别等。决策树算法是一种非常典型的算法。在决策树算法中,首先要对数据进行处理,生成可读的规则和决策树,然后使用

30、决策对其他数据进行分析和判断。从本质上说,决策树算法是通过一系列规则对数据进行分类的过程。决策树算法在 20 世纪 60 年代被首次提出,到了 70 年代末,J Ross Quinlan 提出了 ID3 算法,此算法的目的在于减少树的深度,但是忽略了叶子数目的研究。C4.5 算法是其改进算法,在缺值处理、剪枝技术和派生规则等方面作了较大改进。使其既适用于分类问题,又适用于回归问题。构造的决策树是否精度足够高、规模足够小是评价一个决策树算法是否优秀的关键标准。决策树构造可以分为两个步骤。首先是由训练样本集生成决策树的过程。在大多数情况下,训练样本数据集是根据实际需要有历史的、有一定综合程度的,用

31、于数据分析处理的数据集。然后是对决策树的剪枝,其本质是对决策树进行检验和校正的过程,主要方法是用新数据校验决策树生成过程中得出的规则,并将影响准确性的分枝剪除。2.1.42.1.4 聚类聚类将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非

32、常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。K-means 算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。k 个初始类聚类中心点的选取对聚类北京邮电大学本科毕业设计(论文)7结果具有较大的影响,因为在该算法第一步中是随机的选取任意 k 个对象作为初始聚类的中心,初始地代表一个簇。该算法在每次迭代中对数据集中剩余的每个对象,根据其与各个簇中心的距离将每个对象重新赋给最近的簇。当考察完所有数据对象后,一次迭代运算完成,新

33、的聚类中心被计算出来。如果在一次迭代前后,J 的值没有发生变化,说明算法已经收敛。DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。DBSCAN 需要二个参数: 扫描半径和最小包含点数。 任选一个未被访问的点开始,找出与其距离在最小半径之内的所有附近点。如果 附近点的数量大于等于最小包含点数,则当前点与其附近点形成一个簇,并且出发点

34、被标记为已访问。 然后递归,以相同的方法处理该簇内所有未被标记为已访问的点,从而对簇进行扩展。如果 附近点的数量小于最小包含点数,则该点暂时被标记作为噪声点。如果簇充分地被扩展,即簇内的所有点被标记为已访问,然后用同样的算法去处理未被访问的点。2.22.2 开发工具的选择开发工具的选择2.2.12.2.1 Eclipse 简介简介Eclipse 是一个开源的、基于 Java 技术的可扩展开发平台。就 Eclipse 本身而言,它只是一个框架和一组服务,主要用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括 Java 开发工具(JDK)。虽然对于绝大多数用户来说, Ecl

35、ipse 只是一个 Java 集成开发环境(IDE),但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于

36、Java 语言;例如,支持诸如 C/C+、COBOL、PHP 等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可作为与软件开发无关的其他应用程序类型的基础,比如内存管理系统。北京邮电大学本科毕业设计(论文)82.2.22.2.2 Eclipse 的优势的优势Eclipse 是开源软件。这表明 Eclipse 不仅不收取使用者的任何费用,而且使用者还可以通过研究网络上、尤其是各大编程论坛上公开的源代码进行学习。对于使用者尤其是初学者来说,世界一流软件工程师的代码是一笔非常宝贵的财富,学习他们优秀的编程风格可以帮助初学者迅速提高自己的编程能力。Eclipse 采用插件机制,这意味着

37、 Eclipse 是真正可扩展并可配置的。对于使用者来说 Eclipse 就好象一间仓库,你可以随时在仓库里存放任何东西,也可以很方便地将不再需要的东西从仓库中取出来。在互联网上有大量免收费和免费的插件,使用者可以通过合理使用插件极大地简化编程工作。虽然绝大多数开发者仅仅把 Eclipse 作为一个 Java 开发系统,但实际上 Eclipse 支持多种类的开发语言。从本质上讲,Eclipse 只提供了一个能够扩展系统功能的最小核心,只要安装相应语言的插件,Eclipse 就可以支持不同的开发语言。目前,Eclipse 已经可以支持 C/C+、 COBOL、PHP、Perl、Python 等多

38、种语言。这显著降低了多语言程序开发和程序移植的难度。Eclipse 支持多种开发环境,这使得开发者可以选择自己最熟悉的平台来进行开发工作。主流的操作系统都得到了支持,如 Windows、MacOS 和 Linux 等。Eclipse 对每个平台都有不同的图形工具包,这使得在 Eclipse 上开发的程序可以最大限度地适应不同开发环境的特性。Eclipse 基于业界领先的 OSGi 规范。1999 年,Sun Microsystems、IBM、爱立信等等公司首先推出了 OSGi 规范。其服务涵盖:服务网关、汽车、移动电话、工业自动化、建筑物自动化、PDA 网格计算、 娱乐、IDE 等众多领域。O

39、SGi 规范以微内核形式运行,故可以实现热插拔、动态改变行为等软件从业者梦寐以求的功能。从 3.1 版本开始,Eclipse 果断放弃了原本已经获得业界广泛认可的框架,采用 OSGi 作为其架构。从 3.2版本开始,Eclipse 提供了基于 OSGi 开发的支持,开发者可以利用其开发基于 OSGi 的系统了。Eclipse 堪称业界人机的标杆之作。Eclipse 提供了全新的 SWT/JFace API 界面,全面取代了以往 SWT/Swing 单调、沉闷的风格。方便使用者开发基于本地的具有丰富图形界面的应用程序,备受广大软件开发工作者的赞誉。Eclipse 基金会吸收了大量学术研究机构、商

40、业组织,领导 Eclipse 的长远规划和发展,其先进理念使得 Eclipse 始终处于业界领先地位。综合这些原因,我选用了 Eclipse 作为开发工具。北京邮电大学本科毕业设计(论文)9第三章第三章 系统系统分析分析3.13.1 软件过程模型软件过程模型在选择软件过程模型时,首先考虑本系统的需求较为明确且不易发生变更,因此在开发初期选择了瀑布模型作为过程模型。瀑布模型广泛应用于软件项目的开发中,该模型将软件开发过程划分成描述、设计、开发有效性验证等界限分明且独立的过程阶段,适用于需求明确且不易变更的软件项目。但在开发的过程中,由于本人的需求分析能力有限,对任务书的需求分析工作做得不够充分,

41、需要经常和导师讨论需求,导致需求变更较为频繁,需求分析阶段过分拉长。而且在学院和导师需要经常检查进度的情况下,瀑布模型显然是不适当的,因此改用了增量式开发模型。增量式开发的优点是可以很快开发出一个具有部分功能的、可使用的版本,而且适应需求变更的成本也比较低,比较适合本系统的开发工作。结合本系统的任务目标和学校的进度要求,我将本系统的开发工作分为 4 个版本来进行。第一个最初始的版本实现了对数据的预处理和关联规则的挖掘功能。第二个版本即中期检查的版本在第一个版本的基础上实现了分类功能和文件导入数据功能。第三个版本在之前版本的基础上增加了聚类功能,截止到此版本,主要的功能算法已经实现。第四个版本也

42、就是最终的版本,为系统设计了交互界面。图 3-1 增量式开发模型图在系统开发的过程中,描述和开发工作交织在一起。每完成一个模块或一个版本,都会进行有概要描述开发有效性验证描述并行活动版本 2版本 3版本 4版本 1北京邮电大学本科毕业设计(论文)10效性验证。通过验证后才会进入下一个模块或版本的开发3.23.2 需求分析需求分析3.2.13.2.1 用例图用例图图 3-2 系统用例图系统的使用者教务管理人员对系统有包括导入文件、数据预处理、关联规则挖掘、分类、聚类和导出文件在内的六大需求3.2.23.2.2 需求的结构化描述需求的结构化描述使用结构化自然语言来描述需求,保留了自然语言在表达能力

43、和易懂性方面的优势,让没有专业背景的用户也能比较容易的理解需求;同时也约束了描述的一致性,降低了产生歧义的可能性。表 3-1 文件导入用例用例 1名称文件导入北京邮电大学本科毕业设计(论文)11功能将数据从文件导入系统中以备各算法调用描述将文件中的数据存入系统的数据结构中输入学生的姓名,各门课程的成绩来源数据文件输出学生的姓名,各门课程的成绩目的地系统的所定义的数据结构行动系统为每一个学生初始化一个结构体,分别读取每个学生的姓名和成绩数据,并存储到结构体中对应的成员里前置条件结构体已被定义,文件内数据的数据类型和顺序合法后置条件数据被完整存入结构体中此用例属于文件导入需求表 3-2 数据预处理

44、用例用例 2名称数据预处理功能对导入系统的学生数据进行预处理描述将每门课程的最高分和最低分拉平,并对其他成绩进行等比例缩放输入学生各门课程的成绩来源结构体输出学生各门课程的新成绩目的地结构体行动系统从数据结构中读取全体学生各门课程的成绩,通过算法找出其中的最高分和最低分。分别将其他每一门课程的最高分和最低分乘以一个比例系数,使之与该最高分和最低分相等,并对该门课程内的其他成绩均进行乘以该比例系数的操作。前置条件数据已被成功导入结构体中后置条件输出新的学生成绩到结构体中此用例属于数据预处理需求表 3-3 判断相关性用例用例 3北京邮电大学本科毕业设计(论文)12名称相关性功能计算学生成绩间的相关

45、性描述将学生各门功课的成绩转化为每两门课程成绩的相关性输入学生各门课程的成绩来源结构体输出成绩相关课程的序号目的地关联统计数组行动对比学生每两门课程的成绩,按照一定标准判断成绩是否相关。若相关则将这两门课程的编号输入到相应的数据结构中存储起来前置条件数据预处理完毕后置条件生成课程相关性数据此用例属于关联规则需求表 3-4 统计频繁项用例用例 4名称频繁项功能找出相关性数据中的频繁项描述统计相关性数据中各项的重复次数输入课程相关性数据来源结构体输出成绩相关联的课程目的地关联规则数组行动记录相关性数据中各项的重复次数,用重复次数除以学生数得到每个相关性的置信度,输出大于最小置信度的数据前置条件课程

46、相关性数据已生成后置条件生成关联规则并输出此用例属于关联规则需求表 3-5 判断高风险学生用例用例 5名称挂科学生功能输出挂科风险较高的学生北京邮电大学本科毕业设计(论文)13描述分析学生现有成绩(平均分,是否挂科),输出挂科风险较高的学生输入学生的姓名,各门课程的成绩来源结构体输出学生的姓名目的地高风险学生数组行动统计学生是否有过挂科经历,计算没有挂科经历学生的平均分,输出有挂科经历和平均分小于一定值的学生前置条件数据已被成功导入结构体中后置条件学生被成功分类并输出挂科风险较高的学生此用例属于分类需求表 3-6 判断高风险课程用例用例 6名称高风险课程功能输出挂科风险较高的课程描述分析所有课

47、程的挂科风险,输出挂科风险较高的课程输入学生各门课程的成绩来源结构体输出课程名目的地高风险课程数组行动计算所有课程的挂科率,若某课程的挂科率高于一定值,则认定该课程为高风险课程,输出所有高风险课程前置条件数据已被成功导入结构体中后置条件课程被成功分类并输出高风险课程此用例属于分类需求表 3-7 聚类用例用例 7名称聚类功能对学生进行聚类描述识别出噪声点,将学生划入不同的簇,输出聚类结果输入学生的姓名,各门课程的成绩北京邮电大学本科毕业设计(论文)14来源结构体输出学生各门课程的新成绩目的地聚类数组行动系统依次读取每个学生的信息,通过聚类算法判断其是否为噪声点,对不是噪声点的学生判断其应该被归入

48、哪一个簇,直到所有学生都判断完毕前置条件数据已被成功导入结构体中后置条件学生被成功聚类并输出聚类结果此用例属于聚类需求表 3-8 导出文件用例用例 8名称导出文件功能将挖掘结果导出至文件描述将各数组中存储的挖掘结果导出至文件输入文件地址,挖掘结果来源各数组输出挖掘结果目的地文件行动系统创建文件,依次读取每个数组内的信息,输出到文件前置条件挖掘结果成功存入数组内后置条件文件成功生成并写入数据 此用例属于导出文件需求第四章第四章 系统设计与实现系统设计与实现4.14.1 系统概要设计系统概要设计4.1.14.1.1 系统体系结构系统体系结构本系统使用容器体系结构。当一个系统需要生成大量数据并持久保

49、存时,一般使用容器体系结构。容器体系结构的优点是各个功能组件是相互独立的,它们无需知道北京邮电大学本科毕业设计(论文)15其他组件的存在,在运行时也不会受到其他组件的影响。一个组件的变更可以传播到其他所有的组件,所有数据可以得到一致的管理。具体到本系统来说,采用容器体系结构可以使挖掘结果持久保存,可以比较方便的管理学生信息,各组件之间交互性不强,可避免因一个组件发生错误影响到其他组件的功能。图 4-1 学生成绩分析系统体系结构图系统包括导入数据、数据预处理、关联规则、分类和聚类五个组件,组件间相互平行互不干涉。所有组件共享的学生信息和各组件生成的挖掘结果存放在项目容器中,这提高了数据传输的效率

50、。各组件下有若干子功能模块 4.1.24.1.2 系统数据结构系统数据结构采用结构体数组记录学生信息,每一个结构体代表一个学生。每个结构体内有用字符串数组存储的学生姓名,用一维整数数组存储的学生成绩(若学生成绩保留小数可改用浮点数数组) ,用整数存储的平均分。还可根据各学校的具体需求加入性别、学号、学院、专业等信息。采用二维整数数组记录关联规则,二维数组的行数和列数与课程数相等,数组中的每个元素代表其行标和列标所对应的两门课程的关联。项目容器交互器聚类器分类器关联规则挖掘器数据预处理器导入文件生成规则分析关联计算最值缩放数据计算缩放比例学生分类课程分类识别噪声点生成簇学生信息关联规则分类结果聚

51、类结果人机交互导出文件北京邮电大学本科毕业设计(论文)16采用一维整数数组记录高风险课程的编号。采用二维字符串数组记录高风险学生和和聚类结果,每一行对应一名学生。4.24.2 系统系统详细设计详细设计4.2.14.2.1 文件导入数据文件导入数据图 4-2 文件导入数据时序图首先用户将导入数据文件的请求和数据文件的地址发送给 openfile,openfile 对系统中已经定义的结构体进行初始化。初始化完成后,openfile 打开文件并开始从文件中读取数据,并存入结构体中。循环这一过程,直到所有的数据都被存入了结构体中,openfile 关闭文件,并向用户输出“成功导入文件”4.2.24.2

52、.2 数据预处理数据预处理本系统所采用的数据为大学生各门课程的考试成绩,均为百分制,数据的准确性、完整性、一致性和可信性都比较高,无需涉及填补缺失值和过滤噪声点等处理,数据北京邮电大学本科毕业设计(论文)17预处理的工作较为简单。考虑到不同课程间难易程度存在区别和阅卷教师存在主观差异,需对数据做出一定处理。例如全体学生中课程 A 的最高分为 95 分,最低分为 55分,课程 B 的最高分为 85 分,最低分为 35 分,应对课程 A 和课程 B 的成绩进行一定处理,使得 A 和 B 的最高分处在同一成绩区间,最低分也处在同一成绩区间。按照一些教育领域中用百分比(即排名)替代分数来表述成绩是一个

53、可行的办法,但这种方法有其一定的局限性。对于选拔性考试来说,这种办法是非常合理的,因为选拔性考试只按照成绩高低排序择优录取,而无需考虑这些成绩之间差距的大小。但对于本系统涉及到的算法来说,成绩间的差值显然是不能忽略的。若采用排名的方式代替分数表述成绩,在一些特定情况下会对产生较大误差。如某一门课程中,有 5 名学生得分82 分,10 名学生得分 81 分,1 名学生得分 80 分。则得到 82 分的学生和得到 80 分的学生之间的相差 15 个名次,显然远大于两者之间 2 分的分数差。故对成绩的预处理采用的方法为选取一门课程的最高分和最低分为标准,将其他课程所有学生的成绩等比例放大或缩小,使得

54、所有课程的最高分与最低分一致,消除课程难度的客观因素和阅卷教师的主观因素对成绩的影响。一些国外大学用 ABCD 的方式取代百分制对学生进行评价,当学生成绩中存在不同评价标准的成绩时,应对成绩进行处理,统一标准。考虑到绝大部分国内大学所有课程均采用百分制对学生进行评价,故本系统不再进行成绩转换功能的开发。北京邮电大学本科毕业设计(论文)18图 4-3 数据预处理时序图用户向 pretreatment 发出数据预处理请求,pretreatment 从结构体中读取学生成绩信息并进行预处理,预处理结束后将新的成绩再存入结构体中4.2.34.2.3 关联规则关联规则关联规则功能模块的关键点有两个,一是用

55、什么样的标准判断两门课程是否存在关联,二是如何挖掘各门课程的关联规则。对于如何判断两门课程存在关联的问题,从现有的数据来看,用两门课程成绩的接近程度来判断是否存在关联是一个比较合理的方式。判断两门课程的成绩是否接近有等宽和等深两种方式。等宽的方式为将所有学生各门课程的成绩按照一定的宽度分为若干个区间(根据大多数高校的计分制度,本系统按照每 10 分一个区间将成绩分为10 个区间),处在一个成绩区间内的课程即认为成绩足够接近存在关联。但这种判断标准有一定缺陷,在一些特定情况下会产生较大的误差。例如某学生课程 A 的成绩为91 分,课程 B 的成绩为 89 分,课程 C 的成绩为 81 分。按照等

56、宽的判断标准,课程 B和课程 C 存在关联,课程 A 与课程 B 和 C 均无关联。但是按照我们的常识来讲,毫无北京邮电大学本科毕业设计(论文)19疑问课程 A 和课程 B 的成绩更为接近,二者仅相差 2 分,应该认定为存在关联。导致这种现象的原因是衡量两门课程是否接近应该依据两门课程成绩的差值,无需考虑成绩的绝对值。而采用等宽方式判断成绩是否接近的方法无疑会受到成绩绝对值的影响。之后我尝试采用等深的方式判断课程关联,在一定程度上避免绝对值影响判断的问题,但是又带来了新的问题,即如何划定深度。由于各高校在计算考试成绩时无需考虑成绩差值,所以在这方面无经验和先例可循。若采用动态划定深度的方式(即

57、根据每个学生最高分和最低分之间的差值划定不同的深度)可在一定程度上得到比较合理的结果,但此种方法缺乏教育学理论的支持,仅作为参考。综上所述,本系统采取应用较为广泛、能为大多数人所接受的等宽的方式判断两门课程的成绩是否接近。本系统采用 Apriori 算法挖掘各门课程的关联规则。Apriori 算法是应用最为广泛的挖掘布尔关联规则频繁项集的算法。Apriori 算法也有一定的缺陷,主要表现在可能产生大量的候选集,以及可能需要重复扫描数据库。但是对于应用于普通高校的学生成绩分析系统来说,其课程数和学生数都是很有限的,现代高性能计算机可以迅速完成上述工作。因此对于本系统来说,Apriori 算法的一

58、些固有缺陷是完全可以接受的。北京邮电大学本科毕业设计(论文)20图 4-4 关联规则挖掘时序图用户向 associationrules 发出挖掘关联规则请求,associationrules 从结构体中读取学生成绩信息并进行分析关联,处理完成后将关联数据存入关联数组,然后统计关联数组中的频繁项,生成关联规则并存入关联规则数组4.2.44.2.4 分类分类本系统采用决策树算法来实现分类预测功能,主要预测全体在校学生是否有挂科风险,以及挂科风险比较高的课程。在现有数据条件下,决策树选取该学生已经完成学习的课程中是否有挂科和所有已经完成学习的课程的平均成绩是否低于一个特定值来作为测试属性。如果某学生

59、有过挂科经历,说明该学生在学习态度、学习方法或学习能力方面存在一定问题,那么他在今后学习其他课程的过程中会比其他学生挂科的北京邮电大学本科毕业设计(论文)21可能性更大,这种因果联系符合一般人的认知,因此选择是否有挂科经历作为一个测试属性。若某学生各门课程的成绩较低(平均分低于某一特定值),他显然比其他成绩更好的学生要承担更多的挂科风险,因此选择平均成绩是否低于一个特定值来作为另一个测试属性。本算法将某一课程以毕业学生的挂科率作为衡量该课程是否为高风险课程的测试属性,将挂科率高于某一特定值的课程作为高风险课程,此参数可由教务工作人员根据本专业的课程难度和生源水平等实际情况进行调整。图 4-5

60、分类时序图用户向 classify 发出分类请求,classify 从结构体中读取学生成绩信息并进行分析处理,将高风险学生的姓名存入高风险学生数组中并输出给用户。学生分类完成后,classify 对课程进行分析,将高风险课程的名字存入高风险课程数组中并输出给用户4.2.54.2.5 聚类聚类本系统使用聚类算法对学生进行聚类,根据聚类结果分析学生在校表现和成绩之间的关联性。K-means 算法是数据挖掘领域应用最为广泛的聚类算法,采用距离作为相似性的北京邮电大学本科毕业设计(论文)22评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论