- •Технология разработки по Введение
- •Организации процесса конструирования программных систем
- •Основы объектно-ориентированного представления программных систем Принципы объектно-ориентированного представления программных систем
- •Основные понятия объектно-ориентированного подхода
- •Ассоциация
- •Обобщение специализации
- •Целая часть
- •Зависимость
- •Концептуальная модель языка uml
- •Структурный тип
- •Поведенческие сущности
- •Группирующие сущности
- •Аннотационные сущности
- •Отношения
- •Моделирование объектно-ориентированных программного обеспечения с использованием uml
- •Диаграммы последовательностей
- •Диаграммы деятельностей
- •Тестирование оопо
Ассоциация
Она обозначает семантическое (смысловое) соединение классов, например, в системе обслуживания читателей имеется две ключевые абстракции (книга и библиотека).
Ассоциация предполагает двусторонние отношения, она обозначет только семантическую – смысловую связь, она не указывает направление и точную реализацию отношения между классами. Ассоциация пригодна для анализа проблемы, когда требуется лишь идентифицировать связь.
С помощью создания ассоциаций удается придти к пониманию участников семантических связей (классов), элемент их ролей (роли подписываются снизу под линиями ассоциации), и мощности ассоциации (мощность указывается над линией ассоциации [* - 0 или более]).
В нашем примере введена ассоциация один ко многим, это значит, что для каждого экземпляра класса библиотека есть 0 или более экземпляров класса книга, а для каждого экземпляра класса книга есть один экземпляр библиотеки.
Эту множественность обозначют мощностью ассоциации, она может быть одного из трех типов: один к одному, один ко многим, многие ко многим.
Обобщение специализации
Наиболее популярной разновидностью отношения специализация является наследование.
Под наследованием понимается отношение, при котором один класс (наследник) разделяет структуру и поведение определенные в одном другом или во многих других классах (простое и множественное наследование, соответственно). Говорят, что подкласс наследников является специализацией его супер-класса, за счет дополнения или переопределения существующей структуры или поведения.
Пример системы для записи параметров полета в черный ящик, установленный в самолете.
Целая часть
Отношение этого вида между классами обеспечиваются через отношение агрегации, которые аналогичны отношениям агрегации между объектами, различают также как и для объектов, агрегации по ссылке, по смыслу и по величине. Агрегация по величине – композиция.
Обозначаются сплошной линией со стрелкой на конце, представляющей собой ромб, если ромб не закрашен, то имеем агрегацию по ссылке или по смыслу, а если закрашен – композиция.
Зависимость
Это отношение показывает, что изменение в одном классе может влиять на другой класс (зависимый).
Графически зависимость изображается как пунктирная стрелка, направленная на класс, от которого зависит другой класс.
С помощью зависимости уточняется, какая абстракция является клиентом, а какая – поставщиком услуги.
Пунктирная стрелка направлена от клиента (зависимого класса) к поставщику (независимому классу).
Концептуальная модель языка uml
Для создания моделей анализа и проектирования, объектно-ориентированных программных систем, используют языки визуального моделирования. Появившись довольно давно эти языки имеют достаточно представительную историю развития. В настоящее время различают три поколения языков визуального моделирования. Первое поколение образовали около 10 языков, численность второго поколения превысила 50 языков. Идея унификации привела к появлению языков третьего уровня. В качестве стандартного языка третьего поколения был принят язык UML, он создавался в период с 1994-1997), его разработчики: Буч, Рамбо, Джекобсон.
UML– стандартный язык для написания (для создания) моделей анализа, проектирования и реализации объектно-ориентированных программных систем. Это не визуальный язык программирования, олнако его модели прямо транслируются в текст на языках программироваия. Для понимания этого языка необходимо знать его концептуальную модель, она включает в себя три составные части:
- основные строительные блоки
- правила их сочетания
- некоторые общие для всего языка механизмы
Словарь языка UMLвключает три вида строительных блоков:
-сущности
- отношения
- диаграммы.
В UMLимеется четыре типа сущностей:
- структурные
- поведенческие
- группирующие
- аннотационные