1
Es un conjunto de herramientas a partir de las cuales un programador puede desarrollar programas informáticos el usar alternativas diversas y lenguajes de programación.
2
Que pueda ser utilizado en diversos equipos.
3
Que pueda ser modificado por los desarrolladores.
4
Que cumpla con su objetivo.
5
Que sea fácil de aprender.
6
Que sea resistente a ataques externo.
7
tipo de software Desarrollado para que el usuario y el programador se desvinculen de los detalles del sistema informático que se emplee