In ingegneria del software, l’analisi è una delle fasi del ciclo di vita del software; essa ha lo scopo generale di chiarire, dettagliare e documentare le funzioni, i servizi e le prestazioni che devono essere offerti da un sistema software o programma, al fine di risolvere un dato problema nel contesto in cui esso dovrà operare. Le informazioni raccolte nella fase di analisi rappresentano il punto di partenza per la progettazione di un prodotto software e per l’intero processo della sua realizzazione, validazione e manutenzione.