- •Алгоритмизация и программирование Проектирование программного обеспечения
- •1. Базовые принципы и понятия технологии разработки сложного по
- •Разработка модели
- •1.2. Методология объектно-ориентированного анализа и проектирования
- •1.3. Концепция разработки архитектур, управляемых моделями
- •2. Основы языка uml
- •Uml модель и ее элементы
- •Отношения
- •Диаграммы
- •1.5. Общие диаграммы
- •1. Диаграммы использования
- •Invoice
- •2. Диаграмма классов
- •4. Диаграмма деятельности
- •Сущность – Вариант использования (use case)
- •Варианты отношения зависимости: расширение и включение Отношение расширения
- •Диаграмма классов
- •1. Диаграмма классов – основная логическая модель проектируемой системы
- •Диаграмма классов
- •2. Класс
- •2.1. Имя класса
- •2.2. Атрибуты класса
- •Кратность
- •2.3.Операции класса
- •1.. * 1
- •I j
- •3.2. N-арная ассоциация
- •3.3. Ассоциация-класс
- •3.4. Квалификатор
- •3.5. Обобщение
- •3.6. Множество обобщений
- •3.7. Агрегация
- •3.8. Композиция
- •1 1 1 1
- •1 2 1 1
- •3.9. Зависимость
- •3.10. Реализация
- •4. Интерфейс
- •IДатчик
- •5. Шаблон
- •5. Диаграмма композитной структуры (composite structure diagram)
- •6. Дополнительные диаграммы структуры
- •7. Диаграмма последовательности (sequence diagram)
3.8. Композиция
Композиция ( composition) или композитная агрегация предназначена для определения отношения ”часть-целое”, при которой с уничтожением объекта класса-контейнера уничтожаются и все объекты, являющиеся его составными частями.
Композиция является частным случаем отношения ассоциации.
Класс-контейнер Класс-часть
Рис. 37. Графическое изображение отношения композиции
Для отношения композиции может использоваться кратность классов.
Однако кратность отношения композиции не должна иметь значение верхней границы больше 1.
Класс-композит
Окно программы
1 1 1 1
1 2 1 1
Заголовок Полоса Рабочая Главное
прокрутки область меню
Рис. 38. Диаграмма классов для иллюстрации отношения композиции на примере класса-композита «Окно программы»
3.9. Зависимость
Зависимость (dependency) – отношение зависимости указывает на то, что изменение в независимой сущности приводит к изменению зависимой сущности.
Зависимая сущность Независимая сущность
Класс-клиент Класс-поставщик
Рис. 39. Графическое изображение отношения зависимости на диаграмме классов
3.10. Реализация
Реализация (realization) – специализированное отношение зависимости между двумя элементами, модели один из которых представляет некоторую спецификацию (поставщик), а другой представляет его реализацию (клиент)
Отношение реализации является частным случаем отношения зависимости.
Бизнес
Владелиц Сотрудник
Рис. ... Графическое изображение отношения реализации на диаграмме классов
4. Интерфейс
Интерфейс (interface) – вид класса, который представляет собой объявление множества общедоступных характеристик и обязанностей.
Интерфейс (interface) – именованное множество операций, определяющее набор услуг, которые могут быть запрошены потребителем и предоставлены поставщиком услуг.
Интерфейс (interface) – Часть класс, через который существует доступ к внутреннему содержанию класса
Интерфейс (interface) – Именованный набор составляющих, описывающий контракт между поставщиками и потребителями услуг.
Интерфейс является специальным случаем класса, у которого (как правило) имеются операции и отсутствуют атрибуты.
Интерфейсы предназначены для определения операций классов, определения которых видимы извне, однако особенности их скрыты от клиентов.
Интерфейс не может существовать отдельно от класса, который реализует объявленные в нем операции.
Интерфейс является только объявлением элементом, но не является инстанцируемым элементом модели (т. е. во время выполнения экземпляры интерфейсов не существуют).
(отношение зависимости) (отношение реализации)
требуемый предоставляемый
интерфейс . интерфейс
Сигнал Тревоги Бесконтактный Датчик