- C: create (Создать) — добавление новой записи в базу данных.
- R: read (Читать) — просмотр данных.
- U: update (Обновить) — изменение существующих данных.
- D: delete (Удалить) — удаление записи из базы данных.
Что необходимо прописать в матрице
Стандарты заполнения матрицы могут меняться от проекта к проекту и отличаться у разных разработчиков. Но основные данные, которые лежат в её основе, неизменны.
- разделы/подразделы сервиса, приложения или базы данных;
- роли пользователей;
- доступные действия.
Любой функционал в системе, каждый раздел нужно внести в матрицы CRUD. Чем подробнее и детальнее она составлена, тем проще будет на этапе разработки и тестирования.
Создание CRUD и этапы разработки
Разберём, какое место (а точнее, какое время) занимает составление матрицы CRUD в общей дорожной карте работы над сайтом.
Всё начинается ещё с пресейла, то есть с первичного обсуждения сроков и стоимости работ. Вопросы, которые обязательно зададут разработчики: «Кто пользователи будущего ресурса, какие есть роли?».
В общих чертах матрица доступа расписывается вместе с ролевой моделью на этапе проработки общей архитектуры цифрового продукта. Далее, на этапе аналитики, идёт глубокая проработка всех разделов и ролей пользователей, матрица CRUD детализируется.
На следующих этапах при разработке каждого раздела сразу же указывается, кому он доступен: сразу идёт разграничение прав пользователей. По ходу разработки матрица дополняется, могут меняться детали.
В тестирование готового проекта входит и проверка доступов всех ролей: тестировщик выполняет вход под каждый ролью заходит и проверяет доступность. Поэтому матрица CRUD также важна и при тестировании сайта.
Роль матрицы CRUD при разработке сайта
В основе матрицы CRUD лежит идея безопасности через контроль и управление доступом и компактная удобная форма представления важной информации о ролях доступах. Поэтому инструмент удобен и заказчику, и разработчику.
Польза для заказчика (бизнеса)
- Позволяет заказчику четко визуализировать и понять, какие действия будут доступны пользователям с различными типами данных на сайте. Это помогает избежать недопонимания между заказчиком и разработчиком, а также обеспечивает прозрачность процесса разработки.
- Упрощает коммуникацию между заказчиком и командой разработки. Все стороны вовлечены в процесс, понимают, какие функции будут реализованы, и могут легко обсуждать и вносить изменения в функциональность сайта на ранних этапах.
- На основе матрицы CRUD можно строить аудиты действий пользователей, в том числе и при расследовании инцидентов безопасности.
- С помощью матрицы можно легко проверить сервис на соответствие законодательным требованиям и внутренним политикам безопасности.
- Помогает предотвратить нарушения информационной безопасности в сервисе: все доступы прозрачны и заранее определены.
Польза для разработчика
- Позволяет оптимизировать запросы к базе данных, сократить объем избыточной или ненужной обработки данных. Это упрощает развитие и масштабирование сервиса.
- Позволяет избежать дублирования кода или создания идентичных ролей. Это сокращает затраты времени на доработки и правки.
- Полезный инструмент для выстраивания диалога с заказчиком.
Матрица CRUD — это незаменимый инструмент как для заказчика, так и для разработчика. Она обеспечивает прозрачность, структурированность и эффективность процесса разработки сайта, что в конечном итоге приводит к созданию качественного и функционального продукта, удовлетворяющего требованиям бизнеса и пользователей.
Матрицы CRUD и ролевые модели
CRUD идёт бок о бок с ролевой моделью и с функционалом самой системы. И хотя функционал — отправная точка для создания матрицы, ролевая модель тоже очень важна для создания матрицы.
Комментарии к статье
Комментарии: 0