Application Layer - содержит элементы прикладного уровня (пользовательский интерфейс);
Business Services Layer - содержит элементы, реализующие бизнес-логику приложений (наиболее устойчивая часть системы);
Middleware Layer - обеспечивает сервисы, не зависимые от платформы.
Пример выделения архитектурных уровней и объединения элементов модели в пакеты для системы регистрации приведен на рис.22
Рис.22. Структура логического представления модели на шаге проектирования
Для того чтобы поместить класс в пакет, достаточно просто перетащить его в браузере на нужный пакет.
Данное представление отражает следующие решения, принятые архитектором:
выделены три архитектурных уровня (созданы три пакета со стереотипом «layer»);
в пакете Application создан пакет Registration, куда включены граничные и управляющие классы;
граничный класс CourseCatalogSystem преобразован в подсистему (пакет CourseCatalogSystem со стереотипом «subsystem»);
в пакет Business Services, помимо подсистемы CourseCatalogSystem, включены еще два пакета: пакет External System Interfaces включает интерфейс с подсистемой CourseCatalogSystem (класс ICourseCatalogSystem со стереотипом «Interface»), а пакет University Artifacts - все классы - сущности.
Структура и диаграммы пакета (подсистемы) CourseCatalogSystem показаны на рис.(23 – 27).
Рис.23. Структура пакета CourseCatalogSystem
Р ис.24. Зависимости между подсистемой и другими пакетами (диаграмма классов CourseCatalogSystem и Dependencies)
Рис.25. Классы, реализующие интерфейс подсистемы
(диаграмма классов ICourseCatalogSystem)
Рис.26. Диаграмма последовательности
ICourseCatalogSystem::getCourseOfferings, описывающая взаимодействие элементов при реализации операции интерфейса getCourseOfferings
Рис.27. Диаграмма последовательности
ICourseCatalogSystem::initialize, описывающая взаимодействие
элементов при реализации операции интерфейса initialize
Для того чтобы поместить зависимость между пакетами на диаграмму классов:
Нажмите кнопку Dependency панели инструментов.
Проведите линию зависимости от зависимого пакета к тому, от которого он зависит.
Класс DBCourseOffering отвечает за взаимодействие с БД каталога курсов (рис. 26, 27).
Моделирование распределенной конфигурации системы
Распределенная конфигурация системы моделируется с помощью диаграммы размещения. Ее основные элементы:
узел (node) - вычислительный ресурс (процессор или другое устройство, дисковая память, контроллеры различных устройств и т.д.). Для узла можно задать выполняющиеся на нем процессы;
соединение (connection) - канал взаимодействия узлов (сеть).
Пример: сетевая конфигурация системы регистрации (без процессов) (рис. 28).
Рис.28. Сетевая конфигурация системы регистрации
Распределение процессов по узлам сети производится с учетом следующих факторов:
используемые образцы распределения (трехзвенная клиент-серверная конфигурация, «толстый» клиент, «тонкий» клиент, равноправные узлы (peer-to-peer) и т.д.);
время отклика;
минимизация сетевого графика;
мощность узла;
надежность оборудования и коммуникаций.
Пример: распределение процессов по узлам (рис.29).
Рис.29. Сетевая конфигурация системы регистрации с распределением процессов по узлам
Упражнение 11. Создание диаграммы размещения системы регистрации
Для того чтобы открыть диаграмму размещения, надо дважды щелкнуть мышью по представлению Deployment View (представлению размещения) в браузере.
Для того чтобы поместить на диаграмму процессор:
На панели инструментов диаграммы нажмите кнопку Processor.
Щелкните по диаграмме размещения в том месте, куда хотите поместить процессор.
Введите имя процессора.
В спецификациях процессора можно ввести информацию о его стереотипе, характеристиках и планировании. Стереотипы применяются для классификации процессоров (например, компьютеров под управлением UNIX или ПК).
Характеристики процессора - это его физическое описание. Оно может, в частности, включать скорость процессора и объем памяти.
После планирования (scheduling) процессора содержит описание того, как осуществляется планирование его процессов:
Preemptive (с приоритетом). Высокоприоритетные процессы имеют преимущество перед низкоприоритетными.
Non preemptive (без приоритета). У процессоров не имеется приоритета. Текущий процесс выполняется до его завершения, после чего начинается следующий.
Cyclic (циклический). Управление передается между процессами по кругу. Каждому процессу дается определенное время на его выполнение, затем управление переходит к следующему процессу.
Executive (исполнительный). Существует некоторый вычислительный алгоритм, который и управляет планированием процессов.
Manual (вручную). Процессы планируются пользователем.
Для того чтобы назначить процессору стереотип:
Откройте окно спецификации процессора.
Перейдите на вкладку General.
Введите стереотип в поле Stereotype.
Для введения характеристик и планирования процессора:
Откройте окно спецификации процессора.
Перейдите на вкладку Detail.
Введите характеристики в поле характеристик.
Укажите один из типов планирования.
Для того чтобы показать планирование на диаграмме:
Щелкните правой кнопкой мыши по процессору.
Выберите пункт Show Scheduling в открывшемся меню.
Для того чтобы добавить связь на диаграмму:
На панели инструментов нажмите кнопку Connection.
Щелкните по узлу диаграммы.
Проведите линию связи к другому узлу.
Для того чтобы назначить связи стереотипа:
Откройте окно спецификации связи.
Перейдите на вкладку General.
Введите стереотип в поле Stereotype (Стереотип).
Для того чтобы добавить процесс:
Щелкните правой кнопкой мыши по процессору в браузере.
Выберите пункт New > Process в открывшемся меню.
Введите имя нового процесса.
Для того чтобы показать процессы на диаграмме:
Щелкните правой кнопкой мыши по процессору.
Выберите пункт Show Processes в открывшемся меню.
Достарыңызбен бөлісу: |