CRUD-модель и ее использование. Введение


В информационных системах мы работаем с данными. Добавляя или меняя очередную функциональность, я всегда прокручиваю в голове комбинацию из четырех букв — CRUD:

  • Create  — Создавать,

  • Read — Читать,

  • Update — Обновлять,

  • Delete — Удалять.

Что такое CRUD-модель, чем она полезна, как ее применять при анализе требований и проектировании систем? Ответы на эти вопросы я хочу разобрать и показать на примерах.

Над любыми данными возможно выполнить эти операции. Но не всегда можно. Все зависит от контекста системы.

Для каждой операции я продумываю логику и ограничения. Например, в интернет-магазине покупатель может:

  • Выбрать товары и создать заказ.

  • Просматривать:

    • свой заказ,

    • историю своих заказов.

  • Изменить свой заказ, если он не оплачен:

    • поменять товары в нем,

    • изменить статус — оплатить, отменить, или оформить возврат на оплаченный заказ,

    • ввести промокод, получить скидку, и поменять его стоимость.

  • Удалить заказ (или не может?).

А с другой стороны есть менеджер интернет-магазина. Он может:

  • Выбрать товары и создать заказ для покупателя.

  • Просматривать:

    • подробную информацию о заказе любого покупателя,

    • общий список заказов интернет-магазина,

    • историю заказов выбранного покупателя.

  • Изменить любой заказ, в любом статусе:

    • поменять товары в нем,

    • изменить статус — оплатить, отменить, сделать возврат средств,

    • ввести промокод, чтобы дать скидку покупателю, и поменять стоимость заказа.

  • Удалить заказ (или не может?).

Я покажу, как я превратила знания о CRUD-интерфейсе, которым пользуются разработчики при работе с БД, в правила анализа требований и проектирования. Я называю их CRUD-моделью.

CRUD-модель — это набор возможностей работы с данными, которые позволяют проверить полноту требований к разработке систем. Представить ее можно в виде таблицы:

Роль — пользователь, который взаимодействует с данными. Почти во всех системах есть разделение на пользователей с ограниченными правами, и администраторов, которые могут все. Количество ролей ограничивается только требованиями заказчика.
Пример:
В интернет-магазине есть роль покупателя, который делает заказ, и роль менеджера, который обрабатывает заказ.

Количество объектов — количество записей в базе данных, для которых выполнится CRUD-операция.
Пример для Read:
В Интернет-магазине можно получить список товаров с ограниченным набором данных о каждом (много товаров). А если выбрать конкретный товар в списке, то можно получить детальную информацию о нем (один товар).

В следующей статье я разберу пример, на котором хочу показать, как работает CRUD-модель в боевых условиях: управление каталогом товаров магазина.

Екатерина Ананьева
Основатель IT-школы системного анализа и проектирования GetAnalyst
k@getanalyst.ru

Контакты

+7 (499) 686-15-46

*Instagram — запрещенная на территории РФ организация

Практический опыт здесь, 2021-2024

Мы используем файлы cookie, для персонализации сервисов и повышения удобства пользования сайтом. Если вы не согласны на их использование, поменяйте настройки браузера.