老师留了个作业,感觉挺有意思,记录一下
文章目录
- 气象监测软件的程序设计项目指导书
- (一)基本信息
- (二)项目目标
- (三)任务描述
- (四)指导内容
- 任务 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获取气象数据更新,然后通过三种不同的展示方式,对外展示气象情况。
【类图】
(五):源码获取
主页私信:气象监测