Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемmath.isu.ru
1 Пример объектно-ориентированного проектирования: метеорологическая станция
2 Требования к метеорологической станции Система должна обеспечивать автоматический мониторинг следующих первичных погодных параметров: скорость и направление ветра; температура; барометрическое давление; влажность воздуха. Система также должна вычислять некоторые производные параметры, в число которых входят: коэффициент резкости погоды; точка росы; относительное изменение температуры; относительное изменение барометрического давления.
3 Требования к метеорологической станции В системе должна быть предусмотрена возможность определения текущего времени и даты Система должна обеспечивать постоянный вывод на дисплей текущих значений всех первичных и производных параметров, их максимальных и минимальных значений, а также время и дату Система должна позволять проводить калибровку датчиков, а также устанавливать время и дату
4 Требования к метеорологической станции В системе должна быть предусмотрена возможность определения текущего времени и даты Система должна обеспечивать постоянный вывод на дисплей текущих значений всех первичных и производных параметров, их максимальных и минимальных значений, а также время и дату Система должна позволять проводить калибровку датчиков, а также устанавливать время и дату
5 Предположения об аппаратной части Используется обычный персональный компьютер Системные время и дата поддерживаются встроенными часами Температура, давление и влажность определяются встроенными контроллерами, которые соединены с соответствующими датчиками Направление ветра измеряется с помощью флюгера с точностью до одного из 16 направлений; скорость ветра определяется анемометром со счетчиком оборотов Ввод команд пользователем осуществляется с помощью клавишной панели Экраном служит жидкокристаллический дисплей Встроенный таймер посылает прерывания через каждую 1/60 долю секунды
6 Состав аппаратной части
7 Класс времени и даты Имя: TimeDate Ответственность: Поддержание информации о текущих времени и дате Операции: currentTime - текущее время currentDate - текущая дата setFormat - установка формата setHour - установка часа setMinute - установка минут setSecond - установка секунд setMonth - установка месяца setDay - установка дня setYear - установка года Атрибуты: time - время date - дата
8 Класс температурный датчик Имя: TemperatureSensor Ответственность: Поддержание информации о текущей температуре Операции: currentTemperature - текущая температура setLowTemperature - установка минимальной температуры setHighTemperature - установка максимальной температуры Атрибуты: temperature - температура
9 Класс датчик давления Имя: PressureSensor Ответственность: Поддержание информации о текущем давлении Операции: currentPressure - текущее давление setLowPressure - установка минимального давления setHighPressure - установка максимального давления Атрибуты: pressure - давление
10 Класс определения тренда Имя: TrendSensor Ответственность: Определение тренда давления или температуры как наклона графика (от -1 до 1) изменения их значений за данный интервал времени Операции: trend - тренд
11 Класс датчик влажности Имя: HumiditySensor Ответственность: Поддержание информации о текущей влажности, выраженной в процентах от 0% до 100% Операции: currentHumidity - текущая влажность setLowHumidity - установка минимальной влажности setHighHumidity - установка максимальной влажности Атрибуты: humidity - влажность
12 Класс для минимальных и максимальных значений параметров Имя: HistoricalSensor Ответственность: Генерация сообщений о максимальных и минимальных значениях параметров за 24-часа Операции: highValue - максимальное значение lowValue - минимальное значение timeOf HighValue - время, соответствующее максимальному значению timeOfLowValue - время, соответствующее минимальному значению
13 Класс датчик скорости ветра Имя: WindSpeedSensor Ответственность: Поддержание информации о скорости ветра Операции: currentSpeed - текущая скорость setLowSpeed - установка минимальной скорости setHighSpeed - установка максимальной скорости Атрибуты: speed - скорость
14 Класс калибровки измеренных значений Имя: CalibratingSensor Ответственность: Обеспечение линейной интерполяции значений, лежащих в известном интервале Операции: currentValue - текущее значение setLowValue - установка минимального значения setHighValue - установка максимального значения
15 Класс датчик направления ветра Имя: WindDirectionSensor Ответственность: Поддержание информации о текущем направлении ветра, указываемом как точка на розе ветров Операции: currentDirection - текущее направление Атрибуты: direction - направление
16 Иерархия классов датчиков
17 Класс для ввода с клавиатуры Имя: Keypad Ответственность: Поддержание информации о коде последней клавиши, нажатой на клавиатуре Операции: lastKeyPress - последняя нажатая клавиша Атрибуты: key - клавиша
18 Класс для дисплея
19 Имя: LCDDevice Ответственность: Управление выводом на экран графических элементов Операции: drawText - рисовать текст drawLine - рисовать линию drawCircle - рисовать окружность setTextSize - установка размера текста setTextStyle - установка начертания текста setPenSize - установка ширины линии
20 Класс для таймера Имя: Timer Ответственность: Осуществление прерываний и диспетчеризация функций обратного вызова Операции: setCallback() - установка функции обратного вызова
21 Список ситуаций Мониторинг первичных измеряемых параметров: скорости и направления ветра, температуры, барометрического давления и влажности. Мониторинг производных параметров: коэффициента жесткости погоды, точки образования росы, трендов температуры и барометрического давления. Показ максимальных и минимальных значений выбранных параметров. Установка времени и даты. Калибровка выбранных датчиков. Включение системы. Добавим еще две дополнительные ситуации: Отказ питания. Отказ датчика.
22 Мониторинг Частоты снятия информации: каждые 0.1 секунды направление ветра каждые 0.5 секунды скорость ветра каждые 5 минут температура, давление и влажность Класс Sampler обеспечивает требуюмую частоту снятия информации
23 Класс для дисплея Имя: LCDDevice Ответственность: Управление выводом на экран графических элементов Операции: drawText - рисовать текст drawLine - рисовать линию drawCircle - рисовать окружность setTextSize - установка размера текста setTextStyle - установка начертания текста setPenSize - установка ширины линии Атрибуты: key - клавиша
24 Реализация вывода параметров на экран Имя: DisplayManager Ответственность: Организация отображения параметров на экране дисплея Операции: drawStaticItems - рисование статических элементов displayTime - вывод времени displayDate - вывод даты displayTemperature - вывод температуры displayHumidity - вывод влажности displayPressure - вывод давления displayWindChill - вывод коэффициента жесткости погоды displayDewPoint - вывод точки росы displayWindSpeed - вывод скорости ветра displayWindDirection - вывод направления ветра displayHighLow - вывод максимальных и минимальных значений
25 Связи между классами, связанными с выводом информации на экран
26 Вторичные параметры
27 Класс для управления клавиатурой Имя: InputManager Ответственность: Диспетчеризация команд пользователя Операции: processKeyPress - обработка сигналов с клавиатуры
28 Архитектура системы мониторинга погоды
29 Код классов Sensors и Sampler
30 Код классов CalibratingSensor, HistoricalSensor и TrendSensor
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.