Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Примеры моделирования и анализа на основе ООП.doc
Скачиваний:
63
Добавлен:
02.05.2014
Размер:
265.22 Кб
Скачать

стр. 15из15

Шаблоны объектных моделей

Шаблон объектной модели — это группа объектов со стереотипными обязанностями взаимо­действия по сценарию. Шаблоны разделены на семейства:

  • фундаментальные шаблоны

  1. базовый шаблон

  • шаблоны транзакций, т.е. шаблоны, имеющие игрока транзакции или игроков, сообща играю­щих с ним:

  1. актер – участник

  2. участник – транзакция

  3. место – транзакция

  4. конкретный экземпляр – транзакция

  5. транзакция – экземпляр строки транзакции

  6. транзакция – следующая транзакция

  7. экземпляр строки транзакции – экземпляр строки следующей транзакции

  8. экземпляр – экземпляр строки

  9. конкретный экземпляр – экземпляр строки

  10. экземпляр – конкретный экземпляр

  11. компаньон – другой компаньон

  12. конкретный экземпляр – иерархический экземпляр

  • шаблоны агрегатов:

  1. контейнер – содержимое

  2. контейнер – экземпляр строки контейнера

  3. группа – член группы

  4. объединение – часть

  5. составная часть – часть

  6. пакет – компонент пакета

  • шаблоны планов:

  1. план – шаг

  2. план – выполнение плана

  3. выполнение плана – выполнение шага

  4. шаг – выполнение шага

  5. план – версия плана

  • шаблоны взаимодействия (применяйте их к игрокам из других шаблонов):

  1. равный – с равным

  2. агент – конкретный экземпляр

  3. издатель – подписчик

  4. отправитель – посредник – получатель

  5. отправитель – справочное устройство – получатель

  6. вызывающий – диспетчер – отвечающий

  7. контролер – запрос – ресурс

Базовый шаблон

является фундаментальным для объектной модели, шаблоном для всех осталь­ных шаблонов

Шаблон № 1 "Множество - Исполнитель" фундаментальный шаблон

Collection Множество

number мощность, номер, код

name имя

date дата

time время

status статус

about описание, дополнительно

how Many(Much) () сколько

calc Over workers() обсчет по всем

rank Workers() ранжировать

calc For Me() вычислить

Worker Исполнитель

number номер

name имя

about описание

calc For Me() вычислить

rate() оценить

1 *

  • типичные объектные взаимодействия

how Many(Much) —> calc For Me; calc Over Workers —>calc For Me; rank Workers —> rate

  • другие замечания

about помогает понять, какие еще нужны атрибуты

calc For Me показывает, какие специальные вычисления могут понадобиться

rank ранжирование, уточняет, какие службы упорядочивания и сравнения нужны

rate оценить, помогает понять, какие службы самоконтроля необходимы

Шаблоны транзакций

Схема шаблонов транзакций

Actor

Актер

Participant

Участник

Transaction

Транзакция

Subsequent Transaction

Следующая Транзакция

1 * 1 * 1 *

Specific Item

Конкретный Экземпляр

Place

Место

1 * 1

* * 1

1

* 1

1 * 1..* 1..*

Item

Экземпляр

Transaction Line Item

Экземпляр Строки

Транзакции

Subsequent Transaction Line Item

Экземпляр Строки Следующей

Транзакции

1

1 * 1 *

Associate

Компаньон

Other Associate

Другой Компаньон

1 *

Шаблон № 2 "Актер – Участник" шаблоны транзакций

Actor Актер

name имя

address адрес

phone телефон

about дополнительное описание

how Many(Much) () сколько

calc Over Participants() обсчитать на всех

rank Participants() ранжировать

calc For Me() вычислить

Participant Участник

number код, номер

start Date начальная дата

end Date конечная дата

password пароль

authorization level уровень авторизации

about дополнительно

is Active() активизировать

calc For Me() вычислить

rate() оценить

1 *

  • типичные объектные взаимодействия

how Many(Much) —> calc For Me; rank participants —> rate; get name <— get name;

calc Over participants --> calc For Me; get address <— get address

  • примеры

актер: человек, организация (агентство, компания, корпорация, фонд)

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

дополнительные примеры: то, что используется для выполнения различных заданий, напри­мер, полетного задания для гражданской или военной авиации

  • комбинации

участник - транзакция; актер – участник, например: покупатель - “золотой" покупатель