- •Университет машиностроения
 - •Визуальное моделирование
 - •Треугольник успеха
 - •Роль нотации
 - •Итеративная и инкрементальная разработка
 - •Методология Rational Unified Process
 - •Структурирование по времени
 - •Структурирование по компонентам процесса
 - •Стадии разработки
 - •Начало проекта
 - •Цели и задачи этапа (начало проекта)
 - •Последовательность этапов проектирования
 - •Последовательность этапов…
 - •Последовательность этапов…
 - •Последовательность этапов…
 - •Примерный проект (описание)
 - •Постановка задачи регистрации курсов
 - •Начало проектирования Создание прецедентов
 - •Актёры в системе регистрации курсов
 - •Описание актёров
 - •Прецеденты
 - •Поток событий прецедента
 - •Реализация потока событий
 - •Пример потока событий для прецедента
 - •Пример потока событий (продолжение)
 - •Пример потока событий (продолжение)
 - •Прикрепление описание потока событий
 - •Отношения прецедентов
 - •Диаграммы прецедентов (use cases diagrams)
 - •Диаграммы прецедентов (use cases diagrams)
 - •Диаграммы действий (activity diagrams)
 - •Действия (Activity)
 - •Переходы (State Transition)
 - •Элементы выбора (Decision)
 - •Условные переходы
 - •Прямолинейный (Rectilinear) режим отображения
 - •Линии синхронизации
 - •Секции
 - •Начальное и конечное состояния
 - •Объекты и классы
 - •Состояние, поведение и индивидуальность
 - •Объекты и классы (продолжение)
 - •Обозначение и регистрация классов
 - •Стереотипы классов
 - •Стереотипы классов
 - •Определение стереотипа и описание класса
 - •Пакеты
 - •Объекты и классы в системе регистрации курсов
 - •Создание пакетов в системе регистрации курсов
 - •Диаграммы классов
 - •Диаграммы классов (продолжение)
 - •Диаграммы классов с отображением пакета
 - •Реализация прецедентов
 - •Диаграмма реализации прецедентов
 - •Связь реализации с представлением
 - •Диаграммы последовательности действий
 - •Диаграммы последовательности действий
 - •Диаграммы последовательности действий
 - •Диаграммы последовательности действий
 - •Диаграммы последовательности действий и граничные классы
 - •«Сложность» диаграмм последовательности действий
 - •Диаграммы взаимодействий
 - •Диаграммы взаимодействий (продолжение)
 - •Диаграммы для сценария добавление учебного курса
 - •Диаграммы для сценария добавление учебного курса
 - •Резюме
 - •Определение отношений
 - •Ассоциативные отношения
 - •Агрегационные отношения
 - •Агрегационные отношения
 - •Роли классов в ассоциации
 - •Мощность отношений
 - •Возвратные отношения
 - •Отношения в системе регистрации учебных курсов
 - •Отношения между пакетами
 - •Отношения между пакетами в системе регистрации учебных курсов
 - •Анализ поведения и структуры классов
 - •Добавление поведения и структуры
 - •Документирование операций
 - •Создание и документирование атрибутов
 - •Отображение атрибутов и операций
 - •Ассоциативные классы
 - •Университет машиностроения Кафедра «Автоматика и процессы управления»
 
«Сложность» диаграмм последовательности действий
Основное правило:
Сохраняйте диаграмму простой
Так как главное назначение диаграммы последовательности действий – отображение объектов, их взаимодействия, сообщений между ними и функциональности, задаваемой сценарием
Моделирование условной логики (ЕСЛИ-ТО-ИНАЧЕ):
Если логика проста и требует небольшого количества сообщений, то её можно разместить на одной диаграмме с указанием выбора, который нужно сделать.
Как правило, лучше строить отдельные диаграммы для каждого варианта выбора (одну для ТО и одну для ИНАЧЕ)
Информатика. 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
