- •Стратегии «Руководство по основным действиям и компонентам».
- •Стратегии идентификации назначения и характерных свойств системы
- •Описание примера: Магазин (приложение для торгового терминала)
- •1.4.1. Идентификация назначения системы
- •1.4.2. Идентификация характерных свойств системы
- •Определение средств регистрации важной информации
- •Определение средств ведения бизнеса
- •Определение средств анализа результатов бизнеса
- •Определение средств взаимодействия с другими системами
- •Замечания по поводу назначения и характерных свойств системы
- •1.5. Выбор объектов
- •1.5.1. Использование компонентов модели для организации работы
- •1.5.2. Выбор объектов проблемной области
- •Выбор актеров и участников
- •1.6. Применение образцов: выбор и упорядочивание объектов проблемной области
- •1.6.1. Участник-транзакция
- •1.6.2. Место-транзакция
- •1.6.3. Транзакция - следующая транзакция
- •1.6.4. Контейнер-содержимое
- •1.6.5. Транзакция-экземпляр строки транзакции
- •1.6.6. Актер-участник
- •1.6.7. Общая схема на данный момент
- •1.7. Применение стратегий для определения обязанностей объектов проблемной области
- •1.7.1. Обязанности актеров и участников Актер: человек
- •Участник: кассир
- •Участник: покупатель.
- •1.7.2. Обязанности мест Магазин
- •1.7.3. Обязанности реальных вещей
- •Экземпляр товара
- •Универсальный код товара upc
- •Описание каждого атрибута
- •Регистрирующее устройство
- •Ящик кассового аппарата
- •Важное замечание по поводу состояния операции
- •Категория налога
- •1.7.4. Обязанности транзакций проблемной области
- •Продажа
- •Экземпляр строки продажи
- •Описание каждой службы
- •Новый вариант экземпляра строки продажи
- •Что совпадает, а что отличается Оплата и ее виды
- •1.8. Применение образцов: определение обязанностей в проблемной области
- •Множество-рабочий
- •Участник-транзакция
- •Транзакция-экземпляр строки транзакции
- •Экземпляр товара-экземпляр строки
- •Общая схема на данный момент
- •1.9. Разработка динамики проблемной области с помощью сценариев
- •1.9.1. Выбор ключевых сценариев
- •1.9.2. Сценарий: вычисление общей суммы при продаже
- •1.10. Выбор объектов взаимодействия с человеком
- •1.10.1. Выбор окон
- •1.10.2. Выбор отчетов
- •1.11. Определение обязанностей для взаимодействия с человеком
- •1.11.1. Обязанности для окон
- •Окно регистрации
- •Окно продажи
- •1.11.2. Обязанности отчетов Получение денег
- •1.12. Разработка динамики взаимодействия с человеком с помощью сценариев
- •1.12.1. Поиск имеющих смысл сценариев взаимодействия с человеком
- •Сценарий: регистрация в системе
- •Сценарий: провести продажу
- •1.13.2. Взаимодействие в данной системе
- •1.13.3. Определение обязанностей для взаимодействия систем
- •1.13.4. Множество систем авторизации
- •1.13.5. Разработка динамики взаимодействия систем с помощью сценариев
- •1.14. Выбор объектов управления данными и их обязанностей
- •1.14.1. Поиск
- •1.14.2. Сохранение
- •1.14.3. Разработка динамики управления данными с помощью сценариев
- •1.15. Общая схема на данный момент
1.6.2. Место-транзакция
Магазин является местом продажи. Это один из примеров связи место-транзакция.
#4 Образец "Место-транзакция"
|
• Типичные объектные взаимодействия howMany —> calcForMe calcOverTransactions —> calcForMe howMuch —> calcForMe rankTransactions —> rateMe • Примеры Место: аэропорт, сборочный конвейер, банк, клиника, депо, гараж, географическая точка, ангар, больница, завод, плантация, регион, торговая точка, сервисный центр, полка, вокзал, магазин, склад, зона. Транзакция: договор, оценка, авторизация, контракт, поставка, депозит, происшествие, запрос, заказ, оплата, тематический отчет, покупка, возврат, регистрация, прокат, резервирование, продажа, перестановка, поставка, подписка, временная скидка, заглавие, отзыв. • Комбинации участник-транзакция, конкретный экземпляр-транзакция, транзакция-экземпляр строки транзакции, транзакция-следующая транзакция. При применении "места" в качестве контейнера возможны также комбинации: контейнер-контейнер, контейнер-экземпляр строки контейнера. |
Соединение игроков (рис. 1.12).
Рис. 1.12. Магазин-продажа
1.6.3. Транзакция - следующая транзакция
#7. Образец "Транзакция - следующая транзакция "
|
• Типичные объектные взаимодействия howMany -> calcForMe calcOverSubsequentTransactions —> calcForMe howMuch -> calcForMe rankSubsequentTransactions -> rateMe • Примеры Транзакция: договор, оценка, авторизация, контракт, поставка, депозит, происшествие, запрос, заказ, оплата, тематический отчет, покупка, возврат, регистрация, прокат, резервирование, продажа, перестановка, поставка, подписка, временная скидка, заглавие, отзыв. Транзакция-следующая транзакция; заявка-выпуск; промежуточный результат-конечный результат; заказ-поставка; покупка-оплата; резервирование-продажа; • Комбинации: участник-транзакция, место-транзакция; конкретный экземпляр-транзакция, транзакция-экземпляр строки транзакции, следующая транзакция-экземпляр строки следующей транзакции. • Примечания: Расположите транзакции во временной последовательности (в том порядке, в каком они обычно происходят). Если следующая транзакция и объекты экземпляра ее строки находятся во взаимно однозначном соответствии с предыдущей транзакцией и объектами экземпляра ее строки, объедините их. |
Сеанс и последующая транзакция
Рассмотрим объект session (сеанс). Сеанс — это транзакция. Какая транзакция следующая? Иными словами, какое "запомненное событие", или важный момент, произойдет после сеанса? Что вообще последует за транзакцией сеанса? По-видимому, другие продажи. Что последует за транзакцией продажи? По-видимому, оплата.
Соединим эти объекты при помощи двух экземпляров образца "транзакция -следующая транзакция" (рис. 1.13).
Рис. 1.13. Сеанс-продажа и продажа-оплата
1.6.4. Контейнер-содержимое
#14. Образец "Контейнер-содержимое " образцы агрегатов |
• Типичные объектные взаимодействия howMany —> calcForMe calcOverContents —> calcForMe howMuch —> calcForMe rankContent —> rateMe • Примеры Контейнеры: аэропорт, самолет, секция, банк, бункер, здание, кабинет, папка, гараж, ангар, больница, шкаф, комната, сейф, товарный склад. Контейнер-содержимое самолет-груз; самолет-пассажир; здание-комната; каталог-экземпляр каталога; магазин-экземпляр магазина; склад-блок погрузки. • Комбинации контейнер-содержимое; контейнер-экземпляр строки контейнера; группа-член; агрегат-часть. Если "контейнер" или "содержимое" является участником, местом или особым экземпляром, возможны также комбинации: актер-участник; участник-транзакция; место-транзакция; конкретный экземпляр-транзакция; экземпляр конкретной строки - экземпляр строки; экземпляр - конкретный экземпляр. |
Магазин как содержимое
Рассмотрим магазин сначала как содержимое, а затем как контейнер. Магазин — часть цепи. Цепь может представлять интерес, особенно когда нужно провести расчеты по множеству магазинов. Но сейчас мы не будем этим заниматься.
Магазин как контейнер
Магазин — это контейнер, относящийся к конкретной области. Рассмотрим магазин как большой контейнер, содержащий регистрирующие устройства, экземпляры товаров и кассиров (рис. 1.14).
Рис. 1.14. Магазин - регистрирующее устройство, экземпляр товара, кассир
Магазин в качестве контейнера конкретной области — удобное место выражения обязанностей множества других объектов этой области, за которые никакое множество объектов еще не несет ответственности. Иногда можно добавлять и другие типы объектов, о которых известно магазину.
Заметим, что магазин знает о своих регистрирующих устройствах, экземплярах товара и кассирах. На рис. 1.14 все треугольники указывают направление от части к целому.