Este documento describe varios tipos de software según su estructura, función, plataforma de cómputo y mercados. Describe software funcional, orientado a objetos y componentes. También describe software para usuarios, interfaces, herramientas, librerías y sistemas genéricos. Además, cubre software embebido, distribuido, en tiempo real y basado en chips. Finalmente, distingue entre software genérico y personalizado.