Разработку ТЗ и проектирования системы можно начать со словаря данных, модели данных или с определения ключевых свойств, но важно понимать, что невозможно обеспечить проверку полноты данных и полноты функций без взаимной проверки друг на друга. Т.е. необходимо соотносить все данные и все функции. Поэтому это всё объединено в функционально-логическую модель. Соответственно разработка должна идти либо параллельно, либо итерационно.