摘 要
随着计算机技术发展,计算机系统的应用已延伸到社会的各个领域,大量基于网络的广泛应用给生活带来了十分的便利。所以把新冠肺炎疫情实时监控管理与现在网络相结合,利用计算机搭建新冠肺炎疫情实时监控系统,实现新冠肺炎疫情实时监控的信息化。则对于进一步提高新冠肺炎疫情实时监控管理发展,丰富新冠肺炎疫情实时监控管理经验能起到不少的促进作用。
系统阐述的是一款新冠肺炎疫情实时监控系统的设计与实现,对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计,描述,实现和分析与测试方面来表明开发的过程。开发中使用了 django框架和MySql数据库技术搭建系统的整体架构。利用这些技术结合实际需求开发了具有个人中心、用户管理、疫情数据管理、全国实时数据管理、国内实时动态管理、留言交流、系统管理等功能的系统,最后对系统进行相应的测试,测试系统有无存在问题以及测试用户权限来优化系统,最后系统达到预期目标。
关键字:新冠肺炎;Python; django;MySql数据库
Abstract
With the development of computer technology, the application of computer system has been extended to every field of society, a large number of wide application based on the network to life has brought very convenient. Therefore, the real-time monitoring and management of the novel coronavirus outbreak is combined with the current network, and the real-time monitoring and management system of the novel coronavirus outbreak is built by using computers to realize the informationization of the real-time monitoring and management of the novel coronavirus outbreak. It will help further improve the development of real-time monitoring and management of the novel coronavirus outbreak and enrich the experience of real-time monitoring and management of the novel coronavirus outbreak.
This paper systematically describes the design and implementation of a real-time monitoring system for the novel coronavirus outbreak, and makes in-depth study and application of Python, B/S structure and MySql. Mainly for the system design, description, implementation and analysis and testing aspects to show the development process. Development using django framework and MySql database technology to build the overall architecture of the system. Using these technologies combined with the actual needs of the development of a personal center, user management, epidemic data management, national real-time data management, domestic real-time dynamic management, message exchange, system management and other functions of the system, finally conducted corresponding tests on the system, test whether there are problems in the system and test user rights to optimize the system, finally the system to achieve the expected goal.
Key words: COVID-19; Python; django; MySql database
目 录
1 概 述 5
1.1研究背景 5
1.2研究意义 5
1.3研究内容 5
2 关键技术介绍 7
2.1 PYTHON语言简介 7
2.2 MySql数据库 7
2.3 DJANGO框架 8
2.4 Hadoop介绍 9
2.5 Scrapy介绍 9
2.6 B/S架构 10
3 系统分析 11
3.1可行性分析 11
3.1.1经济可行性 11
3.1.2技术可行性 11
3.1.3运行可行性 11
3.2系统用例分析 11
3.3流程设计 12
3.3.1程序流程图设计 12
3.3.2添加信息流程图设计 13
3.3.3删除信息流程图设计 14
4 系统的设计 15
4.1系统总功能模块设计 15
4.2系统数据库设计 15
4.2.1数据库系统概要设计 15
4.2.2 E-R模型结构设计 15
4.3数据表设计 18
5 系统的实现 23
5.1系统功能实现 23
5.2管理员模块实现 25
6系统测试 30
6.1系统测试的目的 30
6.2软件测试过程 30
6.3测试用例 31
结论 33
致谢 34
参考文献 35
1 概 述
1.1研究背景
中国在两千年左右就已经对计算机这一块发展到相当的规模了,现在老百姓们越来越离不开计算机网络、互联网所带来的好处了,现如今各种格式的网站系统遍地开花,现在不同于以往老旧的管理方式了,只有跟上时代的发展才能不会被淘汰掉,所以对于新冠肺炎疫情实时监控来说也是同样的,将传统的线下管理带到线上,能够大大提升管理效率,好处也有很多,首先整体的美化、提升了在新时代背景之下新的样貌,更加朝气蓬勃。一个好的系统能够把传统的新冠肺炎疫情实时监控管理方式,带上一全新的方式,效率、可靠、安全稳定集合一身的系统,带来的体验是传统管理方式所没有办法实现的,所以将新冠肺炎疫情实时监控管理实现正规化、合理化、高效化就是当务之急。
1.2研究意义
随着时代的发展,信息技术得到广泛的应用给人们和生活注入了充沛的活力。网络使人们生活和工作带来便利,可以更高效的处理人们获取信息中精细化、全面化的问题,从而提高了工作效率。从独特且和资源相对优势的管理带来了更好的发展机会,在经济、教育、科研等各大领域上的应用也将逐渐成熟化。这是线下传统管理方式无法涉及的,为此,我们要无畏艰辛,永无止步的努力探索,力求开发出更具实用且信息化的新冠肺炎疫情实时监控系统。综上,研究意义重大。
1.3研究内容
整个的系统的开发运用Python技术, django框架,以及MySql数据库技术的大力支持下同步完成该系统的开发,实现了新冠肺炎疫情实时监控管理的信息化,使管理者在操作思路清晰且更加方便,用户也可以体验到更加便捷的新冠肺炎疫情实时监控管理,内容目标如下。
(1)减少后台管理人员的工作量,对用户的信息进行系统的管理;
(2)必须要方便快捷的查看搜索信息并管理信息;
(3) 用户是具有多样性的,所以界面要设置的简单明了,操作更要方便快捷。
(4)编写开发系统的技术文件。
(5)对系统进行了系统测试。
2 关键技术介绍
本系统设计过程中采用Python开发语言,B/S结构,采取 django框架,并以MySql为数据库进行开发。结合以上技术,对本系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。
2.1 PYTHON语言简介
Python是由荷兰数学和计算机研究学会的吉多•范罗苏姆于20世纪90年代设计的一款高级语言。Python优雅的语法和动态类型,以及解释型语言的本质,使它成为许多领域脚本编写和快速开发应用的首选语言。Python相比与其他高级语言,开发代码量较小,代码风格简洁优雅,拥有丰富的第三方库。Python的代码风格导致其可读性好,便于维护人员阅读维护,程序更加健壮。Python能够轻松地调用其他语言编写的模块,因此也被成为“胶水语言”。
Python的应用场合非常广泛,在科研领域中,可以用Python训练人工智能模型,也可以对实验数据进行数据分析。在生活中,Python提供了很多优秀的、开源的Web开发框架,例如Django、Flask、Pyramid、Tornado等。知乎、豆瓣网、Youtube等知名应用都是由Python为基础进行开发的。相比于其他框架,Django有着更加丰富的插件,作为企业级框架也很好上手,适合本次开发。此系统是开发一个Web应用,采用Django框架,将在下一节进行具体介绍。本次开发选用的是Python3.6.4版本。
2.2 MySql数据库
MySql数据库具有轻便、稳定等特点,在系统的工程中对相关的数据操作,很好的保障数据的稳定,极大程度上减低了系统开发的时间。
MySql数据库支持多线程工作,能充分利用系统的资源,更具有效率且数据库连接也有对于的不同模式接口;MySql存储小、运行稳定并且对使用的要求不高。
利用MySql建立系统数据库,利于对系统的数据处理早期的整合,可以更好的发展后数据的扩展实际操作[3]。
Mysql数据库的特点如下:
(1)Mysql是相比于Oracle更轻量、更简洁便于使用,在服务部署方面相对复杂度低,更利于系统的开发。
(2)支持多种操作系统包括AIX、FreeBSD、HP-UX、Linux和Mac OS、Novell‘s Netware、OpenBSD系统、OS/2卷、Solaris、Windows等。
(3)查询速度快。算法优化了查询语句,可靠地提高了搜索速度。
(4)Mysql可以使用Sql语言进行调用,学习成本较低。
(5)Mysql可支持互联网站数据共享也支持数据安全设置,防止数据泄露。
(6)高度非过程化。在访问数据库时,没有必要一步一步向计算机发送指令去完成任务,只需要用MySQL语句描述并且命令就可以了,数据库会自动完成全部工作。
2.3 DJANGO框架
Django被官方称之为“完美主义者框架”,只需要很少的代码就能更快的完成一个优秀的Web应用[4]。Django采用了MTV框架模式,此模式根据MVC进行改进形成了更适于Django的设计模式。M为模型(Model)、T为模板(Template)、V为视图(View)。下面介绍部分Django的核心与优点:
(1)对象关系映射(ORM,Object-Relation-Mapping):ORM的方法论有着三个核心原则:
① 简单:以最基本的形式构建数据。
② 传达性:数据库结构被任何人都能理解的语言文档化。
③ 精确性:基于数据模型创建正确标准化的结构。
用于Python之中即是以Python类形式定义数据模型,类中的每一个属性对应着数据库中的一列。引入ORM后,无需编写原生SQL语句,使用基于面向对象的思想去编写类、对象、调用方法等,ORM会将其映射成SQL语句通过pymysql执行。
(2)路由配置(URLConf):Django的URL设置更加灵活优雅,看似复杂难懂,但使用的都是简单的正则表达式,你可以随心所欲的创造优美的、简洁的、专业
的地址。
(3)模板(Template):模板可以理解为承载数据的工具,为了将数据从视图中分离出来,通过各种各样的标签来进行数据的传输。Django的模板融入了面向对象中继承的思想,提高了复用减少冗余代码。
(4)视图(View):视图就是views.py中的函数,也就是逻辑代码,为了将URL和视图关联起来,用到了上述的URLConfs,URLConfs将URL模式映射到视图中,每个视图有两件事是必须要做的:返回一个包含被请求页面的HttpResponse对象,或者抛出一个异常。
(5)后台管理系统(Django-Admin):Django提供的一个基于Web的管理工具。
Django-Admin来自django.contrib也就是Django的标准库,默认被配置好,只需要激活启用即可,它的优势在于可以快速对数据库的各个表进行增删改查,一行代码即可管理一张数据库表,相比于手动后台1个模型一般需要4个urls,4个视图函数和4个模板,可以说Django完成了一个程序编写的大部分重复工作,并且对于图书管理这种以管理工作为重系统来说,极度契合。
(6)应用(Application):当项目规模过大时,难免会产生目录过长,文件过多的问题,Django理念中的App可以将项目相对独立的进行开发,插拔的工作方式和独立性让开发者废弃的App即使删除也不会影响整体,是一种不可多得的理念。
因为本次使用的Python版本为3.6.4,低版本的Django不支持Python3,故此次使用的Django版本为3.2.12。
2.4 Hadoop介绍
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。主要有以下优点:
(1)高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。
(2)高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
(3)高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
(4)低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。
2.5 Scrapy介绍
Scrapy是一个抓取系统数据和提取结构化数据的框架,它可以应用在广泛的应用中:Scrapy通常用于一系列应用,包括数据挖掘、信息处理或存储历史数据。使用Scrapy框架实现一个爬虫程序通常非常简单,抓取给定系统的内容或图像。
虽然Scrapy是为屏幕抓取(或者更准确地说是网页抓取)而设计的,但它也可以用于访问api以提取数据。
2.6 B/S架构
Browser/Server简称(B/S),即:浏览器/服务器架构模式;属于WEB发展后的所出现的一种网络构造,而WEB又是主要的浏览器应用商品软件。B/S架构模式不仅将系统的重新开发、维修及利用等简单化,更将其重点放到了服务器上。它使客户端得到了统一,在服务器上汇集了系统功能的最核心部分。
B/S架构模式,在服务器接收到浏览器发出请求后将进行对应的回应。Internet上文本、图片、动画等信息主要由Web服务器产生,而用户主要是通过浏览器访问这些信息。在Web上下载程序时遇到某些和数据库相关的指令,可以将这些指令转接到数据库服务器来进行解释和执行。B/S架构工作流程图如2-1所示:
图2-1 B/S架构工作流程图
3 系统分析
为了系统的完整,必须要有可行性分析的,系统的可行性关系到生存问题,分析其意义可否利用本系统来弥补线下管理模式中的不足之处等,通过本系统来减少工作量,使管理者与用户的工作和管理效率更高。对此体现出更多的意义和价值,系统完成后,进行具体的实际分析看是否能够达到期望的要求,确定之后再开始系统的搭建开发工作。对于新冠肺炎疫情实时监控系统开发的搭建中,对相关技术、实际情况和操作等一系列方面进行可行性分析;
3.1可行性分析
3.1.1经济可行性
本系统所用软件均为微软软件,开发周期短,因而可节约大量时间与资源,达到降低成本之功效。并且具有很好的安全性、可靠性以及可扩展性。同时发展该新冠肺炎疫情实时监控系统需要的智能计算机配置很低,即使网吧中被淘汰掉的配置不高的计算机也能满足需要,因此具有充分的可行性。
3.1.2技术可行性
本系统开发的程序需具有网络功能,从而可以不受地点限制。由于采用了B/S模式,降低了成本,提高了效率。本新冠肺炎疫情实时监控系统以Python, MYSQL数据库为设计工具,能够方便的学习与应用。所以将Python与MYSQL集成而研制的智能系统具有可行性和有效性。
3.1.3运行可行性
运行可行性也可以说是系统可用性的体现,新冠肺炎疫情实时监控系统本身具有运行可行性的特点,其界面的设计清晰、功能权限分配合理、操作方便。本论文设计的是新冠肺炎疫情实时监控系统,通过技术的结合提出一套切实可行的解决方案。不同的用户接入之后不需要经过特殊的训练就可以运行到对应功能模块中。
3.2系统用例分析
新冠肺炎疫情实时监控系统综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成新冠肺炎疫情实时监控管理的方便快捷、安全性高、交易规范做了保障,目标明确。新冠肺炎疫情实时监控系统可以将功能划分为管理员功能和用户功能。
(1)、管理员关键功能包含个人中心、用户管理、疫情数据管理、全国实时数据管理、国内实时动态管理、留言交流、系统管理等进行管理。管理员用例如下:
图3-1 管理员用例图
(2)、用户关键功能包含首页、疫情数据、疫情新闻、留言交流、个人中心等功能。用户用例如下:
图3-2 用户用例图
3.3流程设计
3.3.1程序流程图设计
在本系统,非本系统的用户要想进行操作就要注册本系统,登录时需要填写相应的资料,如有使用者,则会显示使用者名称已经存在,请再次键入使用者名称的提示框,若使用者不存在,则填写密码、确认密码等资料,并由系统判定密码与确认密码相符,确认无误后,填写使用者所填写的资料,即可进行登记。而且,为了保证系统的安全,只有在登录了本系统以后,才能对新冠肺炎疫情实时监控系统进行操作。该系统的工作流程见图3-3。
图3-3 程序流程图
3.3.2添加信息流程图设计
在添加信息的时候,会判断是哪类用户,并根据用户类型判断执行是否合法,合法者可以进行添加,不合法者则不能进行此操作[12]。管理员登录账号后可以对内容进行添加,拥有着最高的权限,其他用户权限次于管理员。添加信息流程图如图3-4所示:
图3-4系统添加流程图
3.3.3删除信息流程图设计
删除数据时与添加数据功能类似,删除数据具体流程如图3-5所示:
图3-5系统删除流程图
4 系统的设计
4.1系统总功能模块设计
系统整体模块设计:系统分为管理员和用户两大用户角色,系统管理员有最大的权限,整体功能展示如图4-1所示。
图4-1 系统整体功能图
4.2系统数据库设计
4.2.1数据库系统概要设计
从设计到制作研发一个系统,需要用到的技术很多,对于开发程序语言、数据库和框架布局都有严格的要求。该系统数据存放使用MySql的数据库,该数据库轻便快速,日常使使用系统十分稳定,更容易维护运行。
4.2.2 E-R模型结构设计
E-R图由实体与有关实体关联相结合构成的图,利用E-R图对清楚地表达出系统内的实体之间的关联。在系统中对一些主要的几个关键实体如下图。
(1) 国内实时动态实体属性图如下图4-2所示。
图4-2国内实时动态实体属性图
(2) 全国实时数据实体属性图如下图4-3所示。
图4-3全国实时数据实体属性图
(3) 疫情新闻实体属性图如下图4-4所示。
图4-4疫情新闻实体属性图
(4) 留言交流实体属性图如下图4-5所示。
图4-5留言交流实体属性图
(5) 用户实体属性图如下图4-6所示。
图4-6用户实体属性图
(6) 疫情数据实体属性图如下图4-7所示。
图4-7疫情数据实体属性图
4.3数据表设计
系统创建数据库和表之间关联,期间花费了不少时间,尽力把表格完善,更好的呈现出来,让表更加明了,更加清晰。系统在MySql的可视化软件Navicat premium创建的数据表,简洁明了的设计让数据库的创建操作更加快捷,数据表的详细情况如下表所示。
表4-1:国内实时动态
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
diqu varchar 200 地区
quezhen int 确诊
zhiyu int 治愈
siwang int 死亡
表4-2:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-3:关于我们
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
subtitle varchar 200 副标题
content longtext 4294967295 内容
picture1 longtext 4294967295 图片1
picture2 longtext 4294967295 图片2
picture3 longtext 4294967295 图片3
表4-4:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-5:全国实时数据
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
qgqz int 全国确诊
jwsr varchar 200 境外输入
zyrs varchar 200 治愈人数
swrs varchar 200 死亡人数
表4-6:疫情新闻
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容
表4-7:留言交流
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 留言人id
username varchar 200 用户名
avatarurl longtext 4294967295 头像
content longtext 4294967295 留言内容
cpicture longtext 4294967295 留言图片
reply longtext 4294967295 回复内容
rpicture longtext 4294967295 回复图片
表4-8:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuming varchar 200 用户名
mima varchar 200 密码
xingming varchar 200 姓名
xingbie varchar 200 性别
touxiang longtext 4294967295 头像
youxiang varchar 200 邮箱
shouji varchar 200 手机
表4-9:疫情数据
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
biaoti varchar 200 标题
leixing varchar 200 类型
tupian longtext 4294967295 图片
diqu varchar 200 地区/国家
xinzengbentuquezhen int 新增本土确诊
xinzengquezhen int 新增确诊
xinzengjingwai int 新增境外
xiancunbentuqueren int 现存本土确认
xiancunquezhen int 现存确诊
xiancunzhongzheng int 现存重症
leijiquezhen int 累计确诊
leijijingwaishuru int 累计境外输入
leijizhiyu int 累计治愈
leijisiwang int 累计死亡
gengxinshijian date 更新时间
以上就是新冠肺炎疫情实时监控系统中重点使用的关键数据库表格,表格全部展示过于杂乱,选取重点表格展示。
5 系统的实现
5.1系统功能实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
系统注册:在系统注册页面输入用户注册信息进行注册操作,系统注册页面如图5-2所示:
图5-2系统注册页面
疫情数据:在疫情数据页面的输入栏中输入标题、地区/国家和选择类型进行查询,可以查看到疫情数据详细信息;如图5-3所示:
图5-3疫情数据详细页面
留言交流:在留言交流页面通过输入留言内容,上传图片并立即提交进行在线留言,还可以对留言内容进行回复操作;留言板页面如图5-4所示:
图5-4留言交流详细页面
个人中心:在个人中心页面输入个人信息可以进行更新操作;并根据需要对我的收藏进行详细操作;如图5-5所示:
图5-5个人中心界面
5.2管理员模块实现
管理员登录,在登录页面正确输入用户名和密码后,进入操作系统进行操作;如图5-6所示。
图5-6管理员登录界面
管理员进入主界面,主要功能包括对个人中心、用户管理、疫情数据管理、全国实时数据管理、国内实时动态管理、留言交流、系统管理等功能进行操作。管理员主界面如图5-7所示:
图5-7 管理员主界面
管理员点击用户管理。在用户页面输入用户名、姓名和选择性别进行查询、新增或删除用户列表,并根据需要对用户详情信息进行详情、修改或删除操作;如图5-8所示:
图5-8用户管理界面
管理员点击疫情数据管理。在疫情数据页面输入标题、地区/国家和选择类型进行查询、新增或删除疫情数据列表,并根据需要对疫情数据详情信息进行详情、修改或删除操作;如图5-9所示:
图5-9疫情数据管理界面
管理员点击全国实时数据管理。在全国实时数据页面输入全国确诊进行查询、爬取数据或删除全国实时数据列表,并根据需要对全国实时数据详情信息进行详情、修改或删除操作;如图5-10所示:
图5-10全国实时数据管理界面
管理员点击国内实时动态管理。在国内实时动态页面输入地区进行查询、爬取数据或删除国内实时动态列表,并根据需要对国内实时动态详情信息进行详情、修改或删除操作;如图5-11所示:
图5-11国内实时动态管理界面
管理员点击主界面右上角的看板,可以查看到系统简介、国内实时动态总数、地区统计、地区占比统计、地区确诊统计、地区治愈统计、地区死亡统计、国内实时动态(确诊TOP10)等等实时的分析图进行可视化管理;如图5-12所示:
图5-12看板界面
管理员点击留言交流。在留言交流页面输入用户名进行查询或删除留言交流列表,并根据需要对留言交流详情信息进行详情、回复或删除操作;如图5-13所示:
图5-13留言交流管理界面
管理员点击系统管理。在疫情新闻页面输入标题进行查询、新增或删除疫情新闻列表,并根据需要对疫情新闻详情信息进行详情、修改或删除操作;还可以对关于我们、系统简介和轮播图管理进行详细操作;如图5-14所示:
图5-14系统管理界面
6系统测试
系统测试是检验软件产品是否满足预期需求,确保产品无缺陷的重要手段。系统测试侧重于评估系统是否满足指定的要求,并帮助检查整个系统的功能性需求。通过对系统功能的测试用例进行分析可以发现软件存在的问题以及需要改进之处。软件可靠性设计是一项系统性工程,涉及到多个学科领域,因此其难度较大。
系统将采用黑盒测试方法对功能模块进行测试。黑盒测试即功能测试,是通过检验系统的功能是否达到预期效果来测试网站[7],它可以与预期结果相对比,看是否与预期结果一致,通过观察程序能否正确的输出信息。以此判断程序是否成功运行。
6.1系统测试的目的
系统测试(System Testing)是为给客户提供测试产品或服务的质量信息而进行的检查。系统测试还可以提供客观和独立的系统评估,以使运营者能够了解和系统实施所面临的潜在问题。系统测试包括(软件的组件,系统组件)的执行,以评估系统属性。通常这些属性表明被测组件或系统满足系统预期开发需求,在各种预期的时间内,正确响应各种系统输入,同时可以满足分析设计时要求的程度。在预期的环境中运行,并达到用户期望的总体结果。经过一系列严格功能测试,以发现系统功能方面潜在的问题,保证系统的正常运行。
6.2软件测试过程
软件测试是软件设计的收尾阶段,它是贯穿整个设计过程的,是一个巨大的任务。软件测试需要对程序所有的部分进行测试。且对每个部分的测试都是不一样的,需要在进行测试之前将它们分为以下几个阶段:
(1)单元测试(模块测试)
是对软件的程序代码进行检查的测试。针对软件的最小单元部分。单元测试分为人工检测和动态检测。静态检测要保证程序算法的正确性,要规范程序的逻辑性、规范性、正确性等。这一步要尽可能检测可能出现的错误。动态检测要通过比较实际结果和原先预计结果进行比较分析,找出错误。
(2)集成测试
此测试是建立在单元测试基础上的,对系统的各个功能模块所进行的测试。任何的软件设计都会有集成阶段,所以在软件测试过程中,集成测试是的必定部分。在集成测试的时候,由于是对各个模块之间进行测试,所以可能在测试的时候没有发现问题,但整体测试的时候会暴露出来。同时,在进行集成测试时要小心在模块连接时注意是否有数据丢失。还要注意虽然单个模块的错误可能很少,没有影响,但拼接起来可能就会对系统产生很大影响。
(3)系统测试
系统测试紧跟集成测试进行。系统测试将已通过集成测试的部分作为整个系统的一员。和电子设备的各个软件和硬件等一起,通过实际运行进行检测,在模拟的实际环境下检测是否有错误出现。系统测试需要与计划中的理想状况作比较,发现与预想中不一样的地方。通过设计者的分析后决定如何修改。在软件实际运行的过程中,会发生很多意想不到的错误,可能测试人员也没有办法在第一时间解决问题,所以,系统测试应尽可能在实际运行下进行测试,这样才能达到更好的测试目的。
(4)验收测试
验收测试是系统在设计完成发行前最后的测试,它需要了解用户的需求。并和他们一起完成测试,同时根据他们的需求进行针对性的修改,以成为可以更好同时满足两者需求的软件。
6.3测试用例
登录功能是用户进入系统的校验窗口,其中需要填写的信息包括用户账号和用户密码,下面将根据此功能设计具体测试用例来验证登录功能的实现与否。具体测试用例见表6-1。
表6-1 登录功能测试用例
用例序号 用例描述 测试步骤 期望输出 测试结果
Test_01 页面展示 浏览器输入登录地址 进入登录页面 成功
Test_02 账号非空检验 账号为空,点击“登录”按钮 提示“用户账号必须输入” 成功
Test_03 账号存在性检验 输入不存在的账号 提示“输入的账号不存在” 成功
Test_04 密码非空检验 输入正确的账号,密码为空 提示“用户密码必须输入” 成功
Test_05 密码正确性检验 输入正确的账号和不正确的密码 提示“输入的密码错误” 成功
Test_06 登录成功检验 输入正确的账号和密码 登录成功,进入首页 成功
结论
系统阐述的是一款新冠肺炎疫情实时监控系统的设计与开发,在此系统的开发过程中应用到Python、MySql技术和面向接口编程。在系统的开发中应用B/S结构设计开发实现,让系统之间逻辑分层清晰明确使得系统更加的合理可靠,更加坚固的保证了项目的开发健壮性和准确性,更好的服务应用于系统。
这个系统的开发使我能够结合我以前的知识集成和改进它们。毕设就是检验我们对所学内容运用程度的时刻,对所学内容运用情况进行巩固与提高。本系统检验了自己的IT知识,同时也检验了自己运用相关知识去解决实际问题,使自己得到了一个锻炼与提升编程技能的机会。在设计上我遇到了很多困难,主要原因是我所拥有的知识不是很扎实,所以只靠几本书里的知识是远远不够的!自己经过实践取得了一些实践经验。知识不在于理解,必须学会运用,并且使之反映到实际生活中去,才是学知识的根本目的。面对困难,我学着怎样去处理,怎样去发现并分析有关的资料,此次实践使我在实际应用中有所提高,同时极大地增强了大脑的工作能力,使我在探索中获得快乐,在成功中获得幸福,是我莫大的财富。后期也将继续对系统做出进一步的优化升级。
(1) 完善操作逻辑,让系统功能更加合理。
(2) 补充完善小功能的应用,使系统更加完整实用。
(3) 精简美化系统界面,提高系统观赏度。
致谢
新冠肺炎疫情实时监控系统的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。同时,学校这次期间对我的帮助真的非常的大,身边的老师与同学都十分的热情,我有很多不懂的问题都是身边的老师与同学指导我的,可以说我的成长和进步是离不开学校的老师与同学,在这段期间我的成绩技术也是比以往进步的更加迅速。这四年的校园生活让我受益匪浅,终身难忘。
首先要感谢我的指导老师。她是一位发自内心希望我们这些学生成为优秀的人的老师。我还记得他在课间时间挨个问我们毕业后的想法,推荐我们课外书籍清单,鼓励我们学习课外知识的场景。他又很有责任感,在指导我们完成毕业设计和论文的同时,还给我们讲一些需要注意的事项,真正做到了教书育人。我每一回都因为实际操作中遇到苦难而向老师发消息求助时,老师总是秒回信息,事无巨细地解释清楚,而且同步发到同学群中,对于别的同学来说也是很大的帮助。或许对于一位老师来讲,学生有所成是他们的期望。那我希望这篇论文不是我的最后一篇论文。
其次感谢我的室友。虽然前几年的生活磕磕绊绊,小矛盾不断,但是最近一年我们都平静了下来。也很庆幸,我们在这段焦虑有压力的日子里几乎没有摩擦,而是相互鼓励,谢谢你们。
还有与我密不可分的亲人。即使他们当我因为压力而发脾气时,他们也只是告诉我:“要冷静”。在很多我认为自己撑不过去的时候,是他们的安慰与默默支持让我觉得自己可以。我希望我今后可以继续努力,去成为他们心中的那个我。
所以我会格外的珍惜这次不可多得的历练,在今后的工作生活的,我会继续努力,保持学习,保证自己思想的每日提升,学校带给我的东西很多很多,这些东西是我今后继续前行的养分,真的非常感谢,能够遇到这么多的人。
最后,我向母校老师们再次表示衷心的感谢和美好的祝福,感谢你们的辛勤栽培,祝老师们幸福健康!
参考文献
[1]韦力梅,苏兵. Django框架下Python网站开发过程综述 [J]. 电脑与电信, 2019.
[2]李根.基于Django框架的生物信息网站建设[D] .大连海事大学,2018.
[3]夏亚丽,戴志涛. 基于Django的O2O家庭酒店商务平台 [J]. 软件, 2019.
[4]薛耀伟.基于Django框架管理界面自动生成模块的设计与实现[D].哈尔滨工业大学,2020.
[5]陈勇.基于Django框架的实时课堂投票系统设计与实现[D].大连理工大学,2021.
[6]周玥.基于Django框架的校园预约打印网站设计与实现[D].吉林大学,2019.
[7]周吉波,孟利民. 基于Django web框架的GPS车载管理系统网站的设计和实现[C].第二届亚太地区信息论学术会议论文集,2019.
[8]Li,Shenliang,Si,Zhanjun. Information publishing system based on the framework of Django [J].Lect. Notes Electr. Eng.2019.
[9]Tiwari, Usha,Mehfuz, Shabana,Sharma, Satyam,Pandey, Vinayak Triguna. Design of Python Based Lost and Found Website for College Campus [J]. Int. Conf. Power Electron., Control Autom., ICPECA – Proc,2019.
[10]Suryanto,WiwitIrna,ka,Theodosius Marwan. Web-based application for inverting one-dimensional magnetotelluric data using Python [J].Comput. Geosci, 2018.