User:Studiom2j/sandbox

En ingeniería del software y arquitectura del software de la empresa, una fábrica de software es una estructura de organización que se especializa en la producción de aplicaciones informáticas de software o componentes software de acuerdo a específicos, definidos externamente del usuario final a través de un proceso de montaje. Una fábrica de software aplica las técnicas de fabricación y principios de desarrollo del software para imitar los beneficios de la manufactura tradicional. Las fábricas de software que están involucradas con la creación de software externalizado. Dado que la codificación requiere un ingeniero de software, (o el paralelo en la industria manufacturera tradicional, un artesano experto), el software se crea mediante el ensamblaje de componentes predefinidos en lugar de utilizar tradicionales IDE. Al igual que la fabricación tradicional, la ingeniería se deja a la creación de los componentes y los requisitos para el sistema de recolección. Una aplicación compuesta es el resultado final de la fabricación en una fábrica de software. Fábrica de software basada en el desarrollo de aplicaciones aborda el problema de desarrollo tradicional de aplicaciones donde las aplicaciones se desarrollan y distribuyen sin sacar provecho de los conocimientos adquiridos y los bienes producidos a partir de desarrollo de aplicaciones similares. Muchos enfoques, tales como formación, documentación, y ambientes, se utilizan para abordar este problema, sin embargo, el uso de estos métodos para aplicar de forma coherente los valiosos conocimientos previamente adquiridos en el desarrollo de múltiples aplicaciones puede ser un proceso ineficiente y propenso a errores [2]. Las fábricas de software frente a este problema mediante la codificación de las prácticas de probada eficacia para el desarrollo de un estilo específico de aplicación dentro de un paquete de orientación integrada que es fácil para los equipos de proyecto adoptar. Desarrollo de aplicaciones usando una fábrica de software adecuada puede proporcionar muchos beneficios, tales como mejora de la productividad, la calidad y capacidad de evolución. [2]