La implementación es parte del proceso en el que los ingenieros de software programan el código para el proyecto. Las pruebas de software son parte esencial del proceso de desarrollo del software. Esta parte del proceso tiene la función de detectar los errores de software lo antes posible. La documentación del diseño interno del software con el objetivo de facilitar su mejora y su mantenimiento se realizara a lo largo del proyecto. Esto puede incluir la documentación, tanto interior como exterior.
Todo proyecto en la ingeniería de software deberá pasar por tres fases, las cuales componen la visión genérica de esta ingeniería.
- La primera es el que de la aplicación por construir. En esta fase, el ingeniero recabaran los requisitos y planteara, a partir de una investigación analítica, las posibles soluciones al problema planteado. Generalmente este análisis se conoce como análisis.
- La segunda fase es el cómo de la aplicación. En ella se diseña los componentes técnicos de la solución por construir: módulos que reflejen los procedimientos de entrada y salida, bases de datos, controles, etc.
- Como tercera fase está la implementación de la solución, donde se incluyen:
- La codificación de los elementos diseñados.
- Las pruebas de la aplicación.
- La puesta en producción de la aplicación.
A las tres fases anteriores hay que agregar una fase que es posterior a la puesta en producción de la aplicación el mantenimiento es un costo inevitable en cualquier producto. Sin embargo, un buen desarrollo de este implicara una reducción de dichos costes.
El mantenimiento puede visualizarse en tres vertientes principales:
- Correctivo: Es el más caro, pues implica un retroceso hacia la ubicación de un problema no considerado, o de un requisito mal entendido, o de un error de implementación dado.
- Aumentativo: Es el añadir nuevos requisitos o necesidades al producto.
- Preventivo: Se modifican componentes del software o del sistema para prevenir situaciones anómalas.
Como se ha estudiado en los parámetros deseables para la ingeniería de software, el producto deberá cumplir con muchos de estos para minimizar los costos del mantenimiento.