Каждый прецедент- это сплетение первичных (нормальный поток для прецедента) и вторичных сценариев (логика ЧТО-ЕСЛИ в прецеденте). Это значит, что существует множество сценариев для системы - первичные и вторичные сценарии для всех прецедентов. На этапе анализа уже можно сказать, что определение первичного сценария для каждого выбранного прецедента будет достаточным.
Когда вы обнаружите, что каждый новый сценарий повторяет большинство шагов из предыдущего, то вы добились цели. Данная фаза анализа должна завершаться по мере того, как разработчики продумают приблизительно 80% первичных сценариев и выборочно коснутся вторичных. Если проработать больше сценариев, результаты анализа, вероятно, окажутся хуже; если меньше - не будет достаточного понимания поведения системы, чтобы правильно оценить риски.
По методологии Rational Unified Process реализации прецедентов (use case realizations) отражаются в логическом представлении модели.
Обратимся к концепции стереотипов, чтобы показать,
что прецеденты, созданные в логическом представлении,являются реализациями прецедентов из представления
use case. Другими словами, прецеденты в логическом
представлении имеют те же имена, что и в
представлении use case, а также, стереотип,
указывающий на реализацию. В языке UML
реализация прецедентов изображается в виде
пунктирного овала (см. рис.15). Логическое Рис. 15. Нотация UML
представление прецедентов обычно отображается для реализации
на диаграмме прецедентов (или наборе диаграмм). Прецедента.
Создание диаграммы прецедентов в логическом представлении модели в программе Rational Rose состоит из следующих шагов:
1. Щелкните правой кнопкой мыши по папке Logical View( Логическое представление) в окне браузера.
2. В появившемся контекстно-зависимом меню выберете команду New→Use Case (Создать → Прецедент). В раздел логического представления модели будет добавлена новая диаграмма прецедентов с названием New Diagram.
3. Введите для новой диаграммы название Realizations.
Окно браузера с диаграммой прецедентов Realizations показано на рис.16.
Последовательность создания реализацийпрецедентов в программе Rational Rose:
1. Дважды щелкните по диаграмме прецедентов
Realizations в списке браузера, чтобы открыть
диаграмму.
2. Щелкните по кнопке Use Case (Прецедент)
на панели инструментов.
3. Щелкните по диаграмме прецедентов.
В диаграмму и список браузера будет добавлен
новый прецедент.
4. Дважды щелкните по изображению
прецедента. На экране появится диалоговое окно Рис.16. Реализация прецедентов
Use Case Specification (Параметры прецедента).
5. Введите название прецедента (такое же, как у модели) в поле ввода Name (Имя). Заметьте, что вы должны указать название в диалоговом окне параметров прецедента или в браузере, чтобы сообщить программе Rational Rose об использовании другого пространства имен (namespase). Если вы введете название прецедента непосредственно на диаграмме, программа Rational Rose будет считать, что это этот же прецедент, что и в представлении Use Case.
6. В открывающемся списке Stereotype (Стереотип) выберете стереотип Use Case realization.
7. Щелкните по кнопке OK, чтобы закрыть диалоговое окно.
Диаграмма прецедентов Realizations показана на рис.17.
Связь между прецедентами в логическом и Use Case-представлении отражается путем добавления прецедентов из представления Use Case на диаграмму Realizations и соединения с их реализациями посредством однонаправленной ассоциативной связи с соответствующим стереотипом. (В языке UML используется стереотипные зависимости, но они пока не поддерживаются программой Rational Rose.)
Рис. 17. Диаграмма реализаций прецедентов.
Документирование сценариев
Поток событий для прецедента описывается словами, тогда как сценарии отображаются с помощью диаграмм взаимосвязи (interaction diagrams). Существует два типа диаграмм взаимодействий (collaboration diagrams). Каждая диаграмма является графическим представлением сценария.
Диаграммы последовательности действий
Диаграммы последовательности действий ( seguence diagram) отображает взаимодействие объектов, упорядоченное по времени. На ней показаны объекты и классы, используемые в сценарии, и последовательность сообщений, которыми обмениваются объекты, для выполнения сценария. Диаграммы последовательности действий обычно соответствуют реализациям прецедентов в логическом представлении системы.
В языке UML объект на диаграмме последовательности действий выглядит как прямоугольник, содержащий подчеркнутое название объекта. Название может состоять только из имени объекта, из имени объекта и его класса или только имени класса (анонимный объект). Эти три вида наименований объекта показаны на рис. 18.
Рис. 18. Наименование объектов на диаграмме
последовательности действий.
Названия объектов могут быть конкретными (например, Алгебра 101, раздел 1) или общими (например, учебный курс). Часто анонимные объекты используются для представления любого объекта данного класса.
Каждый объект также имеет свою временную линию (timeline), изображаемую пунктиром под объектом. Сообщения, передаваемые между объектами, указываются стрелками, направленными от клиента(отправителя сообщения) к поставщику (получателю сообщения).
На рис.19 представлена нотация языка UML для объектов и сообщений на диаграмме последовательности действий.
Для создания диаграммы последовательности действий в программе Rational Rose:
1. Щелкните правой кнопкой мыши по папке Logical View (Логическое представление) в окне браузера.
2. В появившемся контекстно-зависимом меню выберете команду New → Seguence Diagram (Создать→ Диаграмма последовательности действий).
3. Введите ее имя.
Рис. 19. Нотация языка UML для объектов и сообщений на диаграмме
последовательности действий.
Окно браузера с диаграммой последовательности действий показано на рис.20. Чтобы создать объекты и сообщения на диаграмме последовательности действий в программе
Rational Rose:
1. Дважды щелкните по диаграмме последовательности действий в списке браузера, чтобы открыть диаграмму.
2. Выберете из списка актера, щелкнув по нему мышью.
3. Перетащите актера на диаграмму последовательности действий.
4. Щелкните по кнопке Object (Объект) на панели инструментов.
5. Щелкните по диаграмме последовательности действий, чтобы добавить новый объект.
6. Введите имя объекта.
Рис.20. Окно браузера с диаграммой последовательности действий
7. Повторите предыдущие шаги для каждого объекта и актера в сценарии.
8. Щелкните по кнопке Object Message (Сообщение) на панели инструментов.
9. Щелкните по актеру или объекту-отправителю сообщения и проведите стрелку сообщения к актеру или объекту-получателю.
10. Введите название сообщения.
11. повторите шаги с седьмого по девятый для каждого сообщения в сценарии.
Диаграмма последовательности действий для сценария создание учебного предмета(Create a Course) изображена на рис.21.
Рис. 21. Диаграмма последовательности действий.
Присваивание объектов соответствующим классам на диаграмме последовательности действий в программе Rational Rose предусматривает выполнение следующих шагов:
1. В списке браузера выберете класс, щелкнув по нему мышью.
2. Перетащите класс на объект на диаграмме последовательности действий. Программа Rational Rose автоматически добавит имя класса с предшествующим знаком двоеточия к названию объекта. Если у объекта нет имени, название примет вид: имя класса. Если у стереотипа данного класса есть значок, то он будет использован для изображения объекта на диаграмме.
Диаграммы последовательности действий
и граничные классы
Граничные классы добавляются на диаграмму последовательности действий для того, чтобы показать взаимодействие с пользователем или другой системой. На стадии анализа назначение граничных классов на диаграмме заключается в описании требований к интерфейсу, но не в описании реализации интерфейса.
Реальные сообщения, поступающие от актера граничному классу, и информация об их последовательности зависят от структуры приложения и определяются на стадии проектирования. Они могут изменяться, по мере того как в систему добавляется информация о способах реализации.
Сложность и диаграммы последовательности действий
Возникает вопрос: «Насколько сложной может быть диаграмма последовательности действий?». Ответ такой: «Постарайтесь сделать её простой!». Прелесть этой диаграммы в её простоте - можно легко понять и увидеть объекты, взаимодействия объектов, сообщения между ними и функциональность, задаваемую сценарием.
Следующий вопрос выглядит так: «Что делать с условной логикой?» ( с логикой ЕСЛИ-ТО-ИНАЧЕ, которая существует в реальном мире). Ответ на него также субъективен. Если логика проста и требует небольшого количества сообщений, то обычно добавляют ее к одной диаграмме и используют примечания для указания выбора, который нужно сделать. С другой стороны, если логика ЕСЛИ-ТО-ИНАЧЕ требует сложных сообщений, обычно рисуют отдельные диаграммы: одну для случая ЕСЛИ, одну для ТО и одну для ИНАЧЕ.