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

2.5.1.3.4. Задание видимости класса

Параметр Visibility (Видимость) показывает, будет ли класс виден вне своего пакета. Вы можете ука­зать для класса одно из трех значений:

- Public (Открытый)- этот класс виден всем остальным классам системы;

- Protected, Private (Защищенный, закрытый) –этот класс может быть виден во вложенных в него классах, "друзьям" (friends) этого класса или из самого класса;

- Package or Implementation (Пакет или реализация)- этот класс может быть виден только из клас­сов того же пакета.

2.5.1.3.5. Задание множественности класса

Поле Cardinality (Множественность) позволяет указать, сколько у данного класса должно быть экземп­ляров. Например, в системе КИП можно ожидать наличия множест­ва экземпляров у класса Поручение. Следовательно, множественность этого класса нужно определить как n.

2.5.1.3.6. Задание устойчивости класса

В среде Rose на основе модели можно генерировать DDL (Data Definition Language — Язык Описа­ния Данных). DDL определяет структуру вашей базы данных.

При генерации DDL приложение Rose ищет устойчивые (persistent) классы. Поле Persistence окна спецификации класса применяется для определения этого параметра. Он может принимать одно из следующих значений:

Persistent (Устойчивый) - Класс сохраняется и после завершения работы приложения. Иначе го­воря, содержащаяся в объектах класса информация будет сохраняться в базе данных или каким-то другим способом, обеспечивающим длительное хранение.

Transient (Временный) - Информация, содержащаяся в объектах класса, не будет сохраняться после завершения работы приложения.

В системе КИП классы Источник поручения, Исполнитель поручения, Поручение надо пометить как устойчивые, чтобы они сохранились в БД.

2.5.1.3.7. Создание абстрактного класса

Абстрактным называется класс, который не наполняется конкретным содержанием (не инстанцируется). Иными словами, если класс А абстрактный, в памяти никогда не будет объектов типа А.

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

Например класс List (Список) является абстрактным и в нем содержится общие для всех потомков операции displayList, addItem, deleteItem (см. рис. 16).

Рис.16. Абстрактный класс

2.5.1.4. Работа с пакетами

Пакеты (packages) применяются для группирования классов, обладающих некоторой общностью.

Объединять классы можно, как угодно, однако существует несколько наиболее распространенных подходов. Во-первых, можно группировать классы по стереотипу. В таком случае получается один па­кет с классами-сущностями, один с пограничными классами, один с управляющими классами и т.д. (см. рис. 17).Этот подход может быть полезен с точки зрения размещения готовой системы, поскольку все находя­щиеся на клиентских машинах пограничные классы уже оказываются в одном пакете.

Рис.17. Пакеты классов

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

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

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