Скачиваний:
7
Добавлен:
25.06.2023
Размер:
223.56 Кб
Скачать

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

-в открывшемся окне спецификаций прецедента выбрать вкладку File;

-в окне имени файла из к.з. меню выбрать команду Insert File;

-найти на диске и выбрать файл с описанием потока событий для данного прецедента.

11

Диаграммы взаимодействия

Диаграммы взаимодействия (interaction diagrams) описывают поведение взаимодействующих групп объектов. Каждая диаграмма описывает поведение объектов в рамках только одного прецедента. На диаграмме изображаются объекты и те сообщения, которыми они обмениваются между собой. Определяют три типа сообщений:

информационные (informative) – сообщения, снабжающие объектполучатель информацией для обновления его состояния;

сообщения – запросы (interrogative) – сообщения, запрашивающие выдачу информации об объекте-получателе;

императивные (imperative) – сообщения, запрашивающие у объектаполучателя выполнение действия.

Существует два вида диаграмм взаимодействия:

последовательности (sequence diagrams);

кооперативные (collaboration diagrams).

Диаграммы последовательности событий

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

происходящий в рамках прецедента. Например, прецедент «Снять деньги со счета» предусматривает несколько возможных последовательностей:

снятие денег;

попытка снять деньги, не имея их достаточного количества на счете;

попытка снять деньги по неправильному PIN-коду

и так далее.

На рисунке 1.3 изображена диаграмма последовательности для прецедента «Снять деньги со счета».

12

: клиент

Устройстводля

Экран

Менеджер

Счет

Кассовый

чтения карточек

банкомата

банкомата

аппарат

 

1:вставить карточку

 

 

 

 

 

2:карточкане читается

 

 

 

 

 

3:инициализация экрана

 

 

 

 

 

4:сообщениедля PIN

 

 

 

 

5:ввод PIN

 

 

 

 

 

 

6:открыть счет

 

 

 

 

 

 

 

7:открыть счет

 

 

 

 

 

8:сверка PIN

 

 

 

9:сообщениедля транзакции

 

 

 

 

10:выбор транзакции(снять деньги)

 

 

 

 

 

11:сообщениедля выбора количестваденег

 

 

 

 

12:ввод количества ($20)

 

 

 

 

 

 

13:выдать $20

 

 

 

 

 

 

 

14:выдать $20

 

 

 

 

 

15:проверка(есть ли $20насчете?)

 

 

 

 

16:вычесть $20 из имеющихся насчете денег

 

 

 

 

 

17:команда навыдачу $20

 

 

 

18:возврат карточки

 

 

 

Рисунок 1.3. Диаграмма последовательности событий для прецедента Снять деньги со счета

Для создания в среде Rational Rose диаграммы последовательности, изображенной на рис.2.1, нужно выполнить следующую цепочку действий:

1)Выполнить следующую настройку Rational Rose:

Выбрать пункт меню Tools/Options

Перейти на вкладку диаграмм;

13

Флажки Sequence Numbering и Collaboration Numbering должны быть установлены, а флажок Focus of Control – не установлен.

2)Создать новую диаграмму последовательности (из к.з. меню на прецеденте «Снять деньги со счета» в браузере выполнить команду New/Sequence Diagram) и дать диаграмме имя;

3)Открыть диаграмму (на имени диаграммы в браузере);

4)Перенести мышью актера Клиент из браузера на диаграмму;

5)С помощью кнопки Object нанести на диаграмму 5 объектов и дать им имена (по объекту на диаграмме позволит открыть окно спецификации объекта, в котором в поле Name написать имя объекта);

6)С помощью кнопки Object Message создать связь от клиента к объекту Устройство для чтения карточек и в окне спецификации связи (2с по линии связи) дать имя связи (вставить карточку);

7)Аналогично создать остальные связи между объектами, как показано на рисунке 1.3.

14

Кооперативные диаграммы

Кооперативные диаграммы (collaboration diagrams) в большей степени заостряют внимание на связях между объектами, чем диаграммы последовательности событий. В принципе, на кооперативной диаграмме представлена такая же информация, как и на диаграмме последовательности, но по-другому. Из нее легче понять связи между объектами, но труднее – последовательность событий. Временная последовательность указывается путем нумерации сообщений.

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

Пример Кооперативной диаграммы для прецедента «Снять деньги со счета» приведен на рисунке 1.4.

 

 

 

 

 

 

 

 

 

 

 

Устройство для

 

 

 

 

 

 

 

 

 

 

 

 

1: вставить карточку

 

 

чтения карточек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5: ввод PIN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18: возврат карточки

10: выбор транзакции(выдать деньги)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12: ввод количества ($20)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3: инициализация экрана

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

: клиент

 

 

 

 

 

 

 

 

 

4: сообщение для PIN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9: сообщение для транзакции

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11: сообщение для выбора количества денег

 

 

 

 

 

 

Менеджер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

банкомата

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17: команда на выдачу $20

 

 

Экран

 

 

 

 

 

 

 

 

 

 

 

 

7: открыть счет

 

 

банкомата

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8: сверка PIN

 

 

6: открыть счет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14: выдать $20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13: выдать $20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Кассовый

 

 

 

 

 

 

 

 

 

 

 

 

 

15: проверка (есть ли $20 на счете?)

 

 

 

аппарат

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16: вычесть $20 из имеющ ихся на счете денег

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Счет

Рисунок 1.4. Кооперативная диаграмма для прецедента Снять деньги со счета

15

Приложение А

Пример документа «Поток событий» для прецедента «Перевести деньги»

Краткое описание

Вариант использования «Перевести деньги» позволяет клиенту или служащему банка переводить деньги с одного счета до востребования или сберегательного счета на другой.

Предусловия

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

Не у всех прецедентов бывают предусловия.

Основной и альтернативный потоки событий

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

каким образом запускается прецедент;

различные пути выполнения прецедента;

нормальный (основной) поток событий прецедента;

отклонения от основного потока событий (альтернативные потоки);

потоки ошибок;

каким образом завершается прецедент.

16

Основной поток

1.Прецедент начинается, когда клиент вставляет свою карточку в банкомат.

2.Банкомат выводит приветствие и предлагает клиенту ввести свой персональный

PIN – код.

3.Клиент вводит PIN – код.

4.Банкомат подтверждает введенный код. Если код не подтвержден, выполняется альтернативный поток событий А1.

5.Банкомат выводит список доступных действий:

сделать вклад;

снять деньги со счета;

перевести деньги.

6.Клиент выбирает пункт «Снять деньги со счета».

7.Банкомат запрашивает, сколько денег надо снять.

8.Клиент вводит требуемую сумму.

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

10.Банкомат вычитает требуемую сумму из счета клиента.

11.Банкомат выдает клиенту требуемую сумму наличными.

12.Банкомат печатает чек для клиента.

13.Банкомат возвращает клиенту его карточку.

14.Прецедент завершается.

Альтернативный поток А1. Ввод неправильного PIN – кода

1.Банкомат информирует клиента, что код введен неправильно.

2.Возврат в Основной поток, пункт 13.

Альтернативный поток А2. Недостаточно денег на счете.

17

1.Банкомат информирует клиента, что денег на его счете недостаточно.

2.Возврат в Основной поток, пункт 13.

Поток ошибок Е1. Ошибка в подтверждении запрашиваемой суммы.

1.Банкомат сообщает пользователю, что при подтверждении запрашиваемой суммы произошла ошибка. И дает ему номер телефона службы поддержки клиентов банка.

2.Банкомат заносит сведения об ошибке в журнал ошибок. Каждая запись содержит дату и время ошибки, имя клиента, номер его счета и код ошибки.

3.Возврат в Основной поток, пункт 13.

Постусловия

Это условия, которые всегда должны быть выполнены после завершения прецедента. Например. В конце прецедента можно пометить флажком какой-нибудь переключатель. Как и для предусловий. С помощью постусловий можно вводить информацию о порядке выполнения прецедентов. Если, например, после одного из прецедентов должен всегда выполняться другой, это можно описать как постусловие. Такие условия имеются не у каждого прецедента.

18

Соседние файлы в папке ПР1