- •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. «Работа с товарами»
Р ис.39. Вид схемы в браузере Rational Rose (Data Modeler) р ис.40. Пакет со стереотипом «Schema» (Data Modeler)
Рис.41. Вид схемы в браузере Rational Rose (Oracle8)
Рис.42. Компонент со стереотипом «Schema» (Oracle8)
Домены
Описание прототипов для сходных атрибутов таблиц помещается в домены (Рисунки 43 и 44). В дальнейшем, при описании таблиц, указав для атрибута домен, автоматически осуществляется определение типа, индекса, ограничений.
Р ис.43. Отображение доменов в браузере Rational Rose
Рис.44. Отображение доменов на диаграмме классов
Таблица, просмотр, хранимые процедуры
Н а рисунке 45 показан пример диаграммы классов (Data Model Diagram), содержащий таблицы: EMP, DEPT; просмотр: V_0; хранимые процедуры: SP_0.
Рис.45. Пример диаграммы реляционной схемы БД
Объектный тип, реляционная таблица, объектная таблица, встраиваемая таблица, реляционный просмотр, объектный просмотр, коллекция
На рисунке 46 показан пример диаграммы классов (Oracle 8), содержащий:
- OT1 – объектный тип;
- V1 – коллекцию объектов (максимум 30) типа ОТ1;
- OTBL1 – объектную таблицу, содержащую объекты типа ОТ1;
- NT1 – встраиваемую таблицу, содержащую объекты типа ОТ1, являющуюся типом атрибута T1 таблицы RT4;
- OV1 – объектный просмотр, типа ОТ1, содержащий объекты, значения атрибутов которых инициализируются значениями атрибутов реляционной таблицы RT1
- RT1, RT2, RT4 – реляционные таблицы;
- RV1 – реляционный просмотр, в котором задействованы атрибуты таблиц RT2 и RT1.
Рис.46. Пример диаграммы объектно-реляционной схемы БД
2.8.3.2. Прямая и обратная генерация схем бд
2.8.3.2.1. Формирование схем на основе диаграмм классов
Процесс преобразование логической модели данных, представленной каноническими диаграммами классов, в схемы БД заключается в интерпретации существующих объектов модели в объекты схемы. Такая интерпретация может быть проведена вручную, путем использования мастеров создания и описания объектов схемной модели, а может быть выполнена автоматически. Rational Rose предоставляет возможности автоматического преобразования диаграммы классов в реляционную схему БД для выбранной СУБД, путем применения утилиты Rose Data Modeler.
Создание компоненты БД
На диаграмме компонентов, используя функцию «Data Modeler–>New–>Database», можно создать компонент БД (Рисунок 47). Для компонента определяется имя, целевая СУБД и текстовое описание. Вид целевой СУБД определяет специфику описания объектов БД и диалект SQL для генерации кода БД. Rose Data Modeler поддерживает следующие виды СУБД (DBMS):
- ANSI SQL 92 (по умолчанию),
- IBM DB2 5.x/6.x/7.x,
- IBM DB2 OS390 5.x/6.x,
- Microsoft SQL Server 6.x/7.x/2000.x,
- Oracle 7.x/8.x,
- Sybase Adaptive Server 12.x.
Рис.47. Компонент БД и клиентское приложение
Зависимости между БД и компонентами, являющимися частью ПО, должны быть отражены вручную.
Определение табличных пространств
Д ля созданной БД можно определить табличные пространства. Выбрав компонент БД, командой «Data Modeler–>New–>Tablespace», можно создать табличное пространство (Рисунок 48). Для табличного пространства определяется, помимо имени, файл БД, для его физического хранения. С ним связываются все объекты схем БД, которые создаются для данного табличного пространства.
Рис.48. Компонент табличное пространство, определенный для БД
Зависимость между БД и табличным пространством отображается на диаграммах автоматически.
Создание доменов
Командой «Data Modeler–>New–>Domain Package» создается пакет, группирующий определяемые домены. Для пакета определяется вид целевой СУБД. Он должен соответствовать СУБД, для которой проектируются схемы, с использованием создаваемых доменов. В пакете, командой «Data Modeler–>New–>Domain», создаются домены (Рисунки 43 и 49). При этом указывается:
- скалярный тип домена;
- значение по умолчанию;
- ограничения на уникальность (Unique Constraint) и на обязательность присутствия значения (Not Null);
- произвольное число ограничений на возможные значения для атрибутов, которые будут определены при помощи создаваемого домена (отображаются как операции класса).
Рис.49. Домен с ограничением на возможные значения
Создание схемы
Схему можно создать вручную. Для этого командой «Data Modeler–>New–>Schema» создается схема. Для схемы можно создать диаграмму реляционной схемы БД (Data Model Diagram) на которой могут быть отображены создаваемые таблицы, просмотры и хранимые процедуры. Для схемы указывается имя и БД, для которой она проектируется.
Автоматическое генерация схемы предполагает наличие пакета с «постоянными» (persistent) классами. Такие классы отображаются в таблицы. В таблицы также раскрываются связи-ассоциации многие ко многим. Автоматическое создание схемы выполняется при помощи команды «Data Modeler–>Transform To Data Model», применяемой к пакету с классами логической модели данных. Между пакетом с исходными классами и пакетом-схемой обычно указывается связь зависимость, существенная для модели ИС в целом (см. рис.50).
Рис.50. Пакет с классами и созданная на его основе схема
Построение таблицы на основе класса
«Постоянные» (persistent) классы автоматически отображаются в таблицы, при этом не учитываются операции классов (см. рис.51). Для таблицы после её генерации можно указать табличное пространство, для реализации.
Рис.51. Класс «Item» c соответствующей таблицей
Атрибуты классов автоматически становятся атрибутами таблиц. Типы атрибутов таблиц формируются на основе соответствия между скалярными типами диаграмм классов и типами, принятыми в диалекте SQL целевой СУБД. Например, для Oracle 8.x: Long преобразуется в NUMBER (10), String – VARCHAR2, Double – NUMBER (20).
Для атрибутов могут быт указаны:
- домен;
- тип;
- значение по умолчанию;
- ограничения на уникальность (Unique Constraint) и на обязательность присутствия значения (Not Null);
- произвольное число ограничений на возможные значения атрибута.
Атрибут может быт выбран в качестве первичного ключа, уникального ключа, части составного ключа.
В
<<PK>>
PK_OTCustomer22() <<FK>>
FK_OTCustomer16() <<Trigger>>
TRIG_OTCustomer0() <<Unique>>
TC_OTCustomer271() <<Check>>
TC_OTCustomer272() <<Index>>
TC_OTCustomer274()
PK
OTUser_ID:NUMBER(10,0) money:
NUMBER(5,0) Any:
NUMBER(5,0)
OTCustomer
Рис.52. Таблица с определенными ограничениями, индексным атрибутом и триггерами
Преобразования зависимостей
Связи-ассоциации 1:1 и 1:N автоматически преобразуются в не идентифицирующие связи. Пример преобразования показан на рисунке 53.