Для чего аналитику знать про многозабой?
Казалось бы - если ты пишешь требования на разработку фронта и бэка, то какое тебе дело до физического представления предметной области? Зачем аналитику знать о том, что скважины бывают многозабойными и что это значит для его работы? Об этом - рассказываю ниже.
🚩Предпосылки
Итак - стоит задача: вывести на виджет траекторию скважины в виде кривой линии в трёхмерном пространстве. Источник данных - известен. Структура данных заранее не определена, но мы делаем разумное предположение, что это будет массив точек в трёхмерном пространстве. Казалось бы - всё гладно, ан нет!
🌲Скважины бывают многозабойными
На картинке, иллюстрирующей настоящий пост, как раз изображена фантазийная картина так называемой многозабойной скважины. Проще всего себе представить такую скважину в виде корня дерева, то есть есть основной "стержень", от которого отходят в разные стороны "отростки". Бывают разные формы этих многозабойных скважин и, возможно, со временем я сделаю пост, чтобы мы все смогли разобраться в их разнообразии. Но вернёмся к виджету.
⁉️Так в чём же сложность?
А вся сложность заключается в данных! Как можно представить координаты точек многозабойной скважины? Например, так: 🔹 несколько массивов точек - по числу "хвостов" скважины 🔹 один массив точек для общей части ("куска трубы") и отдельные массивы координат - для "хвостов". В любом случае - это совершенно не соответствует той единственной кривой в трёхмерном пространстве, с которой мы начинали проектирование виджета! Теперь вместо одной кривой, мы должны визуализировать сразу несколько! А это уже совсем другие данные, другие требования на разработку.
🏁Заключение
Если бы я не знала о том, что скважины бывают многозабойными, то ошибка в отображении такой скважины проявилась бы только на этапе тестирования. Тогда либо возникала бы критическая ошибка (если пришла сложная структура из массивов - не ожидаемая бэком), либо была бы визуализирована лишь одна из "ветвей" скважины (если бы на бэк пришли данные в виде группы массивов и был бы взять в работу только первый из них). Вмешательство же в вопрос на текущем этапе, уточнения с бизнес-экспертом - всё это позволяет подготовить требования на разработку с учётом многозабойности скважины и предоставить пользователю ожидаемый результат визуализации.
Делитесь в комментариях - у вас было так, что ваши личные знания предметной области внезапно помогли спасти фичу? 👇
P.S.: иллюстрация к настоящему посту является результатом генерации и не имеет никакой связи с реальностью.