- •Университет машиностроения
- •Визуальное моделирование
- •Треугольник успеха
- •Роль нотации
- •Итеративная и инкрементальная разработка
- •Методология 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