|
3. Упражнения
Упражнение 1. Создание диаграммы состояний для класса CourseOffering Для создания диаграммы состояний: 1. Щелкните правой кнопкой мыши в браузере по нужному классу.
2.Выберите пункт New > Statechart Diagram в открывшемся меню.
Для того чтобы добавить состояние: 1. На панели инструментов нажмите кнопку State. 2. Щелкните мышью на диаграмме состояний по тому месту, куда хотите поместить состояние.
Все элементы состояния можно добавить с помощью вкладки Detail окна спецификации состояния. Для того чтобы добавить деятельность: 1. Откройте окно спецификации требуемого состояния. 2. Перейдите на вкладку Detail. 3. Щелкните правой кнопкой мыши по окну Actions. 4. Выберите пункт Insert в открывшемся меню. 5.Дважды щелкните по новому действию. 6.Введите действие в поле Actions. 7. В окне When укажите Do, чтобы сделать новое действие деятельностью.
Для того чтобы добавить входное действие, в окне When укажите On Entry. Для того чтобы добавить выходное действие, в окне When укажите On Exit. Послать событие можно с помощью следующих операций: 1. Откройте окнр спецификации требуемого состояния. 2. Перейдите на вкладку Detail. 3. Щелкните правой кнопкой мыши по окну Actions. 4. Выберите пункт Insert в открывшемся меню. 5. Дважды щелкните по новому действию. 6. В качестве типа действия укажите Send Event. 7. В соответствующие поля введите событие (event), аргументы (arguments) и целевой объект (Target).
Для того чтобы добавить переход: 1. Нажмите кнопку Transition панели инструментов. 2. Щелкните мышью по состоянию, откуда осуществляется переход. 3.Проведите линию перехода до того состояния, где он завершается.
Чтобы добавить рефлексивный переход: 1. Нажмите кнопку Transition to Self панели инструментов. 2. Щелкните мышью по тому состоянию, где осуществляется рефлексивный переход.
Для того чтобы добавить событие, его аргументы, ограждающее условие и действие: 1.Дважды щелкните по переходу, чтобы открыть окно его спецификации. 2. Перейдите на вкладку General. 3. Введите событие в поле Event. 4.Введите аргументы в поле Arguments. 5. Введите ограждающее условие в поле Condition. 6.Введите действие в поле Action.
Для отправки события: 1. Дважды щелкните по переходу, чтобы открыть окно его спецификации. 2. Перейдите на вкладку Detail. 3. Введите событие в поле Send Event. 4. Введите аргументы в поле Send Arguments. 5. Задайте цель в поле Send Target.
Для указания начального или конечного состояния: 1. На панели инструментов нажмите кнопку Start State или End State. 2. Щелкните мышью на диаграмме состояний по тому месту, куда хотите поместить состояние.
Уточнение ассоциаций: некоторые ассоциации (семантические, структурные, устойчивые связи по данным) могут быть преобразованы в зависимости (неструктурные, временные связи отражают видимость), а агрегации - в композиции (рис. 13.3).
Для преобразования агрегации в композицию: 1. Щелкните правой кнопкой мыши по тому концу агрегации, который упирается в класс-часть (см. рис.13.2 - Schedule). 2. Выберите пункт Containment в открывшемся меню. 3.Укажите метод включения By Value. Значение By Value предполагает, что целое и часть создаются и разрушаются одновременно, что соответствует композиции. Агрегация (By Reference) предполагает, что целое и часть создаются и разрушаются в разное время.

Рис. 13.3 Пример преобразования ассоциаций и агрегаций
Уточнение обобщений: в случае ситуации с миграцией подклассов (студент может переходить с очной формы обучения на вечернюю) иерархия наследования реализуется так, как показано на рис. 13.4. Такое решение повышает устойчивость системы (не нужно модифицировать описание объекта).

Рис. 2.55. Преобразование обобщения
Читайте также:
Добавить комментарий
|