TGViewer
S0ER S0ER @softwareengineervlog · 10.4K subscribers
Post #1567 4.93K
Требования на разработку ПО

Существует классическое разделение на три уровня требований:

- Бизнес требования
- Пользовательские требования
- Проектные требования

Эти требования обрабатывает бизнес-аналитик, для этого он должен напрямую общаться с пользователями и заказчиками софта.

Бизнес требования
Это требования, которые бизнес хочет удовлетворить в результате разработки программного обеспечения. Обычно эти требования выражаются в виде "задач" и "целей" (вспоминаем про тактическое и стратегическое планирование). Не видел программистов, которые бы вникали в бизнес требования, с ними в основном работают аналитики и архитекторы. И это та еще головная боль, потому что сильно оторвана от технической стороны вопроса.

Пользовательские требования
Это то что от системы хотят получить пользователи. Они выражаются в вариантах использования и пользовательских историях. Тут надо не путать с "вариантами использования", которые есть в чистой архитектуре Роберта Мартина, там это чисто технические решения, здесь это описание взаимодействия действующего лица и системы. Пользовательские истории в обязательном порядке доводятся до программистов, так как это способствует погружению в задачу и обеспечивает лучшее понимание проблемы.

Проектные требования
Это те самые функциональные и нефункциональные требования, которые предъявляются непосредственно к разрабатываемому софту. Чтобы не запутаться нужно помнить, что функциональные требования - это требования, которые описывают поведение системы и обычно начинаются со слова "должен" или "должна". Нефункциональные требования описывают свойства системы, и обычно их называют "-илити свойства" (contrability, scalability и т.д.).

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

#мысли #теория
  • 👍 50
  • ❤ 7
  • ✍ 1
  • 🤡 1
More from @softwareengineervlog
  1. Sep 3, 2026Google выпустила Gemini 3.8 Flash — новая быстрая модель уже обходит гигантов в кодинге. П…
  2. Sep 3, 2026Сейчас использую DeesSeek v4 Flash, на готовой кодовой базе решать стандартные таски из тр…
  3. Aug 6, 2026Полезное: разраб сделал интерактивный мануал, который по шагам показывает, что происходит…
  4. Aug 5, 2026Ты ненастоящий программист! Это происходит снова и снова, и каждый раз одинаково. Я начал…
  5. Jul 27, 2026Внимание, скам! Появился бот который выдает себя за бота моего канала. Я НИЧЕГО ЧЕРЕЗ БОТО…
  6. Jul 25, 2026У Сбера есть интересный whitepaper где он описывает технологию разработки продукта с помощ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →