Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
компьютерная техника (конспектировать ).docx
Скачиваний:
84
Добавлен:
05.11.2018
Размер:
2 Мб
Скачать
☆

4.6 Конкурирующие связи с жизненными циклами экземпляров

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

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

Определитель бронирования (неправильный)

Рис.4.5.3. Первый набросок модели состояний для Определителя Бронирования.

Агентство ищет соответствие собак, отвечающих требованиям размещения, потенциальным хозяевам. Как только это соответствие достигнуто, хозяин платит гонорар за размещение. Модели состояний для Собаки и Хозяина показаны на рис.4.6.2. Конечно, также требуется модель состояний для преобразования в последовательную форму конкурирующих запросов хозяев о собаках, эта модель (Определитель Размещения) приводится на рис.4.6.3.

Определитель бронирования (правильный)

Рис.4.5.4. Заключительная версия модели состояний Определителя Бронирования.

Рис.4.6.1. Информационная модель для агенства размещения собак.

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

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

Очевидно, что единичные экземпляры Размещения имеют отдельные жизненные циклы. Модель состояний для экземпляров Размещения показана на рис.4.6.4.

4.7 Советы по моделированию

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

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

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

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

Используйте модель взаимодействия объектов. Модель взаимодействия объектов (описанная в 5-й главе) является графическим представлением взаимодействия событий между различными объектами и связями. Если Вы заранее делаете эскиз грубой модели взаимодействия объектов и поддерживаете его по мере реализации, вряд ли для вас возникнут какие-то неожиданности, связанные с событиями.

Рис.4.6.2.Модель состояний для Собаки и Хозяина..

Рис.4.6.3. Модель состояний для Определителя Размещения.

Рис.4.6.4. Модель состояния для экземпляров размещения.