- •Стратегии «Руководство по основным действиям и компонентам».
- •Стратегии идентификации назначения и характерных свойств системы
- •Описание примера: Магазин (приложение для торгового терминала)
- •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.2. Обязанности отчетов Получение денег
Определение обязанностей: "что я знаю".
Для отчета обязанность "что я знаю" состоит из:
— значений, который он иногда посылает в виде аргументов сообщения.
Обязанность "кого я знаю" состоит из:
— объектов, которым я мог послать сообщения.
Значит для получения денег нужен атрибут:
— продажа.
Определение обязанностей: "что я делаю".
Для окна аспект "что я делаю" — это действия вывода, определенные для отчета в данном окне:
— генерировать;
которые немедленно вызывают следующие действия:
— добавить строки заголовков;
— добавить стоку экземпляра строки;
— добавить строку промежуточной суммы;
— добавить строку налога;
— добавить строку общей суммы;
— добавить строку оплаты.
Добавим к объектной модели объект receipt (приход) и его обязанности (рис.1. 47).
Рис.1. 47. Приход: "что я знаю, кого я знаю, что я делаю"
1.12. Разработка динамики взаимодействия с человеком с помощью сценариев
1.12.1. Поиск имеющих смысл сценариев взаимодействия с человеком
Естественно, что поиск осмысленных сценариев взаимодействия с человеком начинается с анализа такого взаимодействия.
#128. Стратегия "Где начинать сценарий" |
• Начните со службы объекта PD, объекта HI или объекта SI. |
Для выполнения полезного действия типа продажи нужны следующие взаимодействия с человеком:
— регистрация в системе;
— проведение продажи;
— выход из системы.
Сценарий: регистрация в системе
Начнем с представления сценария. Сначала обратимся к объекту cashier и попросим его проверить введенный пароль (рис.1. 48).
Рис.1. 48. Представление "регистрации в системе" (цикл!)
Создадим сеанс и прикажем объекту register запомнить его. Для создания и инициализации нового объекта в классе в него посылается сообщение:
Class.create (initial values; object). Этот процесс показан на рис.1. 49.
Рис.1. 49. Представление «Создание сеанса»
Теперь добавим другие действия и представим сценарий полностью (рис.1. 50).
Рис.1. 50. Представление сценария «Регистрация в системе»
Сценарий: провести продажу
Этот сценарий состоит из ряда более коротких сценариев:
— печать продажу:
— продать экземпляр товара;
— вычислить общую сумму по продаже;
— получить оплату по чеку;
— завершить продажу.
Сценарий: "Начать продажу"
Представление этого сценария показано на рис.1. 51.
Рис.1. 51. Представление сценария "начать продажу"
Заметим, что окно продажи знает все о получении денег за конкретную продажу. Это — новое и должно быть внесено в объектную модель.
Основные службы (для объекта: получить, установить, добавить связь, исключить связь; для класса: создать) появляются в сценарии по мере необходимости.
Сценарий: "Продать экземпляр товара"
Представление этого сценария показано на рис.1. 52.
Рис.1. 52. Представление сценария "продать экземпляр товара"
Сценарий: "Вычислить общую сумму по продаже"
Представление этого сценария показано на рис.1. 53.
Рис.1. 53. Представление сценария "Вычислить общую сумму по продаже"
Сценарий: "Подучить оплату по чеку"
Обратите внимание: здесь необходимо провести авторизацию. К модели нужно добавить объект authorization system (система авторизации). Он отвечает за эту процедуру (подробнее об этом будет сказано немного позднее).
Представление данного сценария показано на рис.1. 54.
Рис.1. 54. Представление сценария " Подучить оплату по чеку "
Окно продажи должно знать свои значения оплаты, поэтому нужно добавить атрибут оплаты.
Сценарий: "Завершить продажу"
Представление этого сценария показано на рис.1. 55.
Рис.1. 55. Представление сценария "Завершить продажу"
Сценарий: "Выход из системы"
Представление этого сценария показано на рис.1. 56.
Рис.1. 56. Представление сценария "Выход из системы"
Сценарий показывает, что к сеансу нужно добавить новую службу "завершить сеанс". Итак, наша модель начинает обретать конкретную форму. Сценарии показывают существенные детали, а качество модели повышается.
1.13. Выбор объектов взаимодействия систем
1.13.1. Взаимодействие с другими системами
#33. Стратегия "Выбор взаимодействующих систем выбор объектов или устройств" |
• Выберите объект. Найдите другие системы и части оборудования, с которыми должна взаимодействовать ваша система. Определите взаимодействующие системы, а также устройства, требующие получения данных и управления ими. (Избегайте вывода на экран или печати несущественных деталей.) • Примеры: элерон, авиационная система, контроллер, громоотвод, лифт, радар, руль направления, сенсор, сканер. •Постройте модель объекта. Используйте объект проблемной области Применяйте подходящий объект SI, инкапсулирующий экземпляр связи низкого уровня. |
Необходимо взаимодействие с системой авторизации, поэтому добавьте к модели объект проблемной области authorization system.
Теперь для удовлетворения потребностей связи низкого уровня введем объект взаимодействия систем authorization system SI (рис.1.57).
Рис.1. 57.Выбор объектов взаимодействия систем