Методики объектно-ориентированного анализа.



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

Классические подходы. Они основывается на классическом распределении по категориям.

Кандидаты для классов и объектов, предлагаемые С. Шлаером и С.Меллолором:

· - материальные предметы

· - роли (учитель, телезрители, и т. д.)

· - события (прерывание, требование)

· - взаимодействие (встреча, пересечение).

При моделировании баз данных Р. Росс прелагает свой аналогичный список:

· -люди;

· -места;

· -предметы;

· -организации;

· -концепции;

· -события;

Коад и Йордан предложили свой список кандидатов:

· - структуры;

· - другие системы;

· - устройства;

· - события;

· - роли, в которых находятся пользователи;

· - местоположение;

· - организационные единицы.

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

Ответственность объекта - совокупность всех услуг, которые он может предоставлять по всем его контрактам. В иерархии классов каждый подкласс выполняет обязательства суперкласса и добавляет свои дополнительные услуги.

Анализ предметной области. Для поиска общих классов и объектов рекомендуется обратиться ко всем приложениям в рамках предметной области. Здесь выделяются те объекты, операции, связи, которые эксперты данной предметной области считают наиболее важными. В роли эксперта часто выступают просто пользователи системы.

Анализ вариантов ( анализ сценариев).Классический подход, поведенческий подход и изучение предметной области по отдельности сильно зависят от индивидуальных способностей и опыта аналитика. Анализ вариантов - это подход, который можно успешно сочетать с тремя первыми, делая их применение более упорядоченными. Этот вид анализа начинается вместе с анализом требований, когда пользователи, эксперты и разработчики перечисляют сценарии, наиболее существенные для работы с системой.

Затем сценарии тщательно прорабатывается, раскладывается по кадрам. При этом устанавливается, какие объекты участвуют в сценарии, обязанности каждого объекта и как они взаимодействуют в терминах операций, т.е. четко распределяются области влияния абстракций. Далее набор сценариев расширяется, чтобы учесть исключительные ситуации и вторичное поведение. В результате появляются новые и уточняются существующие абстракции CRC карточки. (Class-Responsibilities-Collaborators, Класс-Ответственность-Участники). Это простой и эффективный способ анализа сценариев. На карточке пишется карандашом сверху название класса, в левой половине - за что он отвечает, в правой - с кем сотрудничает. Проходя по сценарию, на каждый обнаруженный класс заводится по карточке. После анализа ответственности класса, возможно, часть ответственности с одного большого класса передается другому классу, или выделяются новые более детальные классы. Карточки можно раскладывать так, чтобы представить формы сотрудничества объектов. С точки зрения динамики сценария, их расположение показывает поток сообщений между объектами, с точки зрения статики они представляют иерархии классов.

Неформальное описание.В описание проблемы на обычном языке подчеркиваются существительные и глаголы. Существительные представляют собой кандидаты для классов; глаголы- кандидаты для операций. Подход весьма приблизителен и не подходит для сложных проблем.

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

· внешние сущности;

· хранилища данных;

· хранилища управляющих сущностей.

Кандидаты для классов:

· потоки данных;

· потоки управления.


Дата добавления: 2018-02-15; просмотров: 802; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!