> 文档中心 > 气象监测软件的程序设计

气象监测软件的程序设计


源码获取:博客首页"资源"里下载!

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

(一)基本信息

        运用面向对象的思想设计一个气象监测软件。并综合运用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获取气象数据更新,然后通过三种不同的展示方式,对外展示气象情况。

【类图】

源码获取:博客首页"资源"里下载!