Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом MET 1_1.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
6.47 Mб
Скачать
      1. Модель развертывания

Модель развертывания – это объектная модель, которая описывает физическое размещение подсистем по вычислительным узлам системы. Примеры отображения модели развертывания с помощью диаграммы развертывания приведены на рисунках 4.14, 4.15

Рисунок 4.14 – Диаграмма развертывания

Рисунок 4.15 – Управляющие классы на диаграмме развертывания

Модель развертывания можно представить и в виде «свободного рисунка» (пример на рисунке 4.16).

Рисунок 4.16 – Структура системы

Для модели развертывания характерно следующее:

  • каждый узел представляет собой вычислительный ресурс (например, процессор);

  • узел имеет связи, представляющие собой каналы обмена информацией (например, Интернет);

  • модель развертывания описывает несколько различных конфигураций сети (включая конфигурацию для тестирования);

  • функциональность (процесс), выполняющаяся в узле, определяется подсистемой (компонентом), загруженной на узле;

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

Традиционная конфигурация ссистемы предполагает трехуровневую архитектуру:

  • уровень клиента (взаимодействие с пользователем);

  • уровень взаимодйствия с базой данных;

  • уровень прикладной функциональности (прикладная логика).

В современной практике проектирования для представления такой структуры используется шаблон Model-view-controller (MVC, «Модель-представление-поведение»). Данный шаблон – это архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты.

Шаблон MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента (рисунок 4.17):

  • Модель (Model). Модель предоставляет данные (обычно для View), а также реагирует на запросы (обычно от контролера ), изменяя свое состояние.

  • Представление (View). Отвечает за отображение информации (пользовательский интерфейс).

  • Поведение (Controller). Интерпретирует данные, введенные пользователем, и информирует модель и представление о необходимости соответствующей реакции.

Рисунок 4.17 – Диаграмма классов шаблона MVC

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

    1. Реализация

В данном разделе дипломного проекта обычно основное внимание уделяется вопросам кодирования и тестированная спроектированных программных компонент.

      1. Модель реализации

Модель реализации описывает, как реализуются в виде компонентов (исходных текстов, сценариев, двоичных файлов, таблиц, документов, исполняемых модулей) элементы модели проектирования.

В Унифицированном процессе разработки для отображения решений реализации чаще всего используются диаграммы компонентов. Обозначения компонентов и пример диаграммы приведены на рисунках 4. 18 и 4.19(a, b).

Рисунок 4.18 – Обозначение компонентов (UML)

a)

b)

Рисунок 4.19 – Диаграмма компонентов

Графические решения для отображения программных компонент могут использовать как «свободные рисунки» (рисунок 4.20), так и схемы ГОСТ 19.701-90 (приложение «Примеры схем ГОСТ 19.701-90»)

Рисунок 4.20 – Схема компонентов системы

В дипломном проекте модель реализации следует дополнить спецификацией классов или функциональной спецификацией.

Пример спецификации класса:

OPCHDAConnectorRuntime

Class Reference

Коннектор в режиме исполнения

Public Member Functions

  • OPCHDAConnectorRuntime (TaggedObjectPrimaryTreeNode node)

Конструктор.

  • void ChangeDesignModePhase (ProjectItemState state)

  • void SetErrorMessage (Exception e)

Установка сообщения об ошибке для системного тега.

  • IHistorySyncReader QueryHistorySyncReader (string tag, string attribute)

Возвращает интерфейс опроса истории источника данных.

Protected Member Functions

  • override void OnDesignModeChanging (ProjectItemState state)

Запуск/останов.

  • override void OnAttributeValueSetting (string tagName, string attributeName,

AttributeValue value)

Устанавливается значение атрибута.

Пример функциональной спецификации:

Модуль sendsms.pl:

Название: daemonize

Назначение: Перевод выполняемого модуля в режим демона.

Входные параметры: нет.

Выходные параметры: нет.

Название: connectDB

Назначение: Подключение к БД MySQL.

Входные параметры: адрес сервера баз данных, номер порта, имя пользователя, пароль.

Выходные параметры: указатель на объект БД.

Название: LOG

Назначение: Запись строки в LOG-файл.

Входные параметры: Строка для записи в LOG-файл.

Выходные параметры: нет.

Название: sendtextMsg

Назначение: отправка обычного текстового сообщения.

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

Выходные параметры: В случае успешной отправки сообщения – 0, в противном случае – 1.