- •1. Унифицированный язык моделирования uml 5
- •2. Использование case-средства rational rose для проектирования информационных систем 7
- •4.1. Представление Вариантов Использования 110
- •1. Унифицированный язык моделирования uml
- •2. Использование case-средства rational rose для проектирования информационных систем
- •2.1. Описание case-средства Rational Rose
- •2.2. Общие принципы работы в среде Rational Rose
- •2.3. Представления Rational Rose
- •2.3.1. Представление Вариантов использования
- •2.3.2. Логическое представление
- •2.3.3. Представление Компонентов
- •2.3.4. Представление Размещения
- •2.4. Диаграммы представления вариантов использования
- •2.4.1. Диаграммы Вариантов Использования
- •2.4.1.1. Работа с вариантами использования
- •2.4.1.2. Документирование потока событий
- •2.4.1.3. Работа с действующими лицами
- •2.4.1.4. Работа со связями
- •Р ис.4. Связь использования
- •Р ис.5. Связь расширения
- •2.4.1.5. Работа с пакетами
- •2.4.1.6. Работа с примечаниями
- •2.4.2. Диаграммы Взаимодействия
- •2.4.2.1. Идентификация объектов
- •2.4.2.2. Использование диаграмм Взаимодействия
- •2.4.2.3. Диаграммы Последовательности
- •2.4.2.4. Кооперативные диаграммы
- •2.4.2.5. Работа с действующими лицами на диаграмме Взаимодействия
- •2.4.2.6. Работа с объектами
- •2.4.2.6.1. Спецификации объекта
- •2.4.2.6.2. Именование объекта
- •2.4.2.6.3. Соотнесение объекта с классом
- •2.4.2.6.4. Определение устойчивости объекта
- •2.4.2.7. Работа с сообщениями
- •2.4.2.7.1. Работа с сообщениями на диаграмме Последовательности
- •2.4.2.7.2. Работа с сообщениями на Кооперативной диаграмме
- •2.4.2.7.2.1. Добавление потоков данных к Кооперативной диаграмме
- •2.4.2.7.3. Спецификации сообщений
- •2.4.2.7.3.1. Соотнесение сообщения с операцией
- •2.4.2.8. Работа с примечаниями и скриптами
- •2.4.3. Диаграммы деятельности.
- •Р ис. 9. Пример применения условия
- •2.4.3.1. Состояние действия
- •2.4.3.2. Переходы
- •2.4.3.3. Дорожки
- •2.4.3.4. Рекомендации по построению диаграмм деятельности
- •2.5. Диаграммы Логического представления
- •2.5.1. Диаграммы Классов
- •2.5.1.1. Выявление классов
- •2.5.1.2. Создание диаграмм Классов
- •2.5.1.3. Работа с классами
- •2.5.1.3.1. Спецификации классов
- •2.5.1.3.2. Именование классов
- •2.5.1.3.3. Назначение стереотипа для класса
- •Р ис.15. Место нахождения пограничного класса “Форма ввода поручения”
- •2.5.1.3.4. Задание видимости класса
- •2.5.1.3.5. Задание множественности класса
- •2.5.1.3.6. Задание устойчивости класса
- •2.5.1.3.7. Создание абстрактного класса
- •2.5.1.4. Работа с пакетами
- •2.5.1.5. Работа с атрибутами
- •2.5.1.5.1. Добавление и удаление атрибутов
- •2.5.1.6. Спецификации атрибута
- •2.5.1.6.1. Задание типа данных атрибута
- •2.5.1.6.2. Назначение стереотипа для атрибута
- •2.5.1.6.3. Задание видимости атрибута
- •2.5.1.6.4. Задание метода локализации атрибута
- •2.5.1.6.5. Определение статичного атрибута
- •2.5.1.6.6. Определение производного атрибута
- •2.5.1.7. Работа с операциями
- •2.5.1.7.1. Выявление операций
- •2) Операции управления (manager operations) управляют созданием и разрушением объектов. В эту категорию попадают конструкторы и деструкторы классов.
- •2.5.1.7.2. Добавление операций
- •2.5.1.8. Спецификации операции
- •2.5.1.8.1. Задание возвращаемого класса операции
- •2.5.1.8.2. Назначение стереотипа для операции
- •2.5.1.8.3. Задание видимости операций
- •2.5.1.8.4. Добавление аргументов к операции
- •2.5.1.9. Соотнесение операций с сообщениями
- •2.5.1.10. Связи
- •2.5.1.10.1. Ассоциации
- •2.5.1.10.2. Зависимости
- •2.5.1.10.2.1. Зависимости между пакетами
- •2.5.1.10.3. Агрегации
- •2.5.1.10.4. Обобщения
- •Р ис. 25. Связь обобщения
- •2.5.1.10.4.1. Создание обобщений
- •2.5.1.10.5. Выявление связей
- •2.5.1.10.6. Задание множественности
- •2.5.1.10.7. Использование имен связей
- •2.5.1.10.7.1. Использование ролей
- •2.5.1.10.8. Использование статичных связей
- •2.5.1.10.9. Использование дружественных связей
- •2.5.1.10.10. Задание метода включения
- •2.5.1.10.11. Элемент связи
- •2.5.2. Диаграммы Состояний
- •2.5.2.1. Создание диаграмм Состояний
- •2.5.2.1.1. Добавление состояний
- •2.5.2.1.2. Добавление переходов
- •2.5.2.2. Задание специальных состояний
- •2.5.2.2.1. Использование вложенных состояний
- •2.6. Диаграммы Представления Компонентов
- •2.6.1. Представление Компонентов
- •2.6.2.Типы компонентов
- •2.6.3. Диаграмма Компонентов
- •2.6.3.1. Добавление компонентов
- •2.6.3.2. Определение деталей компонентов
- •2.6.3.3. Добавление зависимостей между компонентами
- •2.7. Диаграммы Представления Размещений
- •2.7.1. Узел
- •Информацией в форме помеченного значения
- •С размещёнными на них компонентами
- •2.7.2. Соединения
- •2.7.3. Рекомендации по построению диаграммы Размещения
- •2.8. Дополнительные возможности Rational Rose
- •2.8.1. Генерация программного кода
- •2.8.1.1. Подготовка к генерации программного кода
- •6) Генерация программного кода.
- •2.8.1.2. Этап первый: проверка модели
- •2.8.1.2.1. Нарушения правил доступа
- •2.8.1.3. Этап второй: создание компонентов
- •2.8.1.4. Этап третий: отображение классов на компоненты
- •2.8.1.5. Этап четвертый: установка свойств генерации программного кода
- •2.8.1.6. Этап пятый: выбор класса, компонента или пакета
- •2.8.1.7. Этап шестой: генерация программного кода
- •2.8.1.8. Результаты генерации
- •2.8.1.8.1. Компоненты
- •2.8.2. Обратное проектирование
- •2.8.3. Проектирование бд с использованием Rational Rose
- •2.8.3.1. Использование стереотипов для представления схем бд
- •Р ис.39. Вид схемы в браузере Rational Rose (Data Modeler) р ис.40. Пакет со стереотипом «Schema» (Data Modeler)
- •Р ис.43. Отображение доменов в браузере Rational Rose
- •2.8.3.2. Прямая и обратная генерация схем бд
- •2.8.3.2.1. Формирование схем на основе диаграмм классов
- •Р ис.53. Преобразование связей-ассоциаций 1:1 и 1:n
- •Р ис.56. Преобразование связи-композиции
- •2.8.3.2.2. Отображение существующих бд в диаграммы Rational Rose
- •В окне браузера (слева) и на диаграмме компонентов (справа)
- •Р ис.62. Объектный просмотр, зависящий от объектного типа и реляционных таблиц
- •Пример проектирования информационной системы «стол заказов»
- •4.1. Представление Вариантов Использования
- •4.1.1. Диаграмма Вариантов Использования
- •4.1.2. Диаграммы Взаимодействия
- •4.1.2.1. Диаграммы Последовательности
- •4.1.2.2. Кооперативные диаграммы
- •4.2. Логическое представление
- •4.2.1. Диаграммы Классов
- •4.2.1.1. Выявление классов
- •4.2.1.2. Определение атрибутов и операций классов
- •4.2.1.3. Объединение классов в пакеты
- •Р ис.71. Диаграмма классов
- •Р ис.72. Пакет «Аутентификация»
- •4.2.2. Диаграммы Состояний
- •4.2.3. Диаграммы Деятельности
- •4.3. Представление Компонентов
- •4.4. Представление Размещения
- •Р ис.77 Диаграмма Размещения список литературы
- •Приложение а. «базовые сценарии вариантов использования»
- •Приложение б. «диаграммы последовательности»
- •2. «Изменить ассортимент»
- •3. «Изменить состояние заказа»
- •4. «Аутентификация»
- •5. «Просмотреть ассортимент»
- •6. «Управление заказом»
- •7. «Найти заказ»
- •8. «Копировать заказ»
- •9. «Учёт товаров на складе»
- •Приложение в. «пакеты»
- •1. «Работа с пользователями»
- •2. «Работа с заказами»
- •3. «Работа с товарами»
2.8.3.2.2. Отображение существующих бд в диаграммы Rational Rose
Процесс обратного проектирования БД в Rational Rose заключается в переходе от физической реализации БД к схемной модели, из которой в свою очередь можно осуществить переход к каноническим диаграммам классов. Для обеспечения автоматизации данных переходов Rational Rose предоставляет утилиты Rational Data Modeler и Rational Oracle8. Rational Data Modeler позволяет получать схемы БД и строить для них диаграммы классов. Rational Oracle8 дает возможности для работы с объектно-реляционными схемами Oracle, позволяя анализировать существующие БД (строить для них схемы, проверять синтаксис, формировать отчеты об объектах схемы) и генерировать SQL скрипт для внесения изменений в БД.
Использование Rational Data Modeler
С помощью команды «Data Modeler–>Reverse Engineer» на основе выбранного текстового файла с SQL скриптом, описывающим структуру БД, или подключения к серверу БД, автоматически строится реляционная схема БД. При этом на ней отображаются:
- обязательно: таблицы и связанные с ними ограничениями;
- по выбору: просмотры, триггеры, хранимые процедуры, индексы.
Комментарии, определенные в БД, также отображаются на схеме в качестве документации к объектам.
Для полученной схемы на диаграмме компонентов автоматически определяются компонент БД, и, случае наличия в исходном скрипте или БД описания табличных пространств, компоненты табличных пространств.
При построении схемы происходит синтаксический анализ исходного кода, с указанием, при наличии ошибок, номеров строк, в которых они присутствуют.
Путем автоматического анализа ограничений, касающихся ссылочной целостности (обязательность присутствия значения для ВК (внешнего ключа), вхождение ВК в состав ПК (первичного ключа) и т. д.), строятся идентифицирующие и не идентифицирующие связи между таблицами, определяется класс принадлежности к связи и степень связи для связных таблиц.
Полученная схема может быть преобразована в диаграмму классов. Автоматическое преобразование выполняется с помощью команды «Data Modeler–>Transform to Object Model», примененной к пакету-схеме. При генерации диаграммы классов можно определить будут ли при преобразовании рассматриваться табличные атрибуты, соответствующие в схеме первичным ключам. Соответствие между элементами схемы и элементами диаграммы классов, в которые они отображаются, приведено в таблице 5.
Таблица 5 – Соответствие элементов диаграмм классов элементам исходных схем
Элемент схемы |
Элемент диаграммы классов |
Описание преобразования |
степень связи |
множествен-ность (multiplicity) |
Степень связи таблицы принимается в качестве множественности класса. |
атрибут таблицы |
атрибут класса |
- Каждый атрибут таблицы преобразовывается в атрибут класса с сохранением имени. - Тип преобразовывается исходя из соответствия, определенного для исходной СУБД. Значение по умолчанию преобразуется в значения для инициализации, вычислимые атрибуты таблиц и атрибуты внешних ключей не рассматриваются. |
ограничения |
– |
Не рассматриваются. |
домены |
– |
Не преобразуются, используются в качестве типов для атрибутов классов. |
индексы |
– |
Не рассматриваются. |
идентифици-рующая связь |
связь-композиция |
Все идентифицирующие связи преобразуются в связи-композиции. |
таблица-пересечение (intersection table) |
класс-ассоциация, связь-ассоциация N:N, класс |
- Если таблица-пересечение, дополнительно содержит атрибуты не являющиеся первичными или внешними ключами, то создается класс-ассоциация, связанный со связью-ассоциацией N:N. - Если таблица-пересечение, содержит только атрибуты составного первичного ключа, являющиеся внешними ключами, то создается связь-ассоциация N:N. - Если таблица-пересечение, содержит дополнительный первичный ключ, то создается класс, раскрывающий связь-ассоциацию N:N. |
не идентифицирующая связь |
связь-ассоциация |
Все не идентифицирующие связи преобразуются в связи-ассоциации. |
схема |
пакет |
Все схемы преобразуются в пакеты с идентичными именами. |
хранимые процедуры |
– |
Не рассматриваются. |
триггеры |
– |
Не рассматриваются. |
таблица |
класс |
Все таблицы преобразуются в постоянные (persistent) классы с идентичными именами. |
Использование Rational Oracle8
Rational Oracle8 позволяет анализировать схемы существующих БД. Использую команду «Oracle8–>Analyze Schema» и осуществив соединение с сервером БД Oracle, Rational Oracle8 автоматически построит диаграмму классов, для выбранной схемы. При этом на диаграмме компонентов создаться компонент-схема с именем схемы БД, выбранной для анализа. В ней будут реализованы все сгенерированные в процессе автоматического анализа объекты. Rational Oracle8 позволяет генерировать: объектные типы, реляционные таблицы, объектные таблицы, встраиваемые таблицы, реляционные просмотры, объектные просмотры и коллекции. Комментарии к объектам, созданные в БД, отображаются комментариями к соответствующим объектам диаграммы классов.
Команда «Oracle8–>Import Oracle8 Data Types» автоматически генерирует скалярные типы, используемые в СУБД Oracle8, в виде классов сгруппированных в пакете Scalar Types (Рисунок 59). Сам пакет реализуется компонентом Oracle8 Scalar, создающимся автоматически и имеющим стереотип «Subprogram Specification». Сгенерированные скалярные типы можно использовать при описании произвольных объектов модели, в случае использования этих типов в схеме БД, связь между схемой и компонентом-контейнером скалярных типов можно отразить при помощи связи-зависимости (см. рис.60).
Рис.59. Классы скалярных типов Oracle8 в окне браузера
Рис.60. Компонент-схема и компонент-контейнер скалярных типов