Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ НА ГОСы (все ответы).doc
Скачиваний:
31
Добавлен:
14.08.2019
Размер:
1.93 Mб
Скачать

3. Универсальный язык моделирования uml, его назначение. Диаграммы взаимодействия: последовательные и кооперативные. Применение этих диаграмм. (тп)

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

Сообщение - это средство, с помощью которого объект-отправитель запрашивает у объекта-получателя выполнение 1-ой из его операций.

Информационное сообщение - это сообщение, снабжающее объект-получатель информацией для обновления его состояний.

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

Стрелки соответствуют сообщениям, передаваемым между действующим лицом и объектом или между объектами для выполнения требуемых функций. На диаграмме последовательности объект изображается в виде прямоугольника на вершине пунктирной вертикальной линии. Эта линия называется "линией жизни" (life line) объекта. Она представляет собой фрагмент жизненного цикла объекта в процессе взаимодействия.

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

Само-делегирование - это сообщения, которые объект посылает самому себе, при этом стрелки сообщение указывает на туже самую линию, но жизни.

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

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

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

Применение диаграмм

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

ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 8