Требования к программному обеспечению - это описание системных вводов, выводов, функций и атрибутов, а также атрибутов системной среды. В требования не следует включать общую информацию, а также информацию, касающуюся проектирования. Процесс разработки требований/проектирования является итеративным. Ограничения проектирования касаются вариантов проектирования системы или процессов, с помощью которых система разрабатывается.