Разделы презентаций


UML

Содержание

Визуальное моделированиеВизуальным моделированием (visual modeling) называется способ представления идей и проблем реального мира с помощью моделей. Модель помогает понять проблему всем участникам, задействованным в реализации проекта на различных этапах.Модель обеспечивает более

Слайды и текст этой презентации

Слайд 1Университет машиностроения
Кафедра «Автоматика и процессы управления»
Информатика. 2 семестр. Тема 13.

UML
Дисциплина
Информационные технологии
Тема 13
Unified Modeling Language
2 семестр
Унифицированный язык моделирования

Университет машиностроенияКафедра «Автоматика и процессы управления»Информатика. 2 семестр. Тема 13. UMLДисциплинаИнформационные технологииТема 13 Unified Modeling Language2 семестрУнифицированный

Слайд 2Визуальное моделирование
Визуальным моделированием (visual modeling) называется способ представления идей и

проблем реального мира с помощью моделей.
Модель помогает понять проблему

всем участникам, задействованным в реализации проекта на различных этапах.
Модель обеспечивает более точную оценку необходимых ресурсов, чёткую проработку планов и эффективное функционирование создаваемых систем.

Модель (model) – это абстракция, описывающая суть сложной проблемы или структуры без акцента на несущественных для рассмотрения деталях, тем самым делая её более понятной.

Принятые обозначения, используемые для построения модели, являются нотациями (notation).

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

Визуальное моделированиеВизуальным моделированием (visual modeling) называется способ представления идей и проблем реального мира с помощью моделей. Модель

Слайд 3Треугольник успеха
Средства, необходимые для успешного проекта:
Знание нотации без умения её

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

процессы не позволит завершить проект;
Неверное определение орудий труда (инструментов) приведет к неудаче в реализации проекта.

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

Треугольник успехаСредства, необходимые для успешного проекта:Знание нотации без умения её применения для описания процессов провоцирует ошибки;Неумение описывать

Слайд 4Роль нотации
Нотация является важной составляющей любой модели – она служит

связующим звеном между процессами.
Является языком для описания взаимодействий, которые

неочевидны или не могут быть получены непосредственно из кода;
Обеспечивает достаточную семантику, позволяющую охватить важные стратегические и тактические решения;
Предлагает конкретную форму, помогающую человеку рассуждать о предметной области, а средствам моделирования воплощать описанные идеи.

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

Нотация выполняет три функции:

Унифицированный язык моделирования (Unified Modeling Language, UML) – расширяемая нотация, используемая на этапах анализа и проектирования

Роль нотацииНотация является важной составляющей любой модели – она служит связующим звеном между процессами. Является языком для

Слайд 5Информатика. 2 семестр. Тема 13. UML
Итеративная и инкрементальная разработка
Разработка с

использованием итеративного и инкрементального жизненного цикла состоит из создании серии

версий, которые развиваются в направлении конечной системы

Риск – это степень нашего незнания какого-либо аспекта функционирования системы

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

Информатика. 2 семестр. Тема 13. UMLИтеративная и инкрементальная разработкаРазработка с использованием итеративного и инкрементального жизненного цикла состоит

Слайд 6Методология Rational Unified Process
Методика RUP используется для поддержки управления

итеративным и инкрементальным жизненным циклом разработки
Время (разделение жизненного цикла на

фазы и версии);
Компоненты процесса (создание необходимого набора средств для выполнения чётко определённых задач);

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

Два направления структурирования:

Методология Rational Unified Process Методика RUP используется для поддержки управления итеративным и инкрементальным жизненным циклом разработкиВремя (разделение

Слайд 7Структурирование по времени
Задумка (inception) – определение общей идеи проекта;
Проработка

(elaboration) – планирование необходимых работ и ресурсов, указание особенностей и

создание архитектуры;
Создание (construction) – построение продукта при помощи серии последовательных версий;
Переходный период (transition) – поставка продукта пользователям (производство, распространение, обучение).

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

Работа над проектом состоит из следующих временных этапов:

Структурирование по времени Задумка (inception) – определение общей идеи проекта;Проработка (elaboration) – планирование необходимых работ и ресурсов,

Слайд 8Структурирование по компонентам процесса
Построение бизнес-модели (business modeling) – определение

необходимых возможностей системы и потребностей пользователей;
Определение требований к системе (requirements)

– изложение общей идеи системы совместно с функциональными и нефункциональными условиями её работы;
Анализ (analysis) – описание способов исполнения системы на этапе реализации (формализация требований);
Проектирование (design) – описание способов исполнения системы на этапе реализации (определение структуры объектов и последовательности операций);
Реализация (implementation) – кодирование и генерация работающих программных модулей системы;
Тестирование (test) – проверка функционирования системы;
Внедрение (deployment) – поставка системы конечным пользователям и их обучение.

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

Работа над проектом состоит из следующих стадий:

Структурирование по компонентам процесса Построение бизнес-модели (business modeling) – определение необходимых возможностей системы и потребностей пользователей;Определение требований

Слайд 9Стадии разработки
Информатика. 2 семестр. Тема 13. UML
Распределение объемов работ по

стадиям разработки
Версии системы (прототипы) используются для проверки аналитических решений в

области архитектуры системы
Стадии разработкиИнформатика. 2 семестр. Тема 13. UMLРаспределение объемов работ по стадиям разработкиВерсии системы (прототипы) используются для проверки

Слайд 10Начало проекта
Информатика. 2 семестр. Тема 13. UML
Определение «правильного» проекта
Простой, но

достаточно сложный и важный вопрос:
«Правильна ли создаваемая система?»
Никому не нужна

система, которая ничего не автоматизирует или автоматизирует неправильные вещи…

Для начала проекта нужна идея:
«Наша система делает…»

Собираются и документируются идеи;
Предварительно описываются риски;
Описываются внешние интерфейсы;
Планируется общая функциональность системы;
Создаются тестовые прототипы для проверки общей концепции (proof of concept prototypes).

Начало проектаИнформатика. 2 семестр. Тема 13. UMLОпределение «правильного» проектаПростой, но достаточно сложный и важный вопрос:«Правильна ли создаваемая

Слайд 11Цели и задачи этапа (начало проекта)
Информатика. 2 семестр. Тема 13.

UML
Основная цель – оформление (описание) процессов
Решаемые задачи:
бизнес-требований;
доступных ресурсов;
возможностей использования различных

технологий;
идей и пожеланий конкретных пользователей.

Анализ:

профессиональные и научные исследования
мозговой штурм;
анализ эффективности;
анализ функциональности;
создание прототипов.

Выработка целевой концепции системы, описание задач и приоритетов:

Первичное сокращение ресурсов и времени

Цели и задачи этапа (начало проекта)Информатика. 2 семестр. Тема 13. UMLОсновная цель – оформление (описание) процессовРешаемые задачи:бизнес-требований;доступных

Слайд 12Последовательность этапов проектирования
Информатика. 2 семестр. Тема 13. UML
при создании информационной

системы
1. Составить общее словесное описание системы:
Техническое (рабочее) наименование, отвечающее на

вопрос «что делающая?»
Краткое описание, определяющее преимущества и особенности (ограничения);
Интерпретация основного процесса на естественном языке с предполагаемым распределением ролей.

2. Определить риски

3. Записать известные особенности работы системы:

Что могут делать пользователи (использование);
Какая информация выдается системой (содержание);
Какие ограничения на множества известны (количества);
Этапы (шаги) основного процесса;
Условия возникновения альтернативных процессов.

Последовательность этапов проектированияИнформатика. 2 семестр. Тема 13. UMLпри создании информационной системы1. Составить общее словесное описание системы:Техническое (рабочее)

Слайд 13Последовательность этапов…
Информатика. 2 семестр. Тема 13. UML
4. Создать прецеденты (Use

cases)
Определить актёров (actor) и их роли (возможности, обязанности) в

системе;
Определить для актёров направления потоков данных (инициации взаимодействия);
Описать возможности взаимодействия актёров с системой (диалоги актёр-система) как прецеденты;
Записать потоки событий для прецедентов.

5. Установить отношения прецедентов

(продолжение)

6. Составить диаграммы прецедентов

7. Составить диаграммы действий (Activity diagram) как схем решения каких-нибудь задач в системе

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

Анализ поведения

Последовательность этапов…Информатика. 2 семестр. Тема 13. UML4. Создать прецеденты (Use cases) Определить актёров (actor) и их роли

Слайд 14Последовательность этапов…
Информатика. 2 семестр. Тема 13. UML
8. Определить классы и

объекты
Классы задают структуру объектов и их поведение
В рамках ООП работа

системы описывается через операции объектов над объектами

10. При большом количестве классов создать пакеты

(продолжение)

11. Исследовать реализацию прецедентов через сценарии (scenario) – одиночные проходы по потоку событий

Стереотип устанавливает принцип использования объектов данного класса в системе

9. Определить стереотипы классов

Анализ структуры

Изучение взаимодействия объектов

Последовательность этапов…Информатика. 2 семестр. Тема 13. UML8. Определить классы и объектыКлассы задают структуру объектов и их поведениеВ

Слайд 15Последовательность этапов…
Информатика. 2 семестр. Тема 13. UML
(продолжение)
12. Отобразить сценарии через

диаграммы взаимосвязи (interaction diagrams) :
диаграммы последовательности действий (sequence diagrams)

– для просмотра сценария во времени;
диаграммы взаимодействий (collaboration diagrams) – для анализа взаимодействия объектов.

Определение отношений объектов

13. Проанализировать семантические отношения

ассоциативные;
агрегационные.

14. Определить мощность (multiplicity) отношений

15. При наличии в проекте пакетов, между ними отображаются отношения зависимости.

16. Определить поведение и структуру для классов

Последовательность этапов…Информатика. 2 семестр. Тема 13. UML(продолжение)12. Отобразить сценарии через диаграммы взаимосвязи (interaction diagrams) : диаграммы последовательности

Слайд 16Примерный проект (описание)
Информатика. 2 семестр. Тема 13. UML
Система регистрации учебных

курсов для университета
Описание:
Учебный процесс построен на свободной записи студентов на

учебные курсы. Контролируется общее количество учебных часов.

Организация процесса регистрации:

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

Примерный проект (описание)Информатика. 2 семестр. Тема 13. UMLСистема регистрации учебных курсов для университетаОписание:Учебный процесс построен на свободной

Слайд 17Постановка задачи регистрации курсов
Информатика. 2 семестр. Тема 13. UML
Главные риски:
Порядок

работы системы:
Эффективность сохранения и получения информации об учебных планах и

учёта студентов

В начале студенты могут запросить каталог курсов;
Информация о курсе должна содержать фамилию преподавателя, название факультета и краткое описание, помогающее студенту сделать выбор;
Студент должен выбрать четыре курса;
Также студенту нужно указать ещё два варианта, на случай, если курсы будут переполнены или отменены;
На каждый курс должно быть записано не менее трёх и не более десяти студентов;
Курс, на который запишутся менее трёх студентов, будет отменён;
По завершении регистрации система направляет информацию в систему оплаты для выставления счетов.

Постановка задачи регистрации курсовИнформатика. 2 семестр. Тема 13. UMLГлавные риски:Порядок работы системы:Эффективность сохранения и получения информации об

Слайд 18Начало проектирования
Создание прецедентов
Информатика. 2 семестр. Тема 13. UML
Поведение разрабатываемой системы

описывается с помощью функциональной модели, отображающей системные прецеденты (use cases),

системное окружение (актёры – actors) и связи между прецедентами и актёрами (диаграммы прецедентов – use cases diagrams)

Нотация языка UML для изображения актёра

Актёры

Актёры не являются частью системы – они представляют собой кого-то или что-то, то должно взаимодействовать с системой

Актёры могут:
только снабжать информацией систему;
только получать информацию из системы;
обмениваться информацией с системой.

Начало проектированияСоздание прецедентовИнформатика. 2 семестр. Тема 13. UMLПоведение разрабатываемой системы описывается с помощью функциональной модели, отображающей системные

Слайд 19Актёры в системе регистрации курсов
Информатика. 2 семестр. Тема 13. UML
Регистрация

актёра в Rational Rose
Возможности актёров:
Студент хочет зарегистрироваться на курсы;

Преподаватель хочет выбрать курсы, которые будет читать;
Регистратор должен создать учебный план и составить каталог на семестр;
Регистратор должен хранить информацию о курсах, преподавателях и студентах;
Система оплаты должна получать информацию из системы регистрации.
Актёры в системе регистрации курсовИнформатика. 2 семестр. Тема 13. UMLРегистрация актёра в Rational RoseВозможности актёров: Студент хочет

Слайд 20Описание актёров
Информатика. 2 семестр. Тема 13. UML
Описание актёра студент
Возможный список

актёров:
Студент – человек, который регистрируется для посещения занятий в

университете;
Преподаватель – человек, который читает лекции в университете;
Регистратор – человек, управляющий системой регистрации курсов;
Система оплаты – внешняя система, выполняющая функции расчётов за курсы.
Описание актёровИнформатика. 2 семестр. Тема 13. UMLОписание актёра студентВозможный список актёров: Студент – человек, который регистрируется для

Слайд 21Прецеденты
Информатика. 2 семестр. Тема 13. UML
Нотация языка UML для прецедента
С

помощью прецедентов (use cases) моделируется диалог между актёром и системой,

определяются возможности, обеспечиваемый системой для актёра.

Регистрация прецедента в Rational Rose

ПрецедентыИнформатика. 2 семестр. Тема 13. UMLНотация языка UML для прецедентаС помощью прецедентов (use cases) моделируется диалог между

Слайд 22Поток событий прецедента
Информатика. 2 семестр. Тема 13. UML
Поток событий (flow

of events) прецедента – это последовательность событий, необходимых для обеспечения

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

Поток событий должен определять:
когда и как прецедент начинается и заканчивается;
как он взаимодействует с актёром;
какие данные ему нужны;
нормальную последовательность событий для прецедента
описание потоков в альтернативных и исключительных ситуациях

Поток событий прецедентаИнформатика. 2 семестр. Тема 13. UMLПоток событий (flow of events) прецедента – это последовательность событий,

Слайд 23Реализация потока событий
Информатика. 2 семестр. Тема 13. UML
Стандартный шаблон описания

потока:
Х. Поток событий для прецедента .
X.1. Предусловия.
Х.2. Главный поток.
Х.3. Под-потоки

(если применимы).
Х.4. Альтернативные потоки
Реализация потока событийИнформатика. 2 семестр. Тема 13. UMLСтандартный шаблон описания потока:Х. Поток событий для прецедента .X.1. Предусловия.Х.2.

Слайд 24Пример потока событий для прецедента
Информатика. 2 семестр. Тема 13. UML
1

Поток событий для прецедента «Выбор курсов для преподавателя»
1.1 Предусловия
Перед началом

должен быть выполнен под-поток создание учебных курсов прецедента управление информацией о курсах
1.2 Главный поток
Прецедент начинает выполняться, когда преподаватель подключается к системе регистрации и вводит свой пароль.
Система проверяет правильность пароля (E-1) и просит преподавателя выбрать текущий или будущий семестр (E-2).
Преподаватель вводит нужный семестр.
Система предлагает выбрать требуемую операцию: добавить, удалить, посмотреть, напечатать или выйти.
Если выбрана операция добавить: выполняется поток добавить учебный курс (S-1).
Если выбрана операция удалить: выполняется поток удалить учебный курс (S-2).
Если выбрана операция посмотреть: выполняется поток посмотреть расписание (S-3).
Если выбрана операция напечатать: выполняется поток напечатать расписание (S-4).
Если выбрана операция выйти: прецедент завершается.
Пример потока событий для прецедентаИнформатика. 2 семестр. Тема 13. UML1 Поток событий для прецедента «Выбор курсов для

Слайд 25Пример потока событий (продолжение)
Информатика. 2 семестр. Тема 13. UML
1.3 Под-потоки
S-1:

добавить учебный курс
Система отображает диалоговое окно, содержащее поле для ввода

названия и номера предмета. Преподаватель вводит название и номер предмета (E-3).
Система отображает список учебных курсов для указанного предмета (E-4).
Преподаватель выбирает учебный курс. Система закрепляет за преподавателем выбранный учебный курс (E-5). Затем прецедент начинается сначала.
S-2: удалить учебный курс
Система отображает диалоговое окно, содержащее поле для ввода названия и номера учебного курса. Преподаватель выбирает название и номер учебного курса (S-6).
Система удаляет взаимосвязь курса с преподавателем (E-7).
Затем прецедент начинается сначала.
S-3: посмотреть расписание
Система …
S-4: напечатать расписание
Система …
Пример потока событий (продолжение)Информатика. 2 семестр. Тема 13. UML1.3 Под-потокиS-1: добавить учебный курсСистема отображает диалоговое окно, содержащее

Слайд 26Пример потока событий (продолжение)
Информатика. 2 семестр. Тема 13. UML
1.4 Альтернативные

потоки
E-1: введен неверный идентификационный номер преподавателя
Преподаватель должен повторить ввод идентификационного

номера или завершить прецедент.
E-2: введен неверный семестр
Преподаватель должен повторить ввод семестра или завершить прецедент.
E-3: введено неверное название или номер предмета
Преподаватель должен повторить ввод или завершить прецедент.
E-4: список учебных курсов не может быть отображён
Пользователю сообщается, что данная команда в настоящий момент недоступна. Прецедент начинается сначала.
E-5: преподаватель не может быть прикреплён к выбранному учебному курсу
Информация сохраняется, система осуществит прикрепление позже. Выполнение прецедента продолжается.
E-6: введено неверное название или номер учебного курса
Преподаватель должен повторить ввод или завершить прецедент.
E-7: система не может удалить связь курса с преподавателем
Информация сохраняется, система осуществит прикрепление позже. Выполнение прецедента продолжается.
Пример потока событий (продолжение)Информатика. 2 семестр. Тема 13. UML1.4 Альтернативные потокиE-1: введен неверный идентификационный номер преподавателяПреподаватель должен

Слайд 27Прикрепление описание потока событий
Информатика. 2 семестр. Тема 13. UML
Файл описания

потока событий должен быть сопоставлен с прецедентом
Желательно подготовить несколько файлов

с разной степенью подробности описания потока событий. Хорошей практикой является использование скетчей (набросков) интерфейса и прототипирование, для анализа удобства использования системы

Связанный документ с описанием потока событий в Rational Rose

Прикрепление описание потока событийИнформатика. 2 семестр. Тема 13. UMLФайл описания потока событий должен быть сопоставлен с прецедентомЖелательно

Слайд 28Отношения прецедентов
Информатика. 2 семестр. Тема 13. UML
Отношения прецедентов
Ассоциативная связь между

актёром и прецедентом называют коммуникативной ассоциацией (communicate association).
Ассоциативная связь может

быть односторонней или двухсторонней. Направление указывает на инициатора связи.
Отношения между прецедентами бывают двух типов:
включает (include relationship) создаётся, если один из прецедентов использует другой;
дополняет (extend relationship) применяется для альтернативных потоков, запускаемых по выбору актёра, или режимов, возникающих при определенных условиях.

Стереотип (stereotype) – это способ добавления новых свойств к базовым элементам языка UML.
Имя стереотипа заключается в двойные треугольные скобки и помещается рядом с элементом.

Отношения прецедентовИнформатика. 2 семестр. Тема 13. UMLОтношения прецедентовАссоциативная связь между актёром и прецедентом называют коммуникативной ассоциацией (communicate

Слайд 29Диаграммы прецедентов (use cases diagrams)
Информатика. 2 семестр. Тема 13. UML
Главная

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

Диаграммы прецедентов (use cases diagrams)Информатика. 2 семестр. Тема 13. UMLГлавная диаграмма прецедентов

Слайд 30Диаграммы прецедентов (use cases diagrams)
Информатика. 2 семестр. Тема 13. UML
Дополнительная

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

Диаграммы прецедентов (use cases diagrams)Информатика. 2 семестр. Тема 13. UMLДополнительная диаграмма прецедентов

Слайд 31Диаграммы действий (activity diagrams)
Информатика. 2 семестр. Тема 13. UML
Элементы диаграмм

действий
Созданная диаграмма действий прецедента «Создание каталога» (Catalogue Creation)
Регистрация диаграммы действий

в Rational Rose


Диаграммы действий (activity diagrams)Информатика. 2 семестр. Тема 13. UMLЭлементы диаграмм действийСозданная диаграмма действий прецедента «Создание каталога» (Catalogue

Слайд 32Действия (Activity)
Информатика. 2 семестр. Тема 13. UML
Размещение действий на диаграмме

действий
Действия – это исполнение определенного поведения в потоке управления системы

Действия (Activity)Информатика. 2 семестр. Тема 13. UMLРазмещение действий на диаграмме действийДействия – это исполнение определенного поведения в

Слайд 33Переходы (State Transition)
Информатика. 2 семестр. Тема 13. UML
Переходы – это

пути, изображающие передачу потока управления от действия к действию.
Переход выполняется

по завершении очередного действия.

Размещение переходов на диаграмме действий

Переходы (State Transition)Информатика. 2 семестр. Тема 13. UMLПереходы – это пути, изображающие передачу потока управления от действия

Слайд 34Элементы выбора (Decision)
Информатика. 2 семестр. Тема 13. UML
Элементы выбора служат

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

выбора на диаграмме действий

Для элемента выбора в качестве обязательного параметра (Specification) выступает условие (Guard Condition)


Элементы выбора (Decision)Информатика. 2 семестр. Тема 13. UMLЭлементы выбора служат для отображения разделения управляющих потоков на основе

Слайд 35Условные переходы
Информатика. 2 семестр. Тема 13. UML
Условные переходы представляют собой

направления передачи потока управления в зависимости от результатов проверки условия

в элементе выбора.

Условный переход на диаграмме действий

Для условного перехода необходимо определить условие перехода


Условные переходыИнформатика. 2 семестр. Тема 13. UMLУсловные переходы представляют собой направления передачи потока управления в зависимости от

Слайд 36Прямолинейный (Rectilinear) режим отображения
Информатика. 2 семестр. Тема 13. UML
«Прямоугольный» режим

отображения переходов
Во многих случаях гораздо «привычнее» использовать «прямоугольный» (прямолинейный) режим

отображения линий перехода
Прямолинейный (Rectilinear) режим отображенияИнформатика. 2 семестр. Тема 13. UML«Прямоугольный» режим отображения переходовВо многих случаях гораздо «привычнее» использовать

Слайд 37Линии синхронизации
Информатика. 2 семестр. Тема 13. UML
Применение линий синхронизации для

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

завершения отдельных потоков управления
Линии синхронизацииИнформатика. 2 семестр. Тема 13. UMLПрименение линий синхронизации для обозначения одновременных процессовЛинии синхронизации указывают на необходимость

Слайд 38Секции
Информатика. 2 семестр. Тема 13. UML
Использование секций для задания зон

ответственности
Секции (swimlanes) делят диаграммы на отдельные участки по зонам ответственности

за выполнение действий.
СекцииИнформатика. 2 семестр. Тема 13. UMLИспользование секций для задания зон ответственностиСекции (swimlanes) делят диаграммы на отдельные участки

Слайд 39Начальное и конечное состояния
Информатика. 2 семестр. Тема 13. UML
Завершённая диаграмма

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

управления.
Обычно в потоке существует одно начальное и несколько конечных состояний – для каждого альтернативного направления


Начальное и конечное состоянияИнформатика. 2 семестр. Тема 13. UMLЗавершённая диаграмма действийСимволы начального и конечного состояния используются для

Слайд 40Объекты и классы
Информатика. 2 семестр. Тема 13. UML
Нотация языка UML

для обозначения объекта
Объект (object) – это некая сущность реального мира

или концептуальная сущность.
Объектом называется концепция, абстракция или вещь с чётко определёнными границами и значением для системы.
Каждый объект в системе имеет три характеристики:
Состояние;
Поведение;
Индивидуальность.
Объекты и классыИнформатика. 2 семестр. Тема 13. UMLНотация языка UML для обозначения объектаОбъект (object) – это некая

Слайд 41Состояние, поведение и индивидуальность
Информатика. 2 семестр. Тема 13. UML
Состоянием (state)

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


Состояние меняется со временем и определяется набором свойств, называемых атрибутами (attribute), значений свойств и отношений между объектами.

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

Индивидуальность (identity) означает, что каждый объект уникален, даже если его состояние идентично состоянию другого объекта.
Состояние, поведение и индивидуальностьИнформатика. 2 семестр. Тема 13. UMLСостоянием (state) объекта называется одно из условий, в которых

Слайд 42Объекты и классы (продолжение)
Информатика. 2 семестр. Тема 13. UML
Класс (class)

– это описание группы объектов с общими свойствами (атрибутами), поведением

(операциями), отношениями с другими объектами и семантикой.
Фактически, класс представляет собой шаблон для создания объекта. Каждый объект является экземпляром конкретного класса и не может быть экземпляром нескольких классов.

Класс учебный курс (CourseOffering) может определяться следующими характеристиками:
атрибуты – место занятий, время занятий;
операции – получить место занятий, получить время занятий, добавить студента на курс.

«Алгебра 101, раздел 1» и «Алгебра 101, раздел 2» – это объекты, принадлежащие классу учебный курс.
Объекты и классы (продолжение)Информатика. 2 семестр. Тема 13. UMLКласс (class) – это описание группы объектов с общими

Слайд 43Обозначение и регистрация классов
Информатика. 2 семестр. Тема 13. UML
Нотация языка

UML для обозначения класса
Нотация для обозначения класса содержит три секции:

имя класса, структуру (атрибуты) и поведение (операции).

Регистрация класса в разделе LogicalView модели в Rational Rose

Обозначение и регистрация классовИнформатика. 2 семестр. Тема 13. UMLНотация языка UML для обозначения классаНотация для обозначения класса

Слайд 44Стереотипы классов
Информатика. 2 семестр. Тема 13. UML
Классы со стереотипами
Стереотип класса

определяет его тип – характер использования.
Базовые стереотипы классов – это

класс-сущность, граничный класс, управляющий класс.
Собственные стереотипы задаются двойными треугольными скобками вокруг наименования стереотипа. UML допускает использование собственных обозначений (значков) для стереотипов классов.
Стереотипы классовИнформатика. 2 семестр. Тема 13. UMLКлассы со стереотипамиСтереотип класса определяет его тип – характер использования.Базовые стереотипы

Слайд 45Стереотипы классов
Информатика. 2 семестр. Тема 13. UML
Класс-сущность (entity class) используется

для моделирования данных и поведения с длинным жизненным циклом. Как

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

Граничные классы (boundary class) обеспечивают взаимодействие между окружающей средой и внутренними элементами системы. Граничные классы предоставляют интерфейс для пользователя или другой системы (актёров).

Управляющие классы (control class) служат для моделирования последовательного поведения одного или нескольких прецедентов и координации событий, реализующих заложенное в них поведение. Управляющие классы «исполняют» прецедент и определяют его динамику.

Стереотипы классовИнформатика. 2 семестр. Тема 13. UMLКласс-сущность (entity class) используется для моделирования данных и поведения с длинным

Слайд 46Определение стереотипа и описание класса
Информатика. 2 семестр. Тема 13. UML
Установка

стереотипа и описание класса в Rational Rose
Документирование (описание) класса поясняет

его назначение, а не структуру. Трудности с описанием класса, скорее всего, свидетельствуют о том, что он – недостаточно хорошая абстракция.
Определение стереотипа и описание классаИнформатика. 2 семестр. Тема 13. UMLУстановка стереотипа и описание класса в Rational RoseДокументирование

Слайд 47Пакеты
Информатика. 2 семестр. Тема 13. UML
Нотация язык UML для пакета
Пакет

(package) в логическом представлении модели – это набор классов и

других связанных пакетов.

Каждый пакет содержит интерфейс, реализуемый набором его общедоступных классов (public classes) – тех, с которыми могут общаться классы из других пакетов.
Остальные классы пакета – это классы реализации (implementation classes), которые не взаимодействуют с классами в других пакетах.

Регистрация пакета и перемещение класса

ПакетыИнформатика. 2 семестр. Тема 13. UMLНотация язык UML для пакетаПакет (package) в логическом представлении модели – это

Слайд 48Объекты и классы в системе регистрации курсов
Информатика. 2 семестр. Тема

13. UML
(Для сценария добавление учебного курса – внутреннего потока прецедента

выбор предметов для преподавания)

Граничные классы
Прецедент взаимодействует только с актёром преподаватель.
Интерфейс преподавателя: параметры курса преподавателя, и добавление учебного курса.

Классы для сценария

Классы-сущности
Предмет, курс, преподаватель (данные)

Управляющие классы
Нужен всего один класс для обработки потока событий для прецедента – менеджер курсов преподавателя

Объекты и классы в системе регистрации курсовИнформатика. 2 семестр. Тема 13. UML(Для сценария добавление учебного курса –

Слайд 49Создание пакетов в системе регистрации курсов
Информатика. 2 семестр. Тема 13.

UML
Нужно выделить классы и объединить их в логические группы
Классы
Предмет, учебный

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

Пакеты

Группы
Объекты, специфические для университета;
Объекты, содержащие информацию о людях;
Интерфейсы для актёров.

Пакеты
Интерфейсы
Объекты университета
Сведения о людях

Создание пакетов в системе регистрации курсовИнформатика. 2 семестр. Тема 13. UMLНужно выделить классы и объединить их в

Слайд 50Диаграммы классов
Информатика. 2 семестр. Тема 13. UML
Диаграммы классов (class diagrams)

используются для представления классов в модели
Главная диаграмма классов отображает пакеты

системы

Главная диаграмма классов

Диаграммы классовИнформатика. 2 семестр. Тема 13. UMLДиаграммы классов (class diagrams) используются для представления классов в моделиГлавная диаграмма

Слайд 51Диаграммы классов (продолжение)
Информатика. 2 семестр. Тема 13. UML
Главная диаграмма классов

пакета Объекты университета
Каждый пакет также имеет свою главную диаграмму классов,

которая содержит общедоступные классы пакета
Диаграммы классов (продолжение)Информатика. 2 семестр. Тема 13. UMLГлавная диаграмма классов пакета Объекты университетаКаждый пакет также имеет свою

Слайд 52Диаграммы классов с отображением пакета
Информатика. 2 семестр. Тема 13. UML
Диаграмма

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

«видимости пакета» в котором данный класс описан
Диаграммы классов с отображением пакетаИнформатика. 2 семестр. Тема 13. UMLДиаграмма классов, отражающая видимость пакетовДля диаграмм классов может

Слайд 53Реализация прецедентов
Информатика. 2 семестр. Тема 13. UML
Нотация языка UML для

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

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

Сценарий (scenario) – это элемент прецедента, представляющий собой одиночный проход по потоку событий для прецедента.

Каждый прецедент – это сплетение первичных (нормальный поток прецедента) и вторичных сценариев (ветвления, исключения, альтернативные потоки), порождаемых различными состояниями системы.

Начальный поиск сценариев ведётся примерно до 80% покрытия.

Регистрация реализации

Реализация прецедентовИнформатика. 2 семестр. Тема 13. UMLНотация языка UML для реализации прецедентаДиаграмма прецедентов отражает внешний вид системы.Выполнение

Слайд 54Диаграмма реализации прецедентов
Информатика. 2 семестр. Тема 13. UML
Диаграмма реализаций прецедентов

Диаграмма реализации прецедентовИнформатика. 2 семестр. Тема 13. UMLДиаграмма реализаций прецедентов

Слайд 55Связь реализации с представлением
Информатика. 2 семестр. Тема 13. UML
Связь реализации

с представлением прецедента

Связь реализации с представлениемИнформатика. 2 семестр. Тема 13. UMLСвязь реализации с представлением прецедента

Слайд 56Диаграммы последовательности действий
Информатика. 2 семестр. Тема 13. UML
Наименования объектов и

классов на диаграмме последовательности действий
Диаграмма последовательности действий (sequence diagram) –

отображает взаимодействие объектов упорядоченное по времени.
Диаграммы последовательности действийИнформатика. 2 семестр. Тема 13. UMLНаименования объектов и классов на диаграмме последовательности действийДиаграмма последовательности действий

Слайд 57Диаграммы последовательности действий
Информатика. 2 семестр. Тема 13. UML
Нотация языка UML

для объектов и сообщений на диаграмме последовательности действий
Взаимодействие объектов

Диаграммы последовательности действийИнформатика. 2 семестр. Тема 13. UMLНотация языка UML для объектов и сообщений на диаграмме последовательности

Слайд 58Диаграммы последовательности действий
Информатика. 2 семестр. Тема 13. UML
Диаграмма последовательности действий
Диаграмма

для сценария создание учебного предмета

Диаграммы последовательности действийИнформатика. 2 семестр. Тема 13. UMLДиаграмма последовательности действийДиаграмма для сценария создание учебного предмета

Слайд 59Диаграммы последовательности действий
Информатика. 2 семестр. Тема 13. UML
Диаграмма последовательности действий

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

Диаграммы последовательности действийИнформатика. 2 семестр. Тема 13. UMLДиаграмма последовательности действий с объектом, присвоенным классуДиаграмма для сценария создание

Слайд 60Диаграммы последовательности действий и граничные классы
Информатика. 2 семестр. Тема 13.

UML
Граничные классы добавляются на диаграмму для индикации взаимодействия с пользователем

или другой системой.
На стадии анализа назначение граничных классов заключается в описании требований к интерфейсу, но не в описании реализации (программной) интерфейса.
Взаимодействие граничных классов и актёров описывается с помощью сообщений, назначение и последовательность которых зависят от структуры приложения и определяются на стадии проектирования.

Применение граничного класса

Диаграммы последовательности действий и граничные классыИнформатика. 2 семестр. Тема 13. UMLГраничные классы добавляются на диаграмму для индикации

Слайд 61«Сложность»
Информатика. 2 семестр. Тема 13. UML
диаграмм последовательности действий
Основное правило:
Сохраняйте

диаграмму простой
Так как главное назначение диаграммы последовательности действий – отображение

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

Моделирование условной логики (ЕСЛИ-ТО-ИНАЧЕ):
Если логика проста и требует небольшого количества сообщений, то её можно разместить на одной диаграмме с указанием выбора, который нужно сделать.

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

«Сложность»Информатика. 2 семестр. Тема 13. UMLдиаграмм последовательности действийОсновное правило: Сохраняйте диаграмму простойТак как главное назначение диаграммы последовательности

Слайд 62Диаграммы взаимодействий
Информатика. 2 семестр. Тема 13. UML
На диаграмме взаимодействий отображают:

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

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

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

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

Диаграммы взаимодействийИнформатика. 2 семестр. Тема 13. UMLНа диаграмме взаимодействий отображают: объекты в виде прямоугольников; связи между объектами

Слайд 63Диаграммы взаимодействий (продолжение)
Информатика. 2 семестр. Тема 13. UML
Диаграмма последовательности действий

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

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

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

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

Диаграммы взаимодействий (продолжение)Информатика. 2 семестр. Тема 13. UMLДиаграмма последовательности действий отображает хронологию событий, а диаграмма взаимодействий –

Слайд 64Диаграммы для сценария добавление учебного курса
Информатика. 2 семестр. Тема

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

Диаграммы для сценария добавление учебного курса Информатика. 2 семестр. Тема 13. UMLДиаграмма последовательности действий для сценария

Слайд 65Диаграммы для сценария добавление учебного курса
Информатика. 2 семестр. Тема

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

Диаграммы для сценария добавление учебного курса Информатика. 2 семестр. Тема 13. UMLСхема классов, участвующих в прецеденте

Слайд 66Резюме
Информатика. 2 семестр. Тема 13. UML
Диаграмма прецедентов представляет внешний вид

системы.
Поток событий отображает выполнение прецедента.
Сценарий описывает реализацию прецедента в

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

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

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

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

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

РезюмеИнформатика. 2 семестр. Тема 13. UMLДиаграмма прецедентов представляет внешний вид системы.Поток событий отображает выполнение прецедента. Сценарий описывает

Слайд 67Определение отношений
Информатика. 2 семестр. Тема 13. UML
Ассоциативные отношения
Нотация языка UML

для ассоциативного отношения
Необходимость отношений
Система состоит из большого числа классов

и объектов.
Её поведение обеспечивается взаимодействием объектов.
Взаимодействие объектов часто описывают как отправку сообщений.
На этапе анализа выделяют два типа отношений – ассоциация и агрегация.

Ассоциация (association) – это двунаправленная семантическая связь между классами. Количество связанных объектов определяется мощностью связи.

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

Определение отношенийИнформатика. 2 семестр. Тема 13. UMLАссоциативные отношенияНотация языка UML для ассоциативного отношенияНеобходимость отношений Система состоит из

Слайд 68Ассоциативные отношения
Информатика. 2 семестр. Тема 13. UML
Ассоциативное отношение на схеме

классов

Ассоциативные отношенияИнформатика. 2 семестр. Тема 13. UMLАссоциативное отношение на схеме классов

Слайд 69Агрегационные отношения
Информатика. 2 семестр. Тема 13. UML
Нотация языка UML для

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

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

Ассоциативная связь становится агрегационной, если можно утвердительно ответить на вопросы:
Можно ли применить фразу «часть от», чтобы описать отношение?
Происходит ли автоматическое применение некоторых операций над целым к его частям?
Существует ли выраженная асимметрия в отношении, когда один класс подчинён другому?

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

Агрегационные отношенияИнформатика. 2 семестр. Тема 13. UMLНотация языка UML для агрегационного отношенияАгрегационное отношение – это специальная форма

Слайд 70Агрегационные отношения
Информатика. 2 семестр. Тема 13. UML
Ассоциативное и агрегационное отношение

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

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

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

Агрегационные отношенияИнформатика. 2 семестр. Тема 13. UMLАссоциативное и агрегационное отношение на схеме классовПри выборе типа связи необходимо

Слайд 71Роли классов в ассоциации
Информатика. 2 семестр. Тема 13. UML
Определение наименования

роли в ассоциации
Вместо наименовании связи на диаграмме классов может указываться

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

Обычно роль может читаться в двух направлениях:

преподаватель играет роль учителя для учебного курса;
учебный курс имеет отношение к преподавателю, играющему роль учителя.

Роли классов в ассоциацииИнформатика. 2 семестр. Тема 13. UMLОпределение наименования роли в ассоциацииВместо наименовании связи на диаграмме

Слайд 72Мощность отношений
Информатика. 2 семестр. Тема 13. UML
Определение мощности отношения
Мощность (multiplicity)

отношения определяет допустимое количество объектов, участвующих в отношении с каждой

стороны.
Индикаторы мощности размещаются с каждой стороны линии связи.

1 – ровно один;
0…* – ноль или больше;
1…* – один или больше;
5…8 – диапазон (5,6, 7 или 8);
4…7, 9 – комбинация (4,5,6,7 или 9).

Мощность отношенийИнформатика. 2 семестр. Тема 13. UMLОпределение мощности отношенияМощность (multiplicity) отношения определяет допустимое количество объектов, участвующих в

Слайд 73Возвратные отношения
Информатика. 2 семестр. Тема 13. UML
Возвратное отношение
Возвратная (reflexive) ассоциация

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

используется название роли.

Например: один объект предмет, выступающий в качестве вводного курса (prerequisite), связан с нулём или большим количеством объектов предмет.

Возвратные отношенияИнформатика. 2 семестр. Тема 13. UMLВозвратное отношениеВозвратная (reflexive) ассоциация или агрегация определяет взаимодействие объектов одного класса.Для

Слайд 74Отношения в системе регистрации учебных курсов
Информатика. 2 семестр. Тема 13.

UML
Отношения в сценарии добавить учебный курс
Для сценария добавить учебный курс

можно определить следующие взаимодействующие объекты и типы отношений:
Отношения в системе регистрации учебных курсовИнформатика. 2 семестр. Тема 13. UMLОтношения в сценарии добавить учебный курсДля сценария

Слайд 75Отношения между пакетами
Информатика. 2 семестр. Тема 13. UML
Отношение между пакетами
Отношение

зависимости между пакетами возникает, если один или несколько классов в

пакете А инициируют связь с одним или более общедоступными классами в пакете В.
Пакет А в этом случае называется пакетом-клиентом (client package)
Пакет В – пакетом-поставщиком (supplier package)
Отношения между пакетамиИнформатика. 2 семестр. Тема 13. UMLОтношение между пакетамиОтношение зависимости между пакетами возникает, если один или

Слайд 76Отношения между пакетами в системе регистрации учебных курсов
Информатика. 2 семестр.

Тема 13. UML
Отношение между пакетами для сценария добавить учебный курс
В

сценарии добавить учебный курс класс добавление учебного курса отправляет сообщение классу менеджер курсов преподавателя. Это указывает на наличие связи между пакетами Интерфейсы и Объекты университета.
Отношения между пакетами в системе регистрации учебных курсовИнформатика. 2 семестр. Тема 13. UMLОтношение между пакетами для сценария

Слайд 77Анализ поведения и структуры классов
Информатика. 2 семестр. Тема 13. UML
Класс

реализует ряд обязанностей, от которых зависит поведение (behavior) производных от

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

Структура (structure) объекта описывается атрибутами класса. Каждый атрибут – это поле данных, содержащееся в объекте класса. Объект, созданный на основе класса, наделён значениями всех атрибутов класса.

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

Общее правило:
Класс должен представлять одну сущность.

Наименование операции должно использовать термины класса, выполняющего операцию, а не класса, запрашивающего её выполнение

Анализ поведения и структуры классовИнформатика. 2 семестр. Тема 13. UMLКласс реализует ряд обязанностей, от которых зависит поведение

Слайд 78Добавление поведения и структуры
Информатика. 2 семестр. Тема 13. UML
Диаграмма последовательности

действий с операциями

Добавление поведения и структурыИнформатика. 2 семестр. Тема 13. UMLДиаграмма последовательности действий с операциями

Слайд 79Документирование операций
Информатика. 2 семестр. Тема 13. UML
Регистрация операций
Описание операции выбрать

преподавателя
Сигнатура операции (operation signature) представляется её входными и выходными параметрами.

Описание операции должно отражает ёё функциональность и содержать комментарии о параметрах и возвращаемом значении.
Документирование операцийИнформатика. 2 семестр. Тема 13. UMLРегистрация операцийОписание операции выбрать преподавателяСигнатура операции (operation signature) представляется её входными

Слайд 80Создание и документирование атрибутов
Информатика. 2 семестр. Тема 13. UML
Регистрация атрибутов
Описание

атрибута название
Предварительный список атрибутов формируется на основе анализа предметной области.

Описание атрибута должно содержать информацию о назначении атрибута, а не о его структуре.
Создание и документирование атрибутовИнформатика. 2 семестр. Тема 13. UMLРегистрация атрибутовОписание атрибута названиеПредварительный список атрибутов формируется на основе

Слайд 81Отображение атрибутов и операций
Информатика. 2 семестр. Тема 13. UML
Отображение атрибутов

и операций на диаграмме классов

Отображение атрибутов и операцийИнформатика. 2 семестр. Тема 13. UMLОтображение атрибутов и операций на диаграмме классов

Слайд 82Ассоциативные классы
Информатика. 2 семестр. Тема 13. UML
Ассоциативный класс оценка на

диаграмме классов
Отношение между классами также может иметь структуру и поведение.

Такое отношение моделируется с помощью ассоциативного класса (association class) который ведёт себя так же обычные классы и тоже может иметь отношения.
Ассоциативные классыИнформатика. 2 семестр. Тема 13. UMLАссоциативный класс оценка на диаграмме классовОтношение между классами также может иметь

Слайд 83Информатика. 2 семестр. Тема 13. UML
Университет машиностроения
Кафедра «Автоматика и процессы

управления»
Блок дисциплин
Информатика и информационные технологии
Спасибо за внимание !!!
Контакты:
mami.testolog.ru
timid@mami.ru
inform437@gmail.com
Содержание:
Основы

проектирования САУ
Метод структурных диаграмм (блок-схемы)
Метод CRC-карточек
Технология структурного анализа и проектирования
UML
Основы ООП

Информатика. 2 семестр. Тема 13. UMLУниверситет машиностроенияКафедра «Автоматика и процессы управления»Блок дисциплинИнформатика и информационные технологииСпасибо за внимание

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика