El llamado "análisis de demanda" se refiere a un análisis detallado del problema a resolver y a aclarar los requisitos del problema, incluidos qué datos se deben ingresar, qué resultados se deben obtener y lo que debería salir al final. Se puede decir que el "análisis de necesidades" en ingeniería de software consiste en determinar qué "hace" la computadora.
Método específico: primero determine la diferencia lógica entre el sistema de destino y el sistema actual; luego considere la parte modificada como un nuevo paso de procesamiento y, finalmente, ajuste el diagrama de funciones y el diagrama de objetos; de afuera hacia adentro analizar algunas partes, inferir su estructura y obtener el modelo lógico del sistema objetivo. Este modelo lógico suele describirse con diagramas de flujo de datos, diccionarios de datos y principales algoritmos de procesamiento