На схемах последовательностей можно отображать разные уровни детализации. Можно определить уровень детализации в двух разных измерениях практически независимо друг от друга.
Линии жизни могут представлять один из уровней детализации.
- Объекты в существующем или разрабатываемом программном коде.
- Компоненты и их субкомпоненты, как правило, без видов, посредников и других соединительных механизмов.
- Система и внешние субъекты
Сообщения могут представлять один из уровней детализации.
- Программные сообщения в программном коде в API или веб-интерфейсе.
- Транзакции или субтранзакции, например между пользователями и системой или между кодом и базой данных.
- Варианты использования — основные виды взаимодействий между пользователями и системой.
При анализе существующего кода и описании новой проектируемой системы часто имеет смысл создавать и анализировать представления с меньшей детализацией.
Описание вариантов
На схеме отображается одна, типичная последовательность событий. Если необходимо показать альтернативные возможности, такие как сценарии сбоев, можно воспользоваться одним из описанных ниже методов.
- Создать отдельные схемы последовательностей для описания этих сценариев.
- Использовать описание структур управления с помощью фрагментов, чтобы показать циклы, альтернативные варианты и т. д.
Оценка конструкции
Схему можно использовать для оценки распределения задач между ее объектами или компонентами. Необходимо провести реструктуризацию, если наблюдаются следующие явления.
- Создается впечатление, что одна линия жизни выполняет все функции, вызывая все остальные элементы схемы, в то время как другие линии жизни лишь пассивно отвечают на эти вызовы.
- Многие сообщения пересекают линии жизни. Каждая линия жизни должна отправлять сообщения небольшому числу соседних элементов и не должна взаимодействовать с соседями этих соседних элементов. Как правило, имеется возможность расположить линии жизни так, чтобы сообщения пересекали линии жизни всего в нескольких местах; в местах пересечения целевая линия жизни не должна обмениваться сообщениями, пересекающими какие-либо другие линии жизни.
- Некоторые линии жизни выполняют несколько разных видов задач. Область ответственности каждой линии жизни должна описываться в одном кратком предложении. В этом предложении должны обобщаться сведения о том, что линия жизни делает в ответ на каждое получаемое сообщение.
Классы и линии жизни
Линии жизни на схемах последовательностей показывают экземпляры классов или интерфейсов компонентов.