ТОП 10:

Создание утилиты класса-наполнителя



Утилитой класса-наполнителя (instantiated class utility) называется утилита параметризованного класса, параметры которой имеют фактические значения. На диаграмме классов она выглядит следующим об­разом:

Для добавления утилиты класса-наполнителя:

· Нажмите кнопку Instantiated Class Utility панели инструментов.

· Щелкните мышью на диаграмме там, где будет находиться новый класс.

· Введите его имя.

Добавление метакласса

Метакласс (metaclass) — это класс, экземпляры которого являются классами, а не объектами. К числу метаклассов относятся параметризованные классы и утилиты параметризованных классов. На языке UML метаклассы изображают следующим образом:

Для добавления метакласса:

 

· С помощью одного из описанных выше методов добавьте класс на диаграмму Классов или в браузер.

· Откройте окно спецификации класса.

· В поле Туре (Тип) укажите MetaClass (Метакласс).

· Нажмите ОК.

Именование классов

Каждому классу модели Rose необходимо дать уникальное имя. Большинство организаций имеет собст­венные соглашения по именованию классов. В общем случае используются существительные в единст­венном числе. В системе обработки данных о сотрудниках может быть класс Employee (Сотрудник) и класс Position (Должность). Мы не будем называть их Employees (Сотрудники) и Positions (Должности).

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

Несмотря на то, что название ListOfEmployeesThatAreOnProbation (Список сотрудников, проходя­щих испытательный срок) хорошо описывает назначение класса, оно слишком сложное. Имя Emp- loyeeList (Список сотрудников) будет в данном случае лучшим вариантом.

Используемый для именования классов регистр символов определяется обычно организацией. Если, например, ваш класс соответствует списку пользователей, вы можете назвать его employeelist, EmployeeList, Employeelist или EMPLOYEELIST. Таким образом, компания может придерживаться своих соглашений по именованию. Важно только, чтобы принятый подход применялся ко всем классам модели.

Дать классу имя можно следующим образом:

· Выделите класс в браузере или на диаграмме классов.

· Введите его имя.

Назначение стереотипа для класса

Стереотип — это механизм, позволяющий категоризировать классы. Допустим, вы хотите найти все формы в вашей модели. Для этого можно создать стереотип Form (Форма) и назначить его всем окнам вашего приложения. В дальнейшем при поиске форм нужно только искать классы с этим стереотипом.

На языке UML определены три основных стереотипа: Boundary (Граница), Entity (Объект) и Cont­rol (Управление).

Практика 10. Типы классов.

Пограничные классы

Пограничными классами (boundary classes) называются такие классы, которые расположены на границе системы со всем остальным миром. Они включают в себя формы, отчеты, интерфейсы с аппаратурой (такой, как принтеры или сканеры) и интерфейсы с другими системами. В UML пограничные классы обозначают следующим образом:

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

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

Изучение диаграмм Вариантов Использования поможет вам обнаружить пограничные классы.

Классы-сущности

Классы-сущности (entity classes) содержат информацию, хранимую постоянно. В нашей системе работы с данными о сотрудниках хорошим примером такого класса является класс Employee. Классы-сущности можно обнаружить в потоке событий и на диаграммах Взаимодействия. Они имеют наибольшее значе- ние для пользователя, и потому в их названиях часто применяют термины из предметной области. На языке UML классы-сущности представляют следующим символом:


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

Управляющие классы

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

В системе могут применяться и другие управляющие классы, общие для нескольких вариантов ис­пользования. Например, класс SecurityManager (Менеджер безопасности) может отвечать за конт­роль событий, связанных с безопасностью, а класс TransactionManager (Менеджер транзакций) заниматься координацией сообщений, относящихся к транзакциям с базой данных. Могут быть и дру­гие менеджеры для работы с такими элементами функционирования системы, как разделение ресур­сов, распределенная обработка данных и обработка ошибок.

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

Помимо упомянутых выше стереотипов, вы можете создавать и свои собственные. Для этого нуж­но ввести новый стереотип в поле Stereotype, после чего он будет доступен в текущей модели Rose. Разрешается добавлять стереотип для использования во всех моделях и даже создавать для него кноп­ки и пиктограммы панели инструментов.

Назначить стереотип классу можно следующим образом:

· Откройте окно спецификации класса.

· В раскрывающемся списке выберите нужный стереотип или введите его сами.







Последнее изменение этой страницы: 2016-04-18; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.233.215.196 (0.004 с.)