Il termine specifica, nell'ingegneria del software, viene usato in diversi contesti con significati diversi. In genere si può definire come un accordo tra un produttore di servizi ed un utente. A seconda del contesto il produttore e l'utente saranno diversi.