Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование автоматизированных информационных систем на основе о..pdf
Скачиваний:
27
Добавлен:
15.11.2022
Размер:
10.45 Mб
Скачать

5.5.Контрольные задачи и упражнения

1.На какой из диаграмм представлено обобщение?

2.

Какой из

представленных

классов

содержит «неудачный»

атрибут?

 

 

 

 

 

Работник

б)

Работник

в)

Работник

 

Таб. номер

 

Отдел

 

Должность

 

 

 

Номер паспорта

 

ФИО

 

ИНН

 

 

 

 

Дата зачисления

 

Возраст

 

Дата рождения

 

 

 

3.Используя Rational Rose, реализуйте диаграмму, представлен­ ную на рис. 5.9.

4.Используя Rational Rose, постройте собственную диаграмму классов пакета «Disciplines».

в.ДИАГРАММА ОБЪЕКТОВ

6.1.Теоретическая часть

Диаграммы объектов позволяют моделировать экземпляры сущ­ ностей, которые содержатся в диаграммах классов. На диаграмме объектов показано множество объектов и отношений между ними в некоторый момент времени [1].

Экземпляром (instance) называется конкретная материализация абстракции, к которой могут быть применены операции и которая может сохранять их результаты [1].

Объект (object) является отдельным экземпляром класса, кото­ рый создается на этапе выполнения программы. Он имеет свое собст­ венное имя и конкретные значения атрибутов. В силу самых различ­ ных причин может возникнуть необходимость показать взаимосвязи не только между классами модели, но и между отдельными объекта­ ми, реализующими эти классы [2].

Изображение объектов на диаграмме идентично изображению классов за исключением того, что имена объектов принято подчерки­ вать, так же как принято указывать класс, к которому относится объ­ ект. Класс указывается через двоеточие после имени объекта (рис. 6.1).

Отношения между объектами отображают сплошными линиями. Диаграмма объектов применяется, как правило, для описания не­

больших частей системы со сложными отношениями или для иллюст­ рации конкретных примеров (рис. 6.1).

Рис. 6.1. Пример диаграммы объектов для описания состава электротехнического факультета

Если имя объекта, изображенного на диаграмме, пропущено (рис. 6.2), то такой объект называется анонимным.

: Принтер

Рис. 6.2. Анонимный объект

6.2. Реализация в Rational Rose

Версия Rational Rose 2000, которая использовалась в качестве ос­ новного инструмента для создания практических примеров, не со­ держит средств построения отдельной диаграммы объектов.

6.3. Подведение итогов

Диаграммы объектов применяют при моделировании статических видов системы с точки зрения проектирования и процессов. При этом моделируется «снимок» системы в данный момент времени и изобража­ ется множество объектов, их состояний и отношений между ними [1].

6.4.Контрольные вопросы

1.Дайте определение объекту.

2.Чем отличается графическое изображение объекта от изобра­ жения класса?

3.С какой целью строят диаграммы объектов?

6.5.Контрольная задача

Вкаком случае изображен анонимный объект?

:компьютер

ViewSonic

 

Р655: монитор

процессор = РП

7.ДИАГРАММА ПОСЛЕДОВАТЕЛЬНОСТЕЙ

7.1.Теоретическая часть

Диаграмма последовательностей (sequence diagram) отображает динамику взаимодействия объектов во времени.

Диаграмма последовательностей состоит из вертикальных линий, каждая из которых изображает линию жизни отдельного объекта, участвующего во взаимодействии. Начальному моменту времени со­ ответствует самая верхняя часть диаграммы [2].

Объекты на диаграмме располагаются слева направо, как прави­ ло, начиная с инициатора взаимодействия.

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

имя объекта: имя класса

объект

линия жизни

Рис. 7.1. Объект и линия жизни диаграммы последовательностей

Линия жизни объекта (object lifeline) изображается пунктирной вертикальной линией, ассоциированной с единственным объектом на диаграмме последовательностей. Линия жизни служит для обозна­ чения периода, в течение которого объект существует в системе и, следовательно, может потенциально участвовать во всех ее взаи­ модействиях. Если объект существует в системе постоянно, то и его линия жизни должна продолжаться по всей плоскости диаграммы по­ следовательностей - от самой верхней ее части до самой нижней [2].

Первым слева на диаграмме изображается объект, который являет­ ся инициатором взаимодействия. Далее, правее, изображается другой объект, который непосредственно взаимодействует с первым и т.д.

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

 

 

Т аблица. 7.1

------------>

Каждая такая стрелка означает просто следующий шаг в после­

 

 

довательности.

------------►

Процедурная передача управления. Все вложенные операции

завершаются до того, как будет продолжена последователь­

 

 

 

 

ность действий внешнего уровня. В частном случае может быть

 

 

простой вызов процедуры.

________^

Асинхронное взаимодействие между двумя объектами.

- >

Возврат из вызова процедуры.

Сообщение (message) представляет собой законченный блок ин­ формации, передаваемый одним объектом другому; при получении сообщения инициируется выполнение определенных действий, на­ правленных на решение отдельной задачи объектом-получателем.

Если есть необходимость подчеркнуть, что для доставки сообще­ ния требуется некоторое время, можно изобразить стрелку с накло­ ном вниз [5].

Для сообщений выделяют следующие стереотипы [2]:

-«call» (вызвать) - сообщение, требующее вызова операции или процедуры принимающего объекта;

-«return» (возвратить) - сообщение, возвращающее значение выполненной операции или процедуры вызвавшему ее объекту. Зна­ чение результата может инициировать ветвление потока управления;

-«create» (создать) - сообщение, требующее создания другого объекта для выполнения определенных действий. Созданный объект может получить фокус управления, а может и не получить его;

-«destroy» (уничтожить) - сообщение с явным требованием уничтожить соответствующий объект. Посылается в том случае, ко­ гда необходимо прекратить нежелательные действия со стороны су­ ществующего в системе объекта либо когда объект больше не нужен

идолжен освободить задействованные им системные ресурсы;

-«send» (послать) - обозначает посылку другому объекту неко­ торого сигнала, который асинхронно инициируется одним объектом

и принимается (перехватывается) другим. Отличие сигнала от сооб­ щения заключается в том, что сигнал должен быть явно описан в том классе, объект которого инициирует его передачу.

Объект также может посылать сообщения самому себе. Такие со­ общения называются рефлексивными и изображаются прямоугольни­ ком со стрелкой, которая начинается с границы прямоугольника и воз­ вращается в этот же прямоугольник (рис. 7.2). В качестве примера можно привести ситуацию набора номера на телефонном аппарате.

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

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

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

объекты

>

линия жизни

линия жизни

символ уничтожения объекта

Рис. 7.2. Элементы диаграммы последовательностей

В ряде случаев выполнение тех или иных действий ограничива­ ется по времени. Ограничивающие условие может быть записано на основе абсолютного или относительного значении времени [5]. На­ пример, ограничение {b.SendTime - a.ReceiveTime < 1 с} означает, что между получением сообщением а и отправкой сообщения b должно пройти менее одной секунды. Ограничение по времени всегда запи­ сывается в фигурных скобках.

На рис. 7.2 показано, что отдельные объекты в системе могут создаваться по мере необходимости. Таковым объектом является «объектЗ». Данный подход в большинстве случаев позволяет эконо­ мить ресурсы системы и в результате приводит к повышению ее про­ изводительности. Символом «X» обозначается конец жизни (уничто­ жение) объекта.

Рассмотрим пример построения диаграммы последовательностей для описания работы клиента с банком посредством банкомата,

аточнее, процесса снятия денег со счета.

Вдиаграмме последовательностей будут взаимодействовать три объекта: «Клиент», «Банкомат» и «Банк».

Инициатором взаимодействия является клиент, вставивший карту

вбанкомат. Поэтому размещаем объекты на диаграмме слева направо

впоследовательности «Клиент», «Банкомат», «Банк».

Сценарий взаимодействия следующий:

-клиент вставляет карту в банкомат;

-банкомат запрашивает PIN-код;

-клиент вводит РШ-код;

-банкомат запрашивает сумму;

-клиент вводит сумму;

-банкомат отсылает запрос компьютеру банка на открытие транзакции;

-компьютер банка отправляет ответ банкомату;

-банкомат выдает деньги;

-банкомат ждет, когда клиент заберет деньги;

-клиент забирает деньги;

-банкомат отсылает запрос компьютеру банка на завершение транзакции;

-компьютер банка завершает транзакцию и отправляет уведом­ ление банкомату.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]