Kitten: поиск элементов и работа с базовыми характеристиками. Часть 1

Страниц формата А4: 55 (часть 1) Время на чтение: примерно 60 минут, но зависит от вашей скорости и опыта. А ещё мы разделили урок на две части, потому что он получился сложным и удерживать внимание на одной текстовой простыне будет нереально.

Содержание урока

<aside> 📌 Привет! Это первый лонгрид курса «Анализ систем». В нём мы сделаем первую итерацию проектирования — разобьём проект на элементы и определим, какие между ними будут связи.

Для этого воспользуемся двумя подходами, которые мы описывали в курсе «Асинхронная архитектура»: Event Storming (ES) для анализа поведения системы и моделью данных для анализа структуры этой системы. Если не проходили тот курс, ничего страшного — главное мы подсветим. Если же проходили — просто освежите в памяти.

В результате у нас получится монолит, потому что это дёшево и по-другому мы пока не умеем.

</aside>

Небольшое напоминание про уровни мастерства. В курсе есть несколько таких уровней, и каждый урок соответствует решениям определённого уровня. Фактически это уровни, на которых Ибрагим умеет решать проблему. На первом круге — решения попроще и больше ошибок, на дальнейших — посложнее и ошибок поменьше.

Небольшое напоминание про уровни мастерства. В курсе есть несколько таких уровней, и каждый урок соответствует решениям определённого уровня. Фактически это уровни, на которых Ибрагим умеет решать проблему. На первом круге — решения попроще и больше ошибок, на дальнейших — посложнее и ошибок поменьше.

Знакомство с главным героем и погружение в проблему

Таким Ибрагима видит нейронка. Ну кто мы такие, чтобы не согласиться.

Таким Ибрагима видит нейронка. Ну кто мы такие, чтобы не согласиться.

Знакомьтесь — это Ибрагим! Он разработчик, классно пишет код и вообще молодец, потому что любит котов, как и мы. Ибрагим — владелец кота по имени Кот.

Ибрагим хочет расти, чтобы не просто закрывать задачи в Джире, но и проектировать надёжные системы.

У него есть опыт нескольких проектов, которые он сделал с нуля, но этот опыт не особо удачный. Один сервис, который он делал полгода, вообще пришлось выкинуть на свалку из-за вечных ошибок, которые регулярно в нём возникали.

Попытки разделить монолит в другом проекте привели к распределённому монолиту. Из-за этого в системе сформировалась сильная связанность, что приводило к отказу всей системы, если падал один из сервисов. В итоге большая часть проектов Ибрагима либо не запускалась в срок, либо превращалась в кашу.

Внезапно случилось чудо, и Ибрагим устроился на свою первую работу архитектором в высокотехнологичный стартап, который продаёт игрушки для котов. В первый же день стало понятно, что кода нет, технологичностью не пахнет, разработчики появятся с недели на неделю, но пока их тоже нет.

Ибрагим хотел стать архитектором, но жизнь заставила его изучать кошачьи игрушки.

Ибрагим хотел стать архитектором, но жизнь заставила его изучать кошачьи игрушки.

На первом рабочем созвоне менеджер рассказал, что проекту недавно исполнилось два года и внутри всё работает на эксель-таблицах, совместная работа над которыми вызывает проблемы с синхронизацией между коллегами. А ещё кто-нибудь постоянно забывает внести важную информацию, и данные вообще теряются, а коты-тестировщики не попадают по нужным клавишам, и таблицы постоянно расходятся, и их приходится править.

Это менеджер, который созванивался с Ибрагимом.

Это менеджер, который созванивался с Ибрагимом.

Стартапу очень нужна автоматизация — веб-приложение, которым сможет пользоваться любой сотрудник, включая кота. Важно, чтобы приложение поддерживало низкий time to market и не выходило за рамки бюджета, потому что бизнесу и так есть на что тратить деньги. Все необходимые требования, примеры таблиц и UX обещали скинуть на следующий день.

После созвона Ибрагим поймал себя на двух мыслях. Но кот его переубедил.