Ну думаю такого ТЗ в принципе не может быть, потому, как пока вы будете такое ТЗ писать вы состариться успеете :)))
А вообще начните со сценариев использования. Сценарии не панацея но приводит команду разработчиков к пониманию зачем и что нужно. А так же помогает заказчику понять, что он хочет от системы.
Если представить только набор функций без сценариев ничего дельного не получится.
Ну и по хорошему ТЗ это живой документ, и он должен улучшаться по мере разработки. Даже согласно ГОСТам в него могут (а на мой взгляд - должны) вноситься изменения, но все должны эти изменения согласовывать, т.е. как заказчики, так и разработчики...