- •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.5.1.2. Создание диаграмм Классов
В среде Rose диаграммы Классов создаются в Логическом представлении модели.
По мере добавления на диаграмму новых классов и связей она постепенно становится все более захламленной и трудной для восприятия. Rose способна автоматически приводить в порядок все классы на диаграмме.
Размер соответствующего каждому классу прямоугольника будет автоматически изменен так, чтобы вместить имя, атрибуты и операции класса.
2.5.1.3. Работа с классами
После создания диаграммы Классов нужно добавить новые классы в модель, затем необходимо детализовать классы. Каждому классу можно дать имя, определить его стереотип, указать видимость, а также задать несколько других параметров.
Так как диаграммы Взаимодействия относятся к представлению Вариантов Использования браузера, создаваемые этим методом классы также будут появляться в представлении Вариантов Использования. В Логическое представление их можно перенести с помощью мыши.
2.5.1.3.1. Спецификации классов
Б ольшинство определяемых для класса параметров доступно в окне спецификации класса (см. рис.14). В частности, это окно позволяет указать стереотип класса, а также его видимость и устойчивость (persistence).
Рис.14. Окно спецификации класса
2.5.1.3.2. Именование классов
Каждому классу модели Rose необходимо дать уникальное имя. Большинство организаций имеет собственные соглашения по именованию классов. В общем случае используются существительные в единственном числе. Обычно имена классов не содержат пробелов. Используемый для именования классов регистр символов определяется обычно организацией. Важно только, чтобы принятый подход применялся ко всем классам модели.
2.5.1.3.3. Назначение стереотипа для класса
Стереотип — это механизм, позволяющий категоризировать классы. Допустим, вы хотите найти все формы в вашей модели. Для этого можно создать стереотип Form (Форма) и назначить его всем окнам вашего приложения. В дальнейшем при поиске форм нужно только искать классы с этим стереотипом. На языке UML определены три основных стереотипа: Boundary (Граница), Entity (Объект) и Control (Управление).
Пограничными классами (boundary classes) называются такие классы, которые расположены на границе системы со всем остальным миром. Они включают в себя формы, отчеты, интерфейсы с аппаратурой (такой, как принтеры или сканеры) и интерфейсы с другими системами.
Для выявления пограничных классов необходимо исследовать диаграммы Вариантов Использования. Для каждого взаимодействия между действующим лицом и вариантом использования должен существовать хотя бы один пограничный класс. Именно он позволяет действующему лицу взаимодействовать с системой (см. рис.15).
Р ис.15. Место нахождения пограничного класса “Форма ввода поручения”
Необязательно создавать уникальные пограничные классы для каждой пары "действующее лицо — вариант использования". Например, если два действующих лица инициируют один и тот же вариант использования, они могут применять общий пограничный класс для взаимодействия с системой.
Классы-сущности (entity classes) содержат информацию, хранимую постоянно. Классы-сущности можно обнаружить в потоке событий и на диаграммах Взаимодействия. Они имеют наибольшее значение для пользователя, и потому в их названиях часто применяют термины из предметной области. Источник поручения, Исполнитель поручения, Поручение – это всё классы-сущности.
Часто для каждого класса-сущности создают таблицу в базе данных. В этом заключается еще одно отличие от типичного подхода к конструированию системы. Вместо того чтобы с самого начала задавать структуру базы данных, у нас теперь есть возможность разрабатывать ее на основе информации, получаемой из объектной модели. Это позволяет отслеживать соответствие всех полей базы данных и требований к системе. Требования определяют поток событий. Поток событий определяет объекты, классы и атрибуты классов. Каждый атрибут класса-сущности становится полем в базе данных. Применяя такой подход, легко отслеживать соответствие между полями базы данных и требованиями к системе, что уменьшает вероятность сбора ненужной информации.
Управляющие классы (control classes) отвечают за координацию действий других классов. Обычно у каждого варианта использования имеется один управляющий класс, контролирующий последовательность событий этого варианта использования. Сам управляющий класс не несет в себе никакой функциональности — остальные классы посылают ему мало сообщений. Но сам он посылает множество сообщений. Управляющий класс делегирует ответственность другим классам. По этой причине управляющий класс часто называют классом-менеджером.
В системе могут применяться и другие управляющие классы, общие для нескольких вариантов использования. Например, класс SecurityManager (Менеджер безопасности) может отвечать за контроль событий, связанных с безопасностью, а класс TransactionManager (Менеджер транзакций) — заниматься координацией сообщений, относящихся к транзакциям с базой данных. Могут быть и другие менеджеры для работы с такими элементами функционирования системы, как разделение ресурсов, распределенная обработка данных и обработка ошибок.
С помощью управляющих классов можно изолировать функциональность системы. Инкапсуляция в один класс, например, координации безопасности минимизирует последствия вносимых изменений. Любые изменения отвечающей за безопасность логики системы затронут только класс менеджера безопасности.
Помимо упомянутых выше стереотипов, вы можете создавать и свои собственные. Для этого нужно ввести новый стереотип в поле Stereotype, после чего он будет доступен в текущей модели Rose. Разрешается добавлять стереотип для использования во всех моделях и даже создавать для него кнопки и пиктограммы панели инструментов.