Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конские шпоры.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
699.39 Кб
Скачать

10. Статические модели объектно-ориентированных программных систем

Статические модели обеспечивают представление структуры систем в терминах базовых строительных блоков и отношений между ними. «Статичность» этих моделей состоит в том, что здесь не показывается динамика изменений системы во времени. Вместе с тем следует понимать, что эти модели несут в себе не только структурные описания, но и описания операций, реализующих заданное поведение системы. Основным средством для представления статических моделей являются диаграммы классов [8], [23], [53], [67]. Вершины диаграмм классов нагружены классами, а дуги (ребра) — отношениями между ними. Диаграммы используются:

  • в ходе анализа — для указания ролей и обязанностей сущностей, которые обеспечивают поведение системы;

  • в ходе проектирования — для фиксации структуры классов, которые формируют системную архитектуру.

(содержит атрибуты, методы и взаимосвязи)

Вершины в диаграммах классов

Итак, вершина в диаграмме классов — класс. Обозначение класса на рис. 11.1.

Рис. 11.1. Обозначение класса

Имя класса указывается всегда, свойства и операции — выборочно. Предусмотрено задание области действия свойства (операции). Если свойство (операция) подчеркивается, его областью действия является класс, в противном случае областью Действия является экземпляр (рис. 11.2).

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

Рис. 11.5. Отношения в диаграммах классов

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

Каждая ассоциация может иметь метку — имя, которое описывает природу отношения.

Рис. 11.6. Имена ассоциаций

Рис. 11.7. Роли

Рис. 11. 8. Мощность

Квалификатор — атрибут ассоциации, чьи значения выделяются для данного набора объектов, связанных с объектом через ассоциацию.

Рис. 11.9. Квалификация Рис. 11.10. Видимость

Кроме того, роли в ассоциациях могут иметь пометки видимости. (рис 11.10)

Классы-ассоциации. (здесь характеризует 2 объекта: работник и предприятие)

Рис. 11.11. Класс-ассоциация

Частный случай: исключающая ассоциация:

Отношения агрегации и композиции считаются разновидностью ассоциации - отображение структурных отношений между «целым» (агрегатом) и его «частями». Агрегация показывает отношение по ссылке (в агрегат включены только указатели на части), композиция — отношение физического включения (в агрегат включены сами части).

Зависимость является отношением использования между клиентом (зависимым элементом) и поставщиком (независимым элементом). Обычно операции клиента вызывают операции поставщика; Имеют свойства, определяющие значение операций поставщика(подписка на какие услуги).

Например, на рис. 11.12 показана зависимость класса Заказ от класса Книга, так как Книга используется в операциях проверкаДоступности, добавить и удалить класса Заказ.

Рис. 11.12. Отношения зависимости

Обобщение — отношение между общим предметом (суперклассом) и специализированной разновидностью этого предмета (подклассом). (наследуются свойства и поведения объекта)

Рис. 11.13. Множественное наследование Рис. 11.14. Ромбовидная решетка

ромбовидная решетка наследования (рис. 11.14).

Реализация — семантическое отношение между классами, в котором класс-приемник выполняет реализацию операций интерфейса класса-источника.

Рис. 11.15. Реализация интерфейса

Абстрактным называют класс, который не может иметь экземпляров. Имена абстрактных классов записываются курсивом. Например, на рис. 11.16 показаны абстрактные классы Млекопитающие, Собаки, Кошки.

Рис. 11.16. Абстрактность и полиморфизм

Функции по умолчаниюявляются полиморфными. Абстрактные операции то же крсивом.