ТЗ наверное не самый лучший термин (просто данный пост посвящен ТЗ). Я имею в виду спецификацию (описание) того, что пользователь ожидает от программы.
Да по ГОСТУ именно для этого в том числе предназначено ТЗ.
Но ТЗ по ГОСТУ не определяет детально архитектуру и конкретику проектирования - это более высокоуровневый документ.
"2) идеальное ТЗ, а вернее требования, которые в нем описаны, должны иметь ОДНОЗНАЧНОЕ представление в виде программных конструкций, используемых Разработчиком. Другими словами архитектуры системы должна строиться в терминах Заказчика, а не в терминах Разработчика. Иначе новые требования через какое-то время разрушат архитектуру."
Требования Заказчика и "архитектура" это разные уровни абстракции. И однозначного соответствия между терминами не будет, поскольку разработчик вынужден оперировать "терминами" той среды (платформы) которая используется для разработки.
Например Заказчик использует термин Классификатор (суть НСИ).
Разработчик в 1С будет использовать "термин" - Справочник.
Разработчик в другой системе вообще может оперировать термином - таблица БД и т.п.
Далее одна и та же сущность предметной области, может быть в архитектуре отражена целым набором взаимосвязанных сущностей, в этом случае также нет однозначного соответствия между терминами.
Если новые требования противоречат предыдущим требованиям то вполне возможно что не то что архитектуру придется пересматривать, а вообще инструмент разработки менять, потому что выбранный инструмент не может с заданными ограничениями выполнять эти новые требования.
На самом деле в разных командах и проектах по разному используют термин ТЗ.
Во многих мох проектах использовалось и используется абсолютно не гостовское понимание. У нас под "ТЗ" подразумевается низкоуровневый документ описывающий постановку задачи, требования к структурам данных, алгоритмам их обработки и т.п. именно в терминах конкретной среды или платформы разработки - то есть по сути это постановка задачи разработчику.
Дерево документации в наши проектах такое:
RFA (Заявка на доработку или решение задачи или проблемы)
Концепция (не обязательно)
Бизнес-дизайн, функциональные требования (это собственно основной документ оговаривающий все значимые с точки зрения требований заказчика моменты, зачастую с примерами экранных форм разъясняющий логику работы пользователей с разрабатываемой фунциональностью)
Техническое задание, постановка задачи