- •Стратегии «Руководство по основным действиям и компонентам».
- •Стратегии идентификации назначения и характерных свойств системы
- •Описание примера: Магазин (приложение для торгового терминала)
- •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.11. Определение обязанностей для взаимодействия с человеком
1.11.1. Обязанности для окон
Эффективное моделирование окон
В объектной модели окно знает свое содержимое: свои компоненты и свои изображения на экране.
Компонентами окна может быть множество объектов, включая представления, панели, поля редактирования, блоки списков, меню, кнопки и т.п. Все они работают совместно, создавая эффект одного большого объекта - окна.
Для каждого окна можно построить достаточно большую и сложную модель. Для построения окоп в большинстве приложений используются конструктор графических пользовательских интерфейсов (GgraphicalUserInterface_ GUI), генерирующий код C++ илиSmalltalk. (Писать что-то самому с помощью библиотек графических классов стоит лишь тогда, когда создастся приложение, требующее специальных графических манипуляций.)
Самым лучшим является следующий подход:
— В объектной модели определите, что знает и что делает каждое окно.
— Работая с конструктором GUI, выберите механизмы (представления, панели, поля редактирования, блоки списков, меню, кнопки и т.п.) так, чтобы окно выполняло свои обязанности.
Окно регистрации
Определение обязанностей: "что я знаю".
#57. Стратегия "Определение атрибутов окна или отчета" |
• Для окон или отчетов включите в модель: поля поиска, поля ввода данных или то и другое вместе. |
Для окна регистрации нужны следующие поля:
— номер кассира;
— пароль кассира:
— помер регистрирующего устройства.
Определение обязанностей: "кого я знаю".
#79. Стратегия "Определение связей для окна или отчета" |
• Для окна или отчета включите в модель связь (выраженную в виде атрибута) с содержимым окна и с известными ему объектами, которые используются для получения данных, необходимых для выполнения работы (окно может использовать такие объекты неявно, для доступа к другим объектам). |
Окно регистрации должно знать:
— магазин (множество кассиров и способность поиска кассира по его номеру);
— кассира.
Данный аспект "кого я знаю" моделируется с помощью связей между объектами. Связи, которые распространяются на различные компоненты модели, обычно изображаются текстуально (для облегчения их чтения и понимания).
Определение обязанностей: "что я делаю".
Для окна аспект "что я делаю" — это действия, определенные в данном окне согласно меню. Кроме того, каждый объект окна знает, как показать себя, а каждый класс окна знает, как создать (и инициировать) новый объект этого класса.
Необходимо установить:
— регистрацию в системе.
Добавьте к объектной модели окно регистрации в системе и его обязанности (рис.1. 45).
Рис.1. 45. Окно регистрации в системе: "что я знаю. кого я зною. что я делаю"
Окно продажи
Определение обязанностей: "что я знаю".
Рассмотрим окно продажи. Данные, которые оно иногда посылает в качестве аргументов сообщения:
— универсальный код товара (UPC);
— сеанс.
Определение обязанностей: "кого я знаю".
Окно продажи знает объекты, которым оно посылает сообщения:
— продажа;
— экземпляр строки продажи;
— экземпляр товара;
— оплаты.
Определение обязанностей: "что я делаю".
Окно продажи имеет следующие службы:
— начать;
— отменить.
Добавим обязанности окна продажи к модели (рис.1. 46).
Рис.1. 46. Окно продажи: "что я знаю, кого я знаю, что я делаю"
Для изучения дополнительных окон повторно примените изложенные выше основные стратегии.