当前位置: 首页 > news >正文

气象监测软件的程序设计

老师留了个作业,感觉挺有意思,记录一下

文章目录

  • 气象监测软件的程序设计项目指导书
  • (一)基本信息
  • (二)项目目标
  • (三)任务描述
  • (四)指导内容
    • 任务 1:根据MVC的设计原则,设计气象数据视图
    • 任务 2 :根据MVC的设计原则,设计气象数据的主题模型
    • 任务 3:根据MVC的设计原则,设计气象数据更新的控制器组件
  • (五):源码获取


气象监测软件的程序设计项目指导书

(一)基本信息

运用面向对象的思想设计一个气象监测软件。并综合运用Java的Swing包中GUI容器和组件,以及多线程机制等面向对象的方法与技术进行编程实现。

(二)项目目标

(1)能够运用面向对象设计思想进行项目的整体设计

(2)能够构造图形用户界面程序及根据需要运用GUI组件

(3)能够根据事件驱动的原理搭建类结构

(4)能够利用多线程机制处理多任务

(三)任务描述

编写一个气象监测软件,气象监测软件可以定时从气象站获取最新的气象数据包括:温度、湿度、气压。气象监测软件可以把获得的气象数据通过柱状图、可视化数字窗口或控制台呈现动态气象数据的变化。未来还可以根据用户的需求,对数据呈现方式进行扩展。

备注:测试时可以通过存根模块用随机数的方式模拟气象数据的变化。

(四)指导内容

1、相关知识:

(1)运用面向对象思想进行及项目设计

(2)构造图形用户界面及常用GUI组件

(3)事件处理模型

(4)构建多线程

2、开发环境:

JDK8(及以上)+Eclipse(或Intellij Idea)

3、过程与步骤:

对气象监测软件中涉及的实体进行抽象,分析各个类间的关系,具体步骤如下:

任务 1:根据MVC的设计原则,设计气象数据视图

【解决思路】

一个接口IDisplay定义了所有三种显示视图的共有方法。
CurrentDisplay类是一个具体的观察者,它可以在控制台上显示最新的气象信息;
NumberDisplay类通过可视化数字窗口显示最新的气象信息;
BarDisplay是通过气象数据转化为三条柱状图呈现给用户。

【运行效果】

CurrentDisplay视图的运行效果如下:

在这里插入图片描述

NumberDisplay视图的运行效果如下,位置任意,宽260,高120:
在这里插入图片描述

BarDisplay视图的运行效果如下,位置任意,宽500,高400:
在这里插入图片描述

【类图】
在这里插入图片描述

任务 2 :根据MVC的设计原则,设计气象数据的主题模型

【解决思路】

WeatherData封装了从气象站获取气象数据的方法getTemprature()、getHumidity()、getPressure(),这里可以用随机数的方式模拟气象数据的更新。

【类图】

在这里插入图片描述

任务 3:根据MVC的设计原则,设计气象数据更新的控制器组件

【解决思路】

WeatherStation是模拟气象站的服务器程序,这个气象站每隔5秒钟从WeatherData获取气象数据更新,然后通过三种不同的展示方式,对外展示气象情况。

【类图】
在这里插入图片描述

(五):源码获取

主页私信:气象监测


http://www.mrgr.cn/news/68790.html

相关文章:

  • 深度学习⑨GANs
  • 【划分型 DP-最优划分】【腾讯笔试压轴】【hard】力扣132. 分割回文串 II
  • 一文学会easyexcel导入数据,多sheet页、字典转换【附带源码】
  • 【动手学电机驱动】 STM32-FOC(2)STM32 导入和创建项目
  • 转发forward与重定redirect
  • SpringCloud框架学习(第一部分:初始项目搭建)
  • 【手撕排序3】归并排序
  • 详解Windows 11 上 CUDA 与 PyTorch 版本的兼容性
  • 谷歌新政,照片和视频访问权限新规?声明表单怎么写更容易通过审核?
  • Linux常用的100个命令
  • 【算法|字符串、哈希表】验证回文串、螺旋塔、同构字符串、单词规律
  • 跟我学C++中级篇——生产中如何调试程序
  • 深度学习:微调(Fine-tuning)详解
  • MySQ怎么使用语法介绍(详细)
  • 深失速现象
  • 穿销程序之如何写停止程序
  • Vue3入门介绍及快速上手
  • 【傻呱呱】phpMyAdmin怎样给特定用户授权特定数据库权限?
  • 迅捷pdf转换器pk这9款,哪款是你的菜??
  • 盘点2024年10款视频剪辑,哪款值得pick!!