大数据设计基于Hadoop全国天气可视化分析系统

一、项目介绍

  全国天气可视化分析系统主要功能模块包括系统首页、轮播图、公告消息、资源管理(天气资讯、资讯分类)系统用户(管理员、普通用户)模块管理(天气信息、降水数据),采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,系统采用java语言、Hadoop框架、MVC模式、MySQL数据库,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对全国天气可视化分析系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现全国天气可视化分析系统和部署运行使用它。
关键词:天气信息;Hadoop技术;Mysql数据库

二、开发环境

Hadoop后端+HTML前端+大数据屏——>Hadoop、HTML、大数据屏
————————————————

三、功能介绍

3.2功能需求分析

全国天气可视化分析系统的功能主要分为前台用户根据自己的需求进行注册登录,浏览天气信息并对选中的天气进行搜索操作。后台系统管理员因职责的不同,管理员主要对注册用户,天气信息、降水数据进行管理。
系统用例图如下所示。

在这里插入图片描述

图3-1 系统用例图

3.2.1前台用户功能

前台用户可分为未注册用户需求和以注册用户需求。
未注册用户的功能如下:
注册账号:用户填写个人信息,并验证手机号码。
浏览天气资讯:用户可以浏览天气资讯信息详情。
已注册用户的功能如下:
登录:根据账号密码进行登录操作。
维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。
浏览天气资讯:查看天气资讯信息以及可以进行点赞评论等。
天气信息:选中某个城市、日期可查看其天气信息。
降水数据:可以查看某个城市、平均气温、累积降水信息。

3.2.2后台管理员功能

管理员功能如下:
修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。
天气数据管理:对天气数据信息进行维护,添加、删除、修改信息。
降水数据管理:对降水数据信息进行维护,添加、删除、修改信息。
用户管理:可以查看注册用户的信息,并对其进行管理。
资讯管理:可以发布系统最新资讯。

综上所述,系统功能结构图如下图所示。
在这里插入图片描述

图4-2 系统功能结构图

四、核心代码

部分代码:


# -*- coding: utf-8 -*-
import os
import importlib

services_abspath_arr = []
services_arr = []
services_dir_ = os.getcwd() + "\\hadoop"

# 遍历模块文件(绝对路径)加到services_abspath_arr数组


# 选择服务函数
def service_hadoop_select(str):
    for service_item in services_arr:
        if str.capitalize() == service_item.__class__.__name__:
            return service_item


def foreach_file(path_name):
    for root, dirs, files in os.walk(path_name):
        for f in files:
            services_abspath_arr.append(os.path.join(root, f))


# 读取模块
# f:文件路径
def loadModule(f):
    # 将f变成相对路径
    f = f.replace(services_dir_ + "\\", "").replace(".py", "").replace("\\", "/")
    # print(f)
    mod = importlib.import_module(
        "jobs."+f.replace("/", ".")
    )
    arr_1 = f.split("/")
    cs_service = getattr(mod, arr_1[len(arr_1) - 1].capitalize())
    # service的class形式
    service = cs_service()
    services_arr.append(service)


foreach_file(services_dir_)

for f in services_abspath_arr:
    if f.find(".pyc") == -1 and f.find("__init__") == -1:
        # print(f)
        loadModule(f)

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录
第1章 绪论 1
1.1 研究背景 1
1.2 开发现状 1
1.3 研究方法 2
第2章 相关技术介绍 3
2.1 Hadoop框架介绍 4
2.2 MySQL 数据库 4
2.3 B/S结构 5
2.4 JAVA技术 6
2.5 MVVM模式介绍 6
第3章 系统分析 7
3.1 可行性分析 7
3.2 功能需求分析 7
3.2.1 前台用户功能 8
3.2.2 后台管理员功能 8
3.3 非功能需求分析 9
3.4 安全性需求分析 9
3.4.1 系统的安全性 9
3.4.2 数据的安全性 9
3.5 数据流程分析 9
第4章 系统设计 11
4.1 系统架构设计 11
4.2 系统总体设计 11
4.3 系统功能设计 12
4.4 数据库设计 13
4.4.1 数据需求分析 13
4.4.2 数据库概念设计 13
4.4.3 数据库表设计 13
第5章 系统实现 23
5.1 数据库访问层的实现 23
5.2 注册模块的实现 23
5.3 登录模块的实现 25
5.4 用户资料修改模块的实现 26
5.5 天气信息展示模块的实现 26
5.6 降水数据模块的实现 27
第6章 系统测试 30
6.1 测试目的 30
6.2 功能测试 30
6.3 性能测试 31
第7章 总结与展望 32
参考文献 33
致谢 35

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值