Объектно-ориентированное проектирование с примерами


Определение границ рассматриваемой задачи - часть 11


Имя: Timer

Ответственность: Осуществление прерываний и диспетчеризация функций обратного вызова.

Операции: setCallback() - установка функции обратного вызова

Сценарии

Определив в рамках нашей системы основные абстракции, продолжим анализ задачи и рассмотрим некоторые сценарии работы системы. Начнем с составления списка ситуаций. С точки зрения пользователя список будет выглядеть примерно следующим образом:

  • Мониторинг первичных измеряемых параметров: скорости и направления ветра, температуры, барометрического давления и влажности.

  • Мониторинг производных параметров: коэффициента жесткости погоды, точки образования росы, трендов температуры и барометрического давления.

  • Показ максимальных и минимальных значений выбранных параметров.

  • Установка времени и даты.

  • Калибровка выбранных датчиков.

  • Включение системы.

Добавим еще две дополнительные ситуации:

  • Отказ питания.

  • Отказ датчика.

Исследуем вышеприведенные сценарии для того, чтобы понять поведение (именно поведение, а не внутреннюю структуру) системы.

Главной задачей системы является мониторинг основных измеряемых параметров. Одним из ограничений является невозможность обрабатывать информацию с частотой, превышающей 60 измерений в секунду. К счастью, наиболее интересные для нас погодные параметры меняются с гораздо меньшей скоростью. Дополнительный анализ показывает, что для своевременной регистрации изменений различных погодных параметров достаточно обеспечить следующие частоты снятия информации:

  • каждые 0.1 секунды направление ветра

  • каждые 0.5 секунды скорость ветра

  • каждые 5 минут температура, барометрическое давление и влажность

Ранее мы приняли решение о том, что классы датчиков не должны отвечать за организацию периодических измерений. Эта работа лежит в сфере ответственности внешнего агента, взаимодействующего с датчиками. Отложим пока описание поведения данного агента (оно определяется в большей степени особенностями реализации системы и будет рассмотрено на этапе проектирования). Диаграмма взаимодействий, приведенная на рис. 8-7, иллюстрирует в некоторой степени сценарий его работы.


Начало  Назад  Вперед