domingo, 26 de octubre de 2014
INGENIERÍA DEL SOFTWARE ASISTIDA POR COMPUTADORA
Ingeniería asistida por computadora o por ordenador(CAE, del inglés Computer Aided Engineering) es la disciplina que se encarga del conjunto de programas informáticos que permiten analizar y simular los diseños de ingeniería realizados con el ordenador, o creados de otro modo e introducidos en el ordenador, para valorar sus características, propiedades, viabilidad, y rentabilidad. Su finalidad es optimizar su desarrollo y consecuentes costos de fabricación, y reducir al máximo las pruebas para la obtención del producto deseado.
LA ECONOMÍA DE LA REINGENIERÍA
En un mundo perfecto, todo
programa que no se pudiera mantener se retiraría inmediatamente, para ser
sustituido por unas aplicaciones de alta calidad, fabricadas mediante
reingeniería y desarrolladas empleando las prácticas de la ingeniería del
software modernas. Sin embargo, vivimos en un mundo de recursos limitados. La
reingeniería consume recursos que se pueden utilizar para otros propósitos de
negocio. Consiguientemente, antes de que una organización intente efectuar una
reingeniería de la aplicación existente, deberá llevar a cabo un análisis de
costes y beneficios. Sneed [SNE95] ha propuesto un modelo de análisis de costes
y beneficios para la reingeniería. Se definen nueve parámetros:
P, = coste de mantenimiento
anual actual para una
aplicación;
P, = coste de operación
anual de una aplicación;
P, = valor de negocios
anual actual de una aplicación;
P, = coste de
mantenimiento anual predicho después
P, = coste de operaciones
anual predicho después de
P, = valor de negocio
actual predicho después de la
P, = costes de
reingeniería estimados;
P, = fecha estimada de
reingeniería;
P, = factor de riesgo de
la reingeniería (P, = 1 ,O es
L = vida esperada del
sistema.
El análisis de costes y beneficios
presentados en las ecuaciones anteriores se puede llevar a cabo para todas
aquellas aplicaciones de alta prioridad que se hayan identificado durante un
análisis de inventario (Sección 30.2.2). Aquellas aplicaciones que muestren el
mayor beneficio en relación con los costes podrán destinarse a la reingeniería,
mientras que las demás podrán ser propuestas hasta que se disponga de más recursos.
INGENIERÍA DIRECTA PARA INTERFACE DE USUARIO
Cuando las aplicaciones
migran desde la computadora central a la computadora de sobremesa, los usuarios
ya no están dispuestos a admitir unas interfaces de usuarios arcanas basadas en
caracteres. De hecho, una parte significativa de todos los esfuerzos invertidos
en la transición desde la computación de computadora central hasta la
arquitectura cliente/servidor se pueden reinvertir en la reingeniería de las
interfaces de usuario de la aplicación cliente.
INGENIERÍA DIRECTA PARA ARQUITECTURAS ORIENTADAS OBJETOS

La ingeniería del software orientada a objetos se ha transformado
en el paradigma opcional de desarrollo para muchas organizaciones de software.
Sin embargo, ¿qué sucede con las aplicaciones existentes que se desarrollaron
empleando métodos convencionales? En algunos casos, la respuesta consiste en
dejar estas aplicaciones tal y como eran. Pero en otros casos, es preciso
aplicar una reingeniería a las viejas aplicaciones para que se puedan integrar
fácilmente en grandes sistemas orientados a objetos.
La reingeniería del software convencional para producir una
implementación orientada a objetos hace uso de muchas de las mismas técnicas
descritas en la Cuarta
Parte de este libro. En primer lugar, se hace una ingeniería inversa
del software existente para que sea posible crear los modelos adecuados de
datos, funcional y de comportamiento. Si el sistema que se aplica a la
reingeniería extiende la funcionalidad o comportamiento de la aplicación
original, se crean casos prácticos (Capítulos
11 y 21). Los modelos de datos creados durante la ingeniería inversa
se utilizan entonces junto con un modelado
CRC (Capítulo 21) para establecer la base para la definición de
clases. Las jerarquías de clases, los modelos de relaciones entre objetos, los
modelos de comportamiento de objetos, y los subsistemas se definen a continuación,
y comienza el diseño orientado a objetos. A medida que la ingeniería directa
orientada a objetos pasa del análisis hasta el diseño, se podrá invocar el
modelo de proceso de ISBC (Capítulo 27). Si la aplicación existente se
encuentra con un dominio ya ha sido popularizada por muchas aplicaciones
orientadas a objetos, es probable que exista una biblioteca robusta de
componentes y que se pueda utilizar durante la ingeniería directa. Para
aquellas clases que sea preciso construir partiendo de cero, quizá sea posible
reutilizar algoritmos y estructuras de datos procedentes de la aplicación
convencional ya existente. Si embargo, es preciso volver a diseñarlos para
ajustarse a la arquitectura orientada a objetos.
Suscribirse a:
Entradas (Atom)

