- •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.1.2 Определение особенностей регистрации важной информации
Аналитик. Какую необходимую для вашей работы информацию должна регистрировать система?
Предприниматель. Вот список того, что мне требуется:
— особенности "регистрации важной информации":
экземпляров товара и цены,
категорий налога (категорий, ставок и времени действия),
информации от клерков по заказам,
информации, поступающей из склада,
информации от клиентов,
информации о наличии товаров на каждом складе,
заказа и того, что с ним делается.
2.1.3. Определение особенностей ведения дела
#7. Стратегия "Вычисление результатов и точек решений
• Введите в модель характерные свойства, обеспечивающие вычисление результатов и точек решений.
Аналитик. Какие нужные вам вычисления могла бы производить система?
Предприниматель. Я хотела бы, чтобы заказы удовлетворялись по приоритету, а не просто по очередности их поступления.
Аналитик. Мы сделаем это.
— Особенности "ведения дела":
определять стоимость каждого заказа,
определять промежуточные итоги, вычислять налог и общую сумму,
определять очередность заказов на основе приоритетов клиента и даты заказа.
2.1.4. Определение особенностей анализа результатов бизнеса
Аналитик. Как вы оцениваете деятельность сотрудников в процессе работы или в конце рабочего дня?
Предприниматель. Я оцениваю производительность труда каждого клерка, работу каждого склада и эффективность работы моих дистрибьюторов.
Аналитик. Система может помочь вам в этом. Я намерен создать нечто любопытное с алгоритмической точки зрения, нечто большее, чем еще одна система хранения данных.
Предприниматель. Добавим упомянутые оценки к списку характерных свойств.
— Особенности "анализа результатов бизнеса":
оценивать производительность труда клерков,
оценивать производительность склада,
оценивать производительность труда дистрибьюторов.
Определение особенностей работы с взаимодействующими системами
Аналитик. Есть и другие компьютерные системы, с которыми вы имеете дело.
Предприниматель. Да, вы правы. Было бы хорошо, если бы вы смогли упростить нашу работу с системами склада и получения счетов.
Аналитик. Мы добавим к нашей системе соответствующие характерные свойства.
— Характерные свойства "взаимодействующей системы":
взаимодействовать с системой склада, выдавая заказы и принимая поставки, посылать изменения в систему получения счетов; посылать клиентам информацию о заказах и поставках.
Итак, мы определили цель системы и некоторые ее характерные свойства. Теперь начнем строить объектную модель.
Как и прежде, наши приоритеты — выбор объектов, определение обязанностей и разработка сценариев.
2.2. Выбор объектов
Начинать следует с проверки компонентов объектной модели, используя их как руководство и рабочую схему для построения объектной модели в целом.
#1. Стратегия "Четыре главных действия, четыре главных компонента"
Организуйте работу, ориентируясь на четыре главных действия и четыре главных компонента.
Четыре главных действия:
Стандарт. Определите цели, обязанности и характерные свойства системы и разработайте динамику с помощью сценариев.
Вариант 1. Можно сконцентрироваться на разработке динамики системы с помощью сценариев, определяя при этом обязанности. Такой метод особенно полезен для приложений реального времени.
Вариант 2. Выберите транзакцию, агрегат и плановые объекты, а затем, руководствуясь подходящими образцами, выбирайте дополнительные объекты, определяйте обязанности и разрабатывайте динамику с помощью сценариев.
Четыре главных компонента:
Стандарт. Проблемная область, взаимодействие с человеком, управление данными, взаимодействие систем.
Вариант 1. Можно начать с взаимодействия с человеком, последовательно переходя к проблемной области, управлению данными и взаимодействию систем. Это особенно полезно, когда ваши эксперты предпочитают говорить в терминах взаимодействия с человеком с самого начала.
Вариант 2. Начните с проблемной области и взаимодействия систем, последовательно переходя к взаимодействию с человеком и управлению данными. Этот подход можно применить для приложений реального времени, когда ваши эксперты интересуются получением данных и аспектами управления рассматриваемой системой.