Это действительно два вопроса, вы понимаете. :-) Ответ на первый вопрос заключается в том, что он никогда не обязательный , но, честно говоря, непосредственный анализ параметров запроса HTML довольно ужасен с самого начала. Я не хочу делать это ни разу, поэтому я склоняюсь к созданию основы относительно рано.
Насколько практическое измерение, ну, что вас беспокоит? Все описания, которые вы перечисляете, имеют значение. На мой взгляд, размер базы данных важен, прежде всего, для масштабирования (вы можете написать очень простое приложение, если у вас очень простая схема, даже если в базе данных есть сотни тысяч строк). Список функций, вероятно, определит количество и сложность страниц пользовательского интерфейса, что, в свою очередь, поможет определить длину кода.