Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_Семестр2_Лекции / Информатика_2 семестр_Тема 13_UML.pptx
Скачиваний:
35
Добавлен:
05.06.2015
Размер:
1.82 Mб
Скачать

«Сложность» диаграмм последовательности действий

Основное правило:

Сохраняйте диаграмму простой

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

Моделирование условной логики (ЕСЛИ-ТО-ИНАЧЕ):

Если логика проста и требует небольшого количества сообщений, то её можно разместить на одной диаграмме с указанием выбора, который нужно сделать.

Как правило, лучше строить отдельные диаграммы для каждого варианта выбора (одну для ТО и одну для ИНАЧЕ)

Информатика. 2 семестр. Тема 13. UML

Диаграммы взаимодействий

Диаграмма взаимодействий (collaboration diagram) – отображает организацию взаимодействия объектов и связи между ними.

На диаграмме взаимодействий отображают:

объекты в виде прямоугольников;

связи между объектами в виде линий;

сообщения в виде текста и стрелки, направленной от клиента к поставщику.

Нотация языка UML для объектов, связей и сообщений на диаграмме взаимодействий

Информатика. 2 семестр. Тема 13. UML

Диаграммы взаимодействий (продолжение)

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

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

другом объектов.

Диаграмма взаимодействий

Информатика. 2 семестр. Тема 13. UML

Диаграммы для сценария добавление учебного курса

Диаграмма последовательности действий для сценария

Информатика. 2 семестр. Тема 13. UML

Диаграммы для сценария добавление учебного курса

Схема классов, участвующих в прецеденте

Информатика. 2 семестр. Тема 13. UML

Резюме

Диаграмма прецедентов представляет внешний вид системы. Поток событий отображает выполнение прецедента.

Сценарий описывает реализацию прецедента в виде взаимодействия групп объектов. Сценарий – это экземпляр прецедента, одиночный «проход» по потому событий прецедента. Прецедент – это «сплетение» сценариев.

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

Поток событий для прецедента описывается словами, а сценарий – диаграммами взаимосвязи:

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

Диаграмма взаимодействий показывает взаимодействие объектов, организованное вокруг самих объектов и их связи друг с другом.

Информатика. 2 семестр. Тема 13. UML

Определение отношений

Необходимость отношений

Система состоит из большого числа классов и объектов. Её поведение обеспечивается взаимодействием объектов.

Взаимодействие объектов часто описывают как отправку сообщений.

На этапе анализа выделяют два типа отношений – ассоциация и

агрегация.

Ассоциативные отношения

Ассоциация (association) – это двунаправленная семантическая

связь между классами. Количество связанных объектов определяется

мощностью связи.

Нотация языка UML для ассоциативного отношения

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

Информатика. 2 семестр. Тема 13. UML

Ассоциативные отношения

Ассоциативное отношение на схеме классов

Информатика. 2 семестр. Тема 13. UML

Агрегационные отношения

Агрегационное отношение – это специальная форма ассоциации между целым и его частью или частями.

Агрегация описывается через фразы «часть от» или «содержит». Класс-агрегат обозначается ромбом на линии связи.

Нотация языка UML для агрегационного отношения

Ассоциативная связь становится агрегационной, если можно утвердительно ответить на вопросы:

Можно ли применить фразу «часть от», чтобы описать отношение?

Происходит ли автоматическое применение некоторых операций над

целым к его частям?

Существует ли выраженная асимметрия в отношении, когда один класс подчинён другому?

Например, отношение между предметом и учебным курсом моделируется как агрегация – предмет содержит несколько учебных курсов.

Информатика. 2 семестр. Тема 13. UML

Агрегационные отношения

При выборе типа связи необходимо учитывать предметную область. Как связаны объекты в рамках моделируемых процессов?

Например, Автомобиль и шины в автомастерской связаны как «целое-и-часть», но в автомагазине отношение будет ассоциативным

Наименование ассоциативной связи должно быть ненаправленным. Агрегационная связь всегда направлена – «имеет», «включает».

Ассоциативное и агрегационное отношение на схеме классов

Информатика. 2 семестр. Тема 13. UML