Курсовая работа: Судовая информационная измерительная система типа "звезда". База данных
Имя:
Ответственность:
Графическое представления направления ветра. Операции:
Update - отображение текущего направления ветра.
Абстракций для индикатора температуры TemperatureIndicator может выглядеть следующим образом:
Имя:
TemperatureIndicator
Ответственность:
Графическое представления величины температуры.
Update — отображение текущей температуры.
Абстракция для индикатора атмосферного давлении PressureIndicator может выглядеть следующим образом:
Имя:
PressureIndicator
Ответственность:
Графическое представления величины атмосферного давления. Операции:
Update - отображение текущего значения атмосферного давления.
Абстракция для индикатора влажности воздуха HumidityIndicator может выглядеть следующим образом:
Имя:
HumidityIndicator
Ответственноcть:
Графическое представления величины влажности воздуха. Операции:
Update - отображение текущего значения влажности воздуха.
Чтобы объединить все классы, относящиеся к индикаторам, в одну иерархию, имеет смысл создать еще один абстрактный базовый класс Indicator, который является непосредственным суперклассом для всех классов. Рисунок 2.4 иллюстрирует иерархию классов индикаторов.
Рисунок 2.4 - Иерархия классов индикаторов
2.2 Взаимодействие объектов
В системе имеется глобальный объект-сервер и четыре объекта-датчика. Их взаимодействие заключается в следующем. Датчик отсылает показания на сервер в несколько этапов. Сначала полученное значение записывает в динамический список, затем по истечении заданного момента времени он берет первое значение из очереди и суммирует его с предыдущим. Потом проверяется заданное число на осреднение значения. Если мы накопили это число, то отсылается усредненное число, если же нет, то отсылается полученное значение. После вышеперечисленных действий значение из очереди удаляется. Очередь была введена затем, что интервал времени считывания значения, и его отсылки на сервер может не совпадать.
Сервер в свою очередь определяет, получил ли он текущее или усредненное значение датчика. Если он получил усредненное значение, тогда он проверяет заданный на сервере интервал времени, обновления минимакса. Если интервал времени истек, тогда значение минимакса за заданный промежуток времени сохраняется в файле отчета и пришедшее значение с датчика присваивается как текущее. Если пришедшее значение с датчика не усредненное, а текущее, тогда обновляется диаграмма текущих показаний.
Взаимодействие сервера с датчиками можно представить схемой, представленной на Рис.2.5.