Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PIS_Zakharchenko_2015g (1)

.pdf
Скачиваний:
142
Добавлен:
08.04.2015
Размер:
16.13 Mб
Скачать

Проблема: Как представить архитектуру

программной системы?

Графический

интерфейс

пользователя

Модели

бизнес

объектов

Базы данных

351

Диаграмма классов — основная логическая

модель проектируемой системы

Диаграмма классов (class diagram) — диаграмма,

предназначенная для представления модели статической структуры программной системы в терминологии классов объектно-ориентированного программирования

Диаграмма классов представляет собой граф, вершинами или узлами которого являются элементы типа ―классификатор‖, которые связаны различными типами структурных отношений

Классификатор (classifier) – специальное понятие, предназначенное для классификации экземпляров, которые имеют общие характеристики

352

Характеристики классификатора

Характеристика (feature) – понятие, предназначенное для

спецификации особенностей структуры и поведения

экземпляров классификаторов

Структурная характеристика (structural feature) является

типизированной характеристикой классификатора, которая

специфицирует структуру его экземпляров

Характеристика поведения (behavioral feature) является

характеристикой классификатора, которая специфицирует

некоторый аспект поведения его экземпляров

Класс (class) – основной элемент модели (классификатор),

который описывает множество объектов, имеющих

одинаковые спецификации характеристик, ограничений и

семантики

353

Класс - базовый классификатор любой

объектно-ориентированной системы

Класс- описание совокупности однородных объектов

с присущими им свойствами - атрибутами,

операциями, отношениями и семантикой.

Атрибут - это свойство класса, которое может

принимать множество значений. Множество

допустимых значений атрибута образует домен.

Операция - реализация функции, которую можно

запросить у любого объекта класса.

354

Изображение класса

Атрибут < признак видимости > < имя атрибута >: < тип данных > = < значение по умолчанию > Операция

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

355

Варианты графического изображения класса на диаграмме классов

Имя класса

Имя класса

Имя класса

атрибуты класса

 

Имя класса

 

операции класса

операции класса

Видимость

Shape

 

 

 

Имя класса

 

 

 

 

 

 

 

 

 

 

 

+origin : Point

 

 

 

Атрибуты

 

 

 

 

 

 

 

 

 

 

 

 

 

+move(p:Point)

 

 

 

 

+resize(s:Scale)

 

 

 

 

Операции

 

+disply()

 

 

 

Сигнатура

 

 

 

 

 

#invalidateRegion()

операции

 

 

 

 

 

 

 

 

 

 

Дополнительная

 

Responsibilities

 

 

 

 

 

 

 

секция

 

- - manage shape state

 

 

 

 

 

 

 

- - handle basic shape

 

 

 

 

transformations

356

 

 

 

 

 

 

 

 

Основные обозначения на диаграмме классов

 

 

 

 

 

 

Класс

 

 

 

 

Компания

 

 

Кратность

Имя

 

 

1

 

 

 

 

 

 

 

 

ассоциации

 

Композиция

 

 

 

*

1..*

 

 

 

 

1..*

Отдел

 

Местоположение

 

Офис

название : String

*

*

адрес : String

0..1

 

 

 

 

 

телефон :

*

*

 

 

Ассоциация

Number

 

 

 

 

 

Ограничение

 

 

 

 

 

 

 

 

{subset}

 

 

Обобщение

 

 

Сотрудник

 

 

 

 

 

Менеджер

 

 

1..*

1

 

 

 

 

Штаб-квартира

 

 

 

 

Имя конца

 

Сотрудник

 

 

 

 

 

 

 

 

ассоциации

 

 

имя : String

 

 

 

Атрибуты

 

 

 

 

 

 

 

 

фамилия : String

 

 

Операции

 

 

должность : String

 

 

 

 

 

 

 

 

 

getPhoto(p:Photo)

 

 

Контактная

getContactInform()

 

 

 

 

Информация

getPersonalRecords()

 

 

 

 

 

 

 

 

 

 

 

адрес : String

Интерфейс

 

 

 

 

 

 

 

 

 

 

телефон :

 

 

 

 

 

 

Number

 

 

Зависимость

 

 

 

Персональное Дело

 

 

 

 

 

 

 

 

историяРаботы : String

 

зарплата : Curency

357

 

ISecureInformation

Диаграмма классов

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

358

Задание свойств класса

359

Разновидности классов

Абстрактный (abstract) класс не имеет экземпляров или

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

наклонный шрифт (курсив)

 

 

 

Активный класс (active class) – класс, каждый экземпляр

 

Имя класса

 

 

 

которого имеет свою собственную нить управления

 

 

 

Пассивный класс (passive class) – класс, каждый экземпляр которого выполняется в контексте некоторого другого объекта

Квалифицированное имя (qualified name) используется для того, чтобы явно указать, к какому пакету относится тот или иной класс. Для этого применяется специальный символ в качестве разделителя имени – двойное двоеточие ―::‖

Имя класса без символа разделителя называется простым

именем класса

360

 

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