ТОП 10:

Использование вложенных состояний



Для уменьшения беспорядка на диаграмме можно вкладывать состояния одно в другое. Вложенные со­стояния называются подсостояниями (substates), а те, в которые они вложены, — суперсостояниями (su­perstates).

Если у нескольких состояний имеются идентичные переходы, эти состояния можно сгруппиро­вать вместе в суперсостояние. Затем, вместо того чтобы поддерживать одинаковые переходы (по од­ному на каждое состояние), их можно объединить, перенеся в суперсостояние. На рис. 8.1 приведен пример диаграммы без вложенных состояний. На рис. 8.4 изображена та же диаграмма с использова­нием вложенных состояний.

Как видите, суперсостояния позволяют навести порядок на диаграмме Состояний.

Бывают случаи, когда система должна помнить, в каких состояниях она была в прошлом. Если, на­пример, вы выходите из суперсостояния с тремя подсостояниями, вам может потребоваться, чтобы система запомнила, из какой точки суперсостояния произошел выход.

Существует два способа решения этой проблемы. Во-первых, можно включить в суперсостояние начальное состояние. В таком случае вы будете знать, где находится стартовая точка в суперсостоя­нии. Именно там окажется объект при входе в суперсостояние.

Во-вторых, чтобы запомнить, где был объект, можно использовать историю состояний (state histo­ry). В таком случае объект может выйти из суперсостояния, а затем вернуться точно в то место, отку­да вышел.

При подключении истории состояний в углу диаграммы располагается буква "Н" в кружке (см.

рис. 8.5).

Вложить состояния друг в друга можно следующим образом:

· Нажмите кнопку State (Состояние) панели инструментов диаграммы.

· Щелкните мышью на состоянии, в которое нужно вложить новое состояние.

Если требуется задействовать историю состояний:

· Откройте окно спецификации состояния.

· Перейдите на вкладку Detail (Подробно).

· Установите флажок States History (История состояний).

· Если имеется несколько уровней вложенности, можно отслеживать историю всех состояний, вложенных в данное суперсостояние. Для этого установите флажок Substates History (История подсостояний).

Практика 16. Представление компонентов.

Компонентом (component) называется физический модуль кода. Компонентами бывают как библиоте­ки исходного кода, так и исполняемые файлы.

Типы компонентов

В среде Rose можно использовать различные пиктограммы для изображения компонентов разных ти­пов. Как уже упоминалось, существуют два основных типа компонентов: библиотеки исходного кода и исполняемые компоненты. Для представления каждого из них также применяется несколько различных значков.

· Компонент (Component) Этот значок соответствует программному модулю с хорошо опреде­ленным интерфейсом. В поле Stereotype (Стереотип) окна спецификации компонента можно определить его тип (ActiveX, Applet, Application, DLL, исполняемый файл и другие). Ниже обсуж­даются различные стереотипы, которые можно использовать для этого значка.

· Спецификация и тело подпрограммы (Subprogram Specification and Body)представляют видимую спецификацию подпрограммы и тело ее реализации. Обычно подпрог­рамма состоит из коллекции стандартных программных компонентов (subroutines) и не содержит определений класса.

· Главная программа (Main Program) Это файл, содержащий корень программы. Например, в среде PowerBuilder такой файл содержит объект приложения.

Спецификация и тело пакета (Package Specification and Body) Пакет в данном случае — это реализация класса. Спецификацией пакета является заголовочный файл со сведениями о прото­типах функций для класса. На C++ это файл с расширением .Н. Тело пакета содержит код опера­ций класса. На C++ это файл .СРР.

При использовании языка Java значок спецификации пакета представляет файл с расширением

.JAVA.

Для отображения исполняемых компонентов применяют другие значки. Исполняемые компо­ненты — это исполняемые файлы, файлы DLL и задачи.

Спецификация и тело задачи (Task Specification and Body) Эти пиктограммы отображают пакеты, имеющие независимые потоки управления. Исполняемый файл обычно представляют как спецификацию задачи с расширением .EXE.

 







Последнее изменение этой страницы: 2016-04-18; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.226.243.36 (0.006 с.)