Сделай Сам Свою Работу на 5

Создание заготовок классов





Для того чтобы начать создавать модель поведения, необходимо добавить в модель классы, на основе которых эти объекты впоследствии будут создаваться.

Исходя из рассмотренных в теме 5 устройств, получаем следующих кандидатов для создания классов:

· EnvironmentalController — контроллер управления исполнительными устройствами;

· TemperatureSensor — датчик температуры;

· pHSensor — датчик кислотности;

· Heater — нагреватель;

· Cooler — вентилятор для снижения температуры;

· Light — осветитель;

· WaterTank — хранилище для воды;

· NutrientTank — хранилище для удобрений.

Данные наименования используются в книге Г. Буча, и нет необходимости придумывать что-то иное. И к тому же, использование английских наименований позволяет не опасаться, что при генерации исходного кода на выбранном языке программирования процесс может окончиться неудачей в случае конфликта с русскими именами.

Однако не все созданные классы будут в точности повторять описанные в книге Г. Буча. Для создания работающей системы я изменил некоторые классы, которые в указанной книге приводились для иллюстрации различных приемов объектно-ориентированного проектирования.



Рис. 6.1.Создание нового класса в окне Browse

Для добавления класса в модель необходимо перейти в окно Browser и на строке Logical View проделать RClick=>New=>Class, как показано на рис. 6.1.

Измените название NewClass на EnvironmentalController, и первый класс готов. Аналогично добавьте остальные классы, и можно начинать создавать модель поведения.

Создание StateСhart-диаграммы

В нашей системе самым сложным поведением обладает класс EnvironmentalController, поэтому будем разбирать создание модели поведения на его примере.

Замечание. Для моделирования поведения объектов в Rational Rose 98i существует State Diagram (Диаграмма состояний). Для версии 2000 эта диаграмма получила расширение в виде двух вариантов диаграмм диаграммы Activity и Statechart, где Statechart аналогична State Diagram в 98i.

Для создания диаграммы есть несколько путей.

1. Создать посредством меню Menu=>Browse=>State Machine Diagram.

2. Создать посредством строки инструментов при помощи значка Statechart

3. Выбрать пункт New Statechart Diagram из контекстного меню класса.

Третий пункт работает для всех версий программы Rational Rose, а при создании посредством первых двух имеются различия.



Версия 98i не позволяет создавать этот тип диаграммы, если текущим объектом не является объект класса. Поэтому для этой версии необходимо:

· вставить вновь созданный класс EnvironmentalController в Class диаграмму при помощи буксировки мышкой или при помощи меню Query;

· щелкнуть по нему мышкой, для того чтобы объект стал активным;

· выбрать доступный теперь пункт меню или значок на панели инструментов.

Версия 2000 лишена таких сложностей, по причине возможности создавать любые диаграммы в любом месте. Для этого активизируется окно выбора диаграммы (рис. 6.2).

Рис. 6.2.Выбор диаграммы Statechart или Activity

При помощи этого диалогового окна пользователь может выбрать диаграмму для назначения ее текущей, создать новую, удалить или переименовать уже существующую. При создании новой диаграммы будет предложено выбрать из двух возможных (рис. 6.3).

Рис. 6.3.Выбор типа диаграммы

Для создания диаграммы выберем тип Statechart. Создание диаграммы Activity мы рассмотрим в следующей теме.

Замечание. В версии 98i существует только один тип диаграммы State Machine, а диаграмма Activity появилась только в версии 2000.

Инструменты диаграммы Statechart

После активизации диаграммы становятся доступны следующие инструменты (рис. 6.4).

Рис. 6.4.Инструменты Statechart Diagram

Не будем подробно останавливаться на значках, которые уже знакомы нам по предыдущим диаграммам, а лишь перечислим, их для того чтобы освежить их назначение в памяти:

· Selection Tool — выбор объекта, с которым будет производиться дальнейшая работа;

· Text Box — создание отвлеченной надписи на диаграмме;



· Note — создание надписи к значку состояния State;

· Anchor Note — соединение значка Note и State.

State (состояние)

Инструмент State позволяет отразить состояние или ситуацию в течение жизни объекта, которая отвечает некоторому положению объекта или ожиданию им некоторого события. Каждое состояние представляет собой совокупную историю поведения объекта. Его имя должно быть уникально внутри класса, так как состояния с одинаковыми именами считаются представлением одних и тех же состояний. В текущем значке State могут быть отражены действия по входу, выходу из состояния, действия не связанные с событиями или реакция на события. Подробнее установку этих действий рассмотрим далее.

Start State (начало)

Инструмент Start State позволяет создать значок начала работы. Для диаграммы Statechart он обозначает событие, которое переводит объект в первое состояние на диаграмме.

Замечание. Все диаграммы состояний начинаются со значка Start State и должны заканчиваться значком End State. При этом значок начала работы может быть только один, а значков окончания может быть сколько угодно. За этим Rational Rose следит самостоятельно.

End State (завершение)

Инструмент End State позволяет создать значок окончания работы. Направление перехода может быть установлено только в данный значок, однако, никаких ограничений на количество переходов в End State, а также на количество таких элементов на диаграмме, не налагается.

State Transition (состояние перехода)

Инструмент State Transition позволяет создать значок состояния перехода, который означает, что объект переходит из одного состояния в другое в случае наступления определенного события или по изменению определенных условий.

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

Transition To Self (переход на себя)

Инструмент Transition To Self позволяет создать значок перехода в то же состояние, из которого осуществляется переход.

Данный переход похож на State Transition, однако, он не осуществляет переход в другое состояние при наступлении некоторого события. Таким образом, при наступлении события оно обрабатывается, и после обработки объект возвращается в то состояние, в котором он находился до наступления события.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.