Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Uml Book (Rus).doc
Скачиваний:
38
Добавлен:
11.08.2019
Размер:
58.74 Mб
Скачать

Прецеденты и сценарии

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

Желательно отделять главный поток от альтернативных, поскольку прецедент описывает не одну, а множество последовательностей, и выразить все детали ин­тересующего вас прецедента с помощью одной последовательности невозможно. Например, в системе управления человеческими ресурсами присутствует преце­дент Нанять работника. У этой общей бизнес-функции существует множество вариаций. Вы можете переманить сотрудника из другой компании (так бывает чаще всего), перевести человека из одного подразделения в другое (эта практика распространена в транснациональных компаниях) или нанять иностранца (осо­бый случай, регулируемый специальными правилами). Каждый вариант описы­вается своей последовательностью.

Таким образом, один прецедент Нанять работника описывает несколько по­следовательностей, или сценариев, каждый из которых представляет одну из воз­можных вариаций данного потока событий. Сценарий (Scenario) - это некоторая последовательность действий, иллюстрирующая поведение системы. Сценарии находятся в таком же отношении к прецедентам, как экземпляры (см. главу 13) к классам, то есть сценарий - это экземпляр прецедента.

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

Прецеденты и кооперации

Как было указано, прецедент описывает желательное поведение системы (под­системы, класса или интерфейса), но не специфицирует его реализацию. Это важ­ная особенность, поскольку анализ системы (по результатам которого специфици­руется ее поведение) по возможности не должен учитывать проблемы реализации (иными словами, как это поведение должно быть материализовано - см. главы 9 и 10). В конце концов, однако, прецеденты придется реализовать. Для этого необ­ходимо будет создать сообщество классов и других элементов, в результате со­вместной работы которых будет достигнуто желаемое поведение. Такое сообще­ство, включая его динамическую и статическую структуру, называется в UML кооперацией (см. главу 27).

Как видно из рис. 16.4, реализацию прецедента с помощью кооперации можно специфицировать явно. Но чаще всего один прецедент реализуется в точности одной кооперацией, так что явно описывать отношение не нужно.

Применение Хотя вы можете не визуализировать это отношение явно, приме­няемые для работы с моделями инструментальные средства, ско­рее всего, будут так или иначе его поддерживать.

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

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