- •Стратегии «Руководство по основным действиям и компонентам».
- •Стратегии идентификации назначения и характерных свойств системы
- •Описание примера: Магазин (приложение для торгового терминала)
- •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.14.1. Поиск
Если объект должен вести поиск во всем множестве объектов класса, а отыскать относящееся к данной области множество, в котором эти объекты хранятся, невозможно, то пусть объект пошлет сообщение объекту DM с запросом на поиск.
1.14.2. Сохранение
В рассматриваемой системе торгового терминала нужны постоянные объекты, сохраняющиеся от одного сеанса работы системы до другого.
Применим следующий подход. Если управление базовой памятью объектно не ориентировано, добавим объект DM для каждого класса, содержащего объекты, которые должны сохраняться.
В нашей системе добавляются объекты:
— DM человека:
— DM кассира;
DM экземпляра товара;
DM регистрирующего устройства;
— DM ящика кассового аппарата;
— DM продажи;
— DM экземпляра строки продажи;
— DM сеанса;
— DM магазина;
— DM категории налога;
— DM универсального кода товара;
— DM цены:
— DM оплаты.
Каждый объект DM знает соответствующие ему объекты PD.
#80. Стратегия"Определение связей между объектами управления данными" |
• Для объекта управления данными определите их связи (выраженные в виде атрибутов) с объектами проблемной области (всеми объектами некоторого класса проблемной области), за которые он отвечает. |
Каждый объект DM выполняет базовые функции DM: поиск, сохранение, загрузку.
#100. Стратегия "Определение служб управления данными" |
• Для объекта управления данными определите службы поиска, хранения, загрузки. |
Добавим объекты DM и их обязанности к объектной модели (рис.1. 61).
Рис.1.61. Объекты управления данными и их обязанности
Подробности использования архитектуры DM с расширяющимися файлами, реляционными базами данных и SOM/DSOM изложены в приложении "Управление данными".
1.14.3. Разработка динамики управления данными с помощью сценариев
Разработку динамики взаимодействия с объектами DM можно начать со службы и компоненте HI (для "сохранить" и "загрузить) или же с поиска из компонента PD.
Здесь мы рассмотрим необходимость поиска из объекта PD:
store.getCashierForID
store.getItemForUPC.
Разработаем динамику взаимодействия с объектами DM.
Сценарий: определение кассира по номеру
Для этого сценария нужен объект "кассир DM", который знает, как применять локальную файловую систему для эффективного поиска объекта cashier по номеру. Представление сценария показано на рис.1.62.
Рис.1. 62. Представление сценария "определение кассира по номеру
Заметим, что основная служба поиска, выполняемая всеми объектами DM, в этом представлении применяется специфически: "поиск по <имя атрибута>".
Сценарий: определение экземпляра товара по UPC
В данном случае нужен объект "экземпляр товара DM".
Этот объект знает, как применять локальную файловую систему для эффективного поиска экземпляра товара по UPC;.
Представление сценария показано на рис.1.63.
Рис.1. 63. Представление сценария "определение экземпляра товара по UPC"
1.15. Общая схема на данный момент
Объектная модель представлена на рис.1.64 и рис.1.65. Вместе со сценариями данном разделе эти схемы завершают нашу работу по созданию системы для магазина Х.
Рис.1. 64. Общая схема на данный момент в нотации Unified
Рис.1. 65. Общая схема на донный момент (нотация Unified, продолжение)