Transformación del Diseño al Código y Evolución de Sistemas Software

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

Escrito el en español con un tamaño de 4,63 KB

Técnicas de Transformación del Diseño al Código

  • Un modelo visual del trabajo de diseño es traducido a la implementación.
  • La creación de código en un Lenguaje de Programación Orientado a Objetos (LPOO) no es parte del análisis ni del diseño.
  • El modelo de diseño provee los artefactos necesarios para generar el código.
  • Algunas tomas de decisiones y trabajos creativos son tareas complejas y que ameritan cuidado durante el diseño.

La programación no es un trabajo trivial.

La Ingeniería en Reverso es el proceso que permite generar diagramas a partir de un código fuente.

Implementación en un Lenguaje de Programación Orientado a Objetos

La implementación en un LPOO requiere escribir código fuente para:

  • Las Clases y definición de interfaces.
  • Definición de los métodos.

Metodología para la Generación de Código Fuente

  • Definición de Clases desde los Diagramas de Clases (DCDs).
  • Creación de Métodos a partir de los Diagramas de Comunicación.
  • Definición de Clases Colectoras/Contenedoras.
  • Primeras Pruebas de Programación.

Creación de Métodos

Los diagramas de comunicación (secuencia) muestran los mensajes que son enviados en respuesta a la invocación de un método.

Orden de Implementación

Las clases necesitan ser implementadas comenzando por la menos acoplada hasta la más acoplada.

Dinámica de Evolución de los Programas

Los sistemas software son activos de negocio críticos y las organizaciones deben invertir en los cambios del sistema para mantener el valor de estos activos.

Especificación -> Implementación -> Validación -> Operación

Leyes de Lehman

  • Cambio continuado.
  • Complejidad creciente.
  • Evolución prolongada del sistema.
  • Estabilidad organizacional.
  • Conservación de la familiaridad.
  • Crecimiento Continuado.
  • Decremento de calidad.
  • Realimentación del Sistema.

Tipos de Mantenimiento de Software

  1. Mantenimiento para reparar defectos del software.
  2. Mantenimiento para adaptar el software a diferentes entornos operativos.
  3. Mantenimiento para añadir o modificar las funcionalidades del sistema.

Factores Clave en los Costos de Mantenimiento

Los factores clave que distinguen el desarrollo y el mantenimiento, y que conducen a costos de mantenimiento más elevados, son:

  1. Estabilidad del equipo.
  2. Responsabilidad contractual.
  3. Habilidades del personal.

Edad y estructura del programa: A medida que pasa el tiempo, la estructura de los programas tiende a degradarse con los cambios, por lo que se vuelve más difícil de comprender y modificar.

Procesos de Evolución

Los procesos de evolución incluyen las actividades fundamentales de análisis de cambios, planificación de entregas, implementación del sistema y entrega de un sistema a los clientes.

Proceso de identificación de cambios -> propuesta de cambio -> proceso de evolución de software -> nuevo sistema.

Reingeniería de Sistemas

La reingeniería del software se refiere a la reimplementación de los sistemas heredados para hacerlos más mantenibles.

Hacer reingeniería de un sistema software tiene dos ventajas clave:

  1. Riesgo reducido.
  2. Costo reducido.

Especificación del sistema -> Diseño e implementación -> Sistema nuevo (ingeniería directa)

Sistema de software existente -> Comprensión y transformación -> Sistema con reingeniería (reingeniería de software)

Durante la reingeniería del programa, los datos del sistema también sufren reingeniería. Las actividades de este proceso de reingeniería son:

  1. Traducción del código fuente.
  2. Ingeniería inversa.
  3. Mejora de la estructura de los programas.
  4. Modularización de los programas.
  5. Reingeniería de datos.

Evolución de Sistemas Heredados

Existen cuatro opciones estratégicas:

  1. Desechar completamente el sistema.
  2. Dejar el sistema sin cambios y continuar con un mantenimiento regular.
  3. Hacer reingeniería del sistema para mejorar su mantenibilidad.
  4. Reemplazar todo o parte del sistema con un nuevo sistema.

Entradas relacionadas: