- •Разработка модели информационной системы средствами uml
- •6.050102 “Компьютерная инженерия”
- •Чернигов чгту 2011
- •3.6.4 Пример выполнения 39
- •3.7.4 Пример выполнения 42
- •3.8 Контрольные вопросы 42
- •Введение. Этапы разработки проекта
- •1 Постановка задачи (системный анализ)
- •1.1 Пример. Описание предметной области
- •2 Анализ требований
- •2.2 Диаграммы потоков данных
- •2.3 Пример выполнения анализа требований для икс видеотека
- •2.4 Контрольные вопросы
- •3 Проектирование
- •3.1 Построение диаграммы вариантов использования
- •3.1.1 Отношение расширения
- •3.1.2 Отношение обобщения
- •3.1.3 Отношение включения
- •3.1.4 Пример построения диаграммы вариантов использования
- •3.1.5 Диаграмма анализа бизнес-процессов
- •Бизнес-процесс
- •Ресурс и информация
- •Событие
- •3.2.2 Линия жизни объекта
- •3.2.3 Фокус управления
- •3.2.4 Сообщения
- •3.2.5 Пример построения диаграммы последовательности
- •3.3 Диаграмма классов
- •3.3.1 Класс
- •3.3.2 Отношения между классами
- •Отношение зависимости
- •Отношение ассоциации
- •Отношение агрегации
- •Отношение композиции
- •Отношение обобщения
- •3.3.3 Объекты
- •3.3.4 Шаблоны или параметризованные классы
- •3.3.5 Рекомендации по построению диаграмм классов
- •3.3.6 Пример выполнения
- •3.4 Диаграммы поведения
- •3.4.1 Диаграмма состояний
- •Состояние
- •Переход
- •3.4.2 Диаграмма деятельности (activity diagram)
- •3.4.3 Пример выполнения
- •3.4.4 Рекомендации по построению диаграмм поведения Диаграмма состояний
- •Диаграмма деятельности
- •3.5 Диаграммы взаимодействия
- •3.6.1 Диаграмма кооперации (collaboration diagram)
- •Кооперация
- •3.6.2 Пример выполнения
- •3.6 Представление компонентов
- •3.6.1 Компоненты
- •3.6.2 Зависимости
- •3.6.3 Рекомендации по построению диаграммы компонентов
- •3.6.4 Пример выполнения
- •3.7 Представление размещения
- •3.7.1 Узел
- •3.7.2 Соединения
- •3.7.3 Рекомендации по построению диаграммы развертывания
- •3.7.4 Пример выполнения
- •3.8 Контрольные вопросы
- •Рекомендованная литература
3.3.4 Шаблоны или параметризованные классы
Шаблон (template) или параметризованный класс (parametrized class) предназначен для обозначения такого класса, который имеет один (или более) нефиксированный формальный параметр. Он определяет целое семейство или множество классов, каждый из которых может быть получен связыванием этих параметров с действительными значениями. Обычно параметрами шаблонов служат типы атрибутов классов, такие как целые числа, перечисление, массив строк и др. В более сложном случае формальные параметры могут представлять и операции класса.
Шаблон не может быть непосредственно использован в качестве класса, поскольку содержит неопределенные параметры. Чаще всего в качестве шаблона выступает некоторый суперкласс, параметры которого уточняются в его классах-потомках. Очевидно, в этом случае между ними существует отношение зависимости с ключевым словом "bind", когда класс-клиент может использовать некоторый шаблон для своей последующей параметризации. В более частном случае между шаблоном и формируемым от него классом имеет
место отношение обобщения с наследованием свойств шаблона
3.3.5 Рекомендации по построению диаграмм классов
Процесс разработки диаграммы классов занимает центральное место в ООАП сложных систем. От умения правильно выбрать классы и установить между ними взаимосвязи часто зависит не только успех процесса проектирования, но и производительность выполнения программы.
После разработки диаграммы классов процесс ООАП может быть продолжен в двух направлениях. С одной стороны, если поведение системы тривиально, то можно приступить к разработке диаграмм кооперации и компонентов. Однако для сложных динамических систем поведение представляет важнейший аспект их функционирования. Детализация поведения осуществляется последовательно при разработке диаграмм состояний, последовательности и деятельности.
3.3.6 Пример выполнения
Рисунок 3.9 – Диаграмма Классов пакета «Оформить заказ»
3.4 Диаграммы поведения
3.4.1 Диаграмма состояний
Для моделирования поведения на логическом уровне в языке UML могут использоваться сразу несколько канонических диаграмм: состояний, деятельности, последовательности и кооперации, каждая из которых фиксирует внимание на отдельном аспекте функционирования системы. В отличие от других диаграмм диаграмма состояний описывает процесс изменения состояний только одного класса, а точнее — одного экземпляра определенного класса, т. е. моделирует все возможные изменения в состоянии конкретного объекта. При этом изменение состояния объекта может быть вызвано внешними воздействиями со стороны других объектов или извне. Именно для описания реакции объекта на подобные внешние воздействия и используются диаграммы состояний.
Главное предназначение этой диаграммы — описать возможные последовательности состояний и переходов, которые в совокупности характеризуют поведение элемента модели в течение его жизненного цикла. Диаграмма состояний представляет динамическое поведение сущностей, на основе спецификации их реакции на восприятие некоторых конкретных событий. Системы, которые реагируют на внешние действия от других систем или от пользователей, иногда называют реактивными. Если такие действия инициируются в произвольные случайные моменты времени, то говорят об асинхронном поведении модели.
