Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Примеры моделирования и анализа на основе ООП - файл 1.doc


Примеры моделирования и анализа на основе ООП
скачать (259 kb.)

Доступные файлы (1):

1.doc259kb.16.11.2011 03:00скачать

содержание
Загрузка...

1.doc

Реклама MarketGid:
Загрузка...

/var/www/gendocs/docs_files/2/conv_1937_1/file1.doc стр. из

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


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

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

  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

  • примеры

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

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

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

  • комбинации

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

^

Шаблон № 3 "Участник – Транзакция" шаблоны транзакций



Participant Участник

number код, номер

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

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

password пароль

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

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

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

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

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

is Authorized() авторизовать

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




Transaction Транзакция

number код, номер

date дата

time время

status статус

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

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

rate() оценить









1 *










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

how Many(Much) —> calc For Me; calc Over transactions —> calc For Me;

rank Transactions —> rate

  • Примеры

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

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

  • Комбинации:

актер - участник, участник - транзакция, место - транзакция, конкретный экземп­ляр - транзак­ция, транзакция - экземпляр строки транзакции, транзакция - сле­дующая транзакция

^

Шаблон № 4 "Место – Транзакция" шаблоны транзакций



Place Место

number номер, код

name имя

address адрес

about описание

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

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

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

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




Transaction Транзакция

number номер, код

date дата

time время

status статус

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

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

rate() оценить






1 *








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

how Many —> calc For Me; calc Over transactions —> calc For Me; rank Transactions -> rate

  • Примеры

Место: аэропорт, сборочный конвейер, банк, клиника, депо, гараж, географическая точка, ангар, больница, завод, плантация, регион, торговая точка, сервисный центр, полка, вокзал, магазин, склад, зона

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

  • Комбинации

участник - транзакция, конкретный экземпляр - транзакция, транзакция - экземпляр строки транзакции, транзакция - следующая транзакция

  • При применении "места" в качестве контейнера возможны также комбинации:

контейнер - контейнер, контей­нер - экземпляр строки контейнера

^

Шаблон № 5 "Конкретный Экземпляр – Транзакция" шаблоны транзакций




Transaction Транзакция

number номер

date дата

time время

status статус

about описание

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

rate() оценить

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

serial Number серийный номер

name имя

about описание

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

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

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

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









1 *





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

how Many —> calc For Me; calc Over Transactions —> calc For Me; rank Transactions —> rate

  • Примеры

Конкретный экземпляр: конкретный самолет, конкретный контейнер, конкретный корабль, конкретное регистрирующее устройство, конкретный автомобиль

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

  • Комбинации

участник - транзакция, место - транзакция; конкретный экземпляр - транзакция,

транзакция - экземпляр строки транзакции, транзакция - следующая транзакция

  • При использовании конкретного экземпляра в качестве контейнера:

контейнер - содер­жимое, контейнер - экземпляр строки контейнера

^

Шаблон № 6 "Транзакция – Экземпляр Строки Транзакции" шаблоны транзакций




Transaction Транзакция

number номер

date дата

time время

status статус

about описание

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

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

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

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




^ Transaction Line Item

Экземпляр Строки Транзакции

quantity количество

status статус

about описание

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

rate() оценить









1 1..*



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

how Many(Much) Over Interval —> calc For Me; calc Over Line Items —> calc For Me;

rank Line Items —> rate

  • Примеры:

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

^ Транзакция - экземпляр строки транзакции; депозит - экземпляр строки депозита; за­каз - экземпляр строки заказа; оплата - экземпляр строки оплаты; прокат - экзем­пляр строки проката; продажа - экземпляр строки продажи; поставка - экземпляр строки поставки; отзыв - экземпляр строки отзыва

  • Комбинации

участник - транзакция, место - транзакция; конкретный экземпляр - транзакция, тран­зак-ция - следующая транзакция; экземпляр строки транзакции - экземпляр строки сле­дующей транзакции; экземпляр - экземпляр строки; конкретный экземпляр - экземпляр строки

^

Шаблон № 7 "Транзакция – Следующая Транзакция" шаблоны транзакций



Transaction Транзакция

number номер

date дата

time время

status статус

about описание

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

calc Over Subsequent Transactions()

обсчет по всем

rank Subsequent Transactions()

оценить следующую

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







^ Subsequent Transaction

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

number номер

date дата

time время

status статус

about описание

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

rate() оценить









1 *








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

how Many(Much) —> calc For Me calc Over Subsequent Transactions —> calc For Me

rank Subsequent Transactions —> rate

  • Примеры

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

^ Транзакция - следующая транзакция; заявка-выпуск; промежуточный результат - конечный результат; заказ - поставка; покупка - оплата; резервирование - продажа

  • Комбинации

участник - транзакция, место - транзакция; конкретный экземпляр - транзакция, транзакция - экземпляр строки транзакции, следующая транзакция - экземпляр строки следующей транзакции

  • Расположите транзакции во временной последовательности (в том порядке, в каком они обычно происходят). Если следующая транзакция и объекты экземпляра ее строки находятся во взаимно одно­значном соответствии с предыдущей транзакцией и объектами экземпляра ее строки, скомбинируйте их



^

Шаблон № 8 "Экземпляр Строки Транзакции – шаблоны транзакций


-- Экземпляр Строки Следующей Транзакции"

Transaction Line Item


Экземпляр Строки Транзакции

quantity количество

status статус

about описание

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

calc Over Subsequent Line Item()

обсчет по всем

rank Subsequent Line Item()

оценить следующую

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









^ Subsequent Transaction Line Item

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

quantity количество

status статус

about описание

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

rate() оценить









1 *



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

how Many(Much) —> calc For Me calc Over Subsequent Line Items —> calc For Me

rank Transactions —> rate

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

  • Комбинации

транзакция - экземпляр строки транзакции; экземпляр - экземпляр строки; конкретный экземпляр - экземпляр строки; экземпляр строки транзакции - экземпляр строки следующей транзакции; экземпляр строки заказа - экземпляр строки поставки; экземпляр строки заявки - экземпляр строки проката; экземпляр строки заказа - экземпляр строки поставки

^

Шаблон № 9 "Экземпляр – Экземпляр Строки" шаблоны транзакций



Item Экземпляр

name имя

number код код

description описание

price цена

about описание

how Many() сколько

calc Over Line Items()

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

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




Line Item

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

quantity количество

status статус

about описание

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

rate() оценить










1 *








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

how Many —> get quantity calc Over Line Items —> calc For Me rank Line Items —> rate

  • Примеры

с экземплярами строки транзакции: экземпляр товара - экземпляр строки заказа; экземп­ляр товара - экземпляр строки проката; экземпляр товара - экземпляр строки продажи; экземпляр товара - экземпляр строки поставки

с экземплярами строки контейнера: экземпляр товара - экземпляр строки бункера; экземпляр товара - экземпляр строки склада

  • Комбинации: транзакция - экземпляр строки транзакции; следующая транзакция - экземпляр строки следующей транзакции; экземпляр строки транзакции - экземпляр строки следующей транзакции; контейнер - экземпляр



^

Шаблон № 10 "Конкретный Экземпляр – Экземпляр Строки" шаблоны транзакций



Specific Item


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

serial Number серийный номер

purchase Date дата покупки

about описание

how Many() сколько

check Status() проверка статуса

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

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

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

Line Item

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

status статус

about описание

is Status Value() значение статуса

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

rate() оценить






1 *



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

how Many —> calc For Me rank Line Items calc Over Line Items —> calc For Me

check Status —> is Status Value

  • Примеры: конкретный самолет - экземпляр строки; конкретный автомобиль - экземпляр строки; видеопленка - экземпляр строки проката

  • Комбинации: транзакция - экземпляр строки транзакции; экземпляр строки транзакции - экземпляр строки следующей транзакции



^

Шаблон № 11 "Экземпляр – Конкретный экземпляр" шаблоны транзакций



Item Экземпляр

name имя

number номер

description описание

default Value значение по умолчанию

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

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

check Status() проверка статуса

calc Over Specific Items()

обсчет по всем конкретным

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

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



^

Specific Item

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


serial Number серийный номер

purchase Date дата покупки

about описание

get Custom Else Default()

назначенный, иначе по умолчанию

is Status Value() значение статуса

calc For Me() описание

rate() оценить










1 *





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

how Many —> calc For Me; check Status —> is Status Value; rank Special Items —> rate calc Over Specific Items —> calc For Me; get Default Value <— get Custom Else Default

  • Примеры

Самолет - конкретный самолет; описание займа - конкретный заем; описание работы - конкретная работа; описание видео - видеопленка; категория цены - экземпляр товара - конкретный экземпляр (шаблон, примененный дважды); категория налога - экземпляр товара - конкретный экземпляр (шаблон, примененный дважды)

  • Комбинации

конкретный экземпляр - транзакция; экземпляр - экземпляр строки

^

Шаблон № 12 "Компаньон – Другой Компаньон" шаблоны транзакций



Associate

Компаньон

number код

name имя

about описание

how Many()

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

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

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




Other Associate

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

number код

name имя

about описание

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

rate() оценить








1 *





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

how Many —> calc For Me; calc Over Other Associates —> calc;

For Me rank Other Associates —> rate

  • Примеры

элерон - гироскоп; самолет - взлетная полоса; здание - датчик; водитель - автомобиль; блок погрузки - заказ; заказ - груз; грузовик - блок погрузки

  • Комбинации любой другой шаблон

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



^

Шаблон № 13 "Конкретный Экземпляр – Иерархический Экземпляр" шаблоны агрегатов



Specific Item

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

serial Number серийный номер

purchase Date дата покупки

about описание

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

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





Hierarchical Item

Иерархический Экземпляр

number код

name имя

about описание

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



1 *















Root Item корневой

children потомок


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

Middle Item средний

parent родитель

children потомок


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

Leaf Item лист

parent родитель


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














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

how Many —> calc For Me calc Over Items -> calc For Me

  • Примеры:

счет - описание иерархии счета; товары - описание иерархии товаров;

организация - описание иерархии организации

  • Комбинации:

экземпляр - конкретный экземпляр
^

Шаблоны агрегатов


иногда они связаны с другими с помощью шаблона транзакции "Компаньон – Другой компаньон"

Схема шаблонов агрегатов:



Container Контейнер

^

Group


Группа

Assembly


Объединение

Packet


Пакет

Compound

Part


Составная

Часть

1 1

1

1 * 1

Member


Член Группы

Packet

Component

Компонент

Пакета
1..*


Content Содержимое

1..* 1..*

Part


Часть




*

^

Container Line Item


Экземпляр Строки Контейнера

Шаблон № 14 "Контейнер – Содержимое" шаблоны агрегатов



Container Контейнер

number код

name имя

capacity емкость

about описание

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

calc Over Contents() обсчитать

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

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





^

Content Содержимое


number код

size размер

weight вес

about описание

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

rate() оценить






1 *








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

how Many —> calc For Me calc Over Contents —> calc For Me rank Content —> rate

  • Примеры

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

контейнер - содержимое: самолет - груз; самолет - пассажир; здание - комната; каталог - экземпляр каталога; магазин - экземпляр магазина; склад - блок погрузки

  • Комбинации: контейнер - содержимое; контейнер - экземпляр строки контейнера; группа –

член; агрегат - часть

  • Если "контейнер" или "содержимое" являются участником, местом или особым экземпляром возможны также комбинации:

актер - участник; участник - транзакция; место - транзакция; конкретный экземпляр - транзакция; экземпляр конкрет­ной строки - экземпляр строки; экземпляр - конкретный экземпляр

^

Шаблон № 15 "Контейнер – Экземпляр Строки Контейнера" шаблоны агрегатов



Container Контейнер

number код

name имя

capacity емкость

about описание

how Many() сколько

calc Over Line Items() обсчитать

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

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






^ Container Line Item

Экземпляр Строки Контейнера

quantity количество

status статус

about описание

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

rate() оценить






1 *





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

how Many —> calc For Me calc Over Line Items —> calc For Me rank Line Items —> rate

  • Примеры: самолет - экземпляр строки самолета; бункер - экземпляр строки бункера; склад - экземпляр строки склада

  • Комбинации:

экземпляр - экземпляр строки; конкретный экземпляр - экземпляр строки. Если "контейнер" - это участник, место или конкретный экземпляр товара, комбинации будут такими: актер - участник; участник - транзакция; место - транзакция; конкретный экземпляр - транзакция; экземпляр конкретной строки - экземпляр строки; экземпляр - конкретный экземпляр

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



^

Шаблон № 16 "Группа – Член Группы" шаблоны агрегатов



Group Группа

number код

name имя

about описание

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

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

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

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




Member

Член Группы

number код

name имя

about описание

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

rate() оценить




1 *








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

how Many —> calc For Me calc Over members —> calc For Me rank members —> rate

  • Примеры: компания - работодатель, команда - член команды

  • Комбинации: группа - член группы; контейнер - содержимое; объединение - часть

  • Если "группой" или "членом группы" являются участник, место или конкретный экземпляр, применяются также комбинации: актер - участник; участник - транзакция; место - транзакция; конкретный экземпляр - транзакция; конкретный экземпляр - экземпляр строки; экземпляр - конкретный экземпляр



^

Шаблон № 17 "Объединение – Часть" шаблоны агрегатов



Assembly Объединение

operation State

number код

name имя

description описание вид

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

activate() включить

monitor() наблюдать

accept Report() создать отчет

deactivate() отключить

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

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

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


^

Part Часть


operation State

number код

name имя

description описание вид

operating Range область действия

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

activate() включить

monitor() наблюдать

report() сообщить

deactivate() отключить

rate() оценить

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






1 *








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

monitor —> monitor calc Over Parts —> calc For Me

accept Report <— report rank Parts —> rate

  • Примеры

самолет - двигатель; двигатель - часть двигателя

  • Комбинации

объединение - часть; контейнер - содержимое; группа - член группы; составная часть - часть

  • Если "объединение" или "часть" являются конкретным экземпляром, применяются также:

конкретный экземпляр - транзакция; конкретный экземпляр - экземпляр строки

^

Шаблон № 18 "Составная Часть – Часть" шаблоны агрегатов


Compound Part

Составная Часть



more About дополнительно

how Many() сколько

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

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

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

^

Part Часть


number код

name имя

description описание

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

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

rate() оценить






1 *



















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

how Many —> calc For Me calc Over Parts —> calc For Me rank Parts —> rate

  • Примеры

составная часть - часть; электронное устройство - электронная часть; аппаратное устройство - аппаратная часть

  • Комбинации: объединение - часть

  • Если "составная часть" или "часть" являются конкретным экземпляром, применяются также:

конкретный экземпляр - транзакция; конкретный экземпляр - экземпляр строки; экземпляр - конкретный экземпляр

^

Шаблон № 19 "Пакет – Компонент Пакета" шаблоны агрегатов


Packet Пакет


value значение

date дата

time время

about описание

disassemble() разобрать

assemble() собрать




^ Packet Component

Компонент Пакета

value значение

about описание

analyze() анализировать






1 *











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

disassemble —> create assemble —> get Value

  • Примеры:

запись - поле; сообщение - лексема; телеметрический пакет - телеметрический компонент

  • Комбинации:

если "компонент пакета" рассматривается как конкретный экземпляр, применяются также: конкретный экземпляр - транзакция; конкретный экземпляр - экземпляр строки; экземпляр - конкретный экземпляр


Шаблоны планов



^

Схема шаблонов планов


Plan


План

Step


Шаг


1 1 *







1 1



* * *

^

Step Execution


Выполнение, Шаг

Plan Execution


Выполнение, План

Plan Version


Версия, План




1 *

ordered

упорядоченный
^

Шаблон № 20 "План – Шаг" шаблоны планов


Plan План


name имя

description описание

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

estimate Duration() продолжительность

gather Needed Resources()

собрать требуемые ресурсы

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

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

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



^

Step План


description описание

estimate Duration продолжительность needed Resources требуемые ресурсы

about описание

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

rate() оценить






1 *








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

estimate Est Duration -> get Estimated Duration calc Over Steps —> calc For Me

gather Needed Resources —> get Needed Resources rank Steps —> rate

  • Примеры

Планы: план проекта, план битвы, кулинарный рецепт, пакетное задание, процедура

План – шаг: план проекта - задача, план битвы - тактические действия, рецепт - пункты рецепта, задание - этап задания, процедура - шаг процедуры

  • Комбинации: план - выполнение плана, шаг - выполнение шага, план - версия плана



^

Шаблон № 21 "План – Выполнение Плана" шаблоны планов



Plan План

name имя

description описание

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

estimate Duration() продолжительность

gather Needed Resources()

собрать требуемые ресурсы

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

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

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



Step Шаг


description описание

estimate Duration продолжительность needed Resources требуемые ресурсы

about описание

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

rate() оценить






1 *








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

calc Avg Duration —> calc Duration build Execution Plan —> create

  • Примеры

план битвы - ведение битвы, рецепт - выполнение рецепта задание - выполнение задания, процедура - выполнение процедуры

  • Комбинации: план - шаг, выполнение плана - выполнение шага, план - версия плана

  • Замечание: Это реальное выполнение плана с фиксированными датой и временем. Применяйте такой шаблон, когда план можно выполнять повторно. Если план выполняется только один раз, обязанности по его выполнению можно включить в план.



^

Шаблон № 22 "Шаг – Выполнение Шага" шаблоны планов


Step Шаг


description описание

estimate Duration продолжительность

needed Resources требуемые ресурсы

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

calc Avg Duration() средняя длительность

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

^ Step Execution

Выполнение Шага

status статус

start Date Time время и дата начала

about описание

calc Duration() определить длительность

is Complete() завершить

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









1 *








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

calc Avg Duration —> calc Duration

  • Примеры: тактика - выполнение тактики, пункт рецепта - выполнение пункта рецепта, этап задания - выполнение этапа задания, шаг процедуры - выполнение шага процедуры

  • Комбинации: план - шаг, выполнение плана - выполнение шага
^

Шаблон № 23 "Выполнение Плана – Выполнение Шага" шаблоны планов



Plan Execution

number код

start Date Time время и дата начала

end Date Time время и дата завершения

about описание

calc Duration() определить длительность

is Complete() завершить

build Execution Step() построить

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

Step Execution

status состояние

start Date Time время и дата начала

end Date Time время и дата завершения

about описание

calc Duration()определить длительность

is Complete() завершить

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






1 *








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

calc Avg Duration —> calc Duration; is Complete —> is Complete; build Execution Step —> create

  • Примеры:

ведение битвы - выполнение тактики, выполнение рецепта - выполнение пункта рецепта, вы­полнение задания - выполнение этапа задания, выполнение процедуры - выполнение шага процедуры

  • Комбинации: план - шаг, план - выполнение плана.



^

Шаблон № 24 "План – Версия Плана" шаблоны планов



Plan План

name имя

description описание

how Many() сколько

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

build Versions() построить

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

^ Plan Version Версия

date Time дата и время

status состояние

about описание

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

rate() оценить












1 *





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

how Many —> calc For Me rank —> rate build Version —> create

  • Примеры

  • Комбинации:

план - шаг, план - выполнение плана


^

Шаблоны взаимодействия


показывают, как объекты работают друг с другом, применяйте их к игрокам из других шаблонов

Схема шаблонов взаимодействия



Specific Item

Конкретный

Экземпляр

^ Peer

Равный


Publisher Издатель

Subscriber Подписчик

Proxy

Агент
1 1 *







Sender

Отправитель

^

Caller

Вызывающий





Request Запрос

Sender

Отправитель





*


Pass Through

Посредник

^

Lookup Диспетчер




Lookup

Справочное Устройство




1 * * 1


Gatekeeper Контролер







1

^

Receiver

Получатель




Caller Back

Отвечающий




Resource Ресурс




Receiver

Получатель




* * * *



^

Шаблон № 25 "Равный – C равным" шаблоны взаимодействия


Peer


about описание

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

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

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

rate() оценить









*


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

calc Over Peers —> calc For Me rank Peers —> rate

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

  • Комбинации: Сочетание любых шаблонов игроков



^

Шаблон № 26 "Агент – Конкретный Экземпляр" шаблоны взаимодействия



Proxy Агент


forward Request() запрос вперед


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

about описание

execute Request() выполнить

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




1








  • Типичные объектные взаимодействия: forward Request —> execute Request

  • Примеры: объект - скрытый объект

  • Комбинации: экземпляр - конкретный экземпляр

Сочетание "конкретного экземпляра" любого шаблона с добавлением агента

Замечание: Вы знаете агента. Он действует не самостоятельно, а передает любую работу соответст­вующему конкретному экземпляру

^

Шаблон № 27 "Издатель – Подписчик" шаблоны взаимодействия


Subscriber Подписчик


action To Take акция к выполнению

about описание

receive Notification() получить извещение

execute Action() выполнить акцию



^

Publisher Издатель


about описание

notify Subscribers()

известить абонента



1 *





  • Типичные объектные взаимодействия: notify Subscribers —> receive Notification

  • Примеры: проблема - объект области, человек - объект взаимодействия, данные - объект управления, система - объект взаимодействия; модель - документ; модель – представление; объект "первой подсистемы" - объект "второй подсистемы

  • Комбинации: сочетание шаблона игрока проблемной области (издателя) и соответствующего шаблона игрока взаимодействия с человеком, шаблона игрока управления данными и шаблона игрока взаимодействия систем (подписчиков)



^

Шаблон № 28 "Отправитель – Посредник – Получатель" шаблоны взаимодействия



Sender Отправитель

about описание

invoke Receiver()

вызов получателя

Pass Through Посредник

about описание

invoke Receiver()

вызов получателя
^

Receiver Получатель


about описание

execute Request()

выполнить запрос



* 1





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

sender. invoke Receiver —> pass Trough. invoke Receiver -> receiver. execute Request

  • Примеры

sale Line Item. qual For Discount —> sale. qual For Discount —> customer. qual For Discount

  • Комбинации скидка

Сочетание триады участник – транзакция – экземпляр строки транзакции

Сочетание любых трех (или более) взаимодействующих шаблонов игроков

  • Замечание: Отправитель тесно связан с остальными двумя членами триады



^

Шаблон № 29 "Отправитель - Справочное Устройство - Получатель" шабл.взаимодейст-я


Sender Отправитель


about описание

get Next Receiver()

определить следующий

адресат

invoke Receiver()

вызов получателя
^

Lookup

Справочное Устройство


about описание

select Receiver()

найти получателя

Receiver Получатель


about описание

execute Request()

выполнить запрос





* * *








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

sender. get Next Receiver -> lookup. select Receiver, followed by...

sender. invoke Receiver —> receiver. execute Request

  • Примеры

sale Analysis Window. lookup Line Item -> sale. lookup Line Item, followed by...

sale Analysis Window. calc Line Item Profit —> sale. calc Profit

  • Комбинации

Сочетание триады участник – транзакция - экземпляр строки транзакции

Сочетание любых трех (или более) взаимодействующих шаблона игроков

  • Замечание: Такой подход упрощает поиск объекта



^

Шаблон № 30 "Вызывающий – Диспетчер – Отвечающий" шаблоны взаимодействия


Caller Вызывающий


about описание

request Call Back()

запросить обратный вызов

receive Call Back()

получить обратный вызов
^

Lookup Диспетчер


about описание

select Call Back()

определить обратный вызов

activate Call Back()

включить обратный вызов

Caller Back Отвечающий


about описание

make Call Back()

создать обратный вызов

rate() оценить






* *



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

caller. Request Cal l Back —> dispatcher. Select Caller Back —> rate Me, followed by...

dispatcher. Activate Caller Back —> caller Back. Make Call Back —> caller. Receive Call Back

  • Примеры

клиент - диспетчер такси - такси (в имитационной системе)

входящий звонок - сервер ответных звонков - узел ответных звонков

проситель - биржа труда - составитель контрактов (в имитационной системе)

  • Комбинации

Сочетание любых трех (или более) взаимодействующих шаблонов игроков

^

Шаблон № 31 "Контролер – Запрос – Ресурс" шаблоны взаимодействия



Request Запрос

date дата

time время

priority приоритет

desired Action

требуемое действие

desired Range

требуемый район

about описание

rate() оценить

calc For Me()

вычислить



*




1


Gatekeeper Контролер

number код

status состояние

about описание

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

add Request() добавить запрос

select Request() выбрать запрос

select Resource() выбрать ресурс

receive Report() получить отчет

send Request To Resource()

послать запрос ресурса

calc Over Requests() обсчет всех

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

calc Over Resources() обсчет всех

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


^

Resource Ресурс


operational State рабочее состояние

about описание

number код

name имя

activate() включить

report() отчет

deactivate() отключить

execute Action() выполнить акцию

is Operational State Value()

значение действующего состояния

select Device() выбрать прибор

rate() оценить

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















1 *





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

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

add Request -> create; select Request —> rate; rank Requests —> rate

для контролера и ресурса

send Request To Resource —> execute Request; select Resource —> rate

  • Примеры

контролер линии связи - запрос по линии связи - линия связи

  • Комбинации

актер - участник (участник = контролер)

участник - транзакция (участник = контролер)

конкретный экземпляр - транзакция (конкретный экземпляр = ресурс)


Скачать файл (259 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации