15. Диаграмма компонентов и правила ее оформления. Интерфейсы и их описания. Примеры.

 

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

Компонент (component) – физическая заменяемая часть системы, обеспечивающая реализацию функций системы. Это программный код (исходный, бинарный, выполнимый) или его эквиваленты -  сценарии и командные файлы. Компонентами являются программные модули, в том числе библиотечные модули и стандартные программные системы (операционные системы, СУБД), а также файлы документации и таблицы базы данных.

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

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

 

Рис. 1 – Главная диаграмма компонентов системы

Рис. 2 – Диаграмма Control

 

Стереотипы компонентов:

·         <<component>> – главный стереотип;

·         <<file>> произвольный физический файл;

·         <<executable>> – исполняемый файл;

·         <<document>> – файл в виде документа;

·         <<library>> – файл библиотеки;

·         <<source>> – файл с исходным текстом;

·         <<table>> – файл с таблицей БД.

 

Реализация диаграммы компонентов

            Уровень типов

 

            Уровень экземпляров

 

UML 2.0. Компоненты и интерфейсы.

 

Интерфейс (interface) служит для спецификации параметров модели, которые видимы извне без указания их внутренней структуры. В языке UML интерфейс является классификатором и характеризует только ограниченную часть поведения моделируемой сущности. Применительно к диаграммам вариантов использования, интерфейсы определяют совокупность операций, которые обеспечивают необходимый набор сервисов или функциональности для актеров. Интерфейсы не могут содержать ни атрибутов, ни состояний, ни направленных ассоциаций. Они содержат только операции без указания особенностей их реализации. Формально интерфейс эквивалентен абстрактному классу без атрибутов и методов с наличием только абстрактных операций.

На диаграмме вариантов использования интерфейс изображается в виде маленького круга, рядом с которым записывается его имя (рис. 4.3, а). В качестве имени может быть существительное, которое характеризует соответствующую информацию или сервис (например, "датчик", "сирена", "видеокамера"), но чаще строка текста (например, "запрос к базе данных", "форма ввода", "устройство подачи звукового сигнала"). Если имя записывается на английском, то оно должно начинаться с заглавной буквы I, например, ISecurelnformation, ISensor (рис. 4.3, б).

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

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

С системно-аналитической точки зрения интерфейс не только отделяет спецификацию операций системы от их реализации, но и определяет общие границы проектируемой системы. В последующем интерфейс может быть уточнен явным указанием тех операций, которые специфицируют отдельный аспект поведения системы. В этом случае он изображается в форме прямоугольника класса с ключевым словом "interface" в секции имени, с пустой секцией атрибутов и с непустой секцией операций. Однако подобное графическое представление используется на диаграммах классов или диаграммах, характеризующих поведение моделируемой системы.

Важность интерфейсов заключается в том, что они определяют стыковочные узлы в проектируемой системе, что совершенно необходимо для организации коллективной работы над проектом. Более того, спецификация интерфейсов способствует "безболезненной" модификации уже существующей системы при переходе на новые технологические решения. В этом случае изменению подвергается только реализация операций, но никак не функциональность самой системы. А это обеспечивает совместимость последующих версий программ с первоначальными при спиральной технологии разработки программных систем.

 

 

Артефакты – физически реализованный компонент или несколько компонентов в одной единице.

 

Соединения и порты – портом называют именованную точку соединения, которая позволяет некоему модулю (назовем его «сервером») предоставлять интерфейс за пределами своего класса без необходимости показывать клиенту внутреннюю структуру этого класса. Внешний модуль («клиент») может «общаться» с «сервером» через порт, ничего не зная о «сервере».

Hosted by uCoz