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

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

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

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

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

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

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

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

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

Что это значит? Если областью действия свойства является класс, то все его экземпляры (объекты) используют общее значение этого свойства, в противном случае у каждого экземпляра свое значение свойства.

Рис. 11.2. Свойства уровней класса и экземпляра

Свойства

Общий синтаксис представления свойства имеет вид

Видимость Имя [Множественность]: Тип = НачальнЗначение {Характеристики}

Рассмотрим видимость и характеристики свойств.

В языке UML определены три уровня видимости:

public

protected

private

Любой клиент класса может использовать свойство (операцию), обозначается символом +

Любой наследник класса может использовать свойство (операцию), обозначается символом #

Свойство (операция) может использоваться только самим классом, обозначается символом -

ПРИМЕЧАНИЕ

Если видимость не указана, считают, что свойство объявлено с публичной видимостью.

Определены три характеристики свойств:

changeable

addOnly

frozen

Нет ограничений на модификацию значения свойства

Для свойств с множественностью, большей единицы; дополнительные значения могут быть добавлены, но после создания значение не может удаляться или изменяться

После инициализации объекта значение свойства не изменяется

ПРИМЕЧАНИЕ

Если характеристика не указана, считают, что свойство объявлено с характеристикой changeable.

Примеры объявления свойств:

начало

+ начало

начало : Координаты

имяфамилия [0..1] : String

левыйУгол : Координаты=(0, 10)

сумма : Integer {frozen}

Только имя

Видимость и имя

Имя и тип

Имя, множественность, тип

Имя, тип, начальное значение

Имя и характеристика

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