Django学生成绩管理
摘 要
在国家重视教育影响下,教育部门的密确配合下,对教育进行改革、多样性、质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化。依照这一现实为基础,设计一个快捷而又方便的线上学生成绩管理系统是一项十分重要并且有价值的事情。对于传统的学生成绩管理系统控制模型来说,学生成绩管理系统具有许多不可比拟的优势,首先是快速更新学生成绩管理系统的信息,其次是大量信息的管理,最后是高度安全,以及使用简单等特性,这使得学生成绩管理系统的管理和运营非常方便。进入21世纪,因为科技和经济的迅速发展,人民群众对非物质层面的精神需求正变得越来越多元化。本系统是为了实现这些目标而提出来的。
本论文系统地描绘了整个学生成绩管理系统的设计与实现,主要实现的功能有以下几点:首页、站点管理(轮播图、公告栏)用户管理(管理员、学院秘书、任课老师、学生)内容管理(新闻列表、新闻分类)更多管理(删除申请管理、学生成绩管理、核对申请管理)等功能,其具有简单的接口,方便的应用,强大的互动,完全基于互联网的特点。
面对此状况,应当利用国内领先的软件技术优势,对于学生成绩管理系统层面的行业特性,规划出符合该领域需求的学生成绩管理系统软件。本文研究的主要目的是为实现学生成绩管理系统的信息化、系统化、规范化,为学生的长远发展奠定了基础。基于学生成绩管理系统,有着较高的现实应用价值。教师和学生不用受时间和地点的约束,查看个人信息和成绩。管理员也不用受时间和地点的约束,进行修改学生资料、成绩的修改等操作。大大减少了很多重复繁琐的工作,使网络更好地查看成绩信息,加快成绩信息管理体制改革,落实学生成绩管理系统现代化、科学化和信息化。面临错综繁芜的学生成绩管理系统工作,研发一种可以让学生成绩管理系统正规化与智能化的数据管控体系就变得迫在眉睫。这是本论文选题的主要目标与研究的价值所在。
关键词:学生成绩管理系统,Django框架,数据库MYSQL
Django student achievement management
Abstract
Under the influence of the state's emphasis on education and the close cooperation of the education department, the requirements for the reform, diversity and quality of education have made the management and operation of the education system more rational than that of the past decade. According to this reality, it is very important and valuable to design a fast and convenient online student achievement management system. For the traditional control model of student achievement management system, student achievement management system has many incomparable advantages. Firstly, it is to quickly update the information of student achievement management system, secondly, it is the management of a large amount of information, and finally it is highly safe and easy to use, which makes the management and operation of student achievement management system very convenient. In the 21st century, due to the rapid development of science, technology and economy, the spiritual needs of the people on the non-material level are becoming more and more diversified. This system is put forward to achieve these goals.
This paper systematically describes the design and implementation of the whole student achievement management system. The main functions are as follows: home page, site management (rotation chart, bulletin board), user management (administrator, college secretary, teacher, student), content management (news list, news classification) and more management (delete application management, student achievement management, check application management). It has a simple interface, Convenient application and strong interaction are completely based on the characteristics of the Internet.
In the face of this situation, we should make use of the domestic leading software technology advantages and plan the student achievement management system software that meets the needs of this field for the industry characteristics of the student achievement management system. The main purpose of this paper is to realize the informatization, systematization and standardization of student achievement management system, and lay the foundation for the long-term development of students. Based on student achievement management system, it has high practical application value. Teachers and students do not have to be constrained by time and place to view personal information and grades. Administrators do not need to be constrained by time and place to modify student data, grades and other operations. It greatly reduces a lot of repetitive and cumbersome work, enables the network to better view the score information, speeds up the reform of the score information management system, and implements the modernization, scientization and informatization of the student score management system. Facing the complicated work of student achievement management system, it is urgent to develop a data management and control system that can normalize and intellectualize the student achievement management system. This is the main goal of this paper and the value of the research.
Key words: student achievement management system, Django framework, database mysql
目录
绪 论
1.1课题背景
2022年处于信息教育高速发展的大背景之下。在今天,缺少手机和电脑几乎已经成为不可能的事情,人们生活中已经难以离开手机和电脑。针对增加的成本管理和操作,各大学校非常必要建立自己的学生成绩管理系统,这既可以让更多的人体验到网络所带来的方便,也有助于提高成绩和学生信息。
以往的学生成绩管理系统相关信息管理,都是工作人员手工统计。这种方式不但时效性低,而且需要查找和变更的时候很不方便。随着科学的进步,技术的成熟,计算机信息化也日新月异的发展,社会也已经深刻的认识,计算机功能非常的强大,计算机已经进入了人类社会发展的各个领域,并且发挥着十分重要的作用。本系统利用网络沟通、计算机信息存储管理,有着与传统的方式所无法替代的优点。比如计算检索速度特别快、可靠性特别高、存储容量特别大、保密性特别好、可保存时间特别长、成本特别低等。在工作效率上,能够得到极大地提高,延伸至服务水平也会有好的收获,有了网络,学生成绩管理系统的各方面的管理更加科学和系统,更加规范和简便。
本文所设计的在线学生成绩管理系统就是在这种客观条件下进行的,是一项利民利国的、非常有价值的教学。在学生成绩管理系统管理方面,传统的管理方式显然无法与在线学生成绩管理系统相比,在线学生成绩管理系统正发挥着越来越重要的作用。在线学生成绩管理系统的速度快、信息量大、安全、简单都是传统模式难以企及的优点,正在发挥着越来越重要的作用。在本文中的学生成绩管理系统是一个基于MySQL数据库和Django框架的。
1.2 课题意义
社会主义进入新时代,经济实力越来越强。我们也变得越来越忙碌、对生活的要求也变得更加严格,对快速和方便的服务的需求也在逐渐增加。因此,对教学行业的管理、服务的要求也越来越严格。为适应时代的发展,各大学生成绩管理系统开始广泛地使用电脑来进行管理,并查看在线成绩的咨询信息系统,为提高工作人员效率提供了一种新的方式,并且减轻了他们的工作强度,在树立校园形象的同时,为学生提供更加方便、简单而高效的服务,实现双赢。
本系统即为方便管理员、教师、和学生而制作的学生成绩管理系统,结合了学生的需求,设计出的一个基于Django、MySQL的学生成绩管理系统。
1.3 开发工具及技术
学生成绩管理系统从本质上讲是一个电子商务模式综合而成的系统。实现了首页、站点管理(轮播图、公告栏)用户管理(管理员、学院秘书、任课老师、学生)内容管理(新闻列表、新闻分类)更多管理(删除申请管理、学生成绩管理、核对申请管理)等基本功能。
主要用到以下技术:
1.3.1 开发技术说明:
本系统前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于python的Django框架进行开发。
前端部分:前端框架采用了比较流行的渐进式PythonScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型,项目前端通过栅格布局实现响应式,可适应PC端、平板端、手机端等不同屏幕大小尺寸的完美布局展示。
后端部分:采用Django作为开发框架,同时集成Redis等相关技术。
1.3.2 B/S结构
B/S(浏览器/服务器)结构是目前使用最多的结构模式,它可以使得系统的开发更加的简单,好操作,而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库,和一些很常用的浏览器就可以了。浏览器就会与数据库进行信息的连接,可以实现很多的功能,B/S结构是可以直接进行使用的,而且B/S结构在使用中极大的减少了工作的维护。基于B/S的软件,所有的数据库之间都是相互独立的,因此是非常安全的。因为基于B/S结构可以清楚的看到系统正在处理的业务,并且能够及时的让管理人员作出决策,这样就可以避免超市的损失。B/S结构的基本特点是集中式的管理模式,用户使用系统生成数据后,这些数据就可以存储到系统的数据库中,方便日后能够用到,这样就可以满足人们的所有的需求。
图2-1 B/S模式三层结构图
1.3.3 MySQL
mysql数据库具有很多的优点,他操作起来非常的简单,只需要编写一小段代码就可以实现相应的功能,而且编写出的代码可以在任何的平台下进行使用,对使用平台没有任何的要求,因此任何的软件开发人员都可以利用mysql数据库来进行系统的开发设计,同时他也可以为软件开发节省了很多的开销,mysql数据库由于存储量大、操作简单。功能强大因此将他最为该系统的数据存储是完全可以的。
mysql数据库是一个开放的架构,任何软件开发员都可以进行使用,随着计算机网络的不断发展,MySQL数据库也在功能方面不断的进行提升,也更加适应所有的系统的开发,我们在对数据库进行操作的时候,是非常简单易上手的,我们只需要编写一小段的代码就可以实现相应的功能,而且编辑出的代码可以在任何的平台上使用,不需要在进行二次的编译。由于MySQL数据库具有以上非常多的优点,我们将它最为数据库的首选应用到系统的开发中,由于他的体积非常小,开发的成本也非常的低,所有受到很多软件开发者的喜欢,被更多的运用到系统的开放中,所以本系统也是利用MySQL数据库来对所有的数据进行存储和编辑。
1.3.4 Python简介
Python 是一个高层次的脚本语言结合了解释性、编译性、互动性和面向对象的。Python 的设计,相比其他语言经常使用英文关键字和其他语言的一些标点符号,它具有比其他语言更有特色语法结构,具有很强的可读性。
解释型语言:类似于Python和Perl语言,这意味着开发过程中没有了编译这个环节。
交互式语言:可以在一个 Python 提示符 >>> 后直接执行代码。
面向对象语言:Python支持面向对象的风格或代码封装在对象的编程技术。
1.3.5 Django框架
Django 项目是一个Python定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:
用于创建模型的对象关系映射
为最终用户设计的完美管理界面
一流的 URL 设计
设计者友好的模板语言
缓存系统。
Django(发音:[`dʒæŋɡəʊ]) 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。
Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。
由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SD Times评选为2013 SD Times 100,位列"API、库和框架"分类第6位,被认为是该领域的佼佼者 。
1.4 国内外现状
随着计算机网络的不断渗透,人们的生活与工作、学习的方式也在慢慢发生变化。传统的学生成绩管理系统相关信息管理方式一般都采取人工的方式,信息的获取、整理、修改、存储等工作还停留在人工阶段。这种方式一方面需要花费大量的人力、物力和金钱,交互起来比较困难,而且会浪费时间;另一方面对学生等信息的管理,特别是随着学生数量的递增,查询、修改起来特别困难;最后由于学生等其他信息的不断增加,信息的存储也成为了难题。
一些发达国家,网络发展比较快,已经很大程度上完成了从人工到计算机管理的转变。我国计算机应用起步比较晚,而且发展区域不平衡,还有很多地区或单位使用传统的方式进行管理,但是目前计算机发展较快,包括网络也已经普及,很多单位和学生也开始慢慢接触网络管理系统。
系统分析
2.1 可行性分析
可行性分析的目的是确定一个系统是否有必要开发、确定系统是否能以最小的代价实现。其工作主要有三个方面,分别是技术、经济和社会三方面的可行性。我会从这三个方面对学生成绩管理系统进行详细的分析。
2.1.1技术可行性
无论是台式机还是笔记本,计算机都以非常迅猛的速度占据着人们的工作与生活,那么能够辅助计算机帮助人们改变工作与生活状态的就是那些安装在计算机上的功能软件。本文所要设计的系统,从简单易懂的思想出发,将通过文字索引提示协助用户操作。
系统的开发环境和配置可以由我们自己安装。系统采用Python开发工具,根据技术语言修改和维护数据信息,并结合要求使系统运行更加稳定安全,从而完成实现系统的开发。网络技术的快速发展使网络传输速度越来越快,价格越来越低,安全性越来越高,其所有硬件平台都能完全满足学生成绩管理系统开发的需要。
因此,我们从两个方面进行了可行性研究,可以看出系统的技术可行性发展没有问题。
2.1.2经济可行性
本系统设计所选择的开发工具和服务器都是免费的开源软件,又或者是适合学生使用的免费版本,并不需要支付费用,而且由作者本人单独完成,也不存在团队费用,几乎没有经济成本,具备经济可行性。
2.1.3社会可行性
社会可行性主要包括法律和学生两个方面,下面将从这两方面进行分析。
(1)法律因素
本系统是学习开发所制作的程序,并不用作商业用途,是在根据实际调研的结果结合现有的学生成绩管理系统后得出的,而且系统制作的全部过程都是在个人的工作电脑中完成的,使用的都是开源和免费的开发环境、分析软件和数据库,不存在侵权问题。
(2)学生可行性
操作人员或者学生只需要具备一定的windows电脑操作常识,不需要精通计算机技能。此外系统管理人员,只需要在windows常识之上再熟悉下使用Tomcat服务器的操作流程,只要掌握一定的计算机知识即可,在正式上线运营之前,仅需要对操作人员进行简单的熟悉流程培训即可。所以从学生可行性上也是可行的。
2.2总体设计原则
一个系统要在开发和维护的过程中方便使用,必须采取一定的设计原则,其主要设计原则有:
简单性:系统功能简单易懂,只需要掌握基本的计算机操作能力即可使用。
针对性:针对特定的学生成绩管理系统,没有多余的其他功能,使学生可以专心使用。
实用性:能够满足学生学生成绩管理、查看成绩等方面的需求。
一致性:设计风格、命名规范一致,整个系统的各个功能模块色彩、摆放位置、功能等都是一致的。
先进性:本系统的代码采用读取数据的方式,方便后续开发、拓展。
2.3 系统需求分析
学生成绩管理系统需要满足的需求有以下几个:
1.信息获取方便,学生可在网页上快速浏览到新的信息。
2.学生成绩,符合学生需要的成绩、评语可以在线查看。
3.查看成绩详情,单独查看某一个成绩的详细信息,获取好评等。
4.注册登录,账号、密码进行登录。
5.历史记录,学生可以查看自己成绩以及其他操作。
6.修改学生信息,可以修改学生密码或者查看等一些个性化操作。
7.管理员功能,管理员可以对学生或者成绩进行管理。
8.系统安全,操作简便,不过于复杂。
9.系统可以稳定运行,不存在卡顿等问题造成学生反感。
2.4 业务流程分析
2.4.1登录流程
登录模块主要满足管理员以及学生、教师的权限登录,学生登录流程图如图2-1所示。
图2-1 登录流程图
2.4.2注册流程
未有账号的学生可进入注册界面进行注册操作,学生注册流程图如图2-2所示。
图2-2 注册流程图
2.4.3添加信息流程
学生在添加信息时,信息编号自动生成,系统会对添加的信息进行验证,验证通过则添加至数据库,添加信息成功,反之添加失败。添加信息流程如图2-3所示。
图2-3 添加信息流程图
2.4.4删除信息流程
学生可选择要删除的信息进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图2-4所示。
图2-4删除信息流程图
系统设计
3.1 系统概要设计
本学生成绩管理系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要学生能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图3-1所示:
图3-1 系统工作原理图
3.2系统结构设计
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。
本学生成绩管理系统结构图如图3-2所示。
图3-2 学生成绩管理系统结构图
3.3 数据库设计
数据库可以说是所有软件的根本,如果数据库存在缺陷,那么会导致系统开发的不顺利、维护困难、学生使用不顺畅等一系列问题,严重时将会直接损害利益,同时在开发完成后,数据库缺陷也更加难以解决。所以必须要对数据库设计重点把握,做到认真细致。因此,数据库设计是这个在线学生成绩管理系统的重点要素。
3.3.1概念结构设计
(1)管理员实体属性图如下图3-3所示
图3-3管理员实体属性图
(2)学生成绩实体属性如下图3-4所示
图3-4学生成绩实体属性图
(3)学生信息实体属性如下图3-5所示
图3-5学生信息实体属性图
3.3.2数据库表设计
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
|
|
|
|
| |
check_application |
|
|
|
| |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
check_application_id | int | 11 | 否 | 主键 | 核对申请ID |
student | int | 11 | 是 |
| 学生 |
class_number | varchar | 64 | 是 |
| 班号 |
subject | varchar | 64 | 是 |
| 科目 |
achievement | varchar | 64 | 是 |
| 成绩 |
teacher | int | 11 | 是 |
| 教师 |
reason_for_application | varchar | 64 | 是 |
| 申请原因 |
teacher_reply | varchar | 64 | 是 |
| 教师回复 |
recommend | int | 11 | 否 |
| 智能推荐 |
create_time | datetime | 0 | 否 |
| 创建时间 |
update_time | timestamp | 0 | 否 |
| 更新时间 |
|
|
|
|
| |
college_secretary |
|
|
|
| |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
college_secretary_id | int | 11 | 否 | 主键 | 学院秘书ID |
employee_number | varchar | 64 | 否 |
| 职工号 |
gender | varchar | 64 | 是 |
| 性别 |
examine_state | varchar | 16 | 否 |
| 审核状态 |
recommend | int | 11 | 否 |
| 智能推荐 |
user_id | int | 11 | 否 |
| 用户ID |
create_time | datetime | 0 | 否 |
| 创建时间 |
update_time | timestamp | 0 | 否 |
| 更新时间 |
|
|
|
|
| |
delete_application |
|
|
|
| |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
delete_application_id | int | 11 | 否 | 主键 | 删除申请ID |
student_number | varchar | 64 | 是 |
| 学号 |
class_number | varchar | 64 | 是 |
| 班号 |
operator | int | 11 | 是 |
| 操作人 |
delete_reason | text | 0 | 是 |
| 删除原因 |
examine_state | varchar | 16 | 否 |
| 审核状态 |
examine_reply | varchar | 16 | 是 |
| 审核回复 |
recommend | int | 11 | 否 |
| 智能推荐 |
create_time | datetime | 0 | 否 |
| 创建时间 |
update_time | timestamp | 0 | 否 |
| 更新时间 |
|
|
|
|
| |
student |
|
|
|
| |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
student_id | int | 11 | 否 | 主键 | 学生ID |
student_number | varchar | 64 | 否 |
| 学号 |
class_number | varchar | 64 | 是 |
| 班号 |
gender | varchar | 64 | 是 |
| 性别 |
examine_state | varchar | 16 | 否 |
| 审核状态 |
recommend | int | 11 | 否 |
| 智能推荐 |
user_id | int | 11 | 否 |
| 用户ID |
create_time | datetime | 0 | 否 |
| 创建时间 |
update_time | timestamp | 0 | 否 |
| 更新时间 |
|
|
|
|
| |
student_achievement |
|
|
|
| |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
student_achievement_id | int | 11 | 否 | 主键 | 学生成绩ID |
student | int | 11 | 是 |
| 学生 |
head_portrait | varchar | 255 | 是 |
| 头像 |
class_number | varchar | 64 | 是 |
| 班号 |
subject | varchar | 64 | 是 |
| 科目 |
achievement | varchar | 64 | 是 |
| 成绩 |
teacher | int | 11 | 是 |
| 教师 |
secretary_review | varchar | 64 | 是 |
| 秘书审核 |
review_comments | varchar | 64 | 是 |
| 审核意见 |
hits | int | 11 | 否 |
| 点击数 |
examine_state | varchar | 16 | 否 |
| 审核状态 |
examine_reply | varchar | 16 | 是 |
| 审核回复 |
recommend | int | 11 | 否 |
| 智能推荐 |
create_time | datetime | 0 | 否 |
| 创建时间 |
update_time | timestamp | 0 | 否 |
| 更新时间 |
|
|
|
|
| |
teacher |
|
|
|
| |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
teacher_id | int | 11 | 否 | 主键 | 任课老师ID |
employee_number | varchar | 64 | 否 |
| 职工号 |
gender | varchar | 64 | 是 |
| 性别 |
examine_state | varchar | 16 | 否 |
| 审核状态 |
recommend | int | 11 | 否 |
| 智能推荐 |
user_id | int | 11 | 否 |
| 用户ID |
create_time | datetime | 0 | 否 |
| 创建时间 |
update_time | timestamp | 0 | 否 |
| 更新时间 |
系统实现
4.1学生功能模块
学生登录,通过填写注册时输入的用户名、密码、权限进行登录,如图5-1所示。
图5-1学生登录界面图
我的成绩,在我的成绩页面可查看学生、头像、班号、科目、成绩、教师、秘书审核、审核意见等信息进行操作,如图5-2所示。在公告信息管理页面可以查看、图片、发布时间等信息进行公告信息查看操作,如图5-4所示。
图5-3学生成绩界面图
图5-3公告信息管理界面图
4.2管理员功能模块
管理员登录,通过填写注册时输入的用户名、密码、权限进行登录,如图5-4所示。
图5-4管理员登录界面图
管理员登录进入学生成绩管理系统可以查看首页、站点管理(轮播图、公告栏)用户管理(管理员、学院秘书、任课老师、学生)内容管理(新闻列表、新闻分类)更多管理(删除申请管理、学生成绩管理、核对申请管理)等信息。如图5-5所示。还可以根据需要对个人信息进行添加,修改或删除等详细操作,如图5-6所示。
图5-5管理员功能界面图
图5-6个人信息界面图
学生管理,在学生管理页面中可以查看索引、昵称、用户名、学号、班号、性别等信息,并可根据需要对已有学生管理进行修改或删除等操作,如图5-7所示。
图5-7学生管理界面图
删除申请管理,在删除申请管理页面中可以查看学号、班号、操作人、删除原因、审核状态等信息,并可根据需要对已有删除申请管理进行详细操作,如图5-8所示。
图5-8删除申请管理界面图
学生成绩管理,在学生成绩管理页面中可以查看学生、头像、班号、科目、成绩、教师、秘书审核等内容,并且根据需要对已有学生成绩管理进行详细操作,如图5-9所示。
图5-9学生成绩管理界面图
任课老师管理,在任课老师管理页面中可以查看索引、昵称、用户名、职工号等内容,并且根据需要对已有任课老师进行添加,修改或删除等详细操作,如图5-11所示。
图5-10任课老师管理界面图
4.3教师功能模块
教师登录进入学生成绩管理系统可以查看首页、学生成绩、核对申请等内容。如图5-11所示。
图5-11个人信息界面图
学生成绩管理,在学生成绩管理页面中通过填写索引、学生、头像、班号、科目、成绩、教师、秘书审核、审核意见等内容进行详情操作,如图5-12所示。
图5-12学生成绩管理界面图
核对申请管理,在核对申请管理页面中可以查看学生、班号、科目、成绩、教师、申请原因、教师回复等内容,并且根据需要对已有核对申请管理进行查看等详细操作,如图5-13所示。
图5-13核对申请管理界面图
4.4学院秘书功能模块
学院秘书登录进入学生成绩管理系统可以查看首页、用户管理(学生)更多管理(删除申请、学生成绩)等内容。如图5-14所示。
图5-14个人信息界面图
学生成绩管理,在学生成绩管理页面中通过填写索引、学生、头像、班号、科目、成绩、教师、秘书审核、审核意见等内容进行详情操作,如图5-15所示。
图5-15学生成绩管理界面图
软件测试
测试存在于软件开发进程中的最后一个阶段,它可以保证一个软件的开发质量是否符合设计者的初衷,也为程序的正式上线做了最后一道质量检测的工序。软件测试主要是控制各种条件、包括软件输出方式,使用模式和运行环境等,来评估一个系统或应用是否符合设计标准。在软件测试过程中,我们一般刻意的去制造错误和极端条件,不能仅依照正常模式允许,而是多去尝试那些意外的情况。
5.1软件测试的重要性
只有在运行和维护阶段之前经历大量的测试的软件,才能说明它的质量是经得起检验的。最近计算机业界也都一致认为,测试应该存在于软件设计的每个阶段,因为越早发现错误,修复起来就越容易。
实际上,对于一个软件应用,错误是必然存在的,无论使用何种技术或手段,都不可能绝对的排除软件漏洞。测试是随着软件开发一同诞生的,两者是共同发展进步的。实际上,测试可以大幅度的降低维护的成本,如果一个漏洞在开发的早期就被发现,那么修复它的成本远比上线后再修复的成本要低得多。
5.2测试实例的研究与选择
测试有白盒测试和黑盒测试两种方式。
其中,白盒测试是将软件看成一个透明的白盒子,按照程序的内部控制结构和处理技术逻辑来选定测试用例、软件系统测试的逻辑路径及过程需要进行管理测试,又称玻璃盒测试。因此白盒测试需要选择足够多的测试用例,覆盖尽可能多的代码来发现程序中的错误。
黑盒测试,也称为功能测试。它将需软件看作一个黑盒,像一个普通学生一样来模拟软件的使用流程。黑盒测试通过大量的输入边界值或错误数据,来检查是否可产生正确的输出。
本系统测试主要选择黑盒测试,少量采用白盒测试。通过测试达到以下测试目的:
1.检查各大功能模块的运行,确保其能够正确运行,并检查各页面的完整性,保证页面完整。
2.检查各个接口是否可以正确地输入和输出,保证数据流通稳定可行。
3.检查数据结构,保证其和外部接口没有访问错误,访问顺利。
4.检查原计划的性能需求有没有完成,运行流畅。
本系统的测试用例(部分):
登录部分测试用例 | |||||
编号 | 对象 | 项目 | 操作 | 预期结果 | 结果 |
1 | 登录 | 登录提示 | 使用正确的账号密码登录 | 成功登录 | 预期结果 |
2 | 登录提示 | 使用正确的账号但错误的密码登录 | 提示密码错误 | 预期结果 | |
3 | 登录提示 | 使用错误的账号登录 | 提示不存在账户 | 预期结果 | |
4 | 登录提示 | 不输入账号,点击登录 | 提示输入账号 | 预期结果 | |
5 | 登录提示 | 输入账号但不输入密码点击登录 | 提示输入密码 | 预期结果 | |
6 | 登录入口 | 已登录账号,查看登录入口 | 不显示登录入口 | 预期结果 |
5.3测试环境与测试条件
处理器:Inter Core I7-4710MQ四核处理器
内存:4GB
硬盘:1T
操作系统:Windows 10
数据库:MySQL
5.4系统运行情况
全部测试用例都已通过(包括但不限于以上测试用例),且不存在漏洞,实现了论文开始时所作要求。本系统运行稳定,使用流畅,可以满足学生需求。
5.5系统评价
5.5.1系统功能评价
试运行后进行系统评估,可以认为该系统达到预定的目标要求,可以满足学生的需求,也满足了系统开发前所作目标。
5.5.2系统技术评价
系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到预定目标所需。
5.5.3系统经济评价
在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,有助于提高科学管理水平,符合本人经济情况。
第6章 总结
2022年的今天,计算机技术已经相当成熟。它的发展推动了许多行业改头换面,计算机的出现使人类社会有了进一步降低人力物力和资源的方法,提高了人类社会的生产力,转变了社会生产方式。本文利用Django框架和MySQL数据库技术,通过分析现实学生成绩管理系统的咨询信息的基础上,并完成了在线学生成绩管理系统。经调试结果显示,本系统基本可以满足一个在线学生成绩管理系统的需要。系统界面简洁而有美感,易操作,做出了自己的特点,然而因为时间仓促再加上缺乏系统开发经验和仅依靠少数问卷调查方式,因此本系统还存在不少缺陷、不足,比如:
1. 数据输入的格式并没有全部检验,所以很难保证数据的准确,可能有一些不符合规则的数据也可以通过检验。
2. 系统功能还不够完善,无法提供丰富多彩的在线功能,只能首页、站点管理(轮播图、公告栏)用户管理(管理员、学院秘书、任课老师、学生)内容管理(新闻列表、新闻分类)更多管理(删除申请管理、学生成绩管理、核对申请管理)等一系列功能。
本系统还存在一些漏洞没有解决,在现实应用情境中很难保证完全不出错,但相信通过再次完善,可以调试出真正符合实际的在线学生成绩管理系统。
参考文献:
[1]李同金.基于Python的端口扫描技术研究[J].电子世界,2022(02):38-39+42.DOI:10.19353/j.cnki.dzsj.2022.02.015.
[2]孙琳,徐文正.Python编程语言教学中问题分析能力培养的研究[J].产业与科技论坛,2022,21(04):182-183.
[3]高望.新工科背景下“Python语言基础”教学改革实践[J].科技与创新,2022(02):148-150+155.DOI:10.15913/j.cnki.kjycx.2022.02.044.
[4]彭文良,虞燕花.基于Python语言的文本数据流自适应分类方法[J].宁夏师范学院学报,2022,43(01):106-112.
[5]韦依洋,吴一凡,李永远.Python技术在数据可视化中的应用研究[J].福建电脑,2022,38(01):27-31.DOI:10.16707/j.cnki.fjpc.2022.01.007.
[6]戴成秋.Python语言程序设计课程混合式教学方案的设计[J].计算机教育,2022(01):162-166.DOI:10.16512/j.cnki.jsjjy.2022.01.037.
[7]秦维超,戴晓芬.Python编程学习中巧用开源硬件提升问题解决能力[J].中国信息技术教育,2022(01):62-63.
[8]许高建,徐浩宇.基于Python语言的类C编译器的设计与实现[J].洛阳理工学院学报(自然科学版),2021,31(04):78-84.
[9]辛凤阳,王忠鑫,田凤亮,赵明,曾祥玉,王金金.基于BS架构的露天矿连续工艺一体化管控平台设计与实现[J].金属矿山,2021(12):177-182.DOI:10.19614/j.cnki.jsks.202112027.
[10]Li Li. Employment Data Analysis based on Python Crawler Technology[C]//Proceedings of 4th International Workshop on Education Reform and Social Sciences (ERSS 2021).,2021:164-168.DOI:10.26914/c.cnkihy.2021.049800.
[11]方生.基于“MVVM”模式的“Web”前端的设计与实现[J].电脑知识与技术,2021,17(20):147-149.DOI:10.14004/j.cnki.ckt.2021.2004.
[12] Kate Egan and Jeffrey Andrew Weinstock, And Now for Something Completely Different: Critical Approaches to Monty Python[J]. Journal of British Cinema and Television,2021,18(3):
[13]Melchert Oliver,Demircan Ayhan. pyGLLE: A Python toolkit for solving the generalized Lugiato–Lefever equation[J]. SoftwareX,2021,15:
[14]刘紫薇. 基于MVVM设计模式的在线教育系统的设计与实现[D].北京邮电大学,2021.DOI:10.26969/d.cnki.gbydu.2021.002712.
[15]游俊慧.MVC、MVP、MVVM三种架构模式的对比[J].办公自动化,2020,25(22):11-12+27.
[16]李轩冰. 基于文本挖掘技术的网络热点新闻系统的研建[D].北京林业大学,2020.DOI:10.26949/d.cnki.gblyu.2020.001181.
[17]温海标.MVVM模式及其应用研究[J].电脑知识与技术,2020,16(24):92-93.DOI:10.14004/j.cnki.ckt.2020.2683.
[18]杨保军.论新闻规律的形式构成[J].未来传播,2019,26(01):2-12+120.DOI:10.13628/j.cnki.zjcmxb.2019.01.001.
[19]张红.新时代新闻系统政工师工作如何创新[J].青年记者,2018(23):126-127.DOI:10.15997/j.cnki.qnjz.2018.23.081.
[20]李钊. 基于大数据的热点医疗新闻系统的研究与实现[D].西北大学,2018.
致谢
大学生活在这个时候即将划上一个句号,但是对于我的人生道路来说,这仅仅是一个逗号,我将面对的是又一次征程的开始。
回忆过去,许许多多的事情浮现在脑海:刚上大学时欢乐心情和兴奋的场景还历历在目。一切都是那么新鲜,那么富有吸引力。有快乐也有艰辛,有收获也有失落。衷心感谢学院所有支持帮助过我的教师,谢谢你们多年来的关心和爱护。同窗的友情同样难忘,你们与我共同走过了人生中不平凡的道路,给我留下了值得珍藏的美好记忆。
最后,我要特别感谢指导过我的教师。本论文是在他的悉心指导和热情帮助下完成的,教师认真负责的工作态度,严谨的治学精神和精深的理论水平都使我受益匪浅。教师无论在理论上还是在实践中,都给予我很大的帮助,使我专业技能的应用水平得到很大提高,这对于我以后的工作和学习都有益处。值此论文完成之际,特别向教师表示衷心的感谢和崇高的敬意,谢谢他细心而又耐心地辅导,使得我得以顺利的完成毕业设计开发工作,同时也要感谢其他帮助过我的教师和同学,他们在我成长过程中给予了我很大的帮助,在此一并表示感谢。
由于本人水平有限,加上时间紧促,本文一定有不少缺点和不足,恳请各位教师给予帮助和指正。
免费领取项目源码,请关注点赞+私聊
来源地址:https://blog.csdn.net/VXbishe/article/details/129079426