Основные элементы диаграмм последовательности

При моделировании взаимодействий вам предстоит выполнить три основные задачи:

· распределить поведение между граничными, сущностными и управляющими объектами,

Во время анализа пригодности вы выявили (или хотя бы постарались выявить) набор объектов, которые в совокупности способны обеспечить требуемое прецедентами поведение, а также разбили это поведение на дискретные блоки и создали управляющие объекты-контейнеры для каждого такого блока. Теперь нужно решить, какие объекты отвечают за каждый конкретный аспект поведения. Если вы не уверены в том, чтр представляют собой граничные, сущностные и управляющие объекты, то размышлять над тем, как распределить между ними поведение, еще рановато. Вернитесь к анализу пригодности и разберитесь в этом вопросе;

· детально показать взаимодействия между объектами, участвующими в каждом прецеденте.

Во время выполнения программы объекты взаимодействуют, посылая друг другу сообщения. Джекобсон называет их стимулами, имея в виду, что сообщение побуждает объект выполнить то или иное действие. Для каждого аспекта поведения в прецеденте вы должны идентифицировать необходимые сообщения/методы;

· закончить распределение операций по классам.

 

 

Нужно стремиться к тому, чтобы значительная часть атрибутов (до 75-80%) была включена в статическую модель по завершении анализа пригодности. Что же касается определения операций в ходе моделирования предметной области и анализа пригодности, мы рекомендуем не усердствовать. Более того, лучше вообще не определять никаких методов во время предварительного проектирования. Это связано с тем, что на данных этапах у вас еще нет информации, достаточной для принятия грамотных проектных решений. (Подумайте сами: пока не закончено составление диаграмм пригодности, вы еще даже не выявили всех объектов, а попытка распределить поведение по неполному набору объектов может быть ошибочной.) Однако при переходе к моделированию взаимодействий информации уже достаточно - по крайней мере, хочется на это надеяться. Изображая детали поведения объектов на диаграммах последовательности, вы должны окончательно определяться с тем, куда отнести все атрибуты и операции. Выполняя такое динамическое моделирование, вы продолжаете модифицировать и расширять статическую модель, улучшая понимание того, как должна работать система.

Диаграммы последовательности в том виде, в каком они существуют в UML, получены от диаграмм взаимодействия объектов Джекобсона и диаграмм трассировки событий, заимствованных из методики ОМТ. В процессе ICONIX дигараммы последовательности - это основной рабочий продукт проектирования. Для каждого прецедента создается диаграмма, описывающая как главную, так и все альтернативные последовательности действий. (При необходимости можно расположить fee на нескольких страницах.) В результате получается ядро динамической модели, в котором очень подробно определено поведение системы во время выполнения и то, как реализуется это поведение.

Диаграмма последовательности (рис. 7.2) состоит из четырех основных элементов:

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

· объектов, перенесённых прямое диаграммы пригодности и представленных в виде прямоугольников, в которых в формате «объект:класс» записывается имя или номер экземпляра объекта и имя класса объекта. Любое имя может быть опущено. Объекты можно также изображать в виде стереотипов, заимствованных из диаграмм пригодности; часто это помогает проследить сообщения, которыми обмениваются актеры, граничные и сущностные объекты;

· сообщений, изображаемых стрелками, которые направлены от одного объекта к другому. Стрелка может соединять две пунктирные линии, линию и прямоугольник, представляющий метод, или два таких прямоугольника;

· методов (операций), представляемых в виде прямоугольников. Они расположены на пунктирных линиях, соответствующих тем объектам, которым методы принадлежат. Длину прямоугольника можно использовать для того, чтобы показать фокус управления в последовательности: метод владеет управлением вплоть до точки, в которой прямоугольник кончается. Увы, понятие фокуса управления представляется полезным лишь с теоретической точки зрения, так как на практике большинство средств визуального моделирования не слишком хорошо поддерживает эту возможность. Если не удается показать фокус управления на диаграмме, просто отключите его отображение, чтобы ничто не отвлекало вас от действительно важной работы.