Разница между функциональной и формальной спецификацией программного обеспечения заключается в том, что первая описывает взаимодействие системы с внешними агентами, а вторая — внутренние процессы системы. 14
Функциональная спецификация — это документ, который описывает требуемые характеристики системы (функциональность). 14 Он рассматривает взаимодействие с внешними агентами, такими как персонал, использующий программное обеспечение, или периферийные устройства компьютера. 14 Функциональная спецификация не определяет, каким образом будет реализована функция системы. 1
Формальная спецификация — это математическое описание программной или аппаратной системы. 2 В ней указывается, что должна делать система, но не то, как она должна это делать. 2 Формальная спецификация позволяет систематизировать функциональное тестирование, так как строго описывает требования как на входные данные, так и на ожидаемые результаты. 5
Таким образом, функциональная спецификация фокусируется на внешнем поведении системы, а формальная — на внутренних процессах и требованиях к системе.