- •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.20.
Рис. 2.20. Человек — для магазина
Определим обязанности данного объекта.
Что я знаю.
Сходство: имя, адрес, телефон.
Кого я знаю.
— Добавляется: клерк по заказам (актер-участник), клиент для связи (актер-участник).
Что я делаю: выполняю основные действия.
Результат показан на рис. 2.21.
Рис. 2.21. Человек — для центра заказов
Клерк по заказам
Используем повторно аналогичные классы. Прежде мы работали с объектом cashier (кассир) (рис. 2.22).
Рис. 2.22. Кассир — для магазина
По аналогии определим обязанности клерка по заказам.
Что я знаю.
Сходство: номер (достаточно для данного приложения).
Кого я знаю.
— Сходство: человек (актер-участник).
Добавляется: заказы (участник-транзакция).
Что я делаю.
— Сходство: оцениваю за интервал времени производительность, количество (денег), количество (заказов). Результат изображен на рис. 2.23.
Рис. 2.23. Клерк по заказам — для центра заказов
Человек-клиент для связи - заказ-экземпляр строки заказа - экземпляр товара
В данном случае нужно определить обязанности только для объекта customer contact (клиент для связи).
Клиент для связи
Это абсолютно новый объект, которого не было в приложениях для магазина и склада. Однако уже создан другой объект — "участник" (абстракция человека). Определим его обязанности и возможности их использования в данной модели.
Что я знаю.
Добавляется: номер прямого телефона.
Кого я знаю.
— Сходство: заказы (участник-транзакция).
— Добавляется: человек (актер-участник), заказ (участник-транзакция), клиент (группа-член
группы).
Что я делаю.
— Сходство: количество (денег и заказов) за интервал времени, количество (заказов)
за интервал времени.
Результат показан на рис. 2.24.
Рис. 2.24. Клиент для связи — для центра заказов
Актер – участник – транзакция - следующая транзакция-экземпляр строки следующей транзакции - экземпляр товара
Организация – клиент – заказ - поставка-экземпляр строки поставки -экземпляр товара
Обязанности всех перечисленных объектов, кроме поставки и экземпляра строки поставки, уже рассматривались выше.
Поставка
Рассмотрим обязанности этого объекта. Что я знаю: дата. Кого я знаю: склад (участник-транзакция), экземпляры строки поставки (транзакция-экземпляр строки транзакции). Что я делаю: выполняю основные действия. Результат изображен на рис. 2.25.
Рис. 2.25. Поставка — для центра заказов
Экземпляр строки поставки
Рассмотрим обязанности этого объекта.
Что я знаю: количество.
Кого я знаю: поставка, экземпляр строки заказа.
Что я делаю: выполняю основные действия.
Результат показан на рис. 2.26.
Рис. 2.26. Экземпляр строки поставки — для центра заказов
Экземпляр строки транзакции - экземпляр строки следующей транзакции
Экземпляр строки заказа - экземпляр строки поставки.
Обязанности этих объектов были определены ранее.
Член группы Клиент-клиент для связи
Эти два объекта уже рассматривались выше. Клиент — это группа, а клиент для связи — член данной группы.
Что может делать клиент среди множества клиентов, которому он принадлежит? Он может искать активного в данный момент клиента для связи. Однако мы на время отложим изучение этого вопроса.
Актер-участник/группа - член группы/контейнер- экземпляр строки контейнера - экземпляр товара
Организация - дистрибьютор-склад — экземпляр строки склада -экземпляр товара
Обязанности объектов "организация" и "экземпляр товара" уже были изучены ранее. Определим теперь обязанности остальных.
Дистрибьютор
Дистрибьютор — новый объект. Его можно считать большим контейнером, включающим в себя склады, экземпляры товаров, клерков по заказам и клиентов. Определим его обязанности.
Что я знаю: имя.
Кого я знаю: склад (группа-член группы), клерк по заказам (группа-член группы), клиент (группа-член группы), экземпляры товаров (группа-член группы).
Что я делаю. Используем следующую стратегию.
#93. Стратегия "Вопрос, вычисление, отбор"
Для объекта нужно выяснить:
Какие вопросы можно задать?
Какие вычисления можно произвести? Какой текущий контроль нужно осуществлять в дальнейшем? Какие вычисления можно произвести во всем множестве (позволяя каждому работнику выполнить свою часть дела)?
Какой отбор можно произвести на всем множестве (также позволяя каждому работнику выполнить свою часть дела)?
Вопросы:
— о количестве (заказов) за период времени;
о количестве (денег) за период времени.
Вычисления (за период времени):
— степени заполнения склада;
— процента находящихся в запасе (заказов).
Что касается отбора, то данный объект, будучи множеством складов, может потребовать от каждого склада оценить свою степень "удобства" для конкретного клиента (например, в зависимости от близости к нему).
Добавим объекту distributor службу:
— выбор (лучшего) склада для заказа. Добавим объекту warehouse службу:
— оценка собственного "удобства" для клиента. Виды отбора:
— определить клиента по номеру;
определить экземпляр товара по номеру. Добавим эти обязанности к модели (рис. 2.27).
Рис. 2.27. Дистрибьютор — для центра заказов
Склад
Применим управление представлением для повторного использования того, что уже было сделано прежде. На рис. 2.28 изображено то, что мы имеем.
Рис. 2.28. Склад — для приложения склада
В данном случае пользы от такого представления мало. Но по крайней мере, имеется внешний атрибут.
Что я знаю.
Повторное использование: имя.
Кого я знаю.
— Добавляется:
заказы (участник-транзакция), экземпляр строки склада (транзакция-экземпляр строки транзакции).
Что я делаю.
— Добавляется: выбрать новый заказ, количество (заказов) за период времени.
—Добавляется: приемлемость ставки для клиента (определяется при рассмотрении обязанностей дистрибьютора). Результат показан на рис. 2.29.
Рис. 2.29. Склад — для центра заказов