КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Упражнение 13. Создание диаграммы состояний для класса 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. Щелкните мышью на диаграмме состояний в том месте, куда хотите поместить состояние.
Уточнение ассоциаций: некоторые ассоциации (семантические, структурные, устойчивые связи по данным) могут быть преобразованы в зависимости (неструктурные, временные связи, отражают видимость), а агрегации – в композиции. Рис. 3.27. Пример преобразования ассоциаций и агрегаций
Чтобы установить преобразовать агрегацию в композицию: 1. Щелкните правой кнопкой мыши на том конце агрегации, который упирается в класс-часть (на рис.3.27 – Schedule). 2. В открывшемся меню выберите пункт Containment. 3. Укажите метод включения By Value. Примечание. Значение By Value предполагает, что целое и часть создаются и разрушаются одновременно, что соответствует композиции. Агрегация (By Reference) предполагает, что целое и часть создаются и разрушаются в разное время. Уточнение обобщений: в случае ситуации с миграцией подклассов (студент может переходить с очной формы обучения на вечернюю) иерархия наследования реализуется так, как показано на рис. 3.28 . Такое решение повышает устойчивость системы (не нужно модифицировать описание объекта).
Рис. 3.28 Преобразование обобщения
|