Если вы не госорган и не большая бюрократическая структура, то главное — пишите нормальным человеческим языком. Все бюрократизмы выжигать каленым железом. Не должно быть словосочетаний типа «наша система должна осущствлять функции по взаимодействию...».
Вы создаете продуктовое описание для того, чтобы объяснить концепцию другому человеку. Объяснять нужно человеческим языком.
Очень многие (90%) недооценивают важности этого и пишут продуктовые документы так, как будто это расшифровки съезда КПСС.
Плюс, есть такое понятие, как дизайн-уровни. Не копайтесь в подробностях на высоком уровне описания. Выносите все это в отдельные документы, иначе получите кашу.
Соответственно, в ТЗ войдет все, что вы считаете нужным пояснить по продукту. Схемы, сценарии, расчеты и т.д. Но это обязательно структурируется по уровням. На одном уровне можно смешивать разное содержимое (сценарий + формальное описание, например), но ни в коем случае нельзя смешивать разные уровни.