Данные
И наконец, нам нужно подумать о данных, с которыми мы собираемся работать.
Заметьте, что здесь мы не употребляем такие слова, как «схемы» или «классы».
Мы также не говорим о базах данных, таблицах, ключах и тому подобных вещах.
Речь идет только о данных. На этой стадии разработки мы еще не знаем, будут ли
использоваться базы данных, — ведь иногда и простые файлы кладут таблицу базы
данных на обе лопатки.
Похоже, что на основании примеров использования и последовательности
страниц мы будем иметь дело с теми данными, которые изображены на рис. 53.
На мой взгляд, и здесь намного проще будет использовать карандаш и бумагу,
а не какой-нибудь мудреный инструмент, но вы можете воспользоваться тем, что
вам больше по душе.Работа с диаграммой, отображающей состав данных, наводит на некоторые
размышления. Поскольку пользователь что-то покупает, нам нужно куда-т©
складывать покупки, поэтому я добавил корзину. Но что такое корзина кроме
как место для временного хранения списка товаров, представляется весьма смутно
— я не в состоянии найти что-либо существенное, что можно было бы в ней
хранить. Для обозначения этой неопределенности я поместил внутри прямоугольника,
изображающего на диаграмме корзину, вопросительный знак. Смев
предположить, что эту неопределенность мы развеем в процессе создания приложения
Depot.
В результате размышлений о данных общего характера возникает вопрос, какие
сведения должны попадать в заказ. И тут я снова оставляю вопрос открытым
— мы проясним его чуть позже, как только начнем демонстрировать пользователю
наши первые шаги.
В конечном итоге вы могли заметить, что я продублировал цену товара в строке
выбора. Здесь я несколько отступаю от правила «в начальной стадии все должно
выглядеть как можно проще», но это нарушение продиктовано моим личным
опытом. Если цена товара изменится, то это изменение не должно отражаться на
том товаре, который попал в строку выбора текущих открытых заказов, поэтому
в каждой строке выбора должна быть указана такая цена товара, которая существовала
на момент оформления заказа.
Опять-таки я проверил это рассуждение, заручившись мнением заказчика,
и понял, что я на правильном пути. (Вероятно, мой заказчик сидел рядом со мной,
пока я рисовал все три диаграммы.)