Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Rose.doc
Скачиваний:
1
Добавлен:
08.11.2019
Размер:
466.43 Кб
Скачать

Как "находить" классы

Строгой инструкции, которая предписывала бы способы отыскания абстракций, под­ходящих на роль классов, просто нет. В Rational Unified Process для разработки классов мо­делируемой системы предлагается обращать внимание на стереотипы классов сущностей, границ и управления. Указанное множество стереотипов позволяет аналитику и дизай­неру размежевать уровни предметной области, представления и управления системой.

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

Классы сущностей

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

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

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

Классы границ

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

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

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

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

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