Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шевчук - конспект лекций №2.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
12.75 Mб
Скачать

Лекция 6. Модели реализации объектно-ориентированных программных систем

  1. Компонентные диаграммы

  2. Диаграммы размещения (развертывания)

1) Компонентные диаграммы

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

Модели реализации обеспечивают представление системы физическом мире, рассматривая вопросы упаковки логических элементов в компоненты и размещения компонентов в аппаратных узлах.

Компонентная диаграмма показывает организацию набора компонентов и зависимости между компонентами.

Элементы компонентных диаграмм: компоненты, интерфейсы, отношения зависимости и реализации, примечания, ограничения и пакеты.

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

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

Сходства между классом и компонентом:

  • Имя

  • Реализация набора интерфейсов

  • Участие в отношении зависимости и реализации

  • Возможность быть вложенными

  • Наличие экземпляров (экземпляры компонентов м.б. только в диаграммах размещения)

Различия:

  • Классы – логические абстракции, а компоненты – физические объекты

  • Компоненты состоят из классов

  • Класс имеет свойства и операции, а компонент только операции

Особенности компонентов:

Компонент физичен. Он живет в мире битов, а не логических понятий и не зависит от языка программирования

Компонент – заменяемый элемент. Свойство заменяемости позволяет заменить один компонент другим компонентом, который удовлетворяет тем же интерфейсам. Механизм замены оговорен современными компонентными моделями (СОМ, СОМ+, CORBA, Java Beans), требующими незначительных преобразований или предоставляющими утилиты, которые автоматизируют механизм.

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

Компонент соответствует набору интерфейсов и обеспечивает реализацию этого набора интерфейсов

Разновидности компонентов:

Стереотип

Описание

«executable»

Компонент, который может выполняться в физическом узле (имеет расширение .ехе)

«library»

Статическая или динамическая объектная библиотека (имеет расширение .dll)

«file»

Компонент, который представляет файл, содержащий исходный код или данные (имеет расширение .ini)

«table»

Компонент, который представляет таблицу базы данных (имеет расширение .tbl)

«document»

Компонент, который представляет документ (имеет расширение .hlp)

Интерфейс – набор операций, определяющих услуги класса или компонента.

С помощью интерфейсов компоненты стыкуются друг с другом, объединяясь в систему.

Способы отражения взаимосвязи между компонентами и интерфейсами.

По способу связи компонента с интерфейсом различают:

  • Импортируемый интерфейс – тот, который компонент использует как услугу другого компонента

  • Экспортируемый интерфейс – тот, который компонент реализует и предлагает как услугу другим компонентам

Моделирование реализации системы – пример компонентной диаграммы.