Вы молодцы! 🎉 Спасибо, что участвовали в задании!
Все ответы были правильными, кроме:
❌ Автодобавление товаров в корзину при выборе категории — поиск и фильтрация товаров должны оставаться на уровне отображения товаров, а не вмешиваться в процессы добавления в корзину.
❌ Запретить пользователю менять категории после выбора — это ограничение, да и вредное. Мы не можем «привязать» пользователя к одной категории, так как это ограничивает возможности поиска.
Продолжим тренировку! 🧠
К нам пришли с требованием:
Реализовать корзину покупателя на сайте.
Это требование можно разложить:
1️⃣ Добавление товаров в корзину.
2️⃣ Удаление товаров из корзины.
3️⃣ Просмотр содержимого корзины.
4️⃣ Изменение количества товаров.
5️⃣ Подсчет общей стоимости товаров.
6️⃣ Проверка наличия товаров на складе.
7️⃣ Возможность сохранения корзины между сессиями.
8️⃣ Очистка всей корзины одним кликом.
#requirements
Все ответы были правильными, кроме:
❌ Автодобавление товаров в корзину при выборе категории — поиск и фильтрация товаров должны оставаться на уровне отображения товаров, а не вмешиваться в процессы добавления в корзину.
❌ Запретить пользователю менять категории после выбора — это ограничение, да и вредное. Мы не можем «привязать» пользователя к одной категории, так как это ограничивает возможности поиска.
Продолжим тренировку! 🧠
К нам пришли с требованием:
Реализовать корзину покупателя на сайте.
Это требование можно разложить:
1️⃣ Добавление товаров в корзину.
2️⃣ Удаление товаров из корзины.
3️⃣ Просмотр содержимого корзины.
4️⃣ Изменение количества товаров.
5️⃣ Подсчет общей стоимости товаров.
6️⃣ Проверка наличия товаров на складе.
7️⃣ Возможность сохранения корзины между сессиями.
8️⃣ Очистка всей корзины одним кликом.
#requirements
👍6👏3💯2🔥1
А теперь ваша очередь! Как бы вы разложили «Добавление товаров в корзину» на дополнительные требования?
Anonymous Poll
81%
Проверка наличия товара на складе перед добавлением в корзину.
73%
Возможность добавления нескольких товаров одновременно.
81%
Отображение уведомления о добавлении товара в корзину.
0%
Запретить пользователю изменять товары в корзине после добавления.
69%
Возможность добавления товаров в корзину без регистрации.
85%
Возможность редактирования количества товара в корзине.
62%
Добавление товаров в "Избранное".
54%
Оформление заказа с возможностью выбора способов доставки.
👍3💯1
Разбираем ошибки
Судя по предыдущему заданию есть вопросы к некоторым вариантам ответа. Все варианты верные, кроме:
❌ Запретить пользователю изменять товары в корзине после добавления — это «вредное» ограничение. В нашем примере мы собирали требования к обычному интернет-магазину, где можно менять количество.
❌ Добавление товаров в Избранное — это отдельная функция, которая имеет свой сценарий использования.
❌ Оформление заказа с возможностью выбора способов доставки — это следующая стадия после наполнения корзины.
#requirements
Судя по предыдущему заданию есть вопросы к некоторым вариантам ответа. Все варианты верные, кроме:
❌ Запретить пользователю изменять товары в корзине после добавления — это «вредное» ограничение. В нашем примере мы собирали требования к обычному интернет-магазину, где можно менять количество.
❌ Добавление товаров в Избранное — это отдельная функция, которая имеет свой сценарий использования.
❌ Оформление заказа с возможностью выбора способов доставки — это следующая стадия после наполнения корзины.
#requirements
👍6👌3💯1
Пишем через «Если, то, иначе» 🚦
Эту конструкцию часто используют разработчики в коде:
💡 Если пользователь нажал кнопку,
💡 то открыть окно регистрации,
💡 иначе показать подсказку.
Как это помогает нам, системным аналитикам?
Вопросы «А что будет, если...?», «Что делать, если иначе?» помогают сделать требования более качественными и детализированными.
Например:
✏️ Если товар есть в наличии, то добавляем его в корзину, иначе показываем сообщение, что товар закончился.
Такой подход тренирует системное мышление. Он помогает видеть альтернативные сценарии, выявлять детали и упрощать работу команды разработки.
Каждое «если» — это возможность предусмотреть нюансы, улучшить требования и избежать будущих доработок. Чем больше вы задаёте такие вопросы, тем качественнее становятся ваши требования.
#requirements
Эту конструкцию часто используют разработчики в коде:
💡 Если пользователь нажал кнопку,
💡 то открыть окно регистрации,
💡 иначе показать подсказку.
Как это помогает нам, системным аналитикам?
Вопросы «А что будет, если...?», «Что делать, если иначе?» помогают сделать требования более качественными и детализированными.
Например:
✏️ Если товар есть в наличии, то добавляем его в корзину, иначе показываем сообщение, что товар закончился.
Такой подход тренирует системное мышление. Он помогает видеть альтернативные сценарии, выявлять детали и упрощать работу команды разработки.
Каждое «если» — это возможность предусмотреть нюансы, улучшить требования и избежать будущих доработок. Чем больше вы задаёте такие вопросы, тем качественнее становятся ваши требования.
#requirements
👍10🔥4👏4💯1
Если, то, иначе: учимся предусматривать всё 🧠
Давайте проработаем требование: Возврат товара в интернет-магазине.
💡 Сценарий 1:
Если товар куплен онлайн, то возврат делается через форму на сайте, иначе через чек в магазине.
💡 Сценарий 2:
Если прошло менее 14 дней с момента покупки, то возврат возможен, иначе требуется подтверждение от службы поддержки.
💡 Сценарий 3:
Если товар повреждён, то при возврате требуется фото с описанием дефекта, иначе достаточно указать причину возврата.
Каждое из этих «если» помогает нам учесть важные аспекты работы системы.
#requirements
Давайте проработаем требование: Возврат товара в интернет-магазине.
💡 Сценарий 1:
Если товар куплен онлайн, то возврат делается через форму на сайте, иначе через чек в магазине.
💡 Сценарий 2:
Если прошло менее 14 дней с момента покупки, то возврат возможен, иначе требуется подтверждение от службы поддержки.
💡 Сценарий 3:
Если товар повреждён, то при возврате требуется фото с описанием дефекта, иначе достаточно указать причину возврата.
Каждое из этих «если» помогает нам учесть важные аспекты работы системы.
#requirements
👍9🔥4❤2⚡1
Алгебра логики для системного аналитика
Это про умение работать с условиями: И, ИЛИ, НЕ. Вспоминаем уроки информатики в школе!
❗Почему это важно?
Алгебра логики помогает не только разработчикам писать код, но и системным аналитикам прорабатывать и формулировать требования. Без нее легко упустить нюансы, которые могут привести к путанице в разработке.
Представим, что мы разрабатываем hh.ru.
Задача — добавить баннер с рекламой Премиума. Компания заинтересована продвигать платный тариф.
❌ Формулировка «Реализовать баннер с рекламой премиума» недостаточно.
Разработчику нужны четкие условия. В ТЗ это может выглядеть так:
Давайте протестируем это условие. Какие вообще могут быть варианты?
💡 КЕЙС_1
статус соискателя = «Активно ищу работу», тариф «Премиум»
Что отобразится по описанной выше логике?
Ответ: баннер с предложением «проверить резюме hr-специалистами»
💡 КЕЙС_2
статус соискателя = «Не ищу работу», тариф «Премиум»
Что отобразится по описанной выше логике?
Ответ: снова баннер с предложением «проверить резюме hr-специалистами»
💡 КЕЙС_N .... принцип вы поняли)
Итого баннер с предложением «проверить резюме hr-специалистами» отобразится в случаях:
- статус соискателя = «Активно ищу работу», тариф «Премиум»
- статус соискателя = «Не ищу работу», тариф «Премиум»
- статус соискателя = «Не ищу работу», тариф НЕ «Премиум»
- статус соискателя = «Рассматриваю предложения», тариф «Премиум»
- статус соискателя = «Рассматриваю предложения», тариф НЕ «Премиум»
❗Почему так?
В нашем условии указан оператор «И».
Оператор И требует выполнения всех условий. Поэтому в нашем примере для показа баннера с рекламой премиума должны одновременно выполняться два условия:
1️⃣ Статус соискателя = «Активно ищу работу»,
2️⃣ Тариф НЕ = «Премиум».
Если хотя бы одно из них не выполняется, логика переходит к «Иначе».
#requirements
Это про умение работать с условиями: И, ИЛИ, НЕ. Вспоминаем уроки информатики в школе!
❗Почему это важно?
Алгебра логики помогает не только разработчикам писать код, но и системным аналитикам прорабатывать и формулировать требования. Без нее легко упустить нюансы, которые могут привести к путанице в разработке.
Представим, что мы разрабатываем hh.ru.
Задача — добавить баннер с рекламой Премиума. Компания заинтересована продвигать платный тариф.
❌ Формулировка «Реализовать баннер с рекламой премиума» недостаточно.
Разработчику нужны четкие условия. В ТЗ это может выглядеть так:
- Если статус соискателя «Активно ищу работу» И у него тариф НЕ «Премиум», то отображать баннер с рекламой премиума.
- Иначе отображать баннер с предложением «проверить резюме hr-специалистами».
Давайте протестируем это условие. Какие вообще могут быть варианты?
💡 КЕЙС_1
статус соискателя = «Активно ищу работу», тариф «Премиум»
Что отобразится по описанной выше логике?
Ответ: баннер с предложением «проверить резюме hr-специалистами»
💡 КЕЙС_2
статус соискателя = «Не ищу работу», тариф «Премиум»
Что отобразится по описанной выше логике?
Ответ: снова баннер с предложением «проверить резюме hr-специалистами»
💡 КЕЙС_N .... принцип вы поняли)
Итого баннер с предложением «проверить резюме hr-специалистами» отобразится в случаях:
- статус соискателя = «Активно ищу работу», тариф «Премиум»
- статус соискателя = «Не ищу работу», тариф «Премиум»
- статус соискателя = «Не ищу работу», тариф НЕ «Премиум»
- статус соискателя = «Рассматриваю предложения», тариф «Премиум»
- статус соискателя = «Рассматриваю предложения», тариф НЕ «Премиум»
❗Почему так?
В нашем условии указан оператор «И».
Оператор И требует выполнения всех условий. Поэтому в нашем примере для показа баннера с рекламой премиума должны одновременно выполняться два условия:
1️⃣ Статус соискателя = «Активно ищу работу»,
2️⃣ Тариф НЕ = «Премиум».
Если хотя бы одно из них не выполняется, логика переходит к «Иначе».
#requirements
👍9🔥3👏3
Оператор И: основы алгебры логики
Оператор И — означает, что для выполнения условия должны быть верны все его части.
Пример из жизни:
💡 Если сегодня выходной И погода хорошая, то мы идем на пикник.
Если хотя бы одно из условий не выполняется (не выходной или плохая погода), на пикник мы не идем.
Пример в разработке:
💡 Если пользователь активен И его подписка истекает через 7 дней, то отправить напоминание о продлении.
И = все условия должны быть выполнены.
👆 Если пользователь не активен или подписка истекает позже, напоминание не отправится.
#requirements
Оператор И — означает, что для выполнения условия должны быть верны все его части.
Пример из жизни:
💡 Если сегодня выходной И погода хорошая, то мы идем на пикник.
Если хотя бы одно из условий не выполняется (не выходной или плохая погода), на пикник мы не идем.
Пример в разработке:
💡 Если пользователь активен И его подписка истекает через 7 дней, то отправить напоминание о продлении.
И = все условия должны быть выполнены.
👆 Если пользователь не активен или подписка истекает позже, напоминание не отправится.
#requirements
👍10🔥4✍2
Упражнение на оператор «И»
Условие:
* Если пользователь подтвердил email И заполнил профиль, то показать поздравительное сообщение. 🎉
* Иначе показать напоминание о завершении регистрации.
❓Вопрос: В каких случаях покажется напоминание о завершении регистрации?
Условие:
* Если пользователь подтвердил email И заполнил профиль, то показать поздравительное сообщение. 🎉
* Иначе показать напоминание о завершении регистрации.
❓Вопрос: В каких случаях покажется напоминание о завершении регистрации?
🔥8👍4
В каких случаях покажется напоминание о завершении регистрации? Кейс см. ранее 👆
Anonymous Poll
60%
1️⃣ Пользователь подтвердил email, но не заполнил профиль.
57%
2️⃣ Пользователь не подтвердил email, но заполнил профиль.
26%
3️⃣ Пользователь подтвердил email И заполнил профиль.
55%
4️⃣ Пользователь не подтвердил email И не заполнил профиль.
👍8
Спасибо, что участвуете!
❗Правильный ответ на прошлое задание.
Напоминание о завершении регистрации отобразится во всех кейсах, кроме
3️⃣ Пользователь подтвердил email И заполнил профиль.
__________
Давайте еще потренируемся 👇
Жизненно:
* Если в холодильнике есть молоко И хлеб, то можно приготовить завтрак.
* Иначе придется отправиться в магазин за продуктами.
❓Вопрос: В каких случаях нужно будет идти в магазин?
❗Правильный ответ на прошлое задание.
Напоминание о завершении регистрации отобразится во всех кейсах, кроме
3️⃣ Пользователь подтвердил email И заполнил профиль.
__________
Давайте еще потренируемся 👇
Жизненно:
* Если в холодильнике есть молоко И хлеб, то можно приготовить завтрак.
* Иначе придется отправиться в магазин за продуктами.
❓Вопрос: В каких случаях нужно будет идти в магазин?
👍8
В каких случаях нужно будет идти в магазин? Кейс см. ранее 👆
Anonymous Poll
68%
1️⃣ В холодильнике есть хлеб, но нет молока.
70%
2️⃣ В холодильнике есть молоко, но нет хлеба.
4%
3️⃣ В холодильнике есть и молоко, и хлеб.
92%
4️⃣ В холодильнике нет ни молока, ни хлеба.
👍10
❗Время правильного ответа на прошлое задание
Вы пойдете в магазин во всех случаях, кроме «В холодильнике есть и молоко, и хлеб».
💪💪💪💪💪
Выполняйте задания, и вы быстрее придёте к своей цели — стать хорошим системным аналитиком.
Сегодня вы учитесь, завтра — используете новые знания, а послезавтра — получаете повышение грейда и зп.
Начните сегодня, и в будущем скажете себе спасибо! 🌟
Вы пойдете в магазин во всех случаях, кроме «В холодильнике есть и молоко, и хлеб».
💪💪💪💪💪
Выполняйте задания, и вы быстрее придёте к своей цели — стать хорошим системным аналитиком.
Сегодня вы учитесь, завтра — используете новые знания, а послезавтра — получаете повышение грейда и зп.
Начните сегодня, и в будущем скажете себе спасибо! 🌟
👍10❤4🔥3
Оператор ИЛИ: основы алгебры логики
Оператор ИЛИ — означает, что условие выполнится, если верно хотя бы одно из его частей.
Пример из жизни:
💡 Если я захочу пиццу ИЛИ суши, я закажу еду на ужин.
Если хотя бы одно из условий выполняется (я хочу пиццу, или я хочу суши), то заказ будет оформлен. Пицца или суши приедут ко мне на ужин.
Пример в разработке:
💡 Если пользователь выбрал способ оплаты наличкой ИЛИ СБП, то предоставить скидку.
ИЛИ = достаточно выполнения хотя бы одного из условий.
👆 Если пользователь выбрал оплату другим способом (не наличкой, не СБП), например, банковской картой, то скидка не применится.
#requirements
Оператор ИЛИ — означает, что условие выполнится, если верно хотя бы одно из его частей.
Пример из жизни:
💡 Если я захочу пиццу ИЛИ суши, я закажу еду на ужин.
Если хотя бы одно из условий выполняется (я хочу пиццу, или я хочу суши), то заказ будет оформлен. Пицца или суши приедут ко мне на ужин.
Пример в разработке:
💡 Если пользователь выбрал способ оплаты наличкой ИЛИ СБП, то предоставить скидку.
ИЛИ = достаточно выполнения хотя бы одного из условий.
👆 Если пользователь выбрал оплату другим способом (не наличкой, не СБП), например, банковской картой, то скидка не применится.
#requirements
🔥8✍4👍3
Упражнение на оператор «ИЛИ»
Условие:
* Если пользователь выбрал оплату через СБП ИЛИ наличкой, то применить скидку 5% к сумме заказа.
* Иначе отобразить сообщение о скидке при оплате наличными или СБП.
❓ Вопрос: В каких случаях не будет применена скидка?
Условие:
* Если пользователь выбрал оплату через СБП ИЛИ наличкой, то применить скидку 5% к сумме заказа.
* Иначе отобразить сообщение о скидке при оплате наличными или СБП.
❓ Вопрос: В каких случаях не будет применена скидка?
❤8
В каких случаях не будет применена скидка? Кейс см. ранее 👆
Anonymous Poll
7%
1️⃣ Пользователь выбрал оплату через СБП
7%
2️⃣ Пользователь выбрал оплату наличными
84%
3️⃣ Пользователь выбрал оплату банковской картой
88%
4️⃣ Пользователь выбрал оплату через криптовалюту
❤9
Спасибо вам за участие! ❤️
❗Правильный ответ.
Скидка не будет применена, если:
3️⃣ Пользователь выбрал оплату банковской картой
4️⃣ Пользователь выбрал оплату через криптовалюту
__________
Теперь посложнее. Скомбинируем операторы И и ИЛИ 👇
Условие:
* Если пользователь выбрал оплату через СБП ИЛИ наличными, то применить скидку 5%.
* Если пользователь выбрал оплату через банковскую карту И у него статус «новый клиент», то предложить дополнительную скидку 3%.
* Иначе — не применяются скидки.
❓ Вопрос: В каких случаях не будет применена ни одна скидка?
❗Правильный ответ.
Скидка не будет применена, если:
3️⃣ Пользователь выбрал оплату банковской картой
4️⃣ Пользователь выбрал оплату через криптовалюту
__________
Теперь посложнее. Скомбинируем операторы И и ИЛИ 👇
Условие:
* Если пользователь выбрал оплату через СБП ИЛИ наличными, то применить скидку 5%.
* Если пользователь выбрал оплату через банковскую карту И у него статус «новый клиент», то предложить дополнительную скидку 3%.
* Иначе — не применяются скидки.
❓ Вопрос: В каких случаях не будет применена ни одна скидка?
❤🔥8
В каких случаях не будет применена ни одна скидка? Кейс см. ранее 👆
Anonymous Poll
6%
1️⃣ Пользователь выбрал оплату СБП и у него статус «новый клиент»
9%
2️⃣ Пользователь выбрал оплату СБП и он старый клиент
6%
3️⃣ Пользователь выбрал оплату наличными и у него статус «новый клиент»
12%
4️⃣ Пользователь выбрал оплату наличными и он старый клиент
76%
5️⃣ Пользователь выбрал оплату криптовалютой и у него статус «новый клиент»
91%
6️⃣ Пользователь выбрал оплату криптовалютой и он старый клиент
9%
7️⃣ Пользователь выбрал оплату банковской картой и у него статус «новый клиент»
88%
8️⃣ Пользователь выбрал оплату банковской картой и он старый клиент
❤🔥10
Разбираем упражнение
1️⃣ Пользователь выбрал оплату СБП и у него статус «новый клиент»
Скидка 5% применяется, т.к. оплата СБП, статус не важен. ✅
2️⃣ Пользователь выбрал оплату СБП и он старый клиент
Скидка 5% применяется, т.к. оплата СБП, статус не важен. ✅
3️⃣ Пользователь выбрал оплату наличными и у него статус «новый клиент»
Скидка 5% применяется, т.к. оплата наличными, статус не важен. ✅
4️⃣ Пользователь выбрал оплату наличными и он старый клиент
Скидка 5% применяется, т.к. оплата наличными, статус не важен. ✅
5️⃣ Пользователь выбрал оплату криптовалютой и у него статус «новый клиент»
Скидка не применяется, т.к. оплата криптовалютой, статус не важен. ❌
6️⃣ Пользователь выбрал оплату криптовалютой и он старый клиент
Скидка не применяется, т.к. оплата криптовалютой, статус не важен. ❌
7️⃣ Пользователь выбрал оплату банковской картой и у него статус «новый клиент»
Скидка 3% применяется, т.к. оплата банковской картой. Здесь мы уже смотрим на статус — скидка применяется, т.к. это «новый клиент». ✅
8️⃣ Пользователь выбрал оплату банковской картой и он старый клиент
Скидка не применяется, т.к. несмотря на то что оплата картой, клиент старый, а не новый. ❌
1️⃣ Пользователь выбрал оплату СБП и у него статус «новый клиент»
Скидка 5% применяется, т.к. оплата СБП, статус не важен. ✅
2️⃣ Пользователь выбрал оплату СБП и он старый клиент
Скидка 5% применяется, т.к. оплата СБП, статус не важен. ✅
3️⃣ Пользователь выбрал оплату наличными и у него статус «новый клиент»
Скидка 5% применяется, т.к. оплата наличными, статус не важен. ✅
4️⃣ Пользователь выбрал оплату наличными и он старый клиент
Скидка 5% применяется, т.к. оплата наличными, статус не важен. ✅
5️⃣ Пользователь выбрал оплату криптовалютой и у него статус «новый клиент»
Скидка не применяется, т.к. оплата криптовалютой, статус не важен. ❌
6️⃣ Пользователь выбрал оплату криптовалютой и он старый клиент
Скидка не применяется, т.к. оплата криптовалютой, статус не важен. ❌
7️⃣ Пользователь выбрал оплату банковской картой и у него статус «новый клиент»
Скидка 3% применяется, т.к. оплата банковской картой. Здесь мы уже смотрим на статус — скидка применяется, т.к. это «новый клиент». ✅
8️⃣ Пользователь выбрал оплату банковской картой и он старый клиент
Скидка не применяется, т.к. несмотря на то что оплата картой, клиент старый, а не новый. ❌
👍9❤🔥4
Упражнение: Сформулируйте условие
Заказчик говорит:
Мы хотим, чтобы пользователи получали скидку, если они зарегистрировались на сайте и/или подписались на нашу рассылку.
❓ Вопрос: Какое условие соответствует этому требованию? Выберите правильный вариант.
Заказчик говорит:
Мы хотим, чтобы пользователи получали скидку, если они зарегистрировались на сайте и/или подписались на нашу рассылку.
❓ Вопрос: Какое условие соответствует этому требованию? Выберите правильный вариант.
🔥9
Какое условие соответствует требованию выше?
Anonymous Quiz
37%
1️⃣ Если пользователь зарегистрирован на сайте И подписан на рассылку, то предоставить скидку.
56%
2️⃣ Если пользователь зарегистрирован на сайте ИЛИ подписан на рассылку, то предоставить скидку.
8%
3️⃣ Если пользователь зарегистрирован на сайте И подписан на рассылку, то не предоставлять скидку.
👍9
Оператор НЕ: основы алгебры логики
Оператор НЕ изменяет значение условия на противоположное.
Пример из жизни:
💡 Если я НЕ хочу готовить, то закажу еду.
Если условие «хочу готовить» неверно, значит, я закажу еду.
Пример в разработке:
💡 Если пользователь НЕ активен, то отправить ему напоминание.
НЕ = проверка, что условие не выполняется.
👆 Если пользователь активен, напоминание не отправится.
__________
А чего ждать? Давайте практиковаться с НЕ! 👇
Условие:
* Если пользователь НЕ активировал учетную запись И НЕ загрузил аватар, то отобразить напоминание о завершении настройки профиля.
* Иначе ничего не отображать.
❓ Вопрос: В каких случаях напоминание будет показано?
#requirements
Оператор НЕ изменяет значение условия на противоположное.
Пример из жизни:
💡 Если я НЕ хочу готовить, то закажу еду.
Если условие «хочу готовить» неверно, значит, я закажу еду.
Пример в разработке:
💡 Если пользователь НЕ активен, то отправить ему напоминание.
НЕ = проверка, что условие не выполняется.
👆 Если пользователь активен, напоминание не отправится.
__________
А чего ждать? Давайте практиковаться с НЕ! 👇
Условие:
* Если пользователь НЕ активировал учетную запись И НЕ загрузил аватар, то отобразить напоминание о завершении настройки профиля.
* Иначе ничего не отображать.
❓ Вопрос: В каких случаях напоминание будет показано?
#requirements
👍9🔥4