Project

General

Profile

Технический дизайн проекта "!CapsClock"

Версия 3.2

10 октября 2009

Введение
h3. Описание разрабатываемого проекта

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

Архитектура системы

Детальное описание архитектуры приведено в SAD.

Декомпозиция системы

Приведена на диаграмме.
Все подсистемы можно условно разделить на 3 группы:
1.Общего использования
2.Специфичные для клиентской части (часовой машины)
3.Специфичные для серверной части (SCS)

Структура и связи

Представлены на диаграмме

Пользовательский интерфейс

GUI интерфейс имеет только модуль "Часовая машина". Представляет собой окно, в котором расположен набор контролов, указанный в конфигурации. Контролы управляются только CCP командами и не имеют возможностей интеракции с пользователем.

Детальное описание компонент
h3. Компоненты общего использования
h4. Протоколирование

Предназначен для ведения протокола действий, выполненных системой.

Назначение

Предназначен для ведения протокола действий системы.

Функции

Компонент записывает информацию (протокол) в текстовом формате в файл, создаваемый рядом с исполняемым модулем системы.

В протокол помещается информация о действиях и событиях, возникших при выполнении:
1.Ошибки;
2.Исключения (в т.ч. штатные);
3.Точки трассировки и отладки.

Зависимости

Данный компонент используется большинством других компонентов.
Создается на старте приложения.

Интерфейсы

API и реализация представлены на диаграммах.

Сетевой агент TCP
h5. Назначение

Отправка и получение сетевых пакетов на низком уровне сетевого протокола (TCP/IP)

Функции

1.Отправка пакетов данных указанному адресату
2.Получение пакетов данных от других адресатов

Зависимости

Используется компонентами: "Сетевой агентCCP", "Сетевой агентENM".
Использует компонент: "Протоколирование".

Интерфейсы

API и реализация представлены на диаграммах.

Сетевой агент CCP
h5. Назначение

Отправка и получение сетевых пакетов по протоколу CCP.

Функции

1.Отправка CCP запросов
2.Получение CCP ответов

Зависимости

Использует компоненты: "Сетевой агент TCP", "Протоколирование".
Используется компонентами: "Сервис CCS", "Сервис SCS", "Сетевой локатор", "Обработка сигналов".

Интерфейсы

На диаграммах представлены:

- API и реализация базовых классов

- API и реализация сетевых классов

- API и реализация рапперов

Ресурсы

Для работы с форматом XML использует библиотеку XStream.

Данные

Форматы данных протокола CCP приведены в прилагаемых документах.

Сетевой локатор
h5. Назначение

Предназначен для поддержки актуальной карты сети.

Функции

1.Уведомление других узлов сети о начале работы данного узла.
2.Уведомление других узлов сети об окончании работы данного узла.
3.Проверка текущего состояния других узлов сети.
4.Ведение текущей сетевой карты.

Зависимости

Использует компоненты: "Сетевой агент CCP", "Протоколирование".
Используется компонентами: "CCP процессоры ЧМ", "CCP процессоры SCS".

Интерфейсы

API и реализация представлены на диаграммах.

Конфигурация
h5. Назначение

Поддержка работы с конфигурационными файлами системы

Функции

1.Загрузка файла сетевой конфигурации.
2.Загрузка файла конфигурации CDS.
3.Изменение файла конфигурации CDS по команде CCP.
4.Загрузка файла конфигурации обработки сигналов.

Зависимости

Использует компоненты: "Протоколирование".
Используется компонентами: "Сервис CCS", "Сервис SCS".

Интерфейсы

На диаграммах представлены :

- API и реализация конфигуратора

- реализация хранения

- реализация конвертера

Ресурсы

Для работы с форматом XML использует библиотеку XStream.

Данные

Форматы файлов конфигурации приведены в прилагаемых документах.

Компоненты часовой машины

Раздел содержит компоненты, спецефичные для часовой машины.

Контролы ЧМ
h5. Назначение

Обеспечивает набор специализированных типов контролов для размещения в UI часовой машины.

Функции

Реализация контролов в виде UI компонентов.

Зависимости

Использует компоненты: "Протоколирование".
Используется компонентами: "Интеракторы ЧМ".

Интерфейсы

На диаграммах представлены :

- API и реализация шаблонов

- API и реализация контролов

- реализация базовых классов

Интеракторы ЧМ
h5. Назначение

Управление и взаимодействие с контролами в часовой машине

Функции

1.Создание экземпляров контролов
2.Получение параметров контролов
3.Установка параметров контролов

Зависимости

Использует компоненты: "Протоколирование", "Контролы ЧМ", "GUI ЧМ".
Используется компонентами: "Сервис CCS", "CCP процессоры ЧМ".

Интерфейсы

API и реализация представлены на диаграммах.

CCP процессоры ЧМ
h5. Назначение

Обработка CCP команд, полученных часовой машиной.

Функции

1.Обработка CCP команд.
2.Управление часовой машиной на основании полученных команд.

Зависимости

Использует компоненты: "Протоколирование", "Интеракторы ЧМ", "Сетевой агент CCP", "Сетевой локатор".
Используется компонентами: "Сервис CCS".

Интерфейсы

API и реализация представлены на диаграммах.

GUI ЧМ
h5. Назначение

Представляет GUI часовой машины

Функции

1.Стартовая инициализация.
2.Запуск сервиса CCS.
3.Отображение главного окна ЧМ.

Зависимости

Использует компоненты: "Протоколирование".
Используется компонентами: "Сервис CCS", "Интеракторы ЧМ".

Интерфейсы

API и реализация представлены на диаграммах.

Сервис CCS
h5. Назначение

Запуск, остановка и поддержание работы часовой машины

Функции

1.Запуск ЧМ
2.Остановка ЧМ
3.Прием CCP команд
4.Прием уведомлений об изменении состояния сети

Зависимости

Использует компоненты: "Протоколирование", "Конфигурация", "CCP процессоры ЧМ", "Интеракторы ЧМ", "GUI ЧМ", "Сетевой агент CCP", "Сетевой локатор".

Интерфейсы

API и реализация представлены на диаграммах.

Компоненты серверной части
h4. Сервис SCS
h5. Назначение

Запуск, остановка и поддержание работы серверной части.

Функции

1.Запуск серверной части
2.Остановка серверной части
3.Прием CCP команд
4.Прием уведомлений о сигналах TP-312

Зависимости

Использует компоненты: "Протоколирование", "Конфигурация", "CCP процессоры SCS", "Сетевой агент CCP", "Сетевой локатор".

Интерфейсы

API и реализация представлены на диаграммах.

CCP процессоры SCS
h5. Назначение

Обработка CCP команд, полученных серверной частью.

Функции

1.Обработка полученных CCP команд.

Зависимости

Использует компоненты: "Протоколирование".
Используется компонентами: "Сервис SCS".

Интерфейсы

API и реализация представлены на диаграммах.

Обработка сигналов HW
h5. Назначение

Обработка сигналов, полученных от TP-312

Функции

1.Получение сигналов TP-312.
2.Трансляция сигналов в вызовы макросов.
3.Вызов макросов, порожденных сигналами.

Зависимости

Использует компоненты: "Протоколирование", "Макропроцессор".

Интерфейсы

API и реализация представлены на диаграммах.

Обработка внешних сетевых сообщений (ENM)
h5. Назначение

Обработка сетевых сообщений, полученных от внешних программ.

Функции

1.Обработка ENM сообщений, принятых сетевым агентом ENM.
2.Трансляция сообщений в вызовы макросов.
3.Вызов макросов, порожденных сообщениями

Зависимости

Использует компоненты: "Протоколирование", "Макропроцессор", "Сетевой агентENM".

Интерфейсы

API и реализация представлены на диаграммах.

Сетевой агент ENM
h5. Назначение

Получение внешних сетевых сообщений по протоколу ENM.

Функции

1.Получение ENM сообщений.

2.Передача сообщений в обработчик ENM сообщений

Зависимости

Использует компоненты: "Сетевой агент TCP", "Протоколирование".
Используется компонентами: "Обработка внешних сетевых сообщений".

Интерфейсы

API и реализация представлены на диаграммах.

Макропроцессор
h5. Назначение

Выполнение макросов на серверной части.

Функции

1.Запрос кода макросов из макрореестра.

2.Обработка и подстановка параметров в макросы.

3.Выполнение макросов (включая отправкуCCPкоманд, вызов внешних приложений, чтение данных из внешних файлов).

Зависимости

Использует компоненты: "СервисSCS", "Протоколирование", "Макрореестр".
Используется компонентами: "Обработка внешних сетевых сообщений", "Обработка сигналовHW".

Интерфейсы

На диаграммах приведены:

- API и реализация макрокоманд

- API и реализация макропроцессора

Макрореестр
h5. Назначение

Единый реестр макросов, содержащий их декларации и описание (код).

Функции

1.Загрузка макрореестра из конфигурационных файлов.

2.Возврат полного описания макроса по его идентификатору (имени).

Зависимости

Использует компоненты: "Протоколирование".
Используется компонентами: "Макропроцессор".

Интерфейсы

API и реализация представлены на диаграммах.

Add picture from clipboard (Maximum size: 742 MB)