- •Стратегии «Руководство по основным действиям и компонентам».
- •Стратегии идентификации назначения и характерных свойств системы
- •Описание примера: Магазин (приложение для торгового терминала)
- •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. Общая схема на данный момент
Участник-транзакция
Рассмотрим кассира и сеанс. Объект cashier знает все сеансы, в которых он участвовал. Поэтому он является местом для служб, необходимых ему для выполнения действий. Например, можно попросить кассира подсчитать количество товаров или общее число продаж, произведенных за конкретное время:
— кассир (множество) ... его сеансов
сколько (денег собрано) за конкретное время
сколько (продаж произведено) за конкретное время.
Транзакция-экземпляр строки транзакции
#6.Образец "Транзакция-экземпляр строки транзакции" |
• Типичные объектные взаимодействия howManyOverlnterval—>calcForMecalcOverlineltems—>calcForMe howMuchOverlnterval —> calcForMe rankLineltems —> rateMe • Примеры Транзакция: договор, оценка, авторизация, контракт, поставка, депозит, происшествие, запрос, заказ, оплата, тематический отчет, покупка, возврат, регистрация, прокат, резервирование, продажа, перестановка, поставка, подписка, временная скидка, заглавие, отзыв. Транзакция-экземпляр строки транзакции; депозит-экземпляр строки депозита; заказ-экземпляр строки заказа; оплата-экземпляр строки оплаты; прокат-экземпляр строки проката; продажа-экземпляр строки продажи; поставка-экземпляр строки поставки; отзыв-экземпляр строки отзыва. • Комбинации участник-транзакция, место-транзакция; конкретный экземпляр-транзакция, транзакция - следующая транзакция; экземпляр строки транзакции - экземпляр строки следующей транзакции; экземпляр-экземпляр строки; конкретный экземпляр-экземпляр строки. |
Рассмотрим, что именно может делать каждый объект transaction (транзакция) вместе с экземплярами своих строк.
При вычислении изучим транзакцию продажа-экземпляр строки продажи:
— продажа (множество) ... экземпляров ее строк вычислить промежуточную сумму:
— экземпляр строки продажи (рабочий)
вычислить промежуточную сумму.
Экземпляр товара-экземпляр строки
#9. Образец "Экземпляр товара-экземпляр строки" |
•Типичные объектные взаимодействия howMany —> getQuantity calcOverLineltems -> calcForMe ranklineltems —> rateMe • Примеры (с экземплярами строки транзакции) экземпляр товара-экземпляр строки заказа; экземпляр товара-экземпляр строки проката; экземпляр товара-экземпляр строки продажи; экземпляр товара-экземпляр строки поставки (с экземплярами строки контейнера) экземпляр товара-экземпляр строки бункера; экземпляр товара-экземпляр строки склада. • Комбинации транзакция-экземпляр строки транзакции; следующая транзакция-экземпляр строки следующей транзакции; экземпляр строки транзакции-экземпляр строки следующей транзакции; контейнер-экземпляр строки контейнера. |
Для транзакции экземпляр товара-экземпляр строки продажи:
— экземпляр товара (множество ... экземпляров его строки продажи) количес-п.ч за интервал времени;
— экземпляр строки продажи (рабочий)
количество за интервал времени.
Добавим службы к объектам item и sale tine item, а также к объектам cashier, session и sale (рис.1. 37).
Рис.1. 37. Примеры образцов