на мой взгляд описывать в ТЗ «сделай мне сессии по макету `CREATE TABLE sessions....` и потсы по макету `CREATE TABLE psto ...`» это глупо и не нужно
у вас должны быть конкретные требования к сайту, которые должны выполняться, а КАК это будет сделано — не совсем ваше дело, вы не профессионал в этом деле и почему решать должны вы непонятно
напишите что сайт рассчитывается на минимальную нагрузку такую то, платформа запуска там допустим дебиан,PHP >5.3, MYSQL >5 apache, nginx ,memcached в наличии
требуется регистрация пользователя, пользователь может заполнять поля (....)
пользователь может оставлять комментарии, так что…
вообщем описывайте то что хотите получить, а не то как
так же есть так называемые метрики кода, можете попробовать подумать об ограничениях на данные метрики
алсо если так хотите можете указать в ТЗ этап проектирования внутреннего API / логики и согласования его