Курсовая работа: Судовая информационная измерительная система типа "звезда". База данных

Направление ветра измеряется с точностью до одного из 8 направлений.

Ввод команд пользователем осуществляется с помощью интерфейса программы - сервера.

Экраном служит обычный дисплей.

Встроенные таймеры и датчики посылают результаты измерений на компьютер-сервер через заданный промежуток времени.

На рис. 2.1 приведена диаграмма, иллюстрирующая состав аппаратной части системы.

Рисунок 2.1 — Аппаратное обеспечение системы мониторинга погоды.

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

Имеет смысл создать простой класс TemperatureSensor (температурный датчик) служит аналогом аппаратного температурного датчика нашей системы. Изолированный анализ поведения этого класса дает в первом приближении следующий результат:

Имя:

TemperatureSensor

Ответственность:

Поддержание информации о текущей температуре. Операции:

CurrentTemperature – текущая температура

SetLowTemperature - установка минимальной температуры

setHighTemperature — установка максимальной температуры Атрибуты:

temperature - температура

Название операции CurrentTemperature (текущая температура) говорит само за себя. Назначение двух других операций (установка минимальной и максимальной температур) прямо определяется требованием к системе, а именно необходимостью проведения калибровки датчиков. Сигнал от каждого датчика - это число с фиксированной точкой из некоторого рабочего диапазона, граничные значения которого должны быть заданы. Промежуточные значения температуры вычисляются простой линейной интерполяцией между этими двумя точками, как показано на рис. 2.2.

Можно задать закономерный вопрос: зачем мы создается специальный класс для данной абстракции, когда в требованиях к системе ясно сказано, что температурный датчик может быть только один? Это верно, но в целях обеспечения возможности повторного использования абстракции мы все же выделяем ее в отдельный класс. На самом деле количество температурных датчиков не должно влиять на архитектуру нашей системы, и, выделяя отдельный класс TemperatureSensor, мы открываем возможность его использования в других программах подобного типа.

Абстракция для датчика барометрического давления может выглядеть следующим образом:

Имя:

Pressuresensor

Ответственность:

Поддержание информации о текущем барометрическом давлении. Операции:

currentPressure – текущее давление

setLowPressure – установка минимального давления

setHighPressure - установка максимального давления Атриуты:

pressure - давление

Абстракцию, соответствующую датчику влажности, можно определить следующим образом:

К-во Просмотров: 359
Бесплатно скачать Курсовая работа: Судовая информационная измерительная система типа "звезда". База данных