Мови специфікацій — спеціальні дескриптивні системи, створені для фіксації та обміну результатами розробки сучасних програмних проектів. Наприклад, результатом роботи аналітиків є зовнішня специфікація системи, а результатом роботи кодувальників — програмний код системи. Специфікації описують ту чи іншу модель вхідної системи або її частини. Тобто вони її моделюють і можуть бути використані замість самої системи в деяких контекстах. За властивостями специфікацій системи можна робити висновки щодо властивостей і самої системи.
Використання
Специфікації можуть використовуватися : для уточнення вимог, узгоджень їх із замовником та для побудови прототипів; при проектуванні — для контролю за правильністю проекту; при реалізації — для формулювання завдань розробникам та створення документації; при тестуванні — для перевірки виконання вимог; при супроводженні — для уточнення змін, підтримки узгодженості документації з системою, та інше.
Однією з важливих переваг використання специфікацій є збільшення глибини розуміння системи, яка уточнюється. В процесі створення специфікації розробники мають більше можливостей для виявлення недоліків, непослідовностей, неоднозначностей та неповноти проекту. Специфікація є засобом зв'язку між замовником та проектувальником, між проектувальником та розробником, а також між розробником та тестувальником. Вона часто виступає як супутня документація до програмного коду системи, але має більш формальний рівень опису.
Приклади
Розглянемо як приклад кілька специфікацій функції :
— добуток перших натуральних чисел, розпочинаючи з 1.
Див. також Мова програмування Посилання Мови специфікації програм і їхня класифікація