Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Например, почему если пользователь не определен, должно быть исключение, а не сообщение об ошибке с перенаправлением на механизм входа в систему?
“программист _обязан_». У нас в таких случаях четко предупреждают «поведение системы в случаях, не описанных в требованиях, _не определено_».
Будем.
Вы путаете правила хорошего тона программиста с требованиями.
… _правила хорошего тона_… чтобы было легче отлаживать систему
для пользователя разницы нет
Вот система себя и ведет, как придется.
Я искренне убежден в том, что столкнувшись с непредусмотренной ситуацией система должна упасть, чтобы не усугублять положение.
Бизнес-терминологией владеет аналитик — вернулись к началу.
«Текущий пользователь не определен» ничем не лучше «NullReferenceException» — он в обоих случаях не знает, что делать дальше.
Программист не знает, как удобно пользователю. Откуда?
А падение, которое не влияет на остальные операции
в его суждениях по этому поводу могут быть ошибки, и они, что самое важное, ненаказуемы
«все ошибки, достигающие пользователя, должны быть сформулированы по-русски»
И уж до программистов (которые исполнители) тем более редко доходит.
Значит, переформулируйте требование. Важно, чтобы оно было явно озвучено.
обязывает архитектора системы и аналитика
стати, похоже, что на вашем проекте Петя не нужен — ведь аналитик все алгоритмы уже описал
и на часах android
А вы — что нужно начать принимать бизнес-решения.
Вы считаете, что поведение системы для определенного и неопределенного текущего пользователя — это низкоуровневая проверка?
Я против _неявных_ требований.
он не игнорирует его, и не делает тихо, как считает лучше, а идет к постановщику задачи.
Требования к интеграции описывали низкоуровневый интерфейс взаимодействия новой системы с несколькими другими системами компании. Здесь мы их рассматривать не будем.
Странно, что в вашей документации не было ничего про архитектуру и проектирование.
Называние требований «системными» очень неудачно
Пример написания функциональных требований к Enterprise-системе