1. Etapas del proceso
La ingeniería de software requiere llevar a cabo numerosas tareas agrupadas en etapas, al conjunto de estas etapas se le denomina ciclo de vida. Las etapas comunes a casi todos los modelos de ciclo de vida son las siguientes:
La
ingeniería del software es el proceso formal de desarrollo de software en el
que las necesidades del usuario se traducen en requerimientos, estos se
transforman en diseño que se implementa en código que se prueba, documental y se
certifica para su uso operativo. Según la definición del IEEE la ingeniería del
software se define como “la aplicación de un método sistemático, disciplinado y
cuantificable al desarrollo, operación y mantenimiento de software, esto es, la
aplicación de la ingeniería al software”.
Etapa de análisis:
Es
el proceso de investigar un problema que se quiere resolver. Definir claramente
el Problema que se desea resolver o el sistema que se desea crear. Identificar
los componentes principales que integrarán el producto. Se extraen los
requisitos del producto de software. En esta etapa la habilidad y experiencia
en la ingeniería del software es crítica para reconocer requisitos incompletos,
ambiguos o contradictorios. Usualmente el cliente/usuario tiene una visión
incompleta/inexacta de lo que necesita y es necesario ayudarle para obtener la
visión completa de los requerimientos.
El contenido de comunicación en esta etapa es muy intenso ya que el
objetivo es eliminar la ambigüedad en la medida de lo posible.
Etapa de Diseño:
Determinar
cómo funcionará de forma general sin entrar en detalles incorporando
consideraciones de la implementación tecnológica, como el hardware, la red,
etc. Consiste en el diseño de los
componentes del sistema que dan respuesta a las funcionalidades descritas en la
segunda etapa también conocidas como las entidades de negocio. Generalmente se
realiza en base a diagramas que permitan describir las interacciones entre las
entidades y su secuenciado.
Etapa de Desarrollo:
Se
traduce el diseño a código. Es la parte más obvia del trabajo de ingeniería de
software y la primera en que se obtienen resultados “tangibles”. No
necesariamente es la etapa más larga ni la más compleja aunque una
especificación o diseño incompletos/ambiguos pueden exigir que, tareas propias
de las etapas anteriores se tengan que realizarse en esta.
Etapa de Pruebas o Verificación Prueba:
Consiste
en comprobar que el software responda/realice correctamente las tareas
indicadas en la especificación. Es una buena praxis realizar pruebas a
distintos niveles (por ejemplo primero a nivel unitario y después de forma
integrada de cada componente) y por equipos diferenciados del de desarrollo
(pruebas cruzadas entre los programadores o realizadas por un área de test
independiente).
Etapa de Implementación o Entrega Implantación:
Consiste
en poner a disposición del cliente el producto.
Etapa de Mantenimiento:
En
esta etapa se realizan un mantenimiento correctivo (resolver errores) y un
mantenimiento evolutivo (mejorar las funcionalidades y/o dar respuesta a nuevos
requisitos).
Etapa final EOL (End-of-Life):
El
fin del ciclo del producto consiste en realizar todas las tareas necesarias
para asegurar que los clientes y los empleados están conscientes de que el
producto ya no será vendido ni soportado.

