- •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.35 по 2.38.
Сценарий: начать заказ
Представление сценария:
Рис. 2.35. Представление сценария "начать заказ"
Одним из требований к разработке интерфейса взаимодействия с человеком является проверка значений до того, как они будут присвоены объектам проблемной области. В идеале критерий проверки должен быть инкапсулирован в самих объектах проблемной области. Практически такие критерии часто помещаются непосредственно в объектах взаимодействия с человеком, что создает трудности для повторного использования объектов проблемной области.
Сценарий: добавить экземпляр строки заказа
Представление сценария:
Рис. 2.36. Представление сценария "добавить экземпляр строки заказа"
Сценарий: вычислить общую сумму заказа
Представление сценария:
Рис. 2.37. Представление сценария "вычислить общую сумму заказа"
Детали взаимодействия при вычислении совпадают с теми, которые были разработаны для магазина (и здесь не повторяются).
Сценарий: завершить заказ
Представление сценария:
Рис. 2.38. Представление сценария "завершить заказ"
2.7. Выбор объектов взаимодействия систем
Взаимодействие с другими системами
Из диалога с Ольги (см. выше) известно, что взаимодействующими системами являются:
— система склада вывод: заказы возврат: поставки
— система получения счетов
вывод: заказы, поставки, клиенты. Добавим эти объекты к модели (рис. 3.39).
Рис. 2.39. Объекты взаимодействия систем
2.7.1. Определение обязанностей для взаимодействия систем
Система склада
Система склада регулирует его работу , знает о наличии в нем в данный момент каждого экземпляра товара, и получает заказы, которые нужно обработать.
Что я знаю: адрес, рабочее состояние.
Кого я знаю: систему склада SI (соответствующий объект взаимодействия систем).
Что я делаю:
— отправляю заказы на склад;
— получаю результаты поставок со склада. Добавим эти обязанности к модели (рис. 2.40).
Рис. 2.40. Обязанности системы склада
Система получения счетов
Система получения заказов взаимодействует с системой получения счетов, предоставляя ей сводки по заказам, поставкам и клиентам.
Что я знаю: адрес, рабочее состояние.
Кого я знаю: систему получения счетов SI (соответствующий объект взаимодействия систем).
Что я делаю: посылаю заказ для оформления счета.
Включим эти обязанности в модель (рис. 2.41).
Рис. 2.41. Обязанности системы получения счетов
2.7.2. Разработка динамики взаимодействия счетов с помощью сценариев
Можно разработать сценарий, включающий в себя объект взаимодействия систем.
Сценарий: послать заказ системе склада
Представление сценария:
Рис. 2.42. Представление сценария "послать заказ системе склада"
2.8. Выбор объектов управления данными и их обязанностей
Для системы ввода заказов также нужны постоянные объекты, которые сохраняются и запоминаются в течение времени. Для их поиска можно применить следующий подход.
Если управление памятью не является объектно-ориентированным, нужно добавить объект DM для каждого класса, содержащего постоянные объекты.
Введем объекты DM:
— DM клиента;
— DM клиента для связи;
— DM дистрибьютора;
— DM экземпляра товара;
— DM заказа;
— DM клерка по заказам;
— DM организации;
— DM человека;
— DM склада.
Отдельные объекты для системы склада и системы получения счетов не нужны (в каждом из этих классов содержится только по одному объекту).
Каждый объект DM знает соответствующие ему объекты PD, и выполняет основные действия: добавление, исключение и поиск. Добавим объекты DM и их обязанности к модели (рис. 2.43).