É uma disciplina dos cursos de computação ou afins que se refere aos aspectos da produção de software usando metodologias que sistematizam o seu desenvolvimento, desde sua especificação até o suporte. Envolvem metodologias de software como a UML e ferramentas CASE que auxiliam no projeto de aplicações.