- •Построение и обсуждение uml-диаграмм. Содержание
- •Часть 1. Построение модели поведения в rational rose 3
- •Часть 2. Конструирование классов. 9
- •Часть 3. Диаграммы взаимодействия. 20
- •Часть 1. Построение модели поведения в rational rose при помощи диаграмм действий (activity).
- •1 Диаграммы действий
- •1.1 Назначение диаграмм действий.
- •2 Инструменты диаграммы activity
- •3 Создание диаграмм действий.
- •3.1 Действия
- •3.2 Переходы
- •3.3 Точки принятия решений (элементы выбора)
- •3.4 Линии синхронизации
- •3.5 Секции (зоны)
- •3.6 Начальное и конечное состояния (исходное и завершающеедействия).
- •Контрольные вопросы
- •Часть 2. Конструирование классов.
- •1 Создание классов.
- •1.1 Стереотипы и классы
- •1.2 Определение классов
- •Классы-сущности
- •Граничные классы
- •Управляющие классы
- •1.3 Документирование классов
- •2 Создание пакетов.
- •3 Объекты и классы в системе регистрации курсов
- •4 Диаграммы классов
- •4.1 Панель инструментов.
- •4.2 Контекстное меню класса
- •4.3 Спецификации класса
- •Вкладка сом
- •Контрольные вопросы.
- •Часть 3. Диаграммы взаимодействия.
- •1 Реализации вариантов использования
- •2 Создание реализации Вариантов использования.
- •3 Документирование сценариев
- •4 Диаграммы последовательностей действий
- •4.1 Строка инструментов диаграммы
- •4.2 Настройка времени жизни объекта
- •4.3 Создание диаграммы последовательности действий
- •4.4 Свойства сообщений
- •5 Диаграммы сотрудничества
- •6 Диаграмма последовательности действий для системы регистрации курсов
- •Контрольные вопросы
- •Часть 4. Отношения между классами. Определение отношений.
- •1 Ассоциативные отношения
- •2 Агрегационные отношения
- •2.1 Именование отношений
- •2.2 Мощность отношений
- •3 Возвратные отношения
- •Отношения в системе регистрации учебных курсов
- •4 Отношения между пакетами
- •Отношения между пакетами в системе регистрации учебных курсов
- •Контрольные вопросы:
- •Часть 5. Представление поведения и структуры классов.
- •1. Поведение и структура класса.
- •2. Создание операций
- •Документирование операций
- •Отношения и сигнатуры операций
- •Создание атрибутов
- •Документирование атрибутов
- •Отображение атрибутов и операций
- •Ассоциативные классы
- •Часть 6. Понятие наследования.
- •1 Обобщение
- •2 Специализация
- •3 Иерархии наследования.
- •5 Единичное и множественное наследование
- •6 Наследование и агрегация
- •Часть 7. Диаграмма состояний.
- •1 Диаграмма состояний
- •2 Состояния
- •3 Переходы между состояниями
- •4 Особые состояния
- •5 Параметры переходов
- •6 Параметры состояний
- •Часть 8. Проектирование архитектуры системы.
- •1 Пять уровней архитектуры
- •2 Логический уровень
- •2.1 Ключевые механизмы для задачи регистрации учебных курсов
- •3 Уровень реализации
- •3.1 Программные компоненты
- •3.2 Программные компоненты в задаче регистрации учебных курсов
- •4 Уровень выполнения.
- •5 Уровень промышленного внедрения
- •5.1 Диаграмма размещения для системы регистрации учебных курсов
- •6 Уровень вариантов использования
3.1 Программные компоненты
В представлении компонентов модели компоненты исходного кода - это программные файлы, содержащиеся внутри пакетов. Тип файлов зависит от языка программирования (например, в C++ - файлы .h и .срр, в Java - .java, в PowerBuilder - .pbl). Каждый компонент связан с каким-либо языком.
Классы в логическом представлении отображаются на компоненты в представлении компонентов. Для C++ одному классу соответствует один компонент. Однако иногда на один компонент может быть отображено больше одного класса. Это обычно происходит в том случае, когда между классами существует очень тесная связь. Например, контейнер и его итератор содержатся в одном .h- и одном .срр-файле. Значит, класс-контейнер и класс-итератор будут отображаться на один компонент.
3.2 Программные компоненты в задаче регистрации учебных курсов
Это относительно простая система, вот почему уместно обеспечить однозначное отображение классов в компоненты, т.е каждому классу соответствует пара собственных. .h- и .cpp-файлов.
Для создания компонентов в программе Rational Rose:
Откройте диаграмму компонентов.
Щелкните по кнопке Component (Компонент) на панели инструментов.
Щелкните по диаграмме, чтобы поместить на нее компонент. Новый компонент также будет добавлен в список браузера.
Введите имя нового компонента.
Простая диаграмма компонентов показана на рис. 8.5.
Рис.8.5
Отображение классов на компоненты в программе Rational Rose предусматривает выполнение следующих действий:
Щелкните правой кнопкой мыши по компоненту в списке браузера.
В появившемся контекстно-зависимом меню выберите команду Open Specification (Открыть параметры).
Щелкните по вкладке Realize (Реализация).
Щелкните правой кнопкой мыши по нужному классу в списке классов.
В появившемся контекстно-зависимом меню выберите команду Assign (Присвоить).
Щелкните по кнопке ОК, чтобы закрыть диалоговое окно настройки параметров компонента.
Класс можно присвоить компоненту путем перетаскивания класса из окна браузера на изображение компонента в браузере или на диаграмме компонентов.
4 Уровень выполнения.
Представление процессов (process view) отражает структуру программной реализации системы. Представление процессов учитывает такие потребности, как производительность, надежность, масштабируемость, целостность, управление системой и синхронизация. Компоненты также используются в этом представлении архитектуры. Для представления библиотечных (run-time) и исполняемых (executable) компонентов системы создается диаграмма компонентов. Компоненты связаны отношением зависимости.
Библиотечные компоненты устанавливают соответствие между классом и определенным файлом Java, компонента Active-X или динамической библиотеки формата DLL.
Исполняемые компоненты показывают интерфейсы и зависимости уровня вызовов между отдельными исполняемыми модулями. Для демонстрации типа компонента может быть использован стереотип.
В программе Rational Rose информация для представления процессов создается в виде диаграмм в представлении компонентов, содержащих либо программные, либо исполняемые компоненты. Диаграммы нужны для того, чтобы показать зависимости между компонентами различного типа в системе.
В системе регистрации учебных курсов созданы две динамические библиотеки (DLL) - для обработки информации о предметах и учебных курсах и для работы с базой данных. Такой подход был выбран исходя из возможных изменений в структуре курсов и в стратегии взаимодействия с базой данных.
В системе создаются три исполняемых модуля - один для сотрудника деканата (регистратора), чтобы осуществлять ввод данных и управление информацией в системе; второй обеспечивает доступ к системе для студента и третий ориентирован на применение для преподавателя с целью получения доступа и использования системы. Между исполняемыми модулями нет никакого взаимодействия. Диаграмма компонентов для исполняемого модуля преподавателя Преподаватель.exe (ProfessorOptions.exe) показана на рис. 8.6.
Рис.8.6