- •Университет машиностроения
- •Визуальное моделирование
- •Треугольник успеха
- •Роль нотации
- •Итеративная и инкрементальная разработка
- •Методология Rational Unified Process
- •Структурирование по времени
- •Структурирование по компонентам процесса
- •Стадии разработки
- •Начало проекта
- •Цели и задачи этапа (начало проекта)
- •Последовательность этапов проектирования
- •Последовательность этапов…
- •Последовательность этапов…
- •Последовательность этапов…
- •Примерный проект (описание)
- •Постановка задачи регистрации курсов
- •Начало проектирования Создание прецедентов
- •Актёры в системе регистрации курсов
- •Описание актёров
- •Прецеденты
- •Поток событий прецедента
- •Реализация потока событий
- •Пример потока событий для прецедента
- •Пример потока событий (продолжение)
- •Пример потока событий (продолжение)
- •Прикрепление описание потока событий
- •Отношения прецедентов
- •Диаграммы прецедентов (use cases diagrams)
- •Диаграммы прецедентов (use cases diagrams)
- •Диаграммы действий (activity diagrams)
- •Действия (Activity)
- •Переходы (State Transition)
- •Элементы выбора (Decision)
- •Условные переходы
- •Прямолинейный (Rectilinear) режим отображения
- •Линии синхронизации
- •Секции
- •Начальное и конечное состояния
- •Объекты и классы
- •Состояние, поведение и индивидуальность
- •Объекты и классы (продолжение)
- •Обозначение и регистрация классов
- •Стереотипы классов
- •Стереотипы классов
- •Определение стереотипа и описание класса
- •Пакеты
- •Объекты и классы в системе регистрации курсов
- •Создание пакетов в системе регистрации курсов
- •Диаграммы классов
- •Диаграммы классов (продолжение)
- •Диаграммы классов с отображением пакета
- •Реализация прецедентов
- •Диаграмма реализации прецедентов
- •Связь реализации с представлением
- •Диаграммы последовательности действий
- •Диаграммы последовательности действий
- •Диаграммы последовательности действий
- •Диаграммы последовательности действий
- •Диаграммы последовательности действий и граничные классы
- •«Сложность» диаграмм последовательности действий
- •Диаграммы взаимодействий
- •Диаграммы взаимодействий (продолжение)
- •Диаграммы для сценария добавление учебного курса
- •Диаграммы для сценария добавление учебного курса
- •Резюме
- •Определение отношений
- •Ассоциативные отношения
- •Агрегационные отношения
- •Агрегационные отношения
- •Роли классов в ассоциации
- •Мощность отношений
- •Возвратные отношения
- •Отношения в системе регистрации учебных курсов
- •Отношения между пакетами
- •Отношения между пакетами в системе регистрации учебных курсов
- •Анализ поведения и структуры классов
- •Добавление поведения и структуры
- •Документирование операций
- •Создание и документирование атрибутов
- •Отображение атрибутов и операций
- •Ассоциативные классы
- •Университет машиностроения Кафедра «Автоматика и процессы управления»
Роли классов в ассоциации
Вместо наименовании связи на диаграмме классов может указываться роль ассоциации, указывающей как один класс выступает в связи с
другим классом.
Определение наименования роли в ассоциации
Обычно роль может читаться в двух направлениях:
•преподаватель играет роль учителя для учебного курса;
•учебный курс имеет отношение к преподавателю, играющему роль
учителя.
Информатика. 2 семестр. Тема 13. UML
Мощность отношений
Мощность (multiplicity) отношения определяет допустимое количество объектов, участвующих в отношении с каждой стороны. Индикаторы мощности размещаются с каждой стороны линии связи.
1– ровно один;
0…* – ноль или больше; 1…* – один или больше;
5…8 – диапазон (5,6, 7 или 8); 4…7, 9 – комбинация (4,5,6,7 или 9).
Определение мощности отношения
Информатика. 2 семестр. Тема 13. UML
Возвратные отношения
Возвратная (reflexive) ассоциация или агрегация определяет взаимодействие объектов одного класса.
Для описания возвратных отношений используется название роли.
Возвратное отношение
Например: один объект предмет, выступающий в качестве вводного курса (prerequisite), связан с нулём или большим количеством объектов предмет.
Информатика. 2 семестр. Тема 13. UML
Отношения в системе регистрации учебных курсов
Для сценария добавить учебный курс можно определить следующие взаимодействующие объекты и типы отношений:
Начальный класс |
Конечный класс |
Тип отношения |
Параметры курса преподавателя |
Добавление учебного курса |
Агрегация |
Добавление учебного курса |
Менеджер курсов преподавателя |
Ассоциация |
Менеджер курсов преподавателя |
Предмет |
Ассоциация |
Предмет |
Учебный курс |
Агрегация |
Отношения в сценарии добавить учебный курс
Информатика. 2 семестр. Тема 13. UML
Отношения между пакетами
Отношение зависимости между пакетами возникает, если один или несколько классов в пакете А инициируют связь с одним или более общедоступными классами в пакете В.
Пакет А в этом случае называется пакетом-клиентом (client package) Пакет В – пакетом-поставщиком (supplier package)
Отношение между пакетами
Информатика. 2 семестр. Тема 13. UML
Отношения между пакетами в системе регистрации учебных курсов
В сценарии добавить учебный курс класс добавление учебного курса
отправляет сообщение классу менеджер курсов преподавателя. Это указывает на наличие связи между пакетами Интерфейсы и Объекты университета.
Отношение между пакетами для сценария добавить учебный курс
Информатика. 2 семестр. Тема 13. UML
Анализ поведения и структуры классов
Класс реализует ряд обязанностей, от которых зависит поведение (behavior) производных от него объектов. Обязанности исполняются с
помощью определённых для класса операций. В правильно спроектированных классах операция выполняет только одну задачу.
Наименование операции должно использовать термины класса, выполняющего операцию, а не класса, запрашивающего её выполнение
Структура (structure) объекта описывается атрибутами класса. Каждый атрибут – это поле данных, содержащееся в объекте класса. Объект, созданный на основе класса, наделён значениями всех атрибутов класса.
Если какой-либо объект класса не наделён атрибутами (не установлены значения), то необходимо проверить определение класса. Это может означать отсутствие целостности класса и необходимости его разделения.
Общее правило:
Класс должен представлять одну сущность.
Информатика. 2 семестр. Тема 13. UML
Добавление поведения и структуры
Диаграмма последовательности действий с операциями
Информатика. 2 семестр. Тема 13. UML
Документирование операций
Сигнатура операции (operation signature) представляется её входными и выходными параметрами. Описание операции должно отражает ёё функциональность и содержать комментарии о параметрах и возвращаемом значении.
Описание операции
выбрать преподавателя
Регистрация операций
Информатика. 2 семестр. Тема 13. UML
Создание и документирование атрибутов
Предварительный список атрибутов формируется на основе анализа предметной области. Описание атрибута должно содержать информацию о назначении атрибута, а не о его структуре.
Описание атрибута
название
Регистрация атрибутов
Информатика. 2 семестр. Тема 13. UML