版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
11本科毕业设计〔论文〕题目:基于数据挖掘技术的学生成绩分析系统的设计与实现姓名张宇恒学院软件学院专业软件工程班级2021211503学号10212099班内序号01指导教师牛琨2021年5月基于数据挖掘技术的学生成绩分析系统的设计与实现摘要随着科技的不断开展和中国教育制度的日趋完善,各大高校对教务管理工作提出了越来越高的要求。各大高校不再满足于传统的成绩管理方式,开始运用数据挖掘领域的先进方法对学生成绩进行分析和研究。教务工作人员使用关联规那么挖掘算法分析课程间的内在联系,可为学校的改良教学工作提供依据,并为学生的选课和学业规划提供指导;对学生进行分类,让学生能够对自己在校期间所学课程的成绩有一个全面而清晰的了解,方便学生扬长避短选择选修课程,及时对可能在学习上遇到困难的学生进行预警;运用聚类算法对学生进行聚类,找出具有共同特征的学生,并对不同学生群体分别采取不同的教学方法,初步表达因材施教的教育理念,最终探索出适合中国国情和教育制度的个性化培养模式。本系统采用Eclipse作为开发平台,以Java作为开发语言。通过对高校学生成绩分析系统的需求分析,本系统设计实现了可以使用关联规那么挖掘算法分析课程间的内在联系,使用分类算法对学生进行分类,使用聚类算法对学生进行聚类。希望本系统能对今后高校学生成绩分析系统的开发提供一定的参考价值。关键词成绩分析关联规那么分类聚类DesignandimplementationofstudentachievementanalysissystembasedondataminingtechnologyABSTRACTWiththecontinuousdevelopmentoftechnologyandtheChineseeducationsystemmaturing,Universitieshaveputhigherrequirementstotheiracademicadministration.Universitiesarenolongersatisfiedwithtraditionalperformancemanagement,begantoapplyadvanceddataminingmethodstoanalyzeandstudystudents’achievement.Staffofacademicaffairsuseassociationruleminingalgorithmtoanalysisintrinsiclinkbetweencourses,whichcanprovidethebasisforimprovingtheteachingoftheschoolandguidanceforthestudent'senrollmentandacademicplanning.Usingclassificationalgorithmtoclassifythestudents,sothatstudentscanhaveaclearunderstandingintheiracademicperformance,andfacilitatestudentsinselectingcourses.Warningstudentswhoprobablyfacedifficultiesintheacademic.Usingclusteringalgorithmtoclusterthestudentstoidentifystudentswithcommoncharacteristics,sothatteacherscanteachdifferentstudentsindifferentway,embodiestheconceptofindividualizededucation,finallydiscoverapersonalizededucationmodel,whichissuitableforChina'snationalconditionsandeducationsystem.ThesystemwasdevelopedinEclipse,withjavaasadevelopmentlanguage.Byanalyzingtheneedofstudentachievementanalysissystem,thissystemusesassociationruleminingalgorithmtoanalysisintrinsiclinkbetweencourses,usesclassificationalgorithmtoclassifythestudents,usesclusteringalgorithmtoclusterthestudentstoidentifystudents.Ihopethissystemcanprovidesomereferencevaluetothefuturedevelopmentofcollegestudents’achievementanalysissystem.KEYWORDSachievementanalysisassociationrulesclassificationclustering11目录第一章引言11.1选题的背景和意义11.2个性化培养的重要意义1国内外个性化培养的现状2国外个性化培养现状21.3.2国内个性化培养现状3成绩分析系统的现状和存在的问题3成绩分析系统开发使用的现状3成绩分析系统建设存在的问题4第二章相关技术4相关数据挖掘知识理论4数据挖掘42.1.2关联规那么52.1.3分类62.1.4聚类62.2开发工具的选择7Eclipse简介7Eclipse的优势7第三章系统分析83.1软件过程模型83.2需求分析93.2.1用例图93.2.2需求的结构化描述10第四章系统设计与实现144.1系统概要设计14系统体系结构144.1.2系统数据结构154.2系统详细设计164.2.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分类244.3.5聚类244.3.6导出文件254.4系统应用26第五章结论30参考文献31致谢3211第一章引言1.1选题的背景和意义进入新世纪以来,我国的高等教育事业正在快速开展,各个领域的重大科研成果不断涌现,各知名院校的国际排名和知名度也不断攀升。然而在这些光鲜靓丽的学术成果之下,各大高校对学生的管理工作却并没有跟上时代的步伐。其实对于给大高校来说,学生的考试成绩是一笔非常珍贵的财富。学生的成绩是反映学校教学水平的最直接的第一手资料,这些数据可以为学校改良招生和教学工作提供重要依据。然而,学生成绩的管理工作并没有引起高校足够的重视,尤其是在对学生成绩的分析处理方面,绝大局部高校还停留在较为原始的数据库管理和查询阶段,没有对学生的成绩进行横向和纵向的比照研究,也缺乏对各学科之间成绩内在联系的挖掘。学科成绩间的内在联系是广泛存在于各个专业的各门课程中的,学科成绩间内在联系的分析和研究对对学生和学校都有着十分重要的意义。通过了解学科成绩间存在的内在联系,学生可以清楚地认识到基础课程、先导课程的重要性,并且在选择选修课的时候,做到扬长避短,通过更多地选择与自己优势课程成绩正相关的课程来帮助提高成绩。而对于学校来说,分析学科成绩间的内在联系可以为各个专业的课程设置提供重要的参考依据。在教务工作人员进行排课工作时,可参考对往届学生成绩的分析结果来调整课程的排布顺序,到达不断优化课程设置的目的。个性化培养和开展是当今高等教育开展的主流方向,以往填鸭式、工厂式的教学方式已经被先进的教育理念所替代,而中国教育制度中流水线式的培养模式一直是一个被广泛诟病、急需解决的问题。在这一方面,我们可以借鉴兴旺国家的先进经验,结合我国高等教育开展现状,探索并逐步建立由中国特色的、适合我国国情的个性化培养体系。目前可以通过对学生的成绩进行挖掘和分析,对学生进行分群,为具有一定共同特征的学生制定个性化培养方案。基于上述情况,此题目以完善高校培养制度和制定学生个性化培养方案为背景,通过运用数据挖掘及相关专业技术,设计并实现学生成绩分析系统。1.2个性化培养的重要意义个性化培养其实并不是一个新颖的概念,2021多年前,我国著名教育家孔子就提出了因材施教的教育理念,并且身体力行地用因材施教的方法教育自己的弟子。在2021多年后的今天,多元化人才培养是高等教育开展的必然趋势。个性化培养不仅是实现多元化人才培养最重要的方式,更是我国建立创新型国家战略对高等教育提出的必然需求。只有摒弃传统的流水线式培养模式,在高等院校中全面推行个性化培养,我国高等教育才能真正完成人才培养方式的革命。〔1〕个性化培养是高等教育开展的现实需要个性化教育,是社会对大学生的预期变化的结果。在当今时代,社会要求每个人都能发挥自己独特而不可替代的作用,教育的使命也悄然转变为激发每一名学生的内在潜能。在高等院校推行个性化教育是中国高等教育的开展方向,更是世界大多数国家的共识。随着大学的扩招,原本曲高和寡的高等教育已经走进了普罗群众的生活。但是群众化的高等教育不等于流水线式的培养,相反普及高等教育的意义正在于让更多的人进入大学,按照自己的兴趣和自身特点选择专业进行学习,成为独特的人才。〔2〕个性化培养是创新型国家战略的必然要求2021年,国家制定了建设创新型国家的重大决策。增强自主创新能力是建设创新型国家战略中最重要的一环,而作为高端人才培养基地的众多高等院校毫无疑问成为了自主创新的排头兵。受制于特殊的国情和几千年的科举传统,我国目前的教育模式仍然是以死记硬背为主要学习手段,以分数作为评价学生优劣的主要甚至是唯一标准。在这种教育模式中培养出来的学生中,相当一局部是与社会脱节的、毫无创新能力可言的“考试机器〞。现有的人才培养模式明显滞后于经济社会的开展,更是与建设创新型国家战略相违背的。只有立即转变人才培养模式,真正实现以人为本的个性化培养,才能使高等院校成为培养创新型人才的土壤。因此,以培养多元化人才为主导的个性化培养模式是我国高等教育开展的必然趋势。1.3国内外个性化培养的现状1.3.1国外个性化培养现状随着高等教育的不断开展,在兴旺国家学生个性化开展的理念已经深入人心。其中高等教育最为兴旺同时也是中国留学生首选目的地的美国毫无疑问走在了世界的前列。以常青藤联盟为代表的美国知名大学在新生录取时并不会给新生确定专业,而是根据学生的意愿将学生分进不同的基础学院,允许学生在学院内自由地选择课程。在完成一到两年的基础学习后,学生可以根据所学的课程和个人兴趣爱好自由选择自己的专业。这是一种非常人性化的人才培养模式。学生在入学时往往对自己所选择的专业并不十分了解,有的甚至是一无所知,仅凭一时兴起做出了选择。在这种情况下确定学生的专业显然不是最合理选择的。当学生完成了一段时间的学习后,无论是对所学的专业,还是对自身的学术能力和兴趣爱好都有了一个更深层次的认识。在这个时候学生对专业的选择往往会更加理性,这无论对学生还是对学校来说都是大有裨益的。而国际知名的布朗大学更是敢为天下先地取消了必修课制度,学生可以完全根据自己的兴趣选择学校提供的任何课程,修满学校要求的学分后即可毕业。学校根据学生选择的课程来给学生颁发不同专业的毕业证书。布朗大学认为:没有人会告诉学生应该上什么课或怎样做,只要有兴趣,学生可以自由的开展。但是这种教学模式一度受到了美国教育界的广泛非议。相比布朗大学,其他常青藤盟校显得保守了许多,或是设置了一些必修课,或是对学生可以选择的课程做出了一系列规定,总而言之,布朗大学超前的教育理念并没有被其他大学所广泛接受。1.3.2国内个性化培养现状国内的高等院校仍然遵循着传统的人才培养模式,在当今的时代中已经暴露出了诸如学科专业结构的设置缺乏整体思考、缺少系统设计;课程体系不够综合、开设比例不够合理;考核评价体系知识记忆、轻创新实践等方面的问题。在高校中探索并开展个性化培养模式已经成为了绝大多数教育界人士的共识。相比拟国外已经比拟成熟的个性化培养方案而言,国内的个性化培养方案尚处在起步摸索阶段,绝大多数国内高校的课程设置都已必修课程为主,辅以少量与专业相关的选修课程供学生选择,离真正的个性化培养还有比拟大的差距。学生的专业也都是在招生是就已经确定了,为学生提供的更改专业的时机也比拟少,与高等教育比拟兴旺的国家还有较大差距。1.4成绩分析系统的现状和存在的问题1.4.1成绩分析系统开发使用的现状对于高校来说,教务管理是他的核心工作之一,而成绩分析能力的上下是衡量教务管理水平的一个关键指标。教务管理的水平对高校教学水平的进步和开展有着至关重要的意义。在当今社会,随着教育改革的逐步深入,和科学技术的开展社会对高校的成绩分析管理提出了许多新的要求,“标准化、信息化、网络化〞是学校教学管理的必然选择。建立并应用一套优秀的成绩分析系统是提升教务管理水平的关键所在。目前,各高校普遍建立了教务信息管理系统,其中很多高校还根据自身需求建有成绩分析系统。此类系统一般采用关系型数据模型,数据库中主要包括学生的姓名、学号、专业、考试成绩的个人信息。而每个信息又与其它信息相关联,形成了庞大的、涵盖整个教务管理过程的数据信息网。教务管理信息系统实现了教务信息的集中管理、分散操作、信息共享,使传统的教务管理向数字化、无纸化、智能化、综合化及多元化的方向开展。借助现代信息技术,不同形式的成绩分析系统正在利用网络优势实现资源的共享、权限的信息录入、查询及修改等,改变了传统教务管理模式下信息数据层层传达及存储的模式,提高了信息的实效性,实现了真正意义上的信息交换与互动。1.4.2成绩分析系统建设存在的问题然而需要正视的是,我国高校的学生成绩分析系统仍然存在着一定问题,主要表现在:功能需求不明确,设计不尽完善各所高校间教务管理的流程有所不同,教务管理人员如何根据自身学校的特点建立成绩分析系统是一个具有普遍性问题。目前建成的成绩分析系统,大多都没有严格遵循软件工程开发流程,对功能需求的分析做的不够彻底,设计也不够完善,难以到达理想的效果。其中一个最主要的原因是使用者和设计者没能进行充分的沟通,设计人员对教务管理流程并不熟悉,和教学效果表达的理解也不透彻,使得现今的成绩分析系统大多不尽如人意。没有运用数据挖掘技术对成绩进行分析当今大局部高校对学生成绩管理的理解还停留在较为原始的数据库管理和查询阶段,对学生成绩的分析多以简单地求平均分、中位数、计算方差和标准差、统计优秀率及格率等方式进行。对于很多教务工作者来说,数据挖掘技术是一个更多的运用在商业领域的、离教务管理很遥远的东西。其实在美国等兴旺国家,数据挖掘技术早已走进了教务工作,成为了教务工作人员对学生成绩进行分析的重要手段。有一些名校甚至拥有一支数据挖掘技术方面的专业团队来对学生成绩进行分析。这些专业的分析结果不仅为学校改良教学工作提供了重要的参考依据,也为学生选择选修课和今后的开展方向提供了极大的便利。第二章相关技术相关数据挖掘知识理论2.1.1数据挖掘数据挖掘〔Datamining〕,又译为资料探勘、数据采矿。它是数据库知识发现〔Knowledge-DiscoveryinDatabases,KDD〕中的一个步骤。数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统〔依靠过去的经验法那么〕和模式识别等诸多方法来实现上述目标。数据挖掘是目前人工智能技术和数据库领域的研究前沿。数据挖掘是指从海量数据中发现出隐含在表象之下的、不为人所知的并有一定价值的信息的过程。数据挖掘的实质是一种决策支持过程,它主要基于人工智能、模式识别、统计学等相关技术,分析规模庞大的数据,从中找出某种规律并做出归纳性的推理,帮助决策者提高决策的准确性。数据准备、寻找规律和规律表示是数据挖掘的三个根本步骤。数据准备是指从数据源中选取相关的数据并生成可用于数据挖掘工作的数据集;寻找规律是指通过一定方法将数据集中所隐含的规律挖掘出来;规律表示是指以用户容易理解的方式〔尤其是那些并不熟悉数据挖掘技术的用户〕将挖掘出的规律呈现给用户。数据挖掘有填补缺失值,过滤噪声点、关联规那么挖掘、分类、聚类、异常分析等任务。近年来,“大数据〞成为了一个非常流行的词汇,这意味着数据挖掘技术已经进入了我们生活的方方面面。这其中最为主要的原因是我们身处在信息爆炸的时代,全世界每天产生的信息都以指数级增长,我们每天所接触的信息甚至超过几百年前一个人一生所能接触到的信息的总和。如果不对数据进行处理,如此海量的数据对于人类来说就是电子垃圾。通过数据挖掘技术,人们可以将原本无法处理的海量数据转变为有用且有限的信息和知识,充分发挥信息的价值。.2关联规那么关联规那么是指大量数据中项集之间有趣的关联或相关联系。如果两项或多项属性之间存在关联,那么其中一项的属性就可以依据其他属性值进行预测。关联规那么挖掘在数据挖掘中是一个重要的研究课题,一直是业界的研究热点。“啤酒与尿布〞的故事是对关联规那么挖掘的生动阐释。世界著名的沃尔玛超市在一次对原始销售数据的分析中意外发现:和尿布一起销售最多的商品竟然是啤酒!按照人们的常规思维,和尿布一起销售的应该是奶粉奶瓶一类的婴儿用品,尿布和啤酒可谓风马牛不相及。但沃尔玛超市的工作人员在运用数据挖掘技术对销售信息进行分析后,成功揭示了“啤酒与尿布〞的内在联系:在美国,很多男士下班之后经常要遵照太太的指示去超市去给孩子购置尿布。而他们其中三到四成的人会在同时为自己购置一些啤酒。假设不是借助了数据挖掘技术,很难想象沃尔玛能够在海量的销售信息中发现这一规律。Apriori算法是一种应用最为广泛的统计关联规那么频繁项集的算法,其核心是基于两阶段频集思想的递归算法。在Apriori算法中,所有大于最小支持度的集都称为频繁项集。该算法的根本思想是:首先找出所有的频繁项集,然后由频繁项集产生强关联规那么,而这些规那么必须同时满足最小支持度和最小置信度。由于采用了递归的方法,Apriori算法有两个主要的缺点:会产生大量的候选集,以及需要对数据进行屡次扫描。在数据量大于一定规模时,Apriori算法的时间复杂度会比拟惊人。.3分类分类是一种重要的数据分析形式,它提取刻画重要的数据类的模型。这种模型称为分类器,预测分类的类标号。分类可用于预测,从历史数据记录中自动推导出给定数据的推广描述,从而对未来的数据进行类预测。分类具有广泛的应用,例如医疗诊断、信用卡系统的信用分级、图像模式识别等。决策树算法是一种非常典型的算法。在决策树算法中,首先要对数据进行处理,生成可读的规那么和决策树,然后使用决策对其他数据进行分析和判断。从本质上说,决策树算法是通过一系列规那么对数据进行分类的过程。决策树算法在20世纪60年代被首次提出,到了70年代末,JRossQuinlan提出了ID3算法,此算法的目的在于减少树的深度,但是忽略了叶子数目的研究。C是其改良算法,在缺值处理、剪枝技术和派生规那么等方面作了较大改良。使其既适用于分类问题,又适用于回归问题。构造的决策树是否精度足够高、规模足够小是评价一个决策树算法是否优秀的关键标准。决策树构造可以分为两个步骤。首先是由训练样本集生成决策树的过程。在大多数情况下,训练样本数据集是根据实际需要有历史的、有一定综合程度的,用于数据分析处理的数据集。然后是对决策树的剪枝,其本质是对决策树进行检验和校正的过程,主要方法是用新数据校验决策树生成过程中得出的规那么,并将影响准确性的分枝剪除。.4聚类将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分〞,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究〔样品或指标〕分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。k个初始类聚类中心点的选取对聚类结果具有较大的影响,因为在该算法第一步中是随机的选取任意k个对象作为初始聚类的中心,初始地代表一个簇。该算法在每次迭代中对数据集中剩余的每个对象,根据其与各个簇中心的距离将每个对象重新赋给最近的簇。当考察完所有数据对象后,一次迭代运算完成,新的聚类中心被计算出来。如果在一次迭代前后,J的值没有发生变化,说明算法已经收敛。DBSCAN(Density-BasedSpatialClusteringofApplicationswithNoise)是一个比拟有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。DBSCAN需要二个参数:扫描半径和最小包含点数。任选一个未被访问的点开始,找出与其距离在最小半径之内的所有附近点。如果附近点的数量大于等于最小包含点数,那么当前点与其附近点形成一个簇,并且出发点被标记为已访问。然后递归,以相同的方法处理该簇内所有未被标记为已访问的点,从而对簇进行扩展。如果附近点的数量小于最小包含点数,那么该点暂时被标记作为噪声点。如果簇充分地被扩展,即簇内的所有点被标记为已访问,然后用同样的算法去处理未被访问的点。开发工具的选择.1Eclipse简介Eclipse是一个开源的、基于Java技术的可扩展开发平台。就Eclipse本身而言,它只是一个框架和一组效劳,主要用于通过插件组件构建开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具〔JDK〕。虽然对于绝大多数用户来说,Eclipse只是一个Java集成开发环境〔IDE〕,但Eclipse的目标却不仅限于此。Eclipse还包括插件开发环境〔Plug-inDevelopmentEnvironment,PDE〕,这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可作为与软件开发无关的其他应用程序类型的基础,比方内存管理系统。.2Eclipse的优势Eclipse是开源软件。这说明Eclipse不仅不收取使用者的任何费用,而且使用者还可以通过研究网络上、尤其是各大编程论坛上公开的源代码进行学习。对于使用者尤其是初学者来说,世界一流软件工程师的代码是一笔非常珍贵的财富,学习他们优秀的编程风格可以帮助初学者迅速提高自己的编程能力。Eclipse采用插件机制,这意味着Eclipse是真正可扩展并可配置的。对于使用者来说Eclipse就好象一间仓库,你可以随时在仓库里存放任何东西,也可以很方便地将不再需要的东西从仓库中取出来。在互联网上有大量免收费和免费的插件,使用者可以通过合理使用插件极大地简化编程工作。虽然绝大多数开发者仅仅把Eclipse作为一个Java开发系统,但实际上Eclipse支持多种类的开发语言。从本质上讲,Eclipse只提供了一个能够扩展系统功能的最小核心,只要安装相应语言的插件,Eclipse就可以支持不同的开发语言。目前,Eclipse已经可以支持C/C++、COBOL、PHP、Perl、Python等多种语言。这显著降低了多语言程序开发和程序移植的难度。Eclipse支持多种开发环境,这使得开发者可以选择自己最熟悉的平台来进行开发工作。主流的操作系统都得到了支持,如Windows、MacOS和Linux等。Eclipse对每个平台都有不同的图形工具包,这使得在Eclipse上开发的程序可以最大限度地适应不同开发环境的特性。Eclipse基于业界领先的OSGi标准。2021年,SunMicrosystems、IBM、爱立信等等公司首先推出了OSGi标准。其效劳涵盖:效劳网关、汽车、移动、工业自动化、建筑物自动化、PDA网格计算、娱乐、IDE等众多领域。OSGi标准以微内核形式运行,故可以实现热插拔、动态改变行为等软件从业者梦寐以求的功能版本开始,Eclipse果断放弃了原本已经获得业界广泛认可的框架,采用OSGi作为其架构。从3.2版本开始,Eclipse提供了基于OSGi开发的支持,开发者可以利用其开发基于OSGi的系统了。Eclipse堪称业界人机的标杆之作。Eclipse提供了全新的SWT/JFaceAPI界面,全面取代了以往SWT/Swing单调、沉闷的风格。方便使用者开发基于本地的具有丰富图形界面的应用程序,备受广阔软件开发工作者的赞誉。。Eclipse基金会吸收了大量学术研究机构、商业组织,领导Eclipse的长远规划和开展,其先进理念使得Eclipse始终处于业界领先地位。综合这些原因,我选用了Eclipse作为开发工具。第三章系统分析3.1软件过程模型在选择软件过程模型时,首先考虑本系统的需求较为明确且不易发生变更,因此在开发初期选择了瀑布模型作为过程模型。瀑布模型广泛应用于软件工程的开发中,该模型将软件开发过程划分成描述、设计、开发有效性验证等界限清楚且独立的过程阶段,适用于需求明确且不易变更的软件工程。但在开发的过程中,由于本人的需求分析能力有限,对任务书的需求分析工作做得不够充分,需要经常和导师讨论需求,导致需求变更较为频繁,需求分析阶段过分拉长。而且在学院和导师需要经常检查进度的情况下,瀑布模型显然是不适当的,因此改用了增量式开发模型。增量式开发的优点是可以很快开发出一个具有局部功能的、可使用的版本,而且适应需求变更的本钱也比拟低,比拟适合本系统的开发工作。结合本系统的任务目标和学校的进度要求,我将本系统的开发工作分为4个版本来进行。第一个最初始的版本实现了对数据的预处理和关联规那么的挖掘功能。第二个版本即中期检查的版本在第一个版本的基础上实现了分类功能和文件导入数据功能。第三个版本在之前版本的基础上增加了聚类功能,截止到此版本,主要的功能算法已经实现。第四个版本也就是最终的版本,为系统设计了交互界面。版本1并行活动版本1并行活动描述描述版本2版本2开发版本开发版本3概要描述概要描述有效性验证有效性验证版本4版本4图3-1增量式开发模型图在系统开发的过程中,描述和开发工作交织在一起。每完成一个模块或一个版本,都会进行有效性验证。通过验证后才会进入下一个模块或版本的开发3.2需求分析3用例图图3-2系统用例图系统的使用者——教务管理人员对系统有包括导入文件、数据预处理、关联规那么挖掘、分类、聚类和导出文件在内的六大需求3需求的结构化描述使用结构化自然语言来描述需求,保存了自然语言在表达能力和易懂性方面的优势,让没有专业背景的用户也能比拟容易的理解需求;同时也约束了描述的一致性,降低了产生歧义的可能性。表3-1文件导入用例用例1名称文件导入功能将数据从文件导入系统中以备各算法调用描述将文件中的数据存入系统的数据结构中输入学生的姓名,各门课程的成绩来源数据文件输出学生的姓名,各门课程的成绩目的地系统的所定义的数据结构行动系统为每一个学生初始化一个结构体,分别读取每个学生的姓名和成绩数据,并存储到结构体中对应的成员里前置条件结构体已被定义,文件内数据的数据类型和顺序合法后置条件数据被完整存入结构体中此用例属于文件导入需求表3-2数据预处理用例用例2名称数据预处理功能对导入系统的学生数据进行预处理描述将每门课程的最高分和最低分拉平,并对其他成绩进行等比例缩放输入学生各门课程的成绩来源结构体输出学生各门课程的新成绩目的地结构体行动系统从数据结构中读取全体学生各门课程的成绩,通过算法找出其中的最高分和最低分。分别将其他每一门课程的最高分和最低分乘以一个比例系数,使之与该最高分和最低分相等,并对该门课程内的其他成绩均进行乘以该比例系数的操作。前置条件数据已被成功导入结构体中后置条件输出新的学生成绩到结构体中此用例属于数据预处理需求表3-3判断相关性用例用例3名称相关性功能计算学生成绩间的相关性描述将学生各门功课的成绩转化为每两门课程成绩的相关性输入学生各门课程的成绩来源结构体输出成绩相关课程的序号目的地关联统计数组行动比照学生每两门课程的成绩,按照一定标准判断成绩是否相关。假设相关那么将这两门课程的编号输入到相应的数据结构中存储起来前置条件数据预处理完毕后置条件生成课程相关性数据此用例属于关联规那么需求表3-4统计频繁项用例用例4名称频繁项功能找出相关性数据中的频繁项描述统计相关性数据中各项的重复次数输入课程相关性数据来源结构体输出成绩相关联的课程目的地关联规那么数组行动记录相关性数据中各项的重复次数,用重复次数除以学生数得到每个相关性的置信度,输出大于最小置信度的数据前置条件课程相关性数据已生成后置条件生成关联规那么并输出此用例属于关联规那么需求表3-5判断高风险学生用例用例5名称挂科学生功能输出挂科风险较高的学生描述分析学生现有成绩〔平均分,是否挂科〕,输出挂科风险较高的学生输入学生的姓名,各门课程的成绩来源结构体输出学生的姓名目的地高风险学生数组行动统计学生是否有过挂科经历,计算没有挂科经历学生的平均分,输出有挂科经历和平均分小于一定值的学生前置条件数据已被成功导入结构体中后置条件学生被成功分类并输出挂科风险较高的学生此用例属于分类需求表3-6判断高风险课程用例用例6名称高风险课程功能输出挂科风险较高的课程描述分析所有课程的挂科风险,输出挂科风险较高的课程输入学生各门课程的成绩来源结构体输出课程名目的地高风险课程数组行动计算所有课程的挂科率,假设某课程的挂科率高于一定值,那么认定该课程为高风险课程,输出所有高风险课程前置条件数据已被成功导入结构体中后置条件课程被成功分类并输出高风险课程此用例属于分类需求表3-7聚类用例用例7名称聚类功能对学生进行聚类描述识别出噪声点,将学生划入不同的簇,输出聚类结果输入学生的姓名,各门课程的成绩来源结构体输出学生各门课程的新成绩目的地聚类数组行动系统依次读取每个学生的信息,通过聚类算法判断其是否为噪声点,对不是噪声点的学生判断其应该被归入哪一个簇,直到所有学生都判断完毕前置条件数据已被成功导入结构体中后置条件学生被成功聚类并输出聚类结果此用例属于聚类需求表3-8导出文件用例用例8名称导出文件功能将挖掘结果导出至文件描述将各数组中存储的挖掘结果导出至文件输入文件地址,挖掘结果来源各数组输出挖掘结果目的地文件行动系统创立文件,依次读取每个数组内的信息,输出到文件前置条件挖掘结果成功存入数组内后置条件文件成功生成并写入数据此用例属于导出文件需求第四章系统设计与实现系统概要设计系统体系结构本系统使用容器体系结构。当一个系统需要生成大量数据并持久保存时,一般使用容器体系结构。容器体系结构的优点是各个功能组件是相互独立的,它们无需知道其他组件的存在,在运行时也不会受到其他组件的影响。一个组件的变更可以传播到其他所有的组件,所有数据可以得到一致的管理。具体到本系统来说,采用容器体系结构可以使挖掘结果持久保存,可以比拟方便的管理学生信息,各组件之间交互性不强,可防止因一个组件发生错误影响到其他组件的功能。交互器交互器人机交互导入文件人机交互导入文件导出文件导出文件数据预处理器聚类数据预处理器聚类器工程容器关联规那么计算缩放比例生成簇分类结果识别噪声点学生信息缩放数据计算最值关联规那么计算缩放比例生成簇分类结果识别噪声点学生信息缩放数据计算最值聚类结果聚类结果分类器分类器关联规那么挖掘器课程分类学生分类课程分类学生分类生成规那么分析关联生成规那么分析关联图4-1学生成绩分析系统体系结构图系统包括导入数据、数据预处理、关联规那么、分类和聚类五个组件,组件间相互平行互不干预。所有组件共享的学生信息和各组件生成的挖掘结果存放在工程容器中,这提高了数据传输的效率。各组件下有假设干子功能模块.2系统数据结构采用结构体数组记录学生信息,每一个结构体代表一个学生。每个结构体内有用字符串数组存储的学生姓名,用一维整数数组存储的学生成绩〔假设学生成绩保存小数可改用浮点数数组〕,用整数存储的平均分。还可根据各学校的具体需求参加性别、学号、学院、专业等信息。采用二维整数数组记录关联规那么,二维数组的行数和列数与课程数相等,数组中的每个元素代表其行标和列标所对应的两门课程的关联。采用一维整数数组记录高风险课程的编号。采用二维字符串数组记录高风险学生和和聚类结果,每一行对应一名学生。系统详细设计.1文件导入数据图4-2文件导入数据时序图首先用户将导入数据文件的请求和数据文件的地址发送给openfile,openfile对系统中已经定义的结构体进行初始化。初始化完成后,openfile翻开文件并开始从文件中读取数据,并存入结构体中。循环这一过程,直到所有的数据都被存入了结构体中,openfile关闭文件,并向用户输出“成功导入文件〞4.2.2数据预处理本系统所采用的数据为大学生各门课程的考试成绩,均为百分制,数据的准确性、完整性、一致性和可信性都比拟高,无需涉及填补缺失值和过滤噪声点等处理,数据预处理的工作较为简单。考虑到不同课程间难易程度存在区别和阅卷教师存在主观差异,需对数据做出一定处理。例如全体学生中课程A的最高分为95分,最低分为55分,课程B的最高分为85分,最低分为35分,应对课程A和课程B的成绩进行一定处理,使得A和B的最高分处在同一成绩区间,最低分也处在同一成绩区间。按照一些教育领域中用百分比〔即排名〕替代分数来表述成绩是一个可行的方法,但这种方法有其一定的局限性。对于选拔性考试来说,这种方法是非常合理的,因为选拔性考试只按照成绩上下排序择优录取,而无需考虑这些成绩之间差距的大小。但对于本系统涉及到的算法来说,成绩间的差值显然是不能忽略的。假设采用排名的方式代替分数表述成绩,在一些特定情况下会对产生较大误差。如某一门课程中,有5名学生得分82分,10名学生得分81分,1名学生得分80分。那么得到82分的学生和得到80分的学生之间的相差15个名次,显然远大于两者之间2分的分数差。故对成绩的预处理采用的方法为选取一门课程的最高分和最低分为标准,将其他课程所有学生的成绩等比例放大或缩小,使得所有课程的最高分与最低分一致,消除课程难度的客观因素和阅卷教师的主观因素对成绩的影响。一些国外大学用ABCD的方式取代百分制对学生进行评价,当学生成绩中存在不同评价标准的成绩时,应对成绩进行处理,统一标准。考虑到绝大局部国内大学所有课程均采用百分制对学生进行评价,故本系统不再进行成绩转换功能的开发。图4-3数据预处理时序图用户向pretreatment发出数据预处理请求,pretreatment从结构体中读取学生成绩信息并进行预处理,预处理结束后将新的成绩再存入结构体中.3关联规那么关联规那么功能模块的关键点有两个,一是用什么样的标准判断两门课程是否存在关联,二是如何挖掘各门课程的关联规那么。对于如何判断两门课程存在关联的问题,从现有的数据来看,用两门课程成绩的接近程度来判断是否存在关联是一个比拟合理的方式。判断两门课程的成绩是否接近有等宽和等深两种方式。等宽的方式为将所有学生各门课程的成绩按照一定的宽度分为假设干个区间〔根据大多数高校的计分制度,本系统按照每10分一个区间将成绩分为10个区间〕,处在一个成绩区间内的课程即认为成绩足够接近存在关联。但这种判断标准有一定缺陷,在一些特定情况下会产生较大的误差。例如某学生课程A的成绩为91分,课程B的成绩为89分,课程C的成绩为81分。按照等宽的判断标准,课程B和课程C存在关联,课程A与课程B和C均无关联。但是按照我们的常识来讲,毫无疑问课程A和课程B的成绩更为接近,二者仅相差2分,应该认定为存在关联。导致这种现象的原因是衡量两门课程是否接近应该依据两门课程成绩的差值,无需考虑成绩的绝对值。而采用等宽方式判断成绩是否接近的方法无疑会受到成绩绝对值的影响。之后我尝试采用等深的方式判断课程关联,在一定程度上防止绝对值影响判断的问题,但是又带来了新的问题,即如何划定深度。由于各高校在计算考试成绩时无需考虑成绩差值,所以在这方面无经验和先例可循。假设采用动态划定深度的方式〔即根据每个学生最高分和最低分之间的差值划定不同的深度〕可在一定程度上得到比拟合理的结果,但此种方法缺乏教育学理论的支持,仅作为参考。综上所述,本系统采取应用较为广泛、能为大多数人所接受的等宽的方式判断两门课程的成绩是否接近。本系统采用Apriori算法挖掘各门课程的关联规那么。Apriori算法是应用最为广泛的挖掘布尔关联规那么频繁项集的算法。Apriori算法也有一定的缺陷,主要表现在可能产生大量的候选集,以及可能需要重复扫描数据库。但是对于应用于普通高校的学生成绩分析系统来说,其课程数和学生数都是很有限的,现代高性能计算机可以迅速完成上述工作。因此对于本系统来说,Apriori算法的一些固有缺陷是完全可以接受的。图4-4关联规那么挖掘时序图用户向associationrules发出挖掘关联规那么请求,associationrules从结构体中读取学生成绩信息并进行分析关联,处理完成后将关联数据存入关联数组,然后统计关联数组中的频繁项,生成关联规那么并存入关联规那么数组4.2.4分类本系统采用决策树算法来实现分类预测功能,主要预测全体在校学生是否有挂科风险,以及挂科风险比拟高的课程。在现有数据条件下,决策树选取该学生已经完成学习的课程中是否有挂科和所有已经完成学习的课程的平均成绩是否低于一个特定值来作为测试属性。如果某学生有过挂科经历,说明该学生在学习态度、学习方法或学习能力方面存在一定问题,那么他在今后学习其他课程的过程中会比其他学生挂科的可能性更大,这种因果联系符合一般人的认知,因此选择是否有挂科经历作为一个测试属性。假设某学生各门课程的成绩较低〔平均分低于某一特定值〕,他显然比其他成绩更好的学生要承当更多的挂科风险,因此选择平均成绩是否低于一个特定值来作为另一个测试属性。本算法将某一课程以毕业学生的挂科率作为衡量该课程是否为高风险课程的测试属性,将挂科率高于某一特定值的课程作为高风险课程,此参数可由教务工作人员根据本专业的课程难度和生源水平等实际情况进行调整。图4-5分类时序图用户向classify发出分类请求,classify从结构体中读取学生成绩信息并进行分析处理,将高风险学生的姓名存入高风险学生数组中并输出给用户。学生分类完成后,classify对课程进行分析,将高风险课程的名字存入高风险课程数组中并输出给用户.5聚类本系统使用聚类算法对学生进行聚类,根据聚类结果分析学生在校表现和成绩之间的关联性。K-means算法是数据挖掘领域应用最为广泛的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。从这些方面来看,K-means算法是比拟符合本系统对于聚类算法的要求的。但K-means算法同样有一些固有缺点。首先是K-means算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大的。不过出于和采用Apriori算法同样的理由,时间复杂度高的缺点可以忽略。其次,在K-means算法中K是事先给定的,这个K值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最适宜。在本系统中,被聚类的对象是学生,即使对于同一所高校甚至是同一专业的学生来说,学生间的个体差异也是很大的,因此无法事先估算出K值。而且在使用K-means算法时,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化,且初始聚类中心的选择对聚类结果的影响非常大。基于和无法事先估算K值相同的理由,聚类中心也很难在事先做出选择。因此,K-means算法并不适用于本系统。DBSCAN算法也是一种应用比拟广泛的聚类算法。与K-means算法相比,DBSCAN算法不需要事先知道要形成的簇类的数量,而且DBSCAN算法可以发现任意形状,显然更加适合本系统的需求。图4-6聚类时序图用户向clustering发出聚类请求,clustering从结构体中读取学生成绩信息并进行分析处理,聚类完成后,将聚类结果存入聚类数组中并输出给用户4.2.6导出文件图4-7导出文件时序图首先用户将导出数据至文件的请求和创立文件的地址发送给creatfile,creatfile在指定地址创立文件。创立文件完成后,creatfile依次从存放关联规那么、分类结果和聚类结果的数组中读取数据,依次存入文件中。循环这一过程,直到所有的数据都被存入了文件中,向用户输出“成功导出数据至文件〞系统实现4.3.1文件导入数据图4-8文件导入数据类图将文件内的数据存入系统已定义的结构体中,每一个学生对应一个结构体4.3.2数据预处理图4-9数据预处理类图通过计算全体学生成绩的最大值和最小值以及各课程成绩的最大值和最小值确定对各课程成绩的缩放比例,并更新成绩数据4.3.3关联规那么图4-10关联规那么挖掘类图创立2个二维数组,1个用来统计课程关联数,1个用来记录关联规那么。判断学生成绩是否关联,假设某一名学生的第i门课程和第j门课程的成绩相关,那么使课程关联数数组的第『i-1』『j-1』项加1。在全体学生的所有成绩都分析完成后,判断课程关联数数组各项的值是否大于最小支持度。假设第『i-1』『j-1』项的值大于最小支持度,那么令关联规那么数组第『i-1』『j-1』项的值为1分类图4-11分类类图创立来两个数组,一个用来统计有挂科风险的学生,一个用来统计高风险课程。计算每个学生的平均分并存入结构体中,分析学生的挂科风险,假设学生有挂科经历或平均分低于某一特定值,那么将其放入数组中。计算每门课程的挂科率,假设挂科率大于某一特定值,那么将其放入数组中4.3.5聚类图4-12聚类类图任选一个未被访问过的点开始,找出与其距离某特定值内的所有附近点,如果附近点的数量大于某一特定值,那么当前点与其附近点形成一个簇,并且出发点被标记为已访问。然后递归,以相同的方法处理该簇内所有未被标记为已访问的点,从而对簇进行扩展。如果附近点的数量小于某一特定值,那么该点暂时被标记作为噪声点。如果簇充分地被扩展,即簇内的所有点被标记为已访问,然后用同样的算法去处理未被访问的点。直到所有点都在簇中或被标记为噪声点,将聚类结果输出到数组中4.3.6导出文件图4-13导出文件类图将关联规那么、分类结果和聚类结果导出到文件系统应用图4-14欢送界面可根据用户具体需求设置不同欢送文字或登录功能图4-15主界面本系统为学校内部所使用的办公软件,所以并不追求华美的界面。主界面以简洁为主要诉求,方便用户上手的同时也可加快软件运行速度图4-16导入文件单击导入文件按钮后弹出窗口让用户搜索文件图4-17导入文件成功图4-18数据预处理图4-19输出关联规那么在文本框内输出关联课程,并使用坐标系较为直观地展示课程关联性。XY轴分别为两门课程的成绩,每个点代表一个学生图4-20输出分类结果图4-21输出聚类结果第五章结论本文主要围绕基于数据挖掘技术的学生成绩管理系统,系统地阐述了系统所涉及的技术知识、领域知识。运用Windows7作为开发环境,Eclipse作为开发平台,Java作为开发语言。从学生成绩管理系统的实际需求出发,运用关联规那么挖掘技术、分类技术、聚类技术和相关编程技术完成了数据挖掘技术的学生成绩管理系统的设计和开发。本系统拥有简洁直观的界面,可用从文件导入数据,将挖掘结果导出至文件,实现了关联规那么挖掘功能,学生分类功能,课程分类功能,学生聚类功能,并且在一定程度上以可视化的方式将挖掘结果直观地呈现给用户。市面上有很多功能强大的的数据挖掘软件都能实现这些功能,甚至还能提供多种算法供用户选择。但对于教务管理工作来说,这些专业软件的功能大大超出了管理和分析学生成绩的需求,这使得软件的大局部功能都成为了冗余功能,是软件的运行速度大打折扣,复杂的界面对于没有数据挖掘背景的教务工作者来说也增加了软件的上手难度。本系统从学生成绩分析系统的实际需求出发,意图用最简洁的界面和最简单的功能满足学生成绩管理工作的需求。由于本人的算法设计能力和编程能力有限,本系统还有许多可以继续完善的地方。首先,系统的界面虽然简洁直观,但是还不够美观,且人机工程方面也有改良的空间。其次,可视化功能也不够强大,大局部挖掘结果仍然通过文字的方式呈现给用户。算法的合理性也没有得到充分的验证。由于数据真实度有限,目前对挖掘的结果的分析工作做得还不够,无法对算法的合理性作出明确的判断。主要是无法根据挖掘结果对算法中的各种参数进行调整。未来通过分析真实数据的挖掘结果,可对算法的合理性进行深入分析,通过调整各种参数来进一步调整各挖掘算法,使挖掘结果更加合理。此外,还可根据各学院的实际需求参加身份验证、成绩转换等功能,使本系统能适应更多学院的实际情况。我会在今后的学习中进一步学习数据挖掘知识和编程技术,持续改良本系统。参考文献HanJiawei,KamberMicheline.?数据挖掘:概念与技术?.机械工业出版社.2021毛国军,段立娟.?数据挖掘原理与算法?.清华大学出版社.2021韦斯,冯舜玺.?数据结构与算法?.机械工业出版社.2021朱庆生,古平.?Java程序设计?.清华大学出版社.2021赵真.?Eclipse开发技术详解?.化学工业出版社.2021姚昀.?以个性化教育为导向大学多元化人才培养探析?.中南林业科技大学学报.2021年03期鲍俊男.?学生成绩分析系统的设计与实现?.北京工业大学.2021曾泽林,段明秀.赵松.?Apriori算法的改良及应用?尹晖.?决策树算法的研究与应用?.兰州大学.2021致谢首先,我要特别感谢我的毕业论文导师牛琨老师。牛琨老
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第3课 精准的查找算法说课稿2025年小学信息技术(信息科技)五年级下册鲁教版(信息科技)
- 初中生英语戏剧表演主题班会说课稿
- 小学行为习惯养成主题班会说课稿2025
- 小学心理发展规律说课稿
- 技术合作社会效益考量维度
- 初中2025年小说戏剧角色分析说课稿设计
- 初中2025友爱活动说课稿
- 2026年异物卡喉测试题及答案
- 2026年小学介词基础测试题及答案
- 2026年行政综合管理测试题及答案
- 2026眼镜镜片制造过程评估及镀膜工艺Plus偏光镜研发趋势说明
- 2026-2030中国摩卡咖啡壶行业市场发展趋势与前景展望战略分析研究报告
- (新)生物安全年度工作计划
- 山东博政投资发展(集团)有限公司招聘笔试题库2026
- 5.1.4 识读识读预焙阳极铝电解槽的结构图
- (高清版)DZT 0426-2023 固体矿产地质调查规范(1:50000)
- 多式联运应用及其优势分析
- 道路照明计算中海创
- 酒店西餐厅工作程序SOP
- GB/T 25916.2-2010洁净室及相关受控环境生物污染控制第2部分:生物污染数据的评估与分析
- GB/T 19587-2017气体吸附BET法测定固态物质比表面积
评论
0/150
提交评论