- •Стратегии «Руководство по основным действиям и компонентам».
- •Стратегии идентификации назначения и характерных свойств системы
- •Описание примера: Магазин (приложение для торгового терминала)
- •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.5. Выбор объектов
Настала пора строить объектную модель. Какие объекты нужны для нее? С чего начинать? Сначала применим 1)стратегии, а затем 2)образцы.
1.5.1. Использование компонентов модели для организации работы
Какой тип разбиения полезен в рамках объектной модели? Мы используем стратегию 25.
#25. Стратегия "Компоненты объектной модели выбор объектов в роли путеводителя" |
• Используйте компоненты объектной модели в качестве каркаса организации поиска объектов. • (PD): проблемная область (HI): взаимодействие с человеком (DM): управление данными (SI): взаимодействие систем (NT): не сейчас |
Каждый класс в точности соответствует одному из перечисленных компонентов модели. Зачем применять компоненты модели? Они используются для разбиения классов на осмысленные свободно соединяемые подмножества. На рис. 66. показано, как это происходит.
Компонент PDсодержит объекты, точно соответствующие моделируемой проблеме и нейтральные по отношению к конкретной технологии. Они дают мало информации (знают) или не дают ее совсем (не знают) об объектах других компонентов (взаимодействия с человеком, управления данными и взаимодействия систем).
Рис. 1.1. Компоненты объектной модели и их взаимодействие
Компонент HIсодержит объекты, обеспечивающие интерфейс между людьми и объектами проблемной области. В объектной модели такие объекты чаще всего соответствуют специальным окнам и отчетам.
Компонент DMпредставляет объекты, обеспечивающие интерфейс между объектами проблемной области и базой данных или системой управления файлами. Эти объекты чаще всего соответствуют специальным объектам проблемной области, которые нужно постоянно поддерживать и искать.
Компонент SIсодержит объекты, обеспечивающие интерфейс между объектами проблемной области и другими системами или устройствами. Эти объекты имеют протокол связи и освобождают объекты проблемной области от деталей низкого уровня, зависящих от реализации.
Существует еще пятый компонент NT— набор объектов, которые представляют интерес и упоминаются в книге, но тем не менее, по какой-то причине (технической, социальной, экономической) в данный момент не включены в модель. Применяя этот компонент вместе с другими, можно показать, что включено в систему, а что нет.
Такая организация классов упрощает моделирование в данный момент времени (в рамках каждого компонента модели), а также повышает вероятность их повторного использования (рис. 1.2).
Рис. 1.2. Компоненты модели
Свалите компоненты модели в одну кучу — и модель в целом будет трудно понять, а в будущем повторное использование станет почти невозможным, если только не выбрать прежний подход к проблемной области, взаимодействию с человеком, управлению данными и взаимодействию систем.
Мы перейдем от PD к HI, затем к DM и наконец к SI, применяя каждый раз стратегии и образцы, помогающие:
— выбрать объекты;
— установить необходимые функции (обязанности);
— разработать динамику по сценариям.
1.5.2. Выбор объектов проблемной области
Войдем теперь в магазин Х и начнем поиск объектов, сведения о которых могут понадобиться системе или с которыми ей придется работать. При этом мы применим стратегии:
актеры и участники;
места;
вещи.
Сначала рассмотрим объекты PD (а позднее объекты HI, DM и SI).