气象监测软件的程序设计

news2024/10/28 22:26:39

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

文章目录

  • 气象监测软件的程序设计项目指导书
  • (一)基本信息
  • (二)项目目标
  • (三)任务描述
  • (四)指导内容
    • 任务 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.coloradmin.cn/o/2225736.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电磁干扰(EMI)与电磁兼容性(EMC)【小登培训】

电磁干扰(EMI)和电磁兼容性(EMC)是每个产品在3C ,CE认证过程中必不可少的测试项目: 一、电磁干扰(EMI) EMI(Electromagnetic Interference)是指电子设备在工作…

ARM学习(33)英飞凌(infineon)PSOC 6 板子学习

笔者来聊一下psoc62 系列板子的知识 1、PSOC62板子介绍 Psoc6-evaluationkit-062S2 与RT-Thread联合推出的一款32位的双core的板子,基于CortexM4以及CortexM0。 管脚兼容Arduio。板载DAP-Link,可以支持调试以及串口,无需外接2MB的Flash以及…

JavaEE初阶---文件IO总结

文章目录 1.文件初识2.java针对于文件的操作2.1文件系统的操作---file类2.2文件内容的操作---流对象的分类2.4字符流的操作》文本文件2.4.1异常的说明2.4.2第一种文件内容的读取方式2.4.3第二种读取方式2.4.4close的方法的介绍2.4.5close的使用优化操作2.4.6内容的写入 2.3字节…

数据结构与算法汇总整理篇——数组与字符串双指针与滑动窗口的联系学习及框架思考

数组 数组精髓:循环不变量原则 数组是存放在连续内存空间上的相同类型数据的集合,通过索引(下标)访问元素,索引从0开始 随机访问快(O(1)时间复杂度);插入删除慢(需要移动元素);长度固定(部分语言中可动态调整) 其存…

【CSS】边界三角形

有三角形 Unicode 字符。您可以在 SVG 中绘制三角形。但还有另一种在 Web 上绘制三角形的方法,只需使用 border 属性和一些 CSS 技巧即可。 想象一个具有粗边框的元素: .triangle {width: 200px;height: 200px;border: 10px solid black; }现在想象一下…

公园客流统计系统根据游客数量安排清洁人员

公园作为人们休闲娱乐的公共场所,游客流量时常处于动态变化中。而公园客流统计系统的应用,为依据游客数量合理安排清洁人员提供了有效途径,主要体现在以下几个方面。 一、精准掌握游客分布,按需调配清洁力量 公园客流统计系统能够…

Es可视化界面 ElasticHd

前言 在开发的过程中,有一个可视化界面工具,以及一个可执行的es相关语句的工具十分重要,主要有以下这些 1. Kibana‌:○ Kibana是Elastic官方提供的数据可视化工具,功能强大,支持多种图表类型&#xff0c…

REST APIs与微服务:关键差异

在构建基于微服务的应用程序时RESYful API和微服务这两个术语经常相伴出现。然而,它们指的是截然不同的东西。 了解 RESTful API 和微服务之间差异的最简单方式是这样: 微服务:它们是构成更大规模基于微服务的应用程序的单个服务和功能&…

雷池社区版OPEN API使用教程

OPEN API使用教程 新版本接口支持API Token鉴权 接口文档官方没有提供,有需要可以自行爬取,爬了几个,其实也很方便 使用条件 需要使用默认的 admin 用户登录才可见此功能版本需要 > 6.6.0 使用方法 1.在系统管理创建API TOKEN 2.发…

参会记录|2024 中国计算机大会(CNCC 2024)

前言:2024年10月24-26日,有幸在横店参加了2024年度的中国计算机大会(CNCC),本篇博客总结本人在会议期间收听的主要报告内容及收获。 2024.10.24 上午 夏苑海岳开襟 如何实现人工智能在现实场景中的落地? …

解锁V2G:电动汽车如何化身电网“充电宝”,最重要的是将成为一种赚钱的方式!

解锁V2G:电动汽车如何化身电网“充电宝” 随着新能源汽车的普及,电动汽车不仅仅是交通工具,还能成为电网的重要补充。今天,我们来聊聊V2G(Vehicle-to-Grid)技术,看看它是如何实现车辆与电网之间…

Git相关介绍

基本概念 关注(watch) 关注项目,当项目更新可以接收到通知 事物卡片(Issue) 发现代码BUG,但是目前没有成型代码,需要讨论时用 Git工作区域 工作区 添加、编辑、修改文件等动作 暂存区 …

蓝海创意云入选中国夏衍电影学会工业与科技影视专业委员会成员单位

党的二十届三中全会指出,科技自立自强是中国式现代化的有力保障。科技兴则民族兴,科技强则国家强。为深入的贯彻落实这一重要部署,推动工业与科技领域的融合发展充分发挥电影艺术在传播科技创新精神、展现工业发展成就方面的独特作用&#xf…

【AI大模型】使用谷歌 Gemini API 构建自己的 ChatGPT(二)

上一篇文章 【AI大模型】使用谷歌 Gemini API 构建自己的 ChatGPT(一)🚀我们介绍了 Gemini 是什么,以及如何使用Gemini 构建一个多模态的聊天场景示例。这一篇我们使用 langchain 与 Gemini 集成构建应用: 将 Langcha…

C/C++:WinSock_TCP通信实例

一、socket函数 第一种使用socket函数来创建套接字,函数调用成功将返回套接字句柄。 socket函数接收三个参数。af 、type 、protocol af:指定套接字使用的地址格式。 type:指定套接字的类型。 protocol:配合type参数使用&#xf…

Appium中的api(二)

目录 元素定位操作api 1--通过id定位api 2--通过class获取定位元素 3--通过xpath表达式定位元素 4.完整代码 解释 效果 元素定位操作api 1--通过id定位api 注:driver.find_element是获取单个元素 # 通过id获取 mySearchId "com.android.settings:id/search_acti…

(2024.10.28)使用YOLOv8训练自己的目标检测模型

收集数据集: 1.使用开源已标记数据集 2.自己网上搜索下载。 3.可以将图片几何变换,类似翻转、裁剪、旋转和平移,就变成多张图片了 标注数据集 : 常用的标注工具有很多,比如LabelImg(易崩溃)…

nacos的原理,为什么可以作为注册中心,和zookeeper的区别

Nacos 是阿里巴巴开源的一款用于动态服务发现、配置管理和服务治理的中间件,广泛应用于微服务架构中。它可以作为注册中心的原因在于其强大的服务注册与发现功能,原理上与 Zookeeper 有相似之处,但在设计目标和功能上有所区别。 Nacos 的原理…

猫头虎分享: 108个最新国内AI工具集,AI写作AI绘画工具大全

猫头虎分享: 108个最新国内AI工具集,AI写作AI绘画工具大全 🎨🤖 👋 大家好呀,这里是 猫头虎,专注于分享技术干货、AI工具和实用资源。今天给大家带来一份超级干货清单——108个国内最流行的AI工…

PPT制作新选择:本地部署PPTist结合内网穿透实现实时协作和远程使用

文章目录 前言1. 本地安装PPTist2. PPTist 使用介绍3. 安装Cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 💡 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击跳转到网站】 前…