La Ingeniería del Software esta dividida en capas bien definidas que permiten cubrir las necesidades del equipo de desarrollo. Así, podemos decir que disponemos de técnicas que implican Métodos, Procedimientos y Herramientas. Un determinado conjunto de estas técnicas son los ciclos de vida.
Los métodos definen como construir el software en base a unas fases:
• Planificación y estimación de proyectos. Fase inicial que permite establecer plazos y objetivos a cumplir, y recursos a utilizar durante el proyecto.
• Análisis de requisitos. Fase en la que se va a concretar las necesidades del usuario y cuáles se pueden llevar a cabo y de qué modo.
• Diseño. Va a permitir especificar cómo solucionar las necesidades del cliente y cómo llevar a cabo dichas soluciones, se harán los “planos” de la aplicación.
• Codificación. Consiste en la elaboración del programa mediante la programación del código.
• Pruebas. Fase en la que se realizan las pruebas que permitan asegurar que el software funciona adecuadamente.
• Mantenimiento. Una vez que la aplicación informática está funcionando en un sistema real es necesario hacer un seguimiento periódico para concretar ajustes y solucionar cualquier problema que pudiera surgir.
Las Herramientas, proporcionan un soporte automático o semi-automático para los métodos. Ayudan a automatizar muchas de las tareas anteriores.
• Herramientas CASE. Computer Aided Software Engineering. (Ingeniería del Software Asistida por Computador) Las herramientas CASE permiten realizan dentro del ordenador las tareas de análisis y diseño que hasta entonces venían haciéndose con lápiz y papel.
• Herramientas CAD. Computer Aided Design (Diseño Asistido por Computador). Básicamente se centran en tareas de diseño.
Los procedimientos son el punto de unión entre métodos y herramientas, es decir como y cuando se aplican los métodos y que herramientas hay que usar en cada momento.