unified modeling language basic-part 2

51
Unified Modeling Language Part I

Upload: issoft

Post on 15-Jun-2015

153 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Unified modeling language basic-part 2

Unified Modeling LanguagePart I

Page 2: Unified modeling language basic-part 2

Three Amigos

Page 3: Unified modeling language basic-part 2

Моделирование

Page 4: Unified modeling language basic-part 2

Модель является упрощенным представлением реальности.

Моделирование позволяет: Визуализировать систему в ее текущем или

желательном для нас состоянии; Определить структуру или поведение

системы; Получить шаблон, позволяющий затем

сконструировать систему; Документировать принимаемые решения,

используя полученные модели.

Моделирование

Page 5: Unified modeling language basic-part 2

Четыре основных принципа моделирования

1. Выбор модели оказывает определяющее влияние на подход к решению проблемы и на то, как будет выглядеть это решение.

2. Модель может быть воплощена с разной степенью абстракции.

3. Лучшие модели – те, что ближе к реальности.4. Нельзя ограничиваться созданием только

одной модели. Наилучший подход при разработке любой нетривиальной системы - использовать совокупность нескольких моделей, почти независимых друг от друга.

Page 6: Unified modeling language basic-part 2

Значение UML

ВизуализацияСпецифицированиеКонструированиеДокументирование

Page 7: Unified modeling language basic-part 2

Визуализация

UML – средством для составления «чертежей» программного обеспечения.

Page 8: Unified modeling language basic-part 2

Специфицирование

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

Page 9: Unified modeling language basic-part 2

Конструирование

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

Page 10: Unified modeling language basic-part 2

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

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

Page 11: Unified modeling language basic-part 2

Структура и компоненты языка UML

Общие принципы:◦Принцип абстрагирования; ◦Принцип многомодельности;◦Принцип иерархического построения

моделей

Page 12: Unified modeling language basic-part 2

Структура и компоненты языка UML

СущностиОтношения Диаграммы

Page 13: Unified modeling language basic-part 2

Сущности

◦Структурные сущности - статические части модели, соответствующие концептуальным или физическим элементам системы. Класс (Class) Интерфейс (Interface) Кооперация (Collaboration) Прецедент (Use case) Активный класс (Active class)

Page 14: Unified modeling language basic-part 2

Сущности

◦Физические сущности системы: Компонент (Component) Узел (Node)

Page 15: Unified modeling language basic-part 2

Сущности

◦Поведенческие сущности: Взаимодействие (Interaction)

Сообщение Последовательность действий (поведение,

инициированное сообщением) Связь (между объектами)

Автомат (State machine)

Page 16: Unified modeling language basic-part 2

Сущности

◦Группирующие сущности: Пакет (Package)

◦Аннотационные сущности: Примечание(Note)

Page 17: Unified modeling language basic-part 2

Отношения

Зависимость (Dependency)Ассоциация (Association)

Агрегирование (Aggregation)Обобщение (Generalization)Реализация (Realization)

Page 18: Unified modeling language basic-part 2

Отношения

Зависимость (Dependency)

Page 19: Unified modeling language basic-part 2

Отношения

Ассоциация (Association) Агрегирование (Aggregation)

Page 20: Unified modeling language basic-part 2

Отношения

Обобщение (Generalization)

Page 21: Unified modeling language basic-part 2

Отношения

Реализация (Realization)

Page 22: Unified modeling language basic-part 2

Диаграммы

◦ Диаграмма в UML – это графическое представление набора элементов, изображаемое в виде связанного графа с вершинами (сущностями) и ребрами(отношениями), используемое для визуализации системы с разных точек зрения.

Типы диаграмм◦ Статические:

Диаграммы классов; Диаграммы объектов; Диаграммы компонентов; Диаграммы развертывания.

◦ Динамические: Диаграммы прецедентов; Диаграммы последовательностей; Диаграммы кооперации; Диаграммы состояний; Диаграммы действий.

Page 23: Unified modeling language basic-part 2

Общие механизмы языка UML

Спецификации (Specifications)Принятые деления (Common divisions)Механизмы расширения (Extensibility

mechanisms)

Page 24: Unified modeling language basic-part 2

Общие механизмы языка UML

Механизмы расширения: ◦Стереотипы; ◦Помеченные значения; ◦Ограничения.

Page 25: Unified modeling language basic-part 2

Классы

Page 26: Unified modeling language basic-part 2

Классы

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

Page 27: Unified modeling language basic-part 2

Классы

◦Обязанности (Responsibilities) класса - это контракт, которому он должен подчиняться.

Page 28: Unified modeling language basic-part 2

Классы

Page 29: Unified modeling language basic-part 2

Классы

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

Page 30: Unified modeling language basic-part 2

Классы

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

Page 31: Unified modeling language basic-part 2

Классы

Page 32: Unified modeling language basic-part 2

Классы

Иногда бывает необходимо отделить реализацию класса от его спецификации, что в UML может быть выражено с помощью интерфейсов.

Page 33: Unified modeling language basic-part 2

Классы

◦Леденец

Page 34: Unified modeling language basic-part 2

Классы

◦Требуемый и предоставляемый интерфейсы

Page 35: Unified modeling language basic-part 2

Классы

Кооперации

Page 36: Unified modeling language basic-part 2

Классы

Хорошо структурированный класс:

◦Является четко очерченной абстракцией некоторого понятия из словаря;

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

Page 37: Unified modeling language basic-part 2

Классы

Изображая класс в UML, придерживайтесь следующих правил:

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

Разделяйте длинные списки атрибутов и операций на группы в соответствии с их категориями;

Показывайте взаимосвязанные классы на одной и той же диаграмме.

Page 38: Unified modeling language basic-part 2

Отношения

Page 39: Unified modeling language basic-part 2

Отношения

◦Обобщение (Generalization)

Page 40: Unified modeling language basic-part 2

Как создать обобщение

Page 41: Unified modeling language basic-part 2

Отношения

◦Зависимость (Dependency)

Page 42: Unified modeling language basic-part 2

Отношения

◦Ассоциация (Association)

◦Четыре дополнения: Имя

Page 43: Unified modeling language basic-part 2

Отношения

◦Роль

Page 44: Unified modeling language basic-part 2

Отношения

◦Кратность: Единица (1) «Ноль или единица" (0..1) «Много" (0..*) «Единица или больше" (1..*). Определенное число (например, 3).

Page 45: Unified modeling language basic-part 2

Отношения

◦Агрегирование

Page 46: Unified modeling language basic-part 2

Ассоциация как класс

Page 47: Unified modeling language basic-part 2

Отношения

◦Рекомендации при изображении отношений в UML:

Показывайте только такие отношения, которые необходимы для понимания особенностей группирования элементов модели;

Скрывайте несущественные (особенно избыточные) ассоциации.

Page 48: Unified modeling language basic-part 2

Отношения

Пример:

Page 49: Unified modeling language basic-part 2

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

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

Отношения между классом Вуз и классами Студент и Факультет слегка отличаются друг от друга, хотя оба являются отношениями агрегирования. В вузе может быть любое количество студентов (включая ноль), и каждый студент может обучаться в одном или нескольких вузах;

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

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

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

Page 50: Unified modeling language basic-part 2

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

Хорошо структурированная диаграмма классов обладает следующими свойствами:◦ Заостряет внимание только на одном аспекте

статического вида системы с токи зрения проектирования;

◦ Содержит лишь элементы, существенные для понимания данного аспекта;

◦ Показывает детали, соответствующие требуемому уровню абстракции, опуская те, без которых можно обойтись;

◦ Не настолько лаконична, чтобы ввести читателя в заблуждение относительно важных аспектов семантики.

Page 51: Unified modeling language basic-part 2

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

При изображении диаграммы классов руководствуйтесь следующими правилами:◦Располагайте элементы так, чтобы свести к

минимуму число пересекающиеся линий;

◦Пространственно организуйте элементы так, чтобы семантически близкие сущности располагались рядом;

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