- •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. «Работа с товарами»
Р ис.62. Объектный просмотр, зависящий от объектного типа и реляционных таблиц
Соответствующий объектному просмотру, изображенному на рисунке 62, SQL скрипт имеет следующий вид:
CREATE OR REPLACE TYPE HR.OTV1 AS OBJECT ( JOB_ID VARCHAR2(10), JOB_TITLE VARCHAR2(35), REGION_ID NUMBER(2,6), REGION_NAME VARCHAR2(25));
|
объектный тип OTV1, предок для OV1 |
CREATE OR REPLACE VIEW HR.OV1 OF HR.OTV1 WITH OBJECT OID (JOB_ID) AS SELECT JOBS.JOB_ID, JOBS.JOB_TITLE, REGIONS.REGION_ID, REGIONS.REGION_NAME FROM HR.JOBS,HR.REGIONS WHERE REGION_NAME LIKE '%TYMEN%';
|
объектный просмотр OV1 типа OV1, идентификатор объектов просмотра – JOB_ID задействованные таблицы условие выборки |
Генерация объектных таблиц (Object Tables)
О бъектные таблицы позволяют помещать объектные типы в реляционную структуру. Каждый картеж объектной таблицы содержится в объекте. Атрибутам таблицы соответствуют свойства объектного типа. Пример изображения объектной таблицы на схеме БД приведен на рисунке 63.
Рис.63. Объектная таблица, определенная на основе объектного типа
Для объектной таблицы, изображенной на рисунке 63, SQL скрипт имеет следующий вид:
CREATE TABLE HR.RT_CUSTOMER OF HR.CUSTOMER; |
объектная таблица типа CUSTOMER |
Генерация коллекций (VARRAYs)
Коллекция – тип, создаваемый как упорядоченная последовательность элементов одного типа (массив). Тип элементов может быть как скалярным, так и объектным. коллекция может быть использованы в качестве типа для свойств объектов или атрибутов таблиц.
П ри определении коллекции указывается максимальное число элементов, которое она может содержать. Пример изображения коллекции объектных типов с максимальным числом элементов равным 30 представлен на рисунке 64.
Рис.64. Коллекция объектных типов
Соответствующий коллекции, изображенной на рисунке 64, SQL скрипт имеет следующий вид:
CREATE TYPE HR.OVAR1 AS VARRAY(30) OF HR.OTV1;
|
коллекция элементов типа OTV1 |
Генерация встраиваемых таблиц (Nested Tables)
Встраиваемые таблицы – особый вид таблиц, которые могут вкладываться в другие таблицы или объектные типы в качестве их атрибутов или свойств. Пример встраиваемой таблицы объектного типа, вложенной в реляционную таблицу, изображен на рисунке 65.
Рис.65. Встраиваемая таблица и связанные с ней элементы.
Для изображенной на рисунке 65 схемы, SQL скрипт имеет следующий вид:
CREATE TYPE HR.NT1 AS TABLE OF HR.CUSTOMER; |
встраиваемая таблица типа CUSTOMER |
CREATE TABLE HR.RTWNT1 ( ID NUMBER(5,5) NOT NULL UNIQUE, NT HR.NT1, CONSTRAINT RTWNT1_PK PRIMARY KEY (ID)) NESTED TABLE NT STORE AS NT_NTS;
|
реляционная таблица
NT – вложенная таблица типа NT1 |
Генерация реляционных таблиц (Relational Tables)
Атрибуты реляционных таблиц представлены атрибутами классов. Ограничения первичных ключей и индексы представлены в виде скрытых (implementation) атрибутов классов, со значениями инициализации, соответствующими атрибутам, для которых они определены. Ограничение внешнего ключа определяется через однонаправленную связь-ассоциацию от таблицы потомка (ссылающейся) к таблице предку (ссылочной). Имени ограничения соответствует имя связи; атрибуту внешнего ключа – имя утончающего (Key/Qualifier) связь атрибута; значение, инициализирующее утончающий атрибут, – уникальный ключ, на который ссылается определяемый таким образом внешний ключ. Редактировать параметры атрибутов (в том числе, задавать дополнительные ограничения) можно при помощи стандартного редактора атрибутов класса, используя вкладку Oracle8.
Реляционные таблицы связанные не идентифицирующей связью показаны на рисунке 66.
Рис.66. Реляционные таблицы на диаграмме классов
Для изображенной на рисунке 66 схемы, SQL скрипт имеет следующий вид:
CREATE TABLE HR.COUNTRIES ( COUNTRY_ID CHAR(2), COUNTRY_NAME VARCHAR2(40), CONSTRAINT COUNTRY_C_ID_PK PRIMARY KEY (COUNTRY_ID));
|
таблица COUNTRIES
ограничение первичного ключа |
CREATE TABLE HR.LOCATIONS ( LOCATION_ID NUMBER(4,0), STREET_ADDRESS VARCHAR2(40), POSTAL_CODE VARCHAR2(12), CITY VARCHAR2(30) CHECK (CITY <> 'TYMEN'),
STATE_PROVINCE VARCHAR2(25), COUNTRY_ID CHAR(2), CONSTRAINT LOC_ID_PK PRIMARY KEY (LOCATION_ID), CONSTRAINT LOC_C_ID_FK FOREIGN KEY(COUNTRY_ID) REFERENCES HR.COUNTRIES(COUNTRY_ID)); |
таблица LOCATIONS
ограничение на возможные значения
ограничение первичного ключа ограничение внешнего ключа |
CREATE INDEX HR.LOC_CITY_IX ON HR.LOCATIONS (CITY);
CREATE INDEX HR.LOC_STATE_PROVINCE_IX ON HR.LOCATIONS (STATE_PROVINCE);
CREATE INDEX HR.LOC_COUNTRY_IX ON HR.LOCATIONS (COUNTRY_ID); |
индекс
индекс
индекс |
Генерация реляционных просмотров (Relational Views)
Реляционные просмотры – стандартный механизм БД Oracle для представления данных из различных реляционных таблиц, объеденных на основе заданной выборки. Пример просмотра, содержащего данные двух реляционных таблиц, приведен на рисунке 67.
Рис.67. Схема БД из двух реляционных таблиц и основанного на них просмотра
Соответствующий реляционному просмотру, изображенному на рисунке 67, SQL скрипт имеет следующий вид:
CREATE OR REPLACE VIEW HR.RV1 (LOCATION_ID, COUNTRY_ID, COUNTRY_NAME,STATE_PROVINCE,POSTAL_CODE,CITY, STREET_ADDRESS) AS SELECT LOCATIONS.LOCATION_ID, LOCATIONS.COUNTRY_ID, COUNTRIES.COUNTRY_NAME, LOCATIONS.STATE_PROVINCE, LOCATIONS.POSTAL_CODE, LOCATIONS.CITY, LOCATIONS.STREET_ADDRESS FROM HR.LOCATIONS,HR.COUNTRIES WHERE LOCATION.COUNTRY_ID = COUNTRIES.COUNTRY_ID;
|
просмотр RV1
параметры выборки
задействованные таблицы и условие выборки |