学生管理系统_第1页
学生管理系统_第2页
学生管理系统_第3页
学生管理系统_第4页
学生管理系统_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

摘要传统的学生管理系统效率低,保密性差,另外大量的数据和文件的管理和更新大大增加了管理员的工作负担。学生管理系统具备简单易用,查询快捷,效率高,保密性好等特点,提供了无纸化办公条件,增加了学校工作人员处理数据的效率。而随着计算机技术的发展,将数据从纸张转移到数据库成为了一种大趋势。学校也会为了提高管理效率引进和完善学生管理系统。本次毕业设计的目标是开发出一个学生信息管理系统,这个系统能够实现学生在网上进行同学之间的互相评价、能够查看互相评价的结果,并查询到自己的总成绩。管理员可以管理班级信息和学生信息,设置学生之间的互评,能够导入和管理学生的成绩信息。本系统界面直观,使得学校的管理更加信息化,智能化。本系统采用了python语言进行功能实现,并结合了html/CSS,JavaScript等技术,使用MySQL数据库存储数据。本系统界面直观、操作方便、使对学生信息的管理更加智能化和规范化。关键词:学生管理系统,django,MySQLAbstractTraditionalmanagementsystemsforhighschoolshaslowefficiencyandpoorconfidentiality.Inaddition,themanagementandupdateoflotsofdataandfilesgreatlyincreasetheworkloadofadministrators.Thestudentmanagementsystemhasthecharacteristicsofeasytouse,quickquery,highefficiency,goodconfidentialityandsoon.Itprovidespaperlessofficeconditions,increasestheefficiencyofhighschools’staffindataprocessing.Becauseofthedevelopmentofcomputertechnology,ithasbecomeatrendtotransferdatafrompapertodatabase.Schoolswillalsointroduceandimprovestudentmanagementsysteminordertokeepthemanagementhighefficiency.Thissystemisaimedatdevelopingastudentmanagementsystem,whichrealizesthestudents'mutualevaluationontheInternet,andcheckthemutualevaluationresults,andinquiretheirownresultsontheInternet.Administratorscanadd,delete,modifyandcheckclassinformationandstudentinformation,setupstudentmutualevaluation,andimportandmanagestudentscores.Thesysteminterfaceintuitive,sothattheschoolmanagementmoreinformation,intelligent.ThissystemUSESPythonlanguageforfunctionalimplementation,andcombinedwithHTML/CSS,JavaScriptandothertechnologies,usingMySQLdatabasetostoredata.Thesysteminterfaceintuitive,simpletooperate,sothatthemanagementofstudentinformationmoreintelligentandstandardized.Keywords:studentmanagementsystem,django,MySQL目录TOC\o"1-2"\h\u9362第1章绪论 I1.1选题的意义自20世纪90年代发展至今,西方诸多发达国家例如美国、英国等国家的大部分学校都完成了数字化校园建设工作,我国的信息数据化工作虽然也在蓬勃发展,但仍有部分偏远地区的信息管理停留在计算机表格管理甚至纸质管理阶段。在学校大量扩招学生的背景下,学生的数量逐年急剧增加REF_Ref19452\r\h[1]。因此,高效的学生管理工作对于学校来说是十分重要的。Web和数据库技术已经成为应用最为广泛的网站架构基础技术。学生信息管理系统就是一种用于学生管理的计算机软件,能够便捷、有效地管理学生的各种信息REF_Ref22813\r\h[2]。在应用系统中,Web提供了与客户进行通信联络的有效手段,数据库则能够长期保存数据,二者结合大大降低了管理员的工作量。1.2选题背景大庆市东风中学是成立于1997年的省级示范重点高中,目前随着学校不断的良性发展,规模的不断扩大,如今已经拥有学生5000余人,招生人数也呈现出逐年递增的趋势,关于学生的各种信息也成几何倍数增长,学生信息的统计管理工作也随着时间推移变得越来越困难。传统的记录的方法不仅加大了学生信息管理的工作量,而且很容易遗漏信息,并且造成信息的更新不及时。传统的学生管理方式大多数都是采用电子文档、由任课教师自己管理,既不便于输入、查询和信息统计,也不便于统一管理,费时、费力,造成了管理上人力、物力的浪费REF_Ref23355\r\h[3]。1.3系统总体设计目标设计的总体目标是构建一个安全稳定、便捷高效的学生管理信息系统,系统的建设能充分地体现了学校的服务意识,为学生、管理人员提供更人性化的服务,提供便捷的数据接口,从而提高工作效率,使得信息系统达到计算机化要求,使得所有涉及的工作更加有效率REF_Ref23469\r\h[4]。本系统旨在开发一个学生管理平台,它可以实现学生在网上进行同学互评,查看互评结果,查询自己的纯成绩及排名。管理员可以对班级及同学进行管理。并且可以通过导入成绩信息将成绩导入数据库以便学生进行查看。建立科学的学生管理系统,实现高效的学生管理工作,不仅可以高效的实现学生管理工作,而且还能提高管理质量REF_Ref23538\r\h[5]。(1)系统功能方面的目标:管理员可以可以修改用户密码,对班级及同学信息进行增删改查管理,可以设置学生之间的互评,可以导入学生的成绩以供学生查看,可以重置用户密码。学生用户可以查看个人信息,修改密码,进行对同学的互评并查看自己的互评,可以查看所有学生的成绩。(2)系统性能方面目标:能够满足一定的性能需求,能够对各种增删改查操作做出准确、快速的反应。详细有以下几点:1.查询信息应尽可能保证准确。2.响应快速。3.能够满足用户的基本的需求。2.1.1技术可行性Python语言作为新兴的面向对象的计算机语言具有简单易懂,可移植性强等特点,能快速入门,适合新手和没有计算机基础的人学习。前台图形图像可通过图像制作工具来制作美观的画面。pycharm是pythonIDE中最常用到的一个,其主要的功能就是web开发,它功能全面,开发效率高,而且具有Debug调试模式,代码跳转等优秀的功能,配合postman可以大大降低开发难度。本系统使用了MySQL数据库存储数据,MySQL数据库是目前主流使用的数据库,具有强大的数据库开发功能等优点。因此用它来管理存储学生信息系统是很方便的。2.1.2经济可行性开发一个学生管理系统需要投入人力资源和金钱资源,而这些都可以算作资本投资,因此在开始系统开发前需要对成本和收益进行分析。学校学生管理系统的建立完善,能够大大减少工作人员的工作量从而减轻不少压力,进而提高管理学生信息的效率。此外管理员不需要经过大量培训就能够操作这个系统,有效减少资源的浪费。该系统在开发时不会存在任何具有收益性质的功能,只是做到能满足学校对学生信息的管理功能即可,因此开发过程相对简单不少,成本不会很高。通过系统性能和功能分析,估计开发成本不会用太多的资金,同时基于对计算机网络系统的成本-效益分析,本高校学生管理系统具有经济合理性REF_Ref23626\r\h[6]。2.1.3法律可行性本系统的最终应用场景为毕业设计答辩,不具有任何商业用途,没有侵犯任何版权,不会因为利益问题造成任何法律纠纷

,仅供个人使用。本系统在开发过程中不会涉及各种合同的法律问题。整个开发过程中不存在知识产权问题,开发过程未抄袭任何网站,不存在侵犯版权问题REF_Ref23626\r\h[6]。

与业界有关规定也不相冲突,在法律上是可行的。

2.2.1系统需求分析一个优秀的系统应该能够为用户提供充足有用的信息和快捷的查询手段REF_Ref23698\r\h[7]。需求分析是对用户的需求进行分析并对功能做出最终的确定,它是软件生存周期中非常重要的。分析的过程就是和用户对系统功能进行沟通和修正的过程。在这期间,开发人员会感受到用户对项目接连不断的新的要求。所谓需求,也就是用户对系统提出的关于功能和性能的要求。随着计算机技术的普及,很对学校的信息管理也在向计算机化发展。作为计算机应用的一部分,理应具有传统信息管理所不具有的优势。如:快速检索、快速查找、高可靠性、大存储量、强保密性、寿命长、低成本、更新方便,这些优点能够极大地提高教务管理的效率,

也使得学校的管理更加科学化、正规化REF_Ref23698\r\h[7]。(1)学生功能:学生可以进入系统进行学生互评,查看成绩信息,查看人信息(2)管理员功能:管理员可以管理班级信息,管理学生信息,成绩导入,能够进入后台修改信息2.2.2学生用例图修改密码查看个人信息登录同学互评查看成绩学生的功能主要包括:查看个人信息、修改密码、同学互评、学生登录、修改密码查看个人信息登录同学互评查看成绩学生图2-1学生用例图2.2.3管理员用例图登录管理班级管理学生设置互评和查看学生互评导入查看成绩退出初始化学生密码管理员的功能主要包括:班级信息管理,登录管理班级管理学生设置互评和查看学生互评导入查看成绩退出初始化学生密码管理员图2-2管理员用例图第3章系统的关键技术3.1开发语言PythonPython是众多计算机程序设计语言中的一种,它是面向对象的语言。起初主要用于编写自动化脚本,因为版本的更新和源代码的增加让Python语言能够用来开发大型项目和独立项目REF_Ref23861\r\h[8]。Python语言在设计学生管理系统时,其优点主要是体现在对数据的统计和管理方面。Python的特性让它在处理数据时拥有开发速度快、代码量少、成本低的特点,且丰富的数据处理包可以很方便地进行数据处理REF_Ref23861\r\h[8]。且维护方便,技术成熟,只需少量修改即可满足实际需要和需求。学生管理系统作为一个基于教务处数据库的管理系统,它具有开发难度小,工作量小,开发周期短等特点,仅由1—2人即可完成开发与测试。3.2MySQL数据库MySQL是一个开源的数据库,其使用的是结构化查询,也就是SQL进行数据管理。所有人都能在获得官方许可后下载并使用MySQL数据库。因为MySQL数据库十分可靠安全以及强适应性,而以应对大部分存取数据的场合因此许多大中型企业纷纷使用MySQL数据库作为企业数据管理的第一选择。也正因为MySQL数据库是开源的,因此各大企业都能够根据自身需要对其进行修改。3.3Django框架Django框架是python众多web框架中最具有代表性且最常用,功能最强大的一个。时至今日,许多企业都开始选择采用Django框架开发网站。Django框架采用了MTV的框架模式,即模型M,视图V和模版T。中间件是django框架的精髓。在框架中的请求、处理和返回操作都由中间件负责完成,中间件是处理HTTP的request和respons,中间件需要在“settings.py”中的中间件MIDDLEWARE_CLASSES定义处理REF_Ref24024\r\h[9]。Django的特点是简单、方便、高效,有自带的数据库功能。Django最典型的特点就是代码复用性强,在装饰器的加持下很多功能代码只需要写一次就能多次使用,节省了空间和代码运算量。Django官方提供的组件可以通过"插件"的方式应用在框架中,Django官方也提供了许多第三方插件,当然你也可以开发属于自己的工具包。这些功能让Django具有很强的可扩展性。3.4MTV的框架模式Django框架的基础就是MTV模式,将开发任务分为三大部分:-Model:模型层,负责数据存取,处于数据存取层,负责业务对象和数据库的关系映射(ORM)REF_Ref24125\r\h[10]。ORM用来构建web应用中的数据,生成web应用所需要的数据库。数据模型(model)是数据重要的的信息源,模型包含了数据库中的字段信息和数据表的一些操作。模型与数据库中的表是一一对应的关系。Template:模板层,负责数据在页面中显示形式,处于表示层REF_Ref24125\r\h[10]。能够提供设计好的语法来展示信息给用户,负责将页面展示给前端页面(HTML),这部分与MVC中的视图是相似的。使用模板层可以动态地生成HTML。模板中包括静态HTML/css文件,Web脚本语言JS和承接JS的框架JQuery。-View:视图层,负责调用模板和模型,是二者间的桥梁,处于业务逻辑层REF_Ref24125\r\h[10]。用于封装负责处理用户请求及返回响应的逻辑。在项目开发时后端工程师在视图层中完成接收前端发来的各种请求并将前端发来的数据与数据库进行对接,最后将响应发回给前端从而完成一系列操作。第4章系统总体设计4.1系统的功能模块设计开发学生管理系统的目的是为了让管理员更加方便,更加安全地管理数据信息。管理员有权限管理班级的信息,学生的信息,设置学生互评,学生的成绩。学生能够对同学进行互评,可以查看自己的评价,能够查询所有学生的成绩。本章会讲介绍系统开发的功能模块的总体设计和数据库设计。(1)登录:学生和管理员能够通过用户名,密码和验证码进行登录系统。(2)修改密码:学生和管理员可以修改自己的密码。(3)个人信息查询:学生可以查询个人的学生信息,包括学号,姓名,班级,只能查询,不能修改。(4)成绩查询:学生可以查询成绩,仅限查询。(5)学生互评:学生可以对同班的学生(包括自己)做出评价。(6)班级管理:管理员可以管理班级信息;可以管理班级信息,可以添加新的班级信息,可以对班级信息进行修改,修改班级名,班号。可以删除无用的班级信息。(7)学生管理:管理员可以管理学生信息;可以管理学生信息。可以添加学生信息,包括学号,学生姓名,班级,性别,能够修改以上信息。如果数据无用也可以删除。能够初始化学生的密码,初始密码为000000。(8)成绩管理:管理员可以通过导入excl表格导入学生的成绩。(9)设置互评:管理员可以开启互评端口让学生进行互评,通过添加互评开启端口,可以添加学期,开始时间,结束时间,百分比信息。也可以修改上述信息,可以删除无用的数据,互评设置删除后学生的互评信息也会被删除。学生管理系统功能图如图4-1所示。班级管理班级管理学生信息管理设置互评学生成绩管理查看互评学生成绩查询学生互评学生管理系统管理员学生4.2系统数据库设计E-R数据库设计的基础就是建立系统的概念数据模型,描述系统概念数据模型常用的方法是实体-联系(Entity-Relationship)方法,

使用的工具就是E-R图REF_Ref24586\r\h[11]。E-R图是从用户的视角出发,对事物建立起的抽象模型,是用户与设计数据库的人能够实现交流的语言,构建E-R模型就是完成事物的信息抽象的过程。大部分数据库设计产品都会使用E-R模型帮助用户进行数据库设计。学生实体:包括主键id,学生id,真实姓名,性别,班级id。用户实体图如图4-1所示。学生学生学生id姓名性别班级号图4-1学生实体用户实体:id,用户名,密码,是否为用户,是否为超管。用户实体图如图4-2所示。用户用户是否为用户是否为超管密码用户名id图4-2用户实体班级实体:id,班级号,班级名。用户实体图如图4-3所示。班级名班级名班级班级号id图4-3班级实体成绩学期学号id分数成绩实体:id,学期,学号成绩学期学号id分数图4-4成绩实体评价id被评人id互评id互评信息记录结果id互评信息实体:id,评价id被评人id互评id互评信息记录结果id图4-5互评信息实体(6)互评设置实体:id,学期,开始日期,结束日期,优,良,中。互评设置实体图如图4-6所示。良良互评设置id开始日期学期结束日期优中图4-6互评设置实体互评记录实体:id,互评id,学生id,优,良,中。互评设置实体图如图4-7所示。idid互评id良中互评记录优学生id图4-7互评记录实体数据库是系统设计的一个重要组成部分,优秀的数据库设计对系统的开发有着良好的作用。若想建立完善的数据库模型,就需要设计者将数据优化,尽量较少重复的数据和脏数据,避免不必要的空间占用,提高系统的运作速度REF_Ref19452\r\h[1]。本系统采用的数据库为MySQL。本系统数据库中包含以下7个表:学生表、班级表、成绩表、互评记录信息表、互评记录表、互评设置表、用户表。数据库的设计是基于该系统的需求设计的,为后面的逻辑设计打下了基础。1.学生表-student学生表是存储学生数据的信息表,包括:包括主键id,学生id,真实姓名,性别,班级id等信息,其中主键为id,如表4-1所示。表4-1学生表字段名数据类型长度可否为空键引用字段含义备注idint11否主键IDuser_idint11否realnamevarchar16否姓名class_idint11否外键班级sexvarchar1否性别0男,1女2.班级表-class班级表是存储班级数据的信息表,包括:主键id、班号,班级名称。其中主键为id。表的设计如表4-2所示。表4-2班级表字段名数据类型长度可否为空键引用字段含义备注idint11否主键IDclassidvarchar10否班号uniqueclassnamevarchar20否班级名称3.成绩表-grade成绩表是存储学生成绩的信息表,包括:id、学期、学生id、分数,其中主键为id,存在外键student_id。表的设计如表4-3所示。表4-3成绩表字段名数据类型长度可否为空键引用字段含义备注idint11否主键IDtermvarchar16否学期student_idint11否外键同学scoredouble0否分数4.互评记录信息表-assessmentrecord互评记录信息表存储的是学生互评后的信息,包括:订单id、互评、评价结果、评价同学,其中主键为id,另有外键assessment_id,ostudent_id和dstudent_id。表的设计设计如表4-4所示。表4-4互评记录信息表字段名数据类型长度可否为空键引用字段含义备注idint11否主键IDassessment_idint11否外键互评resultvarchar1否评价结果0优,1良,2中,3无ostudent_idint11否外键评价同学dstudent_idint11否外键被评价同学5.互评记录表-assessmentrow互评记录表存储的是学生评价的信息,包括:id、互评、优良中、被评价同学,其中主键为id,存在外键assessment_id、dstudent_id。表的设计如表4-5所示。表4-5互评记录表字段名数据类型长度可否为空键引用字段含义备注idint11否主键IDassessment_idint11否外键互评excellentint11否优goodint11否良ordinaryint11否中student_idint11否外键被评价同学6.互评设置表-assessment互评设置表存储的信息是互评信息,包括:id、学期、优良中、开始日期、结束日期等。主键为管理员id,表的设计如表4-6所示。表4-6管理员信息表字段名数据类型长度可否为空键引用字段含义备注idint11否主键IDtermvarchar16否学期uniqueexcellentint11否优goodint11否良ordinaryint11否中begindatedate0否开始日期enddatedate0否结束日期7.用户表-auth_user用户表存储的是所有用户的信息,包括管理员和学生的信息,包括:新闻id、新闻标题、发布时间等,其中主键为新闻id,表的设计如表4-7所示。表4-7用户表字段名数据类型长度可否为空键引用字段含义备注idint11否主键IDusernamevarchar30否用户名passwordvarchar128否密码is_stafftinyint1否是否为职工is_activetinyint1否是否为用户is_superusertinyint1否是否为管理员last_logindatetime0否最后登录时间date_joineddatetime0否添加时间第5章系统详细设计5.1系统设计的原则基于python的学生管理系统建立的目标是为了能够减少学校工作人员的工作量,提高学校处理学生数据的效率,实现智能化,专业化和规范化的数据管理,避免了资源和时间的浪费。本系统在设计时应遵循以下原则:(1)实用性原则:该系统应该上手简单、易于操作,满足不同水平的管理员的需求。充分考虑数据处理的实用性,提供优秀的人机交互界面,同学生管理的需求,把这些内容作为核心因素在系统设计中进行全面落实。REF_Ref24860\r\h[12]。(2)可靠性原则:在实际使用中,系统的运行必须是十分可靠的,在开发出的系统是可靠的前提下,才能在之后的应用中发挥作用而不会频繁维护,保证在大量数据输入输出时系统不会崩溃导致信息丢失。(3)可维护性原则:系统的可维护性是判定这个系统的性能优劣的重要的评价体系。如果这个系统的可维护性强,那么它的性能也经得住考验的。如果这个系统的可维护性弱,就会对系统运行产生些许影响。可维护性的优劣可能直接影响到系统的可靠性。(4)可扩展性原则:一个系统不可能一成不变,在应用的过程中用户随时可能会增加新的需求,这就要求程序员在设计系统时留足更新空间,以便于程序员进行更新和扩充,使得系统处于不断完善的状态,更加贴合用户需求。而就计算机网络设计软件而言,拥有可扩展性也便意味着系统本身预留了创新的空间,这对计算机软件系统生命周期的延长无疑有着绝佳的助益REF_Ref24899\r\h[13]。(5)安全性原则:因为学生管理系统的部署是在学校内部的局域网,因此不会像在互联网中频繁受到黑客的攻击,但是对用户密码的加密依然是为了保护数据的必要的手段。5.2用户功能模块5.2.1登录模块对于管理员来说,需要在admin后台界面进行注册才能够登录管理员界面。学生则可以在管理员登入自己的信息后通过学号,密码和验证码进行登录。同时,管理员和学生还可以进行修改密码的操作。如果输入的账号和密码是错的,那么前端就会返回错误信息并且告知正确的格式以供参考,保证了用户的体验。通过第三方类生成的激活码保证了登录时的安全性。登录实现:session采用cookie实现,则对于禁用cookie和不支持cookie的环境,无法登陆。用户登录设计图如图5-1所示。如图5-1用户登录设计图5.2.2班级管理模块管理员可以在管理员界面对班级信息进行管理。班级表中存在班号和班级名称,并且可以合计男生总数和女生总数。班号是每个班的标示,为unique。其中班号为八位,如果不是八位则会报错。前端发送Ajax请求向后端请求数据后,后端从数据库中提取相应的数据并打包返回给前端。表格的生成应用到了datatables插件。并且用count()计算了合计男生总数和女生总数并插入到aaData中。管理员查看班级的表单页,如果设置成功,则能够从前端按钮的onclick事件进行增删改,并且设置了搜索框通过输入班号进行查找。班级管理界面图如图5-2所示。如图5-2班级管理界面图5.2.3学生管理模块设置学生信息记录。管理员可以在管理员界面对学生信息进行管理。学生表中存在学生号,学生姓名,性别和班号。其中学号是每个学生的标示,为unique。学号为10位,如果不是10位则会报错。班号与班级表进行适配并设置了下拉框。前端发送Ajax请求向后端请求数据后,后端从数据库中提取相应的数据并打包返回给前端。表格的生成应用到了datatables插件。管理员查看学生的表单页,如果设置成功,则能够从前端按钮的onclick事件进行增删改,并且设置了搜索框通过输入学生学号进行查找。学生管理界面图如图5-3所示。图5-3学生管理界面图5.2.4设置互评管理员可以在考试成绩颁布后设置互评,标准为优,良,中,并对其进行百分比设置,要求优良中的百分比总和必须为100%。管理员在点击“添加”按钮后前端出发onclick()事件弹出遮罩层即可添加信息,可添加信息有学期,开始日期,结束日期,优,良,中百分比。添加完毕后将数据存入数据库并发回前端。管理员也可以对互评设置信息进行修改和删除,一旦将信息删除,则学生地互评信息也将会一并清零。设置互评界面图如图5-4所示。图5-4设置互评界面5.2.5进行互评和查看互评学生可以根据管理员发布的互评设置对同班的其他人进行评价,标准为优,良,中,点击按钮后后端判断学生所选的评价是否符合百分比,如果符合就将信息传入数据库,如果不符合就弹出错误信息。评价信息能够修改。学生只能查看自己的评价信息。管理员可以在界面查看所有学生互评的情况但是不能修改,只能进行查询操作。进行互评界面图如图5-5所示。图5-5进行互评界面图5.2.6导入成绩在成绩导入界面中,管理员可以通过导入以xls结尾的excel文件对学生成绩进行输入。选中文件后点击提交,后端会判断该文件是否是excel文件,如果是,则后端会对文件进行处理,插入到表中,并形成外键关系。如果不是excel文件前端会给出提示并报错。excel表中需要有学期,学号,成绩信息,要求数据准确且顺序正确。成绩导入界面图如图5-6所示。如图5-6导入成绩界面图学生在成绩出来后想要第一时间知道自己的成绩,但是传统的高中依然是使用纸张进行成绩信息的传递,如果可以将成绩导入进数据库中让学生自行查看,就能有效避免纸张的浪费,就能杜绝了发布传统成绩单时,在成绩单没有大面积印刷时查看成绩的拥挤现象。管理员和学生都能够在导入成绩后对成绩信息进行查看,管理员若要对成绩信息进行修改就需要到后台界面修改,学生只拥有查询权限。查看成绩界面图如图5-7所示。如图5-7查看成绩界面图5.3后台管理模块Django自带了后台管理,我们可以将model配置在admin中就能在admin后台管理中处理数据。在控制台将模型类映射后把模型类注册在admin中即可在后台管理中管理数据。5.3.1用户管理员进入到后台后点击用户即可查看当前用户信息。点击增加用户即可添加用户,输入用户名,密码,确认密码点击保存即可完成添加。点击其中用户后选择一个用户通过选择超管来定义该用户是否为管理员,如果是则为管理员,如果不是则为学生,可以添加个人信息。用户修改面图如图5-8所示。如图5-8用户修改图5.3.2互评记录管理员通过点击互评记录可以查看学生之间的详细互评信息,进入互评记录界面后选择一个学生就能查看该学生的互评信息并加以修改。互评记录修改图如图5-9所示。如图5-9互评记录修改图5.3.3互评设置管理员选择互评设置后进入界面,在选择一个互评后进入该互评信息界面,可以对该信息进行修改和删除,可修改开始日期,结束日期,学期,优良中。点击增加后进入增加界面,填入开始日期,结束日期,学期,优良中百分比后点击保存即可完成添加。互评设置修改图如图5-10所示。如图5-10互评设置修改图5.3.4学生管理员点击学生后进入学生界面,通过点击学生id进入学生信息界面,可以对学生信息进行修改,包括学生学号,学生姓名,班级,性别。学生修改图如图5-11所示。5.3.5成绩管理员点击成绩后进入成绩界面,通过点击按钮进入学生成绩信息界面,可以对成绩信息进行修改,包括学期,学生id,分数。成绩修改图如图5-12所示。如图5-12成绩修改图5.3.6每人互评记录管理员点击每人互评记录后进入互评记录界面,通过点击按钮进入学生互评信息修改界面,可以对互评信息进行修改,包括互评设置,被评价同学,优良中个数。互评记录修改如图5-13所示。如图5-13互评记录修改图5.3.7班级管理员点击班级后进入班级界面,通过点击班级id进入班级修改界面,可以对班级信息进行修改,包括班号,班级名称。班级添加图如图5-14所示。如图5-14班级添加图第6章系统测试6.1测试的意义与目标统测试主要包括系统测试的方法,系统测试的功能,系统的稳定性,系统的容错能力,系统的响应速度,以及系统的并发性等方面REF_Ref25010\r\h[14]。软件测试的目的是检验所开发的系统在使用过程中是否有达到预期目标,能否满足用户的需求,发现各种异常的情况。项目组在开发一个项目产品后,一定会对项目产品进行测试。在测试的时候应遵循以下两点:测试是为了验证程序是否有bug以便于程序员的修改与纠正,从而提高系统的可靠性,而不是证明程序没有bug。测试人员通过分析错误产生的原因和特征,帮助程序员发现当前项目软件过程的错误,方便修改和改进。同时,通过分析也能帮助我们设计出有针对性的检测方法,改善测试的有效性REF_Ref25053\r\h[15]。6.2测试用例设计与实施6.2.1登录用户在登陆界面学生和管理员分别输入账号和密码后输入图形验证码,全部正确后即可进入相应的界面。如图6-1登录成功。图6-1登录测试成功界面6.2.2班级信息管理测试管理员点击班级管理后跳转到班级管理界面,此时可以对班级信息进行增删改查。点击添加按钮,输入正确格式的班号和班级名即可将数据传进数据库。单击选中班级信息后点击修改按钮后弹出修改窗口即可对信息进行修改,再点击确认后即可将修改后的数据保存在数据库。单击选中班级信息后点击删除按钮后弹出删除窗口,再单击确定即可删除相应数据,删除后与其有链接关系的学生信息也会一并删除。如图6-2添加成功。 图6-2班级信息管理测试添加成功界面如图6-3修改成功。图6-3班级信息管理测试修改成功界面如图6-4删除成功。图6-4班级信息管理测试删除成功界面6.2.3学生信息管理测试管理员点击学生管理后跳转到学生管理界面,此时可以对学生信息进行增删改查。点击添加按钮,输入正确格式的学号,学生姓名,性别,选取班级后即可将数据传进数据库。单击选中学生信息后点击删除按钮后弹出删除窗口,再单击确定即可删除相应数据,删除后与其有链接关系的信息也会一并删除。管理员再表单输入相应信息可以进行查找。管理员选中学生信息后可以将该学生的密码重置为000000。如图6-5添加成功。图6-5学生信息管理测试添加成功界面如图6-6删除成功。图6-6学生信息管理测试删除成功界面如图6-7修改成功。图6-7学生信息管理测试修改成功界面如图6-8初始化密码成功图6-8初始化密码测试成功界面6.2.4设置互评测试管理员进入后台操作系统,单击互评设置界面即可进入设置界面,点击添加后输入正确的学期(xx年x),开始时间,结束时间,“优”“良”“中”的百分比(其总和必须为100)后点击确定设置成功。选中一次互评信息后点击删除即可删除该互评信息,点击修改即可对信息进行修改,可修改内容包括学期信息,开始时间和结束时间,百分比。选中其中一次互评后点击删除即可进行删除操作。如图6-9添加成功图6-9添加互评测试成功界面如图6-10修改成功图6-10设置互评测试成功界面如图6-11删除成功图6-11删除互评测试成功界面6.2.5成绩导入测试管理员点击导入成绩单后进入界面,点击浏览后搜索到想要导入的成绩单表格文件后单击“提交”按钮就能将成绩信息导入到数据库中。点击重置即可将表单清空。如图6-12成绩导入成功。图6-12成绩导入测试成功界面6.2.6学生互评测试学生登录到学生界面,点击进行互评进入界面开始互评。点击选中一个同学后选择“优”“良”“中”,其中一个即可完成互评,学生只能对同班的学生进行互评,学生在查看互评界面看到自己的互评信息。管理员可以查看所有学生的互评信息。如图6-13学生互评测试成功。图6-13学生互评测试成功界面经一个月有余的设计,大庆市东风中学学生管理系统已经开发完成,并且经过多次调试与修改,已经达到了预期的效果。本次设计对大庆市东风中学学生管理系统进行了详尽的介绍,利用了近几年较为流行的python语言与Django框架。之后对系统进行了详细的介绍;如登陆界面、班级管理、学生管理、成绩管理、互评管理。以及后台数据管理的实现,方便了用户的使用。本系统采用了MySQL数据库,将库中不同的表以主键、外键的形式链接在一起,实现操作和数据间的交互,一目了然,使管理员更加简单地完成学生管理系统的维护,提升了用户体验。在本次设计的过程中,我遇到了很多难以解决的问题,例如:由于路由不匹配导致前端无法接受后端的信息导致页面404现象,数据库插件版本与python版本不匹配导致的爆红,连接数库时密码未匹配,各种因为语法错误导致的爆红,在查阅信息时因为python版本不同导致的在实际使用时的导包语法错误等问题。通过网络查询和老师的指导帮助后得以解惑,在项目编写过程中不断的遇到问题并解决问题,我在对于python语言的掌握,django的使用的熟练度都有所提高。这次的系统开发大体上实现了目标功能,但是还有很多的缺陷,如代码中类和对象的命名的不规范,语句不符合python的编写规则从而爆黄,通过老师的指导,让我明白了代码规范很重要,要做到见名知意,本次系统的开发,让我收获了不少,并且记录了下来,作为今后开发的经验,但也是通过这次自主设计,提高了我的动手实践能力和自学能力,感觉到自信心倍增。转眼间毕业设计就要结束了,这也意味着我的大学生活也进入了尾声。虽然大四下半年因为疫情原因不能回到学校,但是在家中的作业依然十分充实,在家中,我完成了大学四年里最大的项目,我从一无所知的状态开始了独立的学习和研究,完成了自己的很不成熟的设计,但是每一次成功都令我十分激动。在这里我首先要感谢我的导师佟佳颖老师。虽然疫情原因不能面对面指导,但是老师依然对我的设计做出了指导性意见和意见,在程序设计和说明书撰写中对我的困难给予了悉心指点,分享了很多宝贵的经验。我还要感谢论文评阅老师们,能够完整地阅读我所写的稚嫩的论文,能对我论文的不足之处给予了包容。我还要感谢我的父母,在十几年的求学历程中,离不开父母的鼓励与支持,是他们无私的付出,为我创造了良好的学习条件,才能让我顺利毕业,感激他们一直以来对我的抚养与培育。论文完成之际我的内心无法平静,这是一个阶段的结束,又是一个新的阶段的开始,回首四年,虽然取得的成绩不大,但是依然收获不少,感谢自己,鼓励自己。毛建芳.基于C/S架构的学生管理系统设计[J].电脑知识与技术,2018,v.14,72-73.许悦.基于php技术的学生管理系统设计研究[J].科学技术新,2020,93-94.朱倩.高职院校学生实验报告管理系统的分析与设计[J].四川职业技术学院学报,2017,v.27;No.114,139-142.阿曼古丽·帕孜拉.基于web的高校管理系统设计与实现[J].电脑知识与技术,2015,v.11,7-8+11.王振.探究高校学生管理系统建设[J].电子世界,2020,No.584,82-83.杨宝林.基于Java

Web的学生成绩信息管理系统[C].吉林大学,2015.李哲.高校学生档案管理系统需求分析与设计[J].课程教育研究,2017,241-242.朱正国.Python在校园大数据中的应用研究[J].商丘师范学院学报,2020,v.36;No.306,20-23.王兆媛.基于Django框架的图书管理系统的设计与实现[C].吉林大学,2016.石凤贵.基于MTV模式的远程教学系统设计与实现[J].电脑知识与技术,2020,v.16,99-102.朱珍.基于E-R模型数据库设计的关键技术研究[J].电脑编程技巧与维护,2019,No.407,79-81.刘一农;刘子鸣.高校图书馆读者服务系统设计原则及模块实现[J].科技视界,2020,No.300,130-133.童建林.可扩展的计算机网络设计软件的设计与实现[J].电脑与信息技术,2020,v.28;No.163,34-37.苏姝.基于SSH框架的学生信息管理系统的设计与实现[C].天津大学,2015.Khaled

Mohammed,A.S.Tolba,Mohammed

Elmogy.Multimodal

student

attendance

managementsystem(MSAMS)[J].Ain

Shams

Engineering

Journal,2018附录设计系统部分源代码{%loadleftmenu%}

<divid="mws-sidebar-stitch"></div>

<divid="mws-sidebar-bg"></div>

<divid="mws-sidebar">

<divid="mws-nav-collapse">

<span></span>

<span></span>

<span></span>

</div>

<divid="mws-navigation">

<ul>

{%ifuser.is_superuser%}

<li><ahref="{%urlmanageclass%}"><iclass="icol32-group"></i>班级管理</a></li>

<li><ahref="{%urlmanagestudent%}"><iclass="icol32-user-green"></i>学生管理</a></li>

<li><ahref="{%urlmanageassessment%}"><iclass="icol32-group-edit"></i>互评管理</a>

<ul>

<li><ahref="{%urlviewassessment%}">查看互评</a></li>

<li><ahref="{%urlmanageassessment%}">互评设置</a></li></ul></li>

{%endif%}

{%ifnotuser.is_superuser%}

<li><ahref="{%urlmanageassessment%}"><iclass="icol32-group-edit"></i>互评管理</a><ul>

{%go_assess%}

<li><ahref="{%urlviewassessment%}">我的互评</a></li></ul></li>

{%endif%}

<li><ahref="{%urlmanagegrades%}"><iclass="icol32-document-prepare"></i>成绩管理</a><ul>

%ifuser.is_superuser%}

<li><ahref="{%urlimportgrades%}">导入成绩单</a></li>

{%endif%}

<li><ahref="{%urlmanagegrades%}">同学成绩</a></li></ul></li></ul></li></ul></div></div><divid="mws-header"class="clearfix">

<divid="mws-logo-container">

<divid="mws-logo-wrap">

<imgsrc="{{STATIC_URL}}images/comperformance/logo/logo.png"alt="mwsadmin">

</div></div>

<divid="mws-user-tools"class="clearfix">

<divid="mws-user-info"class="mws-inset">

<divid="mws-user-photo">

{%ifuser.is_superuser%}<imgsrc="{{STATIC_URL}}images/comperformance/administor.png"alt="UserPhoto">

{%else%}

<imgsrc="{{STATIC_URL}}images/comperformance/student.png"alt="UserPhoto">

{%endif%}</div>

<divid="mws-user-functions">

<divid="mws-username">

你好,{{username}}

</div><ul>

{%ifnotuser.is_superuser%}

<li><ahref="{%urlstudentprofile%}">详细信息</a></li>{%endif%}

<li><divid="change-password"style="display:inline"><ahref="dashboard.html#">修改密码</a></div></li>

<li><ahref="{%urluserlogout%}">退出</a></li></ul></div></div></div></div>

{%include"accounts/change_password.html"%}%include"include.html"%}

{%blockextrastyle%}

<linkrel="stylesheet"type="text/css"href="/static/plugins/datatables/extra/TableTools.css"media="screen"/>

{%endblock%}

<body>

{%include"header.html"%}

<divid="mws-wrapper">

{%include"leftmenu.html"%}

<divid="mws-container"class="clearfix">

<br/>

<divclass="container">

{%ifform.classid.errorsorform.classname.errorsorform.class_id.errors%}

<divid="mws-validate-error"class="mws-form-messageerror">

{%ifform.classid.errors%}{{form.classid.errors}}

{%endif%}

{%ifform.classname.errors%}

{{form.classname.errors}}

{%endif%}

{%ifform.class_id.errors%}

{{form.class_id.errors}}

{%endif%}

</div>

{%endif%}

{%ifsuccess%}

<divid='success'class="mws-form-messagesuccess">

您已经{{successinfo}}成功!

</div>

{%endif%}<divclass="mws-panelgrid_8"style="margin-bottom:0px"><divclass="mws-panel-header">

<span><iclass="icon-magic"></i>班级管理</span></div><divclass="mws-panel-bodyno-padding">

<tableclass="mws-datatable-fnmws-table"name="classes"id="classes"style="text-align:center;">

<thead><tr>

<th>编号</th>

<th>班号</th>

<th>班级名称</th>

<th>男生人数</th>

<th>女生人数</th>

</tr></thead>

<tbody></tbody></table></div></div>

{%include"class/addclass.html"%}

{%include"class/editclass.html"%}

{%include"class/deleteclass.html"%}

{%include"class/select.html"%}

</div>

<divid="mws-footer">

CopyrightYourWebsite2020.AllRightsReserved.

</div></div></div>

{%include"footer.html"%}

<scripttype="text/javascript"src="/static/plugins/datatables/extra/TableTools.js"></script>

<scripttype="text/javascript"src="/static/plugins/datatables/extra/ZeroClipboard.js"></script>

</body></html>{%include"include.html"%}

{%blockextrastyle%}

<linkrel="stylesheet"type="text/css"href="/static/plugins/datatables/extra/TableTools.css"media="screen"/>

{%endblock%}

<body>

{%include"header.html"%}

<divid="mws-wrapper">

{%include"leftmenu.html"%}

<divid="mws-container"class="clearfix">

<br/><divclass="container">

{%ifform.student_id.errorsorform.studentid.errorsorform.studentsex.errorsorform.studentclass.errorsorform.studentname.errors%}

<divclass="mws-form-messageerror">

{%ifform.student_id.errors%}

{{form.student_id.errors}}

{%endif%}

{%ifform.studentid.errors%}

{{form.studentid.errors}}

{%endif%}

{%ifform.studentname.errors%}

{{form.studentname.errors}}

{%endif%}

{%ifform.studentsex.errors%}

{{form.studentsex.errors}}

{%endif%}

{%ifform.studentclass.errors%}

{{form.studentclass.errors}}

{%endif%}

</div>

{%endif%}

{%ifsuccess%}

<divid='success'class="mws-form-messagesuccess">

您已经{{successinfo}}成功!

</div>{%endif%}

<divclass="mws-panelgrid_8"style="margin-bottom:0px"><divclass="mws-panel-header">

<span><iclass="icon-magic"></i>学生管理</span>

</div>

<divclass="mws-panel-bodyno-padding"><tableclass="mws-datatable-fnmws-table"name="students"id="students"style="text-align:center;">

<thead><tr>

<th>编号</th>

<th>学号</th>

<th>姓名</th>

<th>性别</th>

<th>班级</th>

</tr></thead></table></div></div>

{%include"student/addstudent.html"%}

{%include"student/editstudent.html"%}

{%include"student/deletestudent.html"%}

{%include"student/initstudent.html"%}

{%include"student/select.html"%}

</div>

<divid="mws-footer"

</div></div></div>

{%include"footer.html"%}

<scripttype="text/javascript"src="/static/plugins/datatables/extra/TableTools.js"></script><scripttype="text/javascript"src="/static/plugins/datatables/extra/ZeroClipboard.js"><

温馨提示

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

评论

0/150

提交评论