随着互联网技术不断地发展,网络与大数据成为了人们生活的一部分,而气象数据分析与可视化系统 作为网上应用的一个全新的体现,由于其特有的便捷性,已经被人们所接受。目前主流的气象数据分析与可视化系统 服务不仅不明确并且管理盈利较低,针对用户定制的气象数据分析与可视化系统 更能够体现出其服务特色。
本项目以气象数据分析与可视化系统为研究背景,采用的框架为Django和python开发了气象数据分析与可视化系统 。本文通过分析气象数据分析与可视化系统 的需求,建立起了相关的开发模型,构建出相关的系统需要的开发环境。通过调研,明确了气象数据分析与可视化系统 的需求,最后开发实现了系统并进行了测试。
关键词:气象数据分析与可视化系统 ;Django;python
需求分析
3.1 可行性分析
3.1.1 经济可行性研究
气象数据分析与可视化系统 能够给气象管理者带来不少的收益,如果用户能够拥有气象数据分析与可视化系统 ,则可以对系统进行简单管理,气象管理者可以节省不少资金。气象数据分析与可视化系统 的实现能够解决传统管理模式不必要的经济支出,尤其是其中的人力资源成本,传统的气象数据分析与可视化系统 需要大量的人力资源支持,并且往往需要管理者手动记载数据。
3.2 功能需求
3.2.1 用例概述
图3.1 用户用例图
图3.2 管理员用例图
用例的简要描述如表3.3所示。
1.用户信息管理
用户信息管理用例描述能够描述系统中的用户信息管理功能,用户信息管理用例描述如表3.3所示。
表3.3 用户信息管理用例描述
用例标识 | 3.3 |
用例名称 | 编辑用户的相关信息 |
参与者 | 管理员 |
前置条件 | 管理员需要输入正确的用户名和密码登录系统 |
后置条件 | 修改用户信息 |
用例概述 | 管理员修改用户信息 |
基本事件流 | 1.管理员输入正确的用户名和密码登录到系统当中 2.管理员在用户信息管理界面点击修改按钮提交修改的用户信息 3.用户信息修改成功 |
备选事件流 | 4输入的信息需要合法才能够成功修改 |
备注 |
2.登录
登录用例描述能够描述系统中的登录功能,登录用例描述如表3.4所示。
表3.4 登录用例描述
用例标识 | 3.4 |
用例名称 | 登陆 |
参与者 | 用户、管理员 |
前置条件 | 用户和管理员需要输入正确的用户名和密码 |
后置条件 | 登录 |
用例概述 | 用户和管理员登录 |
基本事件流 | 1.用户和管理员进入到登录页面当中 2.管理员和用户输入用户名和密码登录到系统当中 |
备选事件流 | 3.输入的信息需要和数据库信息相匹配才能够登录 |
备注 |
3.角色信息管理
角色信息管理用例描述能够描述角色中的角色信息管理功能,角色信息管理用例描述如表3.5所示。
表3.5 角色用例描述
用例标识 | 3.5 |
用例名称 | 编辑角色的相关信息 |
参与者 | 管理员与用户 |
前置条件 | 管理员需要输入正确的用户名和密码登录角色 |
后置条件 | 修改角色信息 |
用例概述 | 管理员修改角色信息 |
基本事件流 | 1.管理员输入正确的用户名和密码登录到角色当中 2.管理员在角色信息管理界面点击添加按钮提交新添加的角色信息 3.角色信息添加成功 |
备选事件流 | 4.输入的信息需要合法才能够成功添加 |
3.3 非功能需求
(1)可用性。该气象数据分析与可视化系统 需要简单易操作,用户能够快速方便地上手。
(2)可扩展性。该系统设计的时候采用的是模块化的方式,当能够充分了解系统的业务需求的时候,可以通过分解业务流程,分为不同的模块进行开发,
(3)可维护性[5]。如果代码的可理解性越强的话,这能够确保系统设计风格更加统一,使用有意义和结构化的程序设计方法,这样可以保证后续修改气象数据分析与可视化系统 的时候要较为方便,使得维护系统要变得更加简单[6]。
(4)流畅性。系统运行速度需要不慢,并且多个用户使用系统的时候,用户在操作的时候能够顺畅。
概要设计
4.1 设计目标
经过需求分析之后,下一步要做的是定下能够满足基本要求的系统,进而设计出对应的系统。系统设计内容应该需要包括明确气象数据分析与可视化系统 的设计方法,将系统功能分成若干个模块,确立各个模块需要什么功能以及与其它模块的关系,
对划分的功能模块采取技术设计和评价[7]。
本气象数据分析与可视化系统 除了需要提供用户所需的基本功能之外,还不能有繁杂的操作方式,这能够给用户带来良好的体验。用户界面不仅需要简单友好关键在布局上需要能够适应大多数用户的使用习惯,能够保证用户在使用软件的流畅度[8]。
4.2功能模块设计
该章节的功能模块设计,只是大概描述了系统的所有功能模块,将功能按权限来讲解。系统总体结构图如图4-1所示。
图4-1 系统总体结构图
4.3 功能流程
用户想要使用系统的功能之前首先需要登录,在登录页面中输入用户名和密码之后点击登录按钮,如果通过了验证则能够进入到主页当中[9]。
图4.2 登录流程图
管理员登录系统之后可以在后台管理中搜索系统的信息,如果输入的系统信息在数据库记录中找不到则不能显示查询信息。
图4.3 查询流程图
管理员登录系统后可以修改用户信息[10]。
图4.4 用户管理流程图
4.4 数据库设计
4.4.1 概念性数据模型
气象数据分析与可视化系统 需要数据库存储系统中的信息,MySQL数据库能够处理系统的信息,当气象数据分析与可视化系统 需要数据的时候,MySQL数据库能够取得数据交给服务端处理。MySQL数据库能够使用可视化软件操作,管理员可以在可视化软件对数据库的信息机芯管理。
系统数据层设计包括了E-R设计,系统数据实体的设计依赖于E-R的分析和设计,通过E-R能够得到数据库表的设计,E-R能够描述系统所涉及到的实体,还能够描述系统中不同实体的联系和关系[11]。
(1)需要能够充分地反映现实世界,包括现实事物之间的联系,这样有利于满足不同程序开发者对数据处理的需要。
(2)需要能够容易理解,从而可以使得即使不熟悉计算机的用户也可以快速使用系统,如果一个数据库设计得较为成功的话用户也可以选择参与。
(3)需要能够易于变更。当系统应用环境发生改变的时候,概念模型往往需要改变,因此数据库需要设计得以后容易修改概念模型。
管理员信息E-R如图4.5所示。
图4.5 管理员信息E-R图
用户信息E-R如图4.6所示。
图4.6用户信息E-R图
-
系统实现
5.1 管理员功能的实现
在登录界面中需要使用el-input标签实现输入框供管理员输入用户名和密码,需要使用name标签表示不同的信息。在登录界面中还需要包括角色的按钮,使用el-radio表示按钮,管理员可以点击按钮从而选择不同的角色,如图5.1所示。
图5.1管理员登录界面
管理员登录进入气象数据分析与可视化系统 可以查看首页、天气数据分析、用户系统、认证和授权等功能,进行详细操作,如图5.2所示。
图5.2管理员功能界面图
管理员点击用户信息;在用户信息页面输入ID、用户名、昵称、图片、手机号、性别、个人简介等信息,进行搜索,增加或删除用户信息等操作;如图5.3所示。
图5.3用户信息界面图
5.2 数据可视化分析看板展示
图5.4气象数据分析与可视化系统展示图
下面展示是最高温度前十,对于最高温度前十大数据,数据获取之后,开始对这些数据进行可视化分析,首先是最高温度前十的基本情况,其中根据爬取的数据得到有关石家庄、哈尔滨、乌鲁木齐等信息用的饼状图的形式来展示,如图5.5所示。
图5-5最高温度前十界面图
下面展示是各类型空气质量占比,对于各类型空气质量占比大数据获取之后,开始对这些数据进行可视化分析,首先通过页面查看各类型空气质量占比详情以柱状图分析进行来展示,如图5.6所示。
图5.6各类型空气质量占比界面图
在最低温度前十页面以饼状图进行展示5.7所示。
图5.7最低温度前十界面图
下图是所有城市天气信息表,通过python爬取清洗后的数据形式展示如图5.8所示:
图5.8所有城市天气信息表界面图
系统测试
系统测试的目的是为了能够尽可能地找出系统中现有的系统缺陷,对发现的缺陷进行修复。一般来说,如果发现了功能模块有缺陷,那么该功能模块往往还包含有许多缺陷。如果在软件测试中能够发现软件缺陷,那么可以提前修复从而降低软件开发成本[12]。
6.1 测试目的
系统测试能够全面测试气象数据分析与可视化系统 ,包括不同功能模块的测试。气象数据分析与可视化系统 是较为复杂的应用,需要软件开发者充分地运用,这样能够保证系统的稳定运行和数据库中的数据较为安全可靠。有效地测试给系统带来了许多的益处。在系统测试阶段不仅需要玩测试用例的设计还需要完成执行。用例的侧重点在于最终实现的软件是否能够满足需求规格说明书。软件开发者测试该气象数据分析与可视化系统 的目的为达到用户需求的基础之上,同时需要保证系统的可用性。
6.2 测试方法
单元测试能够对系统的环境进行测试,因为气象数据分析与可视化系统 的开发环境较为复杂,所以一旦软件开发完成之后,需要在开发环境测试软件,在开发环境中使用debug的功能测试软件,观察数据库的数据是否能够正常更新,这样有利于及时更新系统存在的错误。
系统测试能够发现软件的缺陷,通过软件的用途实现,软件开发者不用去了解气象数据分析与可视化系统 的内部结构,从用户的角度对软件进行测试。测试软件需要结合软件的内部结构,检测软件是否能够正确地反馈。在使用白盒测试的时候,软件开发者需要注重程序的内部逻辑,对其测试并得出相关的测试数据[13]。
6.3 测试用例设计
本系统在完成之后对代码根据功能模块划分成不同的代码块,对相应的代码块测试,用以验证系统功能的正确性。最后对系统进行完整测试,对集成的模块进行测试。本系统通过登录不同的角色从而对系统进行测试。在测试的过程当中,本文设计了测试用例,对测试过程详细记录下来,部分主要测试用例如下所示[14]。
表6.1 注册用例
序号 | 关注点 | 测试点 | 测试方法 | 期待结果 |
1 | 用户注册 | 用户是否能够成功注册 | 在注册界面中用户输入不完整的注册信息 | 注册失败,系统提示用户需要输入完整的用户信息 |
2 | 用户注册 | 用户是否能够成功注册 | 在注册界面中用户输入系统已经存在的用户信息 | 注册失败,系统提示用户信息已经存在 |
表6.2 登录用例
序号 | 关注点 | 测试点 | 测试方法 | 期待结果 |
1 | 用户登录 | 用户是否能够成功登录 | 在登录界面中用户在输入框中不输入用户名 | 登录失败,系统提示用户需要输入用户名 |
2 | 用户登录 | 用户是否能够成功登录 | 在登录界面中用户在输入框中不输入密码 | 登录失败,系统提示用户需要输入密码 |
3 | 用户登录 | 用户是否能够成功登录 | 在登录界面中用户输入的信息跟数据库记录 匹配不上 | 登录失败,系统提示用户需要重新输入用户名和密码 |
表6.3 用户管理用例
序号 | 关注点 | 测试点 | 测试方法 | 期待结果 |
1 | 用户管理 | 管理员是否能够正常管理用户的信息 | 管理员进入到用户管理功能界面当中的时候,点击添加按钮添加用户信息 | 如果输入的信息合法则能够添加成功 |
2 | 用户管理 | 管理员是否能够正常管理用户的信息 | 管理员进入到用户管理功能界面当中的时候,点击修改按钮修改用户信息 | 如果修改的时候输入的信息合法则能够正常地修改 |
3 | 用户管理 | 管理员是否能够正常管理用户的信息 | 管理员进入到用户管理功能界面当中的时候,点击搜索按钮搜索用户信息 | 如果输入的用户名称和数据库记录相符合则能够成功地查出信息 |
4 | 用户管理 | 管理员是否能够正常管理用户的信息 | 管理员进入到用户管理功能界面当中的时候,点击删除按钮删除用户信息 | 如果需要删除的用户信息和其它表还有关联则不能删除 |