Автор: Пользователь скрыл имя, 12 Февраля 2013 в 08:46, реферат
Браузер (browser) - используется для быстрой навигации по модели. C помощью браузера можно добавлять к модели элементы, просматривать существующие элементы модели и связи между ними, перемещать и переименовывать элементы модели, добавлять элементы модели к диаграмме, группировать элементы в пакеты, связывать элемент с файлом или адресом Интернета, работать с детализированной спецификацией элемента, открывать диаграмму. Браузер поддерживает четыре представления (view): представление вариантов использования, компонентов, размещения и логическое представление.
Вводятся глобальные пакеты:
Определяются проектные классы (design classes):
Примеры возможных подсистем:
Принятие решения о преобразовании класса в подсистему определяется опытом и знаниями архитектора проекта.
Соглашения по проектированию интерфейсов:
Вся эта информация объединяется в специальный пакет со стереотипом «subsystem», который содержит элементы, образующие подсистему, диаграммы последовательности и/или кооперативные диаграммы, описывающие взаимодействие элементов при реализации операций интерфейса, и другие диаграммы;
класс «subsystem proxy» непосредственно реализует интерфейс и управляет реализацией его операций;
все интерфейсы должны быть полностью определены в процессе проектирования архитектуры, поскольку они будут служить в качестве точек синхронизации при параллельной разработке.
Выделение архитектурных уровней:
Application Layer - содержит элементы прикладного уровня (пользовательский интерфейс);
Business Services Layer - содержит элементы, реализующие бизнес-логику приложений (наиболее устойчивая часть системы);
Middleware Layer - обеспечивает сервисы, не зависимые от платформы.
Пример выделения
Для того чтобы поместить класс в пакет, достаточно просто перетащить его в браузере на нужный пакет.
Данное представление отражает следующие решения, принятые архитектором:
Структура и диаграммы пакета (подсистемы) CourseCatalogSystem показаны на рис.(23 – 27).
Рис.15. Структура пакета CourseCatalogSystem
Рис.16. Зависимости между подсистемой и другими пакетами (диаграмма классов CourseCatalogSystem и Dependencies)
Рис.17. Классы, реализующие интерфейс подсистемы
(диаграмма классов ICourseCatalogSystem)
Рис.18. Диаграмма последовательности
Для того чтобы поместить зависимость между пакетами на диаграмму классов:
Нажмите кнопку Dependency панели инструментов.
Проведите линию зависимости от зависимого пакета к тому, от которого он зависит.
Класс DBCourseOffering отвечает за взаимодействие с БД каталога курсов (рис. 26, 27).
Моделирование распределенной конфигурации системы
Распределенная конфигурация системы моделируется с помощью диаграммы размещения. Ее основные элементы:
Распределение процессов по узлам сети производится с учетом следующих факторов:
Для того чтобы открыть диаграмму размещения, надо дважды щелкнуть мышью по представлению Deployment View (представлению размещения) в браузере.
Для того чтобы поместить на диаграмму процессор:
В спецификациях процессора можно ввести информацию о его стереотипе, характеристиках и планировании. Стереотипы применяются для классификации процессоров (например, компьютеров под управлением UNIX или ПК).
Характеристики процессора - это его физическое описание. Оно может, в частности, включать скорость процессора и объем памяти.
После планирования (scheduling) процессора содержит описание того, как осуществляется планирование его процессов:
Preemptive (с приоритетом). Высокоприоритетные процессы имеют преимущество перед низкоприоритетными.
Non preemptive (без приоритета). У процессоров не имеется приоритета. Текущий процесс выполняется до его завершения, после чего начинается следующий.
Cyclic (циклический). Управление передается между процессами по кругу. Каждому процессу дается определенное время на его выполнение, затем управление переходит к следующему процессу.
Executive (исполнительный). Существует некоторый вычислительный алгоритм, который и управляет планированием процессов.
4. Проектирование классов
Классы анализа преобразуются в проектные классы:
Обязанности классов, определенные в процессе анализа, преобразуются в операции. Каждой операции присваивается имя, характеризующее ее результат. Определяется полная сигнатура операции: operationName (parameter: class, ...): returnType. Создается краткое описание операции, включая смысл всех ее параметров. Определяется видимость операции: public, private, protected. Определяется область действия (scope) операции: экземпляр или классификатор.
Определяются (уточняются) атрибуты классов:
Пример определения операций и атрибутов.
Определение состояний для классов: моделируется с помощью диаграмм состояний.
Диаграммы состояний создаются для описания объектов с высоким уровнем динамического поведения.
В качестве примера рассмотрим поведение объекта класса CourseOffering. Он может находиться в открытом состоянии (возможно добавление данных о новом студенте) или в закрытом состоянии (максимальное количество студентов уже записалось на курс). Таким образом, конкретное состояние зависит от количества студентов, связанных с объектом CourseOffering. Рассматривая каждый вариант использования, можно выделить еще два состояния: инициализацию (до начала регистрации студентов на курс) и отмену (курс исключается из расписания).
Рис.20. Диаграмма состояний для класса CourseOffering
Список используемой литературы