Es un enfoque sistemático para el diseño de software, que implica la aplicación de prácticas de ingeniería de software.