С какими трудностями чаще всего сталкиваются команды:
Если что-то из этого вам знакомо, значит, вы уже знаете: проектирование помогает сделать процесс более управляемым.
Проектирование это описание объекта или процесса в текстовом и графическом виде. Применяется для всего: от крупных веб-приложений до отдельных компонентов системы.
Если вашему проекту не хватает структуры, мы поможем ее выстроить
Чтобы проектирование приносило пользу, важно выбрать подходящий формат и использовать соответствующие инструменты.
В таблице ниже (см. «Инструменты и форматы для документирования ключевых решений») — примеры документации и диаграмм, которые помогают фиксировать ключевые решения и упрощают работу команды.
Практическое применение проектирования
Схема или текст?
Схема верхнеуровнево отображает логику и шаги взаимодействия, а текст детализирует каждый этап, включая параметры и конфигурации.
Проектирование инфраструктуры
Проектирование позволяет создать систему, соответствующую требованиям масштабируемости, надежности и производительности, что помогает избежать хаоса и дополнительных затрат в будущем.
Интеграции с другими системами
При описании интеграций с другими системами можно использовать как диаграммы, так и текстовый формат. Если в интеграции участвует 2–3 системы, и сценарий взаимодействия — линейный, можно ограничиться вариантом с текстом.
Если же в интеграции участвует большее количество сервисов и приложений либо взаимодействие между ними предполагает различные варианты поведения в зависимости от условий, то использование диаграмм может быть полезным и позволит не упустить все возможные разветвления поведения систем.
Диаграмма связей между сущностями
Визуализирует логику взаимодействия данных, помогая улучшить понимание системы и являясь основой для проектирования структур и баз данных.
Сквозные сущности системы фиксируются на диаграмме, их свойства описываются текстом. Затем они используются как источник данных в описании различных сценариев поведения приложения.
Диаграмма базы данных (backend) помогает:
- четко структурировать данные,
- построить базу по требованиям нормализации,
- определить, где следует отступить от этих правил,
- и в конечном итоге оптимизировать запросы.
Важно не только создать диаграмму, но и регулярно обновлять её, внося даже небольшие правки.
Диаграмма классов (backend)
Упрощает разработку, показывая отношения между объектами и улучшая читаемость и поддержку кода. Описывает как сущности связаны с точки зрения сути этой связи.
API-документация
Используется прежде всего при интеграции других систем (клиентской части приложения или стороннего сервиса) и при их тестировании.
Стандартом для разработчиков стала спецификация OpenAPI, а инструментом для разработки — Swagger. Такая документация формируется параллельно с разработкой путем включения в код соответствующих аннотаций/декораторов.
На этапе проектирования составление API-документации является обязательным, особенно в случае, когда команды фронтенда и бэкенда начинают разработку параллельно. Для написания документации на данном этапе используем текстовый редактор.
Проектирование технического решения
Помогает заранее оценить риски, оптимизировать ресурсы и создать четкий план реализации проекта.
Задача сценария — отправить отклики соискателей в стороннюю систему. Схема отражает его общую логику, все проверки и ветвления процесса, результаты процесса на стороне различных частей системы.
BPMN-схема
BPMN-схема включает в себя описание этапов, последовательности сценариев и их параметров. Применялась системными аналитиками при проектировании и разработчиками при реализации приложения, интегрируемого с указанной системой.
Схема бизнес-процесса — это основа для дальнейшего проектирования интерфейса и разработки.
Что дальше?
Для каждой задачи может быть разработана своя схема. В одних случаях акцент делается на бизнес-процессы, в других — на техническую реализацию.
В любом случае проектирование экономит время, снижает риски и поддерживает разработчиков на всех этапах работы.
Это инвестиция в качество и скорость разработки.