ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Описание архитектуры3.1 Применяемый шаблон архитектуры На основании выявленных в разделе 2.2 архитектурных мотивов было принято решение использовать шаблон архитектуры ”Клиент-сервер”. В качестве сервера выступает модуль OWS, в качестве клиента – модуль КИНО. Модуль КИНО инициализирует взаимодействие с модулем OWS через механизм сокетов, используя протокол TCP и запрашивает данные воспроизведения для текущего файла регистрации. Модуль OWS отвечает на запросы каждого клиента параллельно, при этом идентификатор клиента неизвестен до начала взаимодействия. Использование такого шаблона архитектуры имеет следующие преимущества: - чёткое распределение ролей между модулями; - большая степень соответствия шаблона выявленным архитектурным мотивам; - высокая безопасность, обусловленная хранением всех данных и выполнением операций над ними на стороне сервера; - простота обслуживания, вызванная распределением ролей; - так как все вычисления выполняются на сервере, то требования к компьютерам на которых установлен клиент снижаются; - отсутствие дублирования кода модуля-сервера модулем-клиентом. 3.1.1 Основные принципы архитектуры Основные принципы архитектуры КИНО отображены на диаграмме компонентов (рис 3.2.1). Модуль КИНО реализуется в файле KINO.exe, модуль OWS – в файле IOWS.exe. Взаимодействия происходят через два основных интерфейса: - интерфейс запроса (TReqInterface); - интерфейс ответа (TRespInterface). Каждый запрос модуля КИНО содержит: идентификатор клиента (ClientId), код команды (ComCode), заголовок файла регистрации (DocFileHeader), очередное сообщение (TMessage), и величину допустимого времени ответа (Timeout). Основная информация, содержащая в каждом запросе - код команды, представляющий собой обозначение конкретной операции, которую требуется выполнить на стороне сервера. Код команды может принимать следующие значения: 1) COMMAND_INITIAL. Инициализация воспроизведения файла. Для выполнения данной команды необходима передача заголовка файла регистрации; 2) COMMAND_PLAY. Обработка и воспроизведения сообщения; 3) COMMAND_PAUSE. Приостановка воспроизведения файла; 4) COMMAND_STOP. Остановка воспроизведения файла; 5) COMMAND_DEINITIAL. Деинициализация воспроизведения файла. Каждый ответ модуля OWS содержит: параметры отображения сообщения (MsgDisplay), заголовок сообщения (MsgHeader), идентификатор ответа (ResponseId), код ответа (ResponseCode). Код ответа может принимать следующие значения: 1) OP_SUCCESSFULL. Операция выполнена успешно; 2) Код ошибки, возникшей при выполнении операции. Далее более подробно рассматриваются модули программы. 3.1.2 Модуль КИНО Модуль КИНО предназначен для организации взаимодействия системы с пользователем: предоставления GUI, интерфейса для передачи запросов модулю OWS. В процессе взаимодействия с OWS модуль КИНО выполняет роль клиентской стороны. Далее следует перечисление основных классов модуля. Диаграмма классов представлена на рис 3.2.3. - Класс взаимодействия с OWS (TInteractionOWS). Осуществляет основные операции по обмену данными с серверным модулем. - Класс файла регистрации (TDocFile). Класс производит операции по открытию файла регистрации и извлечения из него сообщений, используемых затем для передачи модулю OWS. Объекты данного класса хранят заголовок файла и список сообщений, полученных из него. - Класс сообщения (TMessage). Является представлением одиночного сообщения из файла регистрации. 3.1.3 Модуль OWS Модуль OWS выполняет основные функции по отображению тактической обстановки и настройке этого отображения. В процессе взаимодействия с модулем КИНО модуль OWS выполняет роль серверной стороны. Ниже указываются основные классы модуля. Диаграмма классов показана на рис 3.2.4. - Класс взаимодействия с модулем КИНО (TKINOInteraction). Выполняет основные функции по обмену данными с клиентом. Методы класса представляют операции получения запросов от клиента, инициализации обмена, обработки запросов и отправки результирующих пакетов клиенту. - Класс отображения тактической обстановки (TTactSitDisplay). Основное свойство (property) класса – список сообщений, представленных в виде для отображения (TMsgDisplay). Методы класса являются операциями над данным списком. - Класс сообщения для отображения (TMsgDisplay). Представляет собой класс сообщения, представленного в виде, необходимом для его последующего отображения на дисплее. Содержит список объектов тактической обстановки (TSitObject), найденных в соответствующем обработанном сообщении из регистрационного файла. - Класс траектории объекта (TTrack). Содержит основные свойства, необходимые для отображения траектории объекта (TSitObject), которому соотвествует конкретный экземпляр класса. 3.2 Диаграммы классов, компонентов и другие архитектурные представления Рис 3.2.1 Диаграмма вариантов использования (use case diagram)
Рис 3.2.2 Диаграмма компонентов (components diagram) Рис 3.2.3 Диаграмма классов (class diagram) модуля КИНО
Рис 3.2.4 Диаграмма классов (class diagram) модуля OWS 3.3. Применяемые шаблоны проектирования Для реализации модуля OWS был выбран паттерн Производитель/Потребитель (“Producer/Consumer”)[4)]. При использовании данного паттерна классы выполняют следующие роли:
Схема взаимодействия объектов описанных классов приведена на рис 3.3.1 Рис 3.3.1 Схема взаимодействия объектов при использовании паттерна Producer/Consumer В модуле OWS роль класса Потребитель играет класс TInteractionKINO, роль класса Производитель – класс TTactSitDisplay, роль класса Очередь – класс TQueue. Класс TQueue хранит объекты класса TTactSitDisplay, выполняя роль буфера и возвращает классу-производителю. Применённый паттерн является удачным решением в сочетании с клиент-серверной архитектурой, т.к. отвечает распределению ролей, описанному в разделе 2. Не нашли, что искали? Воспользуйтесь поиском:
|