Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_all.doc
Скачиваний:
25
Добавлен:
24.04.2019
Размер:
7.84 Mб
Скачать
  1. Интерфейсы в uml.

Интерфейсы

Интерфейсом в UML называют класс, содержащий только объявление операций. Отдельное описание интерфейсов улучшает технологические качества проектируемого программного обеспечения. Интерфейсы широко применяют при разработке сетевого программного обеспечения, которое должно идентично функционировать в гетерогенных средах, а также для организации взаимодействия с системами управления базами данных и т. п., так как механизм полиморфного наследования позволяет создавать различные реализации одного и того же интерфейса.

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

На диаграмме классов интерфейс можно показать двумя способами: с помощью специального условного обозначения (рис. 14.13, а) или, объявив для класса стереотип «Interface» (рис. 14.13, б).

Реализацию интерфейса также можно показать двумя способами: сокращенно (рис. 14.14, а) или, используя отношение реализации (рис. 14.14, б).

Для остальных классов, ассоциированных с интерфейсом, следует уточнить ассоциацию, показав отношение зависимости. Это отношение в данном случае означает, что класс использует указанный интерфейс (рис. 14.15), т. е. обращается к описанным в интерфейсе функциям.

Рис. 14.13. Условные обозначения интерфейса в UML: а — специальное обозначение; б – с указанием стереотипа

Рис 14.14. Условные обозначения реализации интерфейсов: а – сжатая форма; б – с указанием отношения реализации

Одновременно с уточнением отношений классов в пакете следует продумать и отношения классов, включенных в различные пакеты, между собой.

Рис. 14.15. Обозначение зависимости класса от интерфейса

  1. Проектирование классов.

Собственно проектирование классов предполагает окончательное определение структуры и поведения его объектов. Структура объектов определяется совокупностью атрибутов и операций класса. Каждый атрибут – это поле или совокупность полей данных, содержащихся в объекте класса.

Поведение объектов класса определяется реализуемыми обязанностями. Обязанности выполняются посредством операций класса.

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

<признак видимости> <имя>:<тип> = <значение по умолчанию>,

где признак видимости может принимать одно из трех значений: «+» – общий; «#» – защищенный; «–» – скрытый.

Как упоминалось выше, операциями называют основные действия, реализуемые классом. В отличие от методов, операции не всегда реализуются классом непосредственно. Например, операция Ввод числа может быть реализована агрегированным интерфейсным элементом «окно ввода».

Полное описание операции на диаграмме класса в UML может выглядеть следующим образом:

<признак видимости><имя>(<список параметров>):

< тип возвращаемого значения>.

Ответственностью класса называют кратное неформальное перечисление основных функций объектов класса. Ответственность класса обычно определяют на начальных этапах проектирования, когда атрибуты и операции класса еще не определены. Эту информацию отображают на диаграмме классов в специальных секциях условного изображения класса (рис. 14.17).

Имя класса

Атрибуты

Операции()

Ответственность

Рис. 14.17. Полное условное обозначение класса в UML

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]