Ingeniería del Software: Definición y Fases

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 2,68 KB

Definición

Disciplina que intenta proporcionar métodos para controlar la complejidad del desarrollo de sistemas grandes. Además, nos permite producir un software fiable con las máximas garantías de efectividad. Los objetivos finales de la ingeniería del software son la calidad, tiempo y el coste.

PreFases

Existen tareas que se desarrollan después del desarrollo principal. La principal es el mantenimiento. También existen tareas que se realizan antes de la fase 1, la principal es el estudio o análisis de la viabilidad.

1* Objetivo

Comprender el problema que ha de solucionar el software. Identificar qué tiene que hacer, qué necesidades tiene que cubrir. Complicación: Al programador le cuesta entender las necesidades dominio del problema y el cliente no suele entender los resultados obtenidos por el software. Hay una mala comunicación.

Tareas principales fase 1

  • Comprensión del problema: El analista tiene que comprender el problema y su contexto. Es decir, tiene que entender el sistema y las partes que tienen que ser automatizadas.
  • Especificación del problema: Una vez analizado el problema y se ha entendido su esencia se ha de crear el documento de especificación. Este documento recoge todos los requisitos, los formatos de E/S, las restricciones, el manual de previo de usuario. Sería un contrato entre el cliente y nosotros.

2* Objetivo

Planificar la solución. Es el primer paso que nos lleva desde el dominio del problema hacia el dominio de la solución. Establece el cómo tenemos que satisfacer las necesidades.

Tareas principales fase 2

  • Diseño preliminar: Ayuda a identificar los módulos que tiene el sistema y cómo interactúan entre sí para conseguir el objetivo. Se propone un borrador de las estructuras de datos.
  • Diseño detallado: Describe la lógica interna de cada uno de los módulos de la fase anterior. Esta lógica se especifica con un lenguaje de diseño de alto nivel independiente del lenguaje de codificación. Objetivo: cómo implementar los componentes.

3* Objetivo

Traducir el diseño del sistema a un código escrito en lenguaje de programación. Implementar el diseño de la mejor manera posible.

4* Objetivo

Detectar errores de software que puedan haber.

Niveles de prueba

  • Pruebas de unidad: Se prueban de forma independiente cada uno de los módulos que integran el sistema.
  • Pruebas de integración: Detectar errores de diseño al centrar el test sobre las interconexiones.

Entradas relacionadas: