- •2. Центр заказов «х» (Приложение ввода заказов) Введение
- •2.1. Определение цели и характерных свойств системы
- •2.1.1. Определение цели
- •2.1.2 Определение особенностей регистрации важной информации
- •2.1.3. Определение особенностей ведения дела
- •2.1.4. Определение особенностей анализа результатов бизнеса
- •Определение особенностей работы с взаимодействующими системами
- •2.2. Выбор объектов
- •2.2.1. Компоненты модели: с чего начинать
- •2.2.2. Стратегии: с какой начинать
- •План разработки данного приложения
- •2.4.1.Повторное использование
- •Понятность
- •Детали повторного использования
- •Механизмы повторного использования
- •Механизм повторного использования #1: наследование
- •Проблема "обобщения по совпадению"
- •Проблема "ограничения по совпадению"
- •Проблема "то один вид, то другой"
- •Проблема "эффект мелкой волны"
- •Наследование — это тотальное бедствие?
- •Наследование окупается, если применяется в разумном контексте
- •Механизм повторного использования #2: компоненты
- •Механизм повторного использования #3: представления
- •Представления, применение "ограничения на основе использования"
- •Представления, применение средства управления конфигурацией, основанной на представлении.
- •Повторное использование в рамках приложения, рассматриваемого в этой главе
- •2.5. Определение обязанностей объектов проблемной области
- •Актер – участник – транзакция - экземпляр строки транзакции -экземпляр товара
- •Организация - клиент - заказ - экземпляр строки заказа - экземпляр товара Организация
- •Человек-клерк по заказам - заказ-экземпляр строки заказа -экземпляр товара
- •Клерк по заказам
- •Человек-клиент для связи - заказ-экземпляр строки заказа - экземпляр товара
- •Клиент для связи
- •Актер – участник – транзакция - следующая транзакция-экземпляр строки следующей транзакции - экземпляр товара
- •Экземпляр строки склада
- •2.6.3. Разработка динамики взаимодействия с человеком с помощью сценариев Выбор сценариев взаимодействия с человеком
- •Сценарии "ввести заказ"
- •Сценарий: начать заказ
- •Сценарий: добавить экземпляр строки заказа
- •2.8.1. Разработка динамики управления данными с помощью сценариев
- •2.9. Общая схема на данный момент
- •Выбор объектов
Экземпляр строки склада
Определим обязанности для данного объекта. Что я знаю: количество. Кого я знаю: склад (контейнер-элемент строки контейнера), экземпляр товара (экземпляр товара -экземпляр строки). Что я делаю: выполняю основные действия. Результат показан на рис. 2.30.
Рис. 2.30. Экземпляр строки склада — для центра заказов
Общая схема на данный момент
Общая схема модели на данный момент показана на рис. 2.31.
Рис. 2.31. Общая схема на данный момент
2.6. Разработка динамики проблемной области с помощью сценариев
Выбор сценариев проблемной области
Большинство служб совпадает с теми, которые использовались в предыдущих приложениях. В данном случае интересно то, что исходя из характерных свойств системы, можно выделить сценарий: выбрать следующий заказ, который нужно выполнить.
Сценарий: выбрать следующий заказ, который нужно выполнить
Представление сценария показано на рис. 2.32.
Рис. 2.32. Представление сценария "выбрать следующий заказ, который нужно выполнить"
Замечание
Учтите, для того чтобы сценарии были понятными, они не должны быть длинными и сложными.
2.6.1. Выбор объектов взаимодействия с человеком
Наконец мы выберем объекты взаимодействия с человеком.
Выбор окон
Рассмотрим окна, необходимые для конструируемой системы. Нужны окна установки:
— клиента и клиента для связи, клерка по заказам, дистрибьютора, склада и экземпляра
строки склада, экземпляра товара. Также требуются окна "ведения дела":
— окно операций на складе (с действием "выбрать следующий заказ, который нужно выполнить");
— окно заказа и экземпляра строки заказа (известное как окно ввода заказа).
Выбор отчетов
Отчеты — это другие представления взаимодействия с человеком. (У этих представлений особой специфики нет.)
Добавим к модели объекты взаимодействия с человеком, показанные на рис. 2.33.
Рис. 2.33. Объекты взаимодействия с человеком
2.6.2. Определение обязанностей объектов взаимодействия с человеком
Обязанности окон
Окно ввода заказов
Что я знаю
Для окна ввода заказов нужны:
— поля поиска заказа:
номер клиента, имя клиента для связи, номер клерка по заказам, имя дистрибьютора;
— поля поиска каждого экземпляра строки заказа:
номер экземпляра товара (или при необходимости UPC);
— значения данных для заказа:
РО клиента;
— значения данных для каждого экземпляра строки:
количество.
Кого я знаю
Окно ввода заказов должно знать:
— дистрибьютора;
— клиента;
— клиента для связи;
— заказ (для определения экземпляров строки и экземпляров товара).
Что я делаю
Обязанности окна "что я делаю" совпадают с действиями, выполняемыми согласно меню для данного окна.
Кроме того, каждый объект "окно" знает, как показать себя на экране, а каждый класс окон знает, как создать (и инициализировать) новый объект данного класса.
Необходимо ввести следующие обязанности:
добавление заказа;
добавление экземпляра строки заказа;
вычисление общей суммы заказа;
завершение заказа.
Добавим эти обязанности к объектной модели (рис. 234).
Рис. 234. Объект окна введения заказов
2.6.3. Разработка динамики взаимодействия с человеком с помощью сценариев Выбор сценариев взаимодействия с человеком
Для рассматриваемой системы самый важный сценарий взаимодействия с человеком связан с вводом заказов. Для магазина такое же значение имел сценарий ввода продажи в систему. Аналогичные сценарии — хороший пример повторного использования.