2.95M
Category: softwaresoftware

Что такое UML и с чем его едят?

1.

ПР
МДК 02.02 Инструментальные средства разработки программного обеспечения
Тема 1. Что такое UML
и с чем его едят?
Преподаватель:
Казанцева Мария Владимировна

2.

Зачем разрабатывать модель?
Появление сложных концепций и масштабных проектов
Конкуренция
Дороговизна разрабатываемых проектов
Риски успешного выполнения проектов
Все эти особенности приводят к настоятельной необходимости моделирования
структуры и процесса функционирования программных систем до начала написания
соответствующего кода.

3.

Модель (model) — абстракция произвольной системы или объекта,
рассматриваемая с определенной точки зрения и представленная на
некотором языке или в графической форме.
Важность построения моделей заключается в возможности их использования
для получения информации о свойствах или поведении системыоригинала.
Модель подобна оригиналу
Модель состоит из множества элементов
Модель должна быть структурирована. Элементы связаны.
Для одной и той же физической системы могут быть разработаны
различные модели, которые могут отличаться формой и уровнем
представления информации об этой системе.

4.

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

5.

UML, или Unified Modeling Language, — это унифицированный язык
моделирования.
Унифицированный значит понятный всем!
Его используют для создания диаграмм и схем для
визуализации, спецификации, конструирования и
документирования результатов программных проектов.
В программировании язык UML используется для наглядного
представления связей между классами и другими частями приложения.
С помощью UML создаются простые и понятные модели, описывающие
систему с разных сторон, которые можно показать заказчику (служит
средством коммуникации в команде).

6.

Разработка программных приложений тесно связана с концепцией автоматизированной
разработки программного обеспечения (Computer Aided Software Engineering, CASE)
и соответствующими программными средствами.
CASE-средства (CASE-tools) — программное обеспечение, которое предназначено для
разработки визуальных моделей программных приложений и генерации исходного кода
на некотором языке программирования или схемы базы данных.
Таким образом появилась Методология объектно-ориентированного анализа и
проектирования, которая сейчас используется повсеместно.

7.

Словарь UML
Диаграммы
Сущности
три разновидности
строительных блоков
Связи
Сущности – это абстракции, которые являются основными элементами модели, связи
соединяют их между собой, а диаграммы группируют представляющие интерес наборы
сущностей.
Диаграммы классов оперируют тремя видами сущностей UML
Структурные
Поведенческие
Группирующие
Аннотирующие

8.

Структурные сущности
– это «имена существительные» в модели UML. Они представляют собой статические
части модели, соответствующие концептуальным или физическим элементам системы.
Класс (Class) – это описание совокупности объектов с общими атрибутами, операциями,
отношениями и семантикой. Класс реализует один или несколько интерфейсов.
Тип видимости
- private (частный)
# protected (защищенный)
+ - public (общий)
Имя класса
Атрибуты (свойства) класса
Операции (методы) класса

9.

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

10.

Актер (Actor) — набор
согласованных ролей, которые
могут играть пользователи при
взаимодействии с системой (ее
элементами Use Case).
Прецедент (Use case) – это
описание последовательности
выполняемых системой действий,
которая производит наблюдаемый
результат, значимый для какого-то
определенного актера.
Реализуются посредством
кооперации.

11.

Активным классом (Active class) называется класс, объекты
которого вовлечены в один или несколько процессов
(Threads), и могут инициировать управляющее воздействие.
Активный класс отличается от обычного класса тем, что
деятельность его объектов осуществляется одновременно с
деятельностью других элементов.
Компонент (Component) – это физическая заменяемая часть
системы, соответствующая некоторому набору интерфейсов и
обеспечивает его реализацию.
Узел (Node) – физический элемент, который существует в
период работы системы и представляет ресурс, обычно
имеющий память и возможности обработки. В узле
размещается набор компонентов, который может
перемещаться от узла к узлу.

12.

Поведенческие сущности
– это динамические составляющие модели UML. Это глаголы языка: они описывают
поведение модели.
Взаимодействие (Interaction) —
поведение, заключающее в себе набор
сообщений, которыми обменивается
набор объектов в конкретном
контексте для достижения
определенной цели.
Взаимодействие может определять
динамику как совокупности объектов,
так и отдельной операции.
Автомат (State machine) — поведение,
которое определяет
последовательность состояний объекта
или взаимодействия, выполняемые в
ходе его существования в ответ на
события (и с учетом обязанностей по
этим событиям).

13.

Группирующие сущности
– это организационные части UML-моделей. Это блоки, на которые можно разложить
модель.
Пакет (Package) — общий механизм
для распределения элементов по
группам. В пакет могут помещаться
структурные предметы, предметы
поведения и даже другие группировки
предметов.

14.

Аннотирующие сущности
– это пояснительные части модели UML. Это комментарии для дополнительного
описания, разъяснения или замечания к любому элементу модели.
Примечание (Note) — это символ для
изображения комментариев,
присоединенных к элементу или группе
элементов

15.

Отношения
Зависимость
Ассоциация
Обобщение
четыре разновидности
отношений
Реализация
Эти отношения являются основными связующими строительными блоками в UML.

16.

Зависимость (Dependency) – это семантическое
отношение между двумя сущностями, при котором
изменение одной из них, независимой, может повлиять
на семантику другой, зависимой.
Ассоциация (Association) – отношение, описывающее
совокупность связей между объектами.
Агрегирование (Aggregation) – это специальная
разновидность ассоциации, представляющая
структурное отношение между целым и его частями

17.

Обобщение (Generalization) – это отношение
“специализация/обобщение”, при котором объект
специализированного элемента (потомок) может быть
подставлен вместо объекта обобщенного элемента
(родителя или предка). Таким образом, потомок (Child)
наследует структуру и поведение своего родителя
(Parent).
Реализация (Realization) – это отношение между
классификаторами, при котором один классификатор
определяет “контракт”, а другой гарантирует его
выполнение.

18.

19.

20.

Домашняя
работа
1. Составить кроссворд по лекционному
материалу (не менее 15 вопросов).
2. Установить Microsoft Visio.
3. Установить PlantUML.
4. Установить Ramus.
English     Русский Rules