Содержание

Слайд 2

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

Визуальное моделирование

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

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

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

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

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

Слайд 3

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

Треугольник успеха

Средства, необходимые для успешного проекта:

Знание нотации без умения её применения

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

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

Слайд 4

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

Роль нотации

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

звеном между процессами.

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

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

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

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

Слайд 5

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

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

Итеративная и инкрементальная разработка

Разработка с использованием

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

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

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

Слайд 6

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

Методология Rational Unified Process

Методика RUP используется для поддержки управления итеративным

и инкрементальным жизненным циклом разработки

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

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

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

Слайд 7

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

Структурирование по времени

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

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

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

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

Слайд 8

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

Структурирование по компонентам процесса

Построение бизнес-модели (business modeling) – определение необходимых

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

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

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

Слайд 9

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

Стадии разработки

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

Распределение объемов работ по стадиям

разработки

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

Слайд 10

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

Начало проекта

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

Определение «правильного» проекта

Простой, но достаточно

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

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

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

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

Слайд 11

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

Цели и задачи этапа (начало проекта)

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

Основная

цель – оформление (описание) процессов

Решаемые задачи:

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

Анализ:

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

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

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

Слайд 12

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

Последовательность этапов проектирования

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

при создании информационной системы

1.

Составить общее словесное описание системы:

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

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

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

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

Слайд 13

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

Последовательность этапов…

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

4. Создать прецеденты (Use cases)


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

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

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

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

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

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

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

Слайд 14

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

Последовательность этапов…

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

8. Определить классы и объекты

Классы

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

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

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

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

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

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

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

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

Слайд 15

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

Последовательность этапов…

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

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

12. Отобразить сценарии через диаграммы

взаимосвязи (interaction diagrams) :

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

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

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

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

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

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

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

Слайд 16

Примерный проект (описание) Информатика. 2 семестр. Тема 13. UML Система регистрации

Примерный проект (описание)

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

Система регистрации учебных курсов

для университета

Описание:

Учебный процесс построен на свободной записи студентов на учебные курсы. Контролируется общее количество учебных часов.

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

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

Слайд 17

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

Постановка задачи регистрации курсов

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

Главные риски:

Порядок работы

системы:

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

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

Слайд 18

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

Начало проектирования
Создание прецедентов

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

Поведение разрабатываемой системы описывается

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

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

Актёры

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

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

Слайд 19

Актёры в системе регистрации курсов Информатика. 2 семестр. Тема 13. UML

Актёры в системе регистрации курсов

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

Регистрация актёра

в Rational Rose

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

Слайд 20

Описание актёров Информатика. 2 семестр. Тема 13. UML Описание актёра студент

Описание актёров

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

Описание актёра студент

Возможный список актёров:

Студент – человек, который регистрируется для посещения занятий в университете;
Преподаватель – человек, который читает лекции в университете;
Регистратор – человек, управляющий системой регистрации курсов;
Система оплаты – внешняя система, выполняющая функции расчётов за курсы.
Слайд 21

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

Прецеденты

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

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

С помощью

прецедентов (use cases) моделируется диалог между актёром и системой, определяются возможности, обеспечиваемый системой для актёра.

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

Слайд 22

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

Поток событий прецедента

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

Поток событий (flow of

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

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

Слайд 23

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

Реализация потока событий

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

Стандартный шаблон описания потока:
Х.

Поток событий для прецедента <имя>.
X.1. Предусловия.
Х.2. Главный поток.
Х.3. Под-потоки (если применимы).
Х.4. Альтернативные потоки
Слайд 24

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

Пример потока событий для прецедента

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

1 Поток

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

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

Слайд 25

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

Пример потока событий (продолжение)

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

1.3 Под-потоки
S-1: добавить

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

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

Пример потока событий (продолжение)

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

1.4 Альтернативные потоки
E-1:

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

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

Прикрепление описание потока событий

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

Файл описания потока

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

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

Слайд 28

Отношения прецедентов Информатика. 2 семестр. Тема 13. UML Отношения прецедентов Ассоциативная

Отношения прецедентов

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

Отношения прецедентов

Ассоциативная связь между актёром

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

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

Слайд 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 Элементы

Диаграммы действий (activity diagrams)

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

Элементы диаграмм действий

Созданная

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

Регистрация диаграммы действий в Rational Rose

Слайд 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 Элементы выбора

Элементы выбора (Decision)

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

Элементы выбора служат для

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

Размещение элемента выбора на диаграмме действий

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

Слайд 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 Использование секций для задания

Секции

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

Использование секций для задания зон ответственности

Секции

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

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

Начальное и конечное состояния

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

Завершённая диаграмма действий

Символы

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

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

Объекты и классы

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

Нотация языка UML для

обозначения объекта

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

Слайд 41

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

Состояние, поведение и индивидуальность

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

Состоянием (state) объекта

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

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

Объекты и классы (продолжение)

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

Класс (class) –

это описание группы объектов с общими свойствами (атрибутами), поведением (операциями), отношениями с другими объектами и семантикой.
Фактически, класс представляет собой шаблон для создания объекта. Каждый объект является экземпляром конкретного класса и не может быть экземпляром нескольких классов.
Класс учебный курс (CourseOffering) может определяться следующими характеристиками:
атрибуты – место занятий, время занятий;
операции – получить место занятий, получить время занятий, добавить студента на курс.
«Алгебра 101, раздел 1» и «Алгебра 101, раздел 2» – это объекты, принадлежащие классу учебный курс.
Слайд 43

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

Обозначение и регистрация классов

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

Нотация языка UML

для обозначения класса

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

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

Слайд 44

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

Стереотипы классов

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

Классы со стереотипами

Стереотип класса определяет

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

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

Слайд 45

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

Стереотипы классов

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

Класс-сущность (entity class) используется для

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

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

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

Слайд 46

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

Определение стереотипа и описание класса

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

Установка стереотипа

и описание класса в Rational Rose

Документирование (описание) класса поясняет его назначение, а не структуру. Трудности с описанием класса, скорее всего, свидетельствуют о том, что он – недостаточно хорошая абстракция.

Слайд 47

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

Пакеты

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

Нотация язык UML для пакета

Пакет (package)

в логическом представлении модели – это набор классов и других связанных пакетов.

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

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

Слайд 48

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

Объекты и классы в системе регистрации курсов

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

UML

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

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

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

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

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

Слайд 49

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

Создание пакетов в системе регистрации курсов

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

Нужно

выделить классы и объединить их в логические группы

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

Пакеты

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

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

Слайд 50

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

Диаграммы классов

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

Диаграммы классов (class diagrams) используются

для представления классов в модели

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

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

Слайд 51

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

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

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

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

Объекты университета

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

Слайд 52

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

Диаграммы классов с отображением пакета

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

Диаграмма классов,

отражающая видимость пакетов

Для диаграмм классов может быть настроен режим «видимости пакета» в котором данный класс описан

Слайд 53

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

Реализация прецедентов

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

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

прецедента

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

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

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

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

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

Слайд 54

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

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

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

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

Слайд 55

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

Связь реализации с представлением

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

Связь реализации с

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

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

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

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

Наименования объектов и классов

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

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

Слайд 57

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

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

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

Нотация языка UML для

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

Взаимодействие объектов

Слайд 58

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

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

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

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

Диаграмма для

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

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

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

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

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

объектом, присвоенным классу

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

Слайд 60

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

Диаграммы последовательности действий и граничные классы

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

Граничные

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

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

Слайд 61

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

«Сложность»

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

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

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

простой

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

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

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

Слайд 62

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

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

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

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

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

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

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

Слайд 63

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

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

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

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

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

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

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

Слайд 64

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

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

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

UML

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

Слайд 65

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

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

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

UML

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

Слайд 66

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

Резюме

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

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

Поток

событий отображает выполнение прецедента.

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

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

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

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

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

Слайд 67

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

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

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

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

Нотация языка UML для

ассоциативного отношения

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

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

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

Слайд 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 Определение мощности отношения

Мощность отношений

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

Определение мощности отношения

Мощность (multiplicity) отношения

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

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

Слайд 73

Возвратные отношения Информатика. 2 семестр. Тема 13. UML Возвратное отношение Возвратная

Возвратные отношения

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

Возвратное отношение

Возвратная (reflexive) ассоциация или

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

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

Слайд 74

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

Отношения в системе регистрации учебных курсов

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

Отношения

в сценарии добавить учебный курс

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

Слайд 75

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

Отношения между пакетами

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

Отношение между пакетами

Отношение зависимости

между пакетами возникает, если один или несколько классов в пакете А инициируют связь с одним или более общедоступными классами в пакете В.
Пакет А в этом случае называется пакетом-клиентом (client package)
Пакет В – пакетом-поставщиком (supplier package)
Слайд 76

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

Отношения между пакетами в системе регистрации учебных курсов

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

13. UML

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

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

Слайд 77

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

Анализ поведения и структуры классов

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

Класс реализует

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

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

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

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

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

Слайд 78

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

Добавление поведения и структуры

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

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

с операциями
Слайд 79

Документирование операций Информатика. 2 семестр. Тема 13. UML Регистрация операций Описание

Документирование операций

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

Регистрация операций

Описание операции выбрать преподавателя

Сигнатура

операции (operation signature) представляется её входными и выходными параметрами. Описание операции должно отражает ёё функциональность и содержать комментарии о параметрах и возвращаемом значении.
Слайд 80

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

Создание и документирование атрибутов

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

Регистрация атрибутов

Описание атрибута

название

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

Слайд 81

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

Отображение атрибутов и операций

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

Отображение атрибутов и

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

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

Ассоциативные классы

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

Ассоциативный класс оценка на диаграмме

классов

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