Ну надо ж...
Как раз любуюсь на картинку Вигерса, и думаю, можно ли так быстренько объяснить людям, которые не в теме, эти дважды функциональные требования - а тут Ваша статья все ставит на места. ЗдОрово, в общем.
Разницу в масштабе ФТ и НФТ, мне кажется, просто проиллюстрировать - не медиану рисовать, а увести разделяющую линию вправо, будет понятно.
А вот слово 'Системные' для нижнего уровня мне не очень нравится. Во-первых, слишком уж оно общеупотребительно и вызывает разные ассоциации для разных аудиторий. (Системные требования? Это которые объем ОЗУ и мощность процессора?)
Во-вторых, мне кажется, оно не точно отражает суть этого уровня. По моим представлениям, в идеальном мире эти самые требования нижнего уровня (Functional Requirements) должны непосредственно отображаться на функции и классы программного кода связью один-ко-многим, в смысле, одно_требование - много_мест_в_коде. Если это так, то данная концепция и должна быть выражена в их названии. Вот только слово удачное трудно подобрать. Ага, по-английски можно предложить Development Requirements, Programming Requirements. На русском точный ёмкий термин так сразу в голову не пришёл, подумать надо. "Требования для разработки"?