Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Евгений / идз1 / Пособие_Об_анал.doc
Скачиваний:
19
Добавлен:
31.03.2015
Размер:
1.44 Mб
Скачать

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.Выбор объектов взаимодействия систем

Соседние файлы в папке идз1