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

2.5. Диаграммы Логического представления

2.5.1. Диаграммы Классов

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

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

По умолчанию существует одна диаграмма Классов, называемая Главной (Main) и располагающая­ся непосредственно под Логическим представлением в браузере. На этой диаграмме показывают па­кеты классов модели. Внутри каждого пакета также имеется Главная диаграмма, включающая в себя все классы этого пакета. Двойной щелчок мыши на пакете диаграммы Классов в среде Rose открывает Главную диаграмму этого пакета.

Диаграммы Классов являются хорошим инструментом проектирования.

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

2.5.1.1. Выявление классов

Класс — это некоторая сущность, инкапсулирующая данные и поведение. Например, в системе КИП есть класс для работы с данными о поручениях - это класс Task. Он содержит такие данные, как идентификационный номер поручения (taskNumber), его содержание (taskText), дата исполнения поручения (executionDate), исходящий номер (sourceNumber), исходящая дата (sourceDate), дата выдачи поручения (taskDate). Класс Task имеет также свое поведение. Он знает, как создать поручение (create), заполнить реквизиты (setInfo), извлечь (getInfo), сделать пометку о снятии поручения с контроля(closeTask).

На языке UML класс Task изображается с помощью следующей нотации (см. рис.13).

Рис.13. Изображение классов в UML

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

На диаграммах этого типа можно также отобразить видимость всех атрибутов и операций, тип данных атрибутов и сигнатуру всех операций.

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

- Действующее лицо;

- Класс;

- Атрибут класса;

- Выражение, не являющееся действующим лицом, классом или атрибутом.

Изучив все эти существительные, вы определите классы вашей системы.

Другим способом является анализ диаграмм Последовательности и Кооперативных диаграмм. Ищите на этих диаграммах похожие объекты, для них следует создать один класс, который будет шаблоном для этих объектов.

Каждый объект диаграмм Последовательности и Кооперативных диаграмм должен быть соотне­сен с соответствующим классом.

Поток событий и диаграммы Взаимодействия являются прекрасным местом, где можно начать по­иск классов. Тем не менее некоторые классы вы там не найдете. При выявлении классов следует рас­смотреть три возможных стереотипа: сущность (entity), границу (boundary) и управление (control). Не все они содержатся в потоке событий и на диаграммах Взаимодействия.

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