CRUD-модель и ее использование. Введение
В информационных системах мы работаем с данными. Добавляя или меняя очередную функциональность, я всегда прокручиваю в голове комбинацию из четырех букв — CRUD:
Create — Создавать,
Read — Читать,
Update — Обновлять,
Delete — Удалять.
Что такое CRUD-модель, чем она полезна, как ее применять при анализе требований и проектировании систем? Ответы на эти вопросы я хочу разобрать и показать на примерах.
Над любыми данными возможно выполнить эти операции. Но не всегда можно. Все зависит от контекста системы.
Для каждой операции я продумываю логику и ограничения. Например, в интернет-магазине покупатель может:
Выбрать товары и создать заказ.
Просматривать:
свой заказ,
историю своих заказов.
Изменить свой заказ, если он не оплачен:
поменять товары в нем,
изменить статус — оплатить, отменить, или оформить возврат на оплаченный заказ,
ввести промокод, получить скидку, и поменять его стоимость.
Удалить заказ (или не может?).
А с другой стороны есть менеджер интернет-магазина. Он может:
Выбрать товары и создать заказ для покупателя.
Просматривать:
подробную информацию о заказе любого покупателя,
общий список заказов интернет-магазина,
историю заказов выбранного покупателя.
Изменить любой заказ, в любом статусе:
поменять товары в нем,
изменить статус — оплатить, отменить, сделать возврат средств,
ввести промокод, чтобы дать скидку покупателю, и поменять стоимость заказа.
Удалить заказ (или не может?).
Я покажу, как я превратила знания о CRUD-интерфейсе, которым пользуются разработчики при работе с БД, в правила анализа требований и проектирования. Я называю их CRUD-моделью.
CRUD-модель — это набор возможностей работы с данными, которые позволяют проверить полноту требований к разработке систем. Представить ее можно в виде таблицы:
Роль — пользователь, который взаимодействует с данными. Почти во всех системах есть разделение на пользователей с ограниченными правами, и администраторов, которые могут все. Количество ролей ограничивается только требованиями заказчика.
Пример:
В интернет-магазине есть роль покупателя, который делает заказ, и роль менеджера, который обрабатывает заказ.
Количество объектов — количество записей в базе данных, для которых выполнится CRUD-операция.
Пример для Read:
В Интернет-магазине можно получить список товаров с ограниченным набором данных о каждом (много товаров). А если выбрать конкретный товар в списке, то можно получить детальную информацию о нем (один товар).
В следующей статье я разберу пример, на котором хочу показать, как работает CRUD-модель в боевых условиях: управление каталогом товаров магазина.
Екатерина Ананьева
Основатель IT-школы системного анализа и проектирования GetAnalyst
k@getanalyst.ru
Мы используем файлы cookie, для персонализации сервисов и повышения удобства пользования сайтом. Если вы не согласны на их использование, поменяйте настройки браузера.