- •Лекция 1 Современные технологии объектно-ориентированного анализа и проектирования информационных систем
- •1.1 Методология объектно-ориентированного программирования
- •1.2 Методология объектно-ориентированного анализа и проектирования
- •1.3 Основные этапы развития языка uml
- •Лекция 2 Основные элементы языка uml
- •2.1 Общая характеристика моделей объектно-ориентированного анализа и проектирования
- •2.2 Пакеты в языке uml
- •2.3 Канонические диаграммы языка uml
- •2.4 Особенности графического изображения диаграмм языка uml
- •2.5 Рекомендации по графическому изображению диаграмм языка uml
- •Лекция 3 Элементы графической нотации диаграммы вариантов использования
- •3.1 Диаграмма вариантов использования как концептуальное представление бизнес-системы в процессе ее разработки.
- •3.2 Отношения на диаграмме вариантов использования
- •3.3 Дополнительные обозначения языка uml для бизнес-моделирования
- •Лекция 4 Спецификация требований и рекомендации по написанию эффективных вариантов использования
- •4.1 Формализация функциональных требований к системе с помощью диаграммы вариантов использования
- •4.2 Особенности спецификации функциональных требований на диаграмме вариантов использования
- •4.3 Рекомендации по разработке диаграмм вариантов использования
- •Лекция 5 Элементы графической нотации диаграммы классов
- •5.1 Класс
- •5.2 Имя класса
- •5.3 Атрибуты класса
- •5.4 Операции класса
- •5.5 Расширение языка uml для построения моделей программного обеспечения и бизнес-систем
- •5.6 Интерфейс
- •Лекция 6 Отношения и их графическое изображение на диаграмме классов
- •6.1 Отношение ассоциации
- •6.2 Отношение обобщения
- •6.3 Отношение агрегации
- •6.4 Отношение композиции
- •6.5 Рекомендации по построению диаграмм классов
- •Лекция 7 Элементы графической нотации диаграммы кооперации
- •7.1 Кооперация
- •7.2 Объекты и их графическое изображение
- •7.3 Связи на диаграмме кооперации
- •7.4 Сообщения и их графическое изображение
- •7.5 Рекомендации по построению диаграмм кооперации
- •Лекция 8 Элементы графической нотации диаграммы последовательности
- •8.1 Объекты и их изображение на диаграмме последовательности
- •8.2 Сообщения на диаграмме последовательности
- •8.3 Ветвление потока управления
- •8.4 Рекомендации по построению диаграмм последовательности
- •Лекция 9 Элементы графической нотации диаграммы состояний
- •9.1 Диаграмма состояний в контексте конечного автомата
- •9.2 Состояние и его графическое изображение
- •9.3 Переход и событие
- •Лекция 10 Моделирование параллельного поведения с помощью диаграмм состояний
- •10.1 Составное состояние и подсостояние
- •10.2 Исторические состояния
- •10.3 Сложные переходы и псевдосостояния
- •10.4 Рекомендации по построению диаграмм состояний
- •Лекция 11 Элементы графической нотации диаграммы деятельности
- •11.1 Диаграмма деятельности и особенности ее построения
- •11.2 Состояния деятельности и действия
- •11.3 Переходы на диаграмме деятельности
- •11.4 Дорожки
- •11.5 Объекты на диаграмме деятельности
- •Лекция 12 Элементы графической нотации диаграммы компонентов
- •12.1 Диаграмма компонентов и особенности ее построения
- •12.2 Компоненты
- •12.3 Интерфейсы
- •12.4 Зависимости между компонентами
- •12.5 Рекомендации по построению диаграммы компонентов
- •Лекция 13 Элементы графической нотации диаграммы развертывания
- •13.1 Диаграмма развертывания, особенности ее построения
- •13.2 Узел
- •13.3 Соединения и зависимости на диаграмме развертывания
- •13.4 Рекомендации по построению диаграммы развертывания
- •Лекция 14 Паттерны проектирования и их представление в нотации uml
- •14.1 Паттерны, их классификация
- •14.2 Паттерны проектирования в нотации языка uml
- •14.3 Паттерн Фасад и его обозначение в нотации языка uml
- •14.4 Паттерн Наблюдатель и его обозначение в нотации языка uml
- •Лекция 15 Обзор case-средств для построения диаграмм uml
- •15.10 Другие программы
- •Лекция 16 Учебный проект: "Разработка ис предприятия оптовой торговли лекарственными препаратами"
- •16.1 Порядок выполнения практического задания
- •16.2 Краткая информация о компании "мед"
- •16.3 Видение выполнения проекта и границы проекта
- •16.4 Отчет об обследовании
- •16.5 Существующий уровень автоматизации
- •16.6 Общие требования к информационной системе
- •16.7 Описание системы учета
- •16.8 Описание справочников
- •16.9 Организационная диаграмма
- •16.10 Описание состава автоматизируемых бизнес-процессов
- •16.11 Диаграмма прецедентов компании "мед"
- •16.12 Разработка моделей бизнес-процессов предприятия оптовой торговли лекарственными препаратами
- •Рекомендуемая литература
10.2 Исторические состояния
Обычный конечный автомат не позволяет учитывать предысторию в процессе моделирования поведения систем и объектов. Однако функционирование ряда систем основано на возможности выхода из отдельного состояния-композита с последующим возвращением в это же состояние. Может оказаться необходимым учесть ту часть деятельности, которая была выполнена на момент выхода из этого состояния-композита, чтобы не начинать ее выполнение сначала. Для этой цели в языке UML существует историческое состояние.
Историческое состояние (history state) - псевдосостояние, используемое для запоминания того из последовательных подсостояний, которое было текущим в момент выхода изсоставного состояния.
Историческое состояние применяется только в контексте составного состояния. При этом существует две разновидности исторического состояния: неглубокое или недавнее и глубокое или давнее (рис. 10.5).
Рис. 10.5. Графическое изображение недавнего (а) и давнего (б) исторического состояния
Неглубокое историческое состояние (shallow history state) обозначается в форме небольшой окружности, в которую помещена латинская буква "H" (рис. 10.5, а). Это состояние обладает следующей семантикой. Во-первых, оно является первым подсостоянием в составном состоянии, и переход извне в рассматриваемое составное состояние должен вести непосредственно в данное историческое состояние. Во-вторых, при первом попадании в неглубокое историческое состояние оно не хранит никакой истории. Другими словами, при первом переходе в недавнее историческое состояние оно заменяет собой начальное состояние соответствующего конечного подавтомата.
Далее могут последовательно изменяться вложенные подсостояния. Если в некоторый момент происходит выход из составного состояния (например, в случае наступления некоторого события), то рассматриваемое историческое состояние запоминает то из подсостояний, которое было текущим на момент выхода из данного составного состояния. При последующем входе в это составное состояние неглубокое историческое подсостояние имеет непустую историю и сразу отправляет конечный подавтомат в запомненное подсостояние, минуя все предшествующие ему подсостояния.
Историческое состояние теряет свою историю в тот момент, когда конечный подавтомат доходит до своего конечного состояния. При этом неглубокое историческое состояние запоминает историю только того конечного подавтомата, к которому оно относится. Другими словами, этот тип псевдосостояния способен запомнить историю только одного с ним уровня вложенности.
Если запомненное подсостояние также является составным состоянием, а при выходе из исходного составного состояния необходимо запомнить подсостояние второго уровня вложенности, то в этом случае следует воспользоваться более сильным псевдосостоянием - глубоким историческим состоянием.
Глубокое историческое состояние (deep history state или состояние глубокой истории) также обозначается в форме небольшой окружности, в которую помещена латинская буква "H" с дополнительным символом "*" (рис. 10.5, б), и служит для запоминания всех подсостояний любого уровня вложенности для исходного составного состояния.
