Mantenimiento y evolución de sistemas de información

Sistemas de información en la gestión Software Software maintenance
RA-MA Editorial
2018
EISBN 8499647863
MANTENIMIENTO Y EVOLUCIÓN DE SISTEMAS DE INFORMACIÓN.
PÁGINA LEGAL.
ÍNDICE.
AUTORES.
PREFACIO.
CONTENIDO.
ORIENTACIÓN A LOS LECTORES.
OTRAS OBRAS RELACIONADAS.
AGRADECIMIENTOS.
PARTE I. FUNDAMENTOS.
CAPÍTULO 1. INTRODUCCIÓN AL MANTENIMIENTO.
1.1 CONCEPTOS GENERALES.
1.1.1 DEFINICIÓN DE MANTENIMIENTO.
1.1.2 MANTENIMIENTO CORRECTIVO.
1.1.3 MANTENIMIENTO ADAPTATIVO.
1.1.4 MANTENIMIENTO PERFECTIVO.
1.1.5 MANTENIMIENTO PREVENTIVO.
1.2 ACTIVIDADES DE MANTENIMIENTO.
1.3 COSTES DEL MANTENIMIENTO.
1.4 DIFICULTADES DEL MANTENIMIENTO Y LA (...).
1.4.1 CÓDIGO HEREDADO.
1.4.2 PROBLEMAS DEL MANTENIMIENTO.
1.4.3 EFECTOS SECUNDARIOS DEL MANTENIMIENTO.
1.4.3.1 EFECTOS SECUNDARIOS SOBRE EL CÓDIGO.
1.4.3.2 EFECTOS SECUNDARIOS SOBRE LOS DATOS.
1.4.3.3 EFECTOS SECUNDARIOS SOBRE LA DOCUMENTACIÓN.
1.5 SOLUCIONES AL PROBLEMA DEL MANTENIMIENTO.
1.5.1 SOLUCIONES DE GESTIÓN.
1.5.2 SOLUCIONES TÉCNICAS.
1.6 LECTURAS RECOMENDADAS.
1.7 SITIOS WEB RECOMENDADOS.
1.8 EJERCICIOS.
CAPÍTULO 2. ONTOLOGÍA DEL MANTENIMIENTO.
2.1 VISIÓN GENERAL.
2.2 SUBONTOLOGÍA DE LOS PRODUCTOS.
2.3 SUBONTOLOGÍA DE LAS ACTIVIDADES.
2.4 SUBONTOLOGÍA DE ORGANIZACIÓN DEL PROCESO.
2.4.1 PROCEDIMIENTOS.
2.4.2 GESTIÓN DE PETICIONES.
2.4.3 PROBLEMAS.
2.4.4 INTEGRACIÓN DE LOS TRES ASPECTOS.
2.5 SUBONTOLOGÍA DE LOS AGENTES.
2.6 LECTURAS RECOMENDADAS.
2.7 SITIOS WEB RECOMENDADOS.
2.8 EJERCICIOS.
CAPÍTULO 3. EL PROCESO DE MANTENIMIENTO.
3.1 PROCESOS DEL CICLO DE VIDA DEL SOFTWARE.
3.1.1 PROCESOS DE ACUERDO.
3.1.2 PROCESOS ORGANIZACIONALES QUE (...).
3.1.3 PROCESOS DE GESTIÓN TÉCNICA.
3.1.4 PROCESOS TÉCNICOS.
3.1.5 PROCESO DE ADAPTACIÓN.
3.2 ACTIVIDADES Y TAREAS DEL PROCESO DE (...).
3.2.1 PREPARACIÓN PARA EL MANTENIMIENTO.
3.2.2 EJECUCIÓN DEL MANTENIMIENTO.
3.2.3 SOPORTE LOGÍSTICO.
3.2.4 GESTIÓN DE RESULTADOS DEL MANTENIMIENTO (...).
3.3 EL MANTENIMIENTO EN LA NORMA ISO/IEC (...).
3.3.1 IMPLEMENTACIÓN DEL PROCESO.
3.3.2 ANÁLISIS DE PROBLEMAS Y MODIFICACIONES.
3.3.3 IMPLEMENTACIÓN DE LA MODIFICACIÓN.
3.3.4 REVISIÓN Y ACEPTACIÓN DEL MANTENIMIENTO.
3.3.5 MIGRACIÓN.
3.3.6 RETIRADA.
3.4 LECTURAS RECOMENDADAS.
3.5 EJERCICIOS.
CAPÍTULO 4. METODOLOGÍAS PARA EL MANTENIMIENTO.
4.1 MANTEMA: UNA METODOLOGÍA PARA EL MANTENIMIENTO.
4.1.1 DESCRIPCIÓN DE LAS TAREAS.
4.1.2 ESTRUCTURA DETALLADA DE MANTEMA.
4.1.2.1 ACTIVIDADES Y TAREAS INICIALES (...).
4.1.2.2 ACTIVIDADES Y TAREAS DEL MANTENIMIENTO (...).
4.1.2.3 ACTIVIDADES Y TAREAS DEL MANTENIMIENTO (...).
4.1.2.4 ACTIVIDADES Y TAREAS FINALES COMUNES.
4.1.2.5 DOCUMENTACIÓN.
4.1.2.6 MÉTRICAS.
4.2 ÁGIL MANTEMA.
4.2.1 ESTRUCTURA GENERAL DE ÁGIL MANTEMA.
4.2.1.1 NIVELES DE SERVICIO DE ÁGIL_MANTEMA.
4.2.1.2 NIVELES DE CAPACIDAD DE ÁGIL_MANTEMA.
4.2.1.3 TIPOS DE MANTENIMIENTO.
4.2.2 DESCRIPCIÓN DEL PROCESO DE MANTENIMIENTO.
4.2.2.1 PARTICIPANTES EN EL PROCESO DE (...).
4.2.2.2 VISIÓN GENERAL DEL PROCESO DE MANTENIMIENTO.
4.2.2.3 ESTRUCTURA DETALLADA DE LA METODOLOGÍA.
4.2.2.3.1 PLANIFICACIÓN DEL PROCESO.
4.2.2.3.2 ATENCIÓN DE LA PETICIÓN DE MODIFICACIÓN.
4.2.2.3.3 SPRINTM NO PLANIFICABLE.
4.2.2.3.4 SPRINTM PLANIFICABLE.
4.2.2.3.5 SEGUIMIENTO DEL SPRINTM.
4.2.2.3.6 ACTIVIDADES FINALES.
4.2.2.3.7 FINALIZACIÓN DEL SERVICIO.
4.2.3 INTERFACES CON OTROS PROCESOS.
4.2.3.1 ASEGURAMIENTO DE LA CALIDAD.
4.2.3.2 GESTIÓN DE LA CONFIGURACIÓN.
4.2.4 COMPARATIVA CON MANTEMA.
4.2.5 OTRAS METODOLOGÍAS.
4.3 LECTURAS RECOMENDADAS.
4.4 SITIOS WEB RECOMENDADOS.
4.5 EJERCICIOS.
CAPÍTULO 5. MANTENIBILIDAD DEL SOFTWARE.
5.1 CONCEPTO DE MANTENIBILIDAD DEL SOFTWARE.
5.2 ASPECTOS QUE INFLUYEN EN LA MANTENIBILIDAD.
5.3 ATRIBUTOS DE MANTENIBILIDAD DEL CÓDIGO (...).
5.4 PROPIEDADES DE LA MANTENIBILIDAD.
5.4.1 REPARABILIDAD.
5.4.2 FLEXIBILIDAD.
5.5 ESTÁNDAR ISO/IEC 25000.
5.5.1 MODELO DE CALIDAD: ISO/IEC 25010.
5.5.2 EVALUACIÓN DE LA CALIDAD: ISO/IEC (...).
5.5.2.1 TAREAS DEL PROCESO DE EVALUACIÓN.
5.5.2.2 RECURSOS PARA EL PROCESO DE EVALUACIÓN.
5.5.3 CERTIFICACIÓN DE LA CALIDAD DE PRODUCTOS.
5.6 EFECTOS DE LOS CAMBIOS EN EL SOFTWARE.
5.6.1 EFECTOS SOBRE LA COMPLEJIDAD.
5.6.2 EFECTOS SOBRE LA MANTENIBILIDAD.
5.7 MEJORA DE LA MANTENIBILIDAD DE CÓDIGO.
5.7.1 ELIMINACIÓN DE CODE SMELLS.
5.7.2 GESTIÓN DE LA CLONACIÓN.
5.7.2.1 OTRAS TÉCNICAS DE DETECCIÓN DE (...).
5.7.2.2 REFACTORIZACIÓN Y MANEJO DE CLONES.
5.8 DEUDA TÉCNICA.
5.8.1 INTRODUCCIÓN.
5.8.2 TIPOS DE DEUDA TÉCNICA.
5.8.3 PATRONES DE APARICIÓN DE LA DEUDA (...).
5.8.4 MEDICIÓN DE LA DEUDA TÉCNICA.
5.9 LECTURAS RECOMENDADAS.
5.10 SITIOS WEB RECOMENDADOS.
5.11 EJERCICIOS.
CAPÍTULO 6. MÉTRICAS PARA EL MANTENIMIENTO.
6.1 CONCEPTOS GENERALES.
6.2 MÉTRICAS DE PRODUCTO.
6.2.1 COMPLEJIDAD.
6.2.2 TAMAÑO.
6.2.3 ECUACIÓN DE PUTNAM.
6.2.4 MEDICIÓN DE LA MANTENIBILIDAD.
6.2.4.1 MEDIDAS EXTERNAS DE LA MANTENIBILIDAD.
6.2.4.2 MEDIDAS INTERNAS DE LA MANTENIBILIDAD.
6.2.5 MEDIDA DEL ENVEJECIMIENTO SOFTWARE.
6.2.5.1 POLUCIÓN.
6.2.5.2 CONOCIMIENTO EMBEBIDO.
6.2.5.3 EMPOBRECIMIENTO LÉXICO.
6.2.5.4 ACOPLAMIENTO.
6.2.5.5 ARQUITECTURAS DE DATOS SUPERPUESTAS.
6.3 MÉTODOS DE ESTIMACIÓN DEL ESFUERZO (...).
6.3.1 ESTIMACIÓN POR ANALOGÍA.
6.3.2 MODELO COCOMO PARA MANTENIMIENTO.
6.3.3 MODELADO DEL MANTENIMIENTO COMO UN (...).
6.3.4 ESTIMACIÓN DEL ESFUERZO DE MANTENIMIENTO (...).
6.3.5 ANÁLISIS DE MÉTODOS DE JORGENSEN.
6.4 CALIDAD EN PROYECTOS DE MANTENIMIENTO.
6.5 MÉTRICAS PARA ENTORNOS ESPECÍFICOS.
6.5.1 MÉTRICAS PARA PROGRAMAS COBOL.
6.5.2 MÉTRICAS PARA ORIENTACIÓN A OBJETOS.
6.5.2.1 MÉTRICAS MOOSE.
6.5.2.2 MÉTRICAS MOOD.
6.5.2.3 MÉTRICAS DE LORENZ Y KIDD.
6.5.3 MÉTRICAS PARA BASES DE DATOS.
6.6 LECTURAS RECOMENDADAS.
6.7 EJERCICIOS.
CAPÍTULO 7. HERRAMIENTAS PARA EL MANTENIMIENTO.
7.1 HERRAMIENTAS DE NAVEGACIÓN.
7.2 HERRAMIENTAS PARA PERFECCIONAMIENTO (...).
7.3 HERRAMIENTAS DE INGENIERÍA INVERSA.
7.4 LECTURAS RECOMENDADAS.
7.5 EJERCICIOS.
PARTE II. TEMAS AVANZADOS.
CAPÍTULO 8. MANTENIMIENTO DE SOFTWARE GREEN.
8.1 INTRODUCCIÓN.
8.2 MANTENIMIENTO DE SOFTWARE MÁS ECOLÓGICO.
8.2.1 EL MANTENIMIENTO DE SOFTWARE ECOLÓGICO (...).
8.3 IDENTIFICANDO NUEVAS TÉCNICAS PARA (...).
8.3.1 MALOS OLORES (BAD SMELLS) EN EL SOFTWARE.
8.3.2 ANTIPATRONES (ANTIPATERNS).
8.4 LA DEUDA ECOLÓGICA.
8.5 ESTUDIO DE CASO.
8.6 LECTURAS RECOMENDADAS.
8.7 EJERCICIOS.
CAPÍTULO 9. TÉCNICAS PARA EL MANTENIMIENTO.
9.1 INTRODUCCIÓN.
9.2 INGENIERÍA INVERSA DE PROGRAMAS.
9.2.1 IDENTIFICACIÓN Y RECOPILACIÓN DE (...).
9.2.2 ASIGNACIÓN DE VALOR SEMÁNTICO A LOS (...).
9.3 RECONSTRUCCIÓN DE PROGRAMAS.
9.3.1 REESTRUCTURACIÓN.
9.4 INGENIERÍA INVERSA Y REINGENIERÍA DE (...).
9.5 INGENIERÍA INVERSA Y REINGENIERÍA DE (...).
9.6 MODERNIZACIÓN DE SISTEMAS DE INFORMACIÓN.
9.6.1 MODERNIZACIÓN DIRIGIDA POR LA (...).
9.6.2 ESTÁNDARES ADM.
9.6.2.1 EL ECOSISTEMA KDM.
9.6.2.2 EL METAMODELO KDM.
9.6.3 EJEMPLO DE MODERNIZACIÓN DE SOFTWARE.
9.6.3.1 FASE DE INGENIERÍA INVERSA.
9.6.3.2 FASE DE REESTRUCTURACIÓN.
9.6.3.3 FASE DE INGENIERÍA DIRECTA.
9.7 COSTES Y BENEFICIOS DE LA REINGENIERÍA (...).
9.7.1 JUSTIFICACIÓN DEL PROYECTO.
9.7.2 ANÁLISIS DE LA CARTERA DE APLICACIONES.
9.7.3 ESTIMACIÓN DE COSTES.
9.7.4 ANÁLISIS DE COSTES/BENEFICIOS.
9.8 LECTURAS RECOMENDADAS.
9.9 SITIOS WEB RECOMENDADOS.
9.10 EJERCICIOS.
CAPÍTULO 10. ARQUEOLOGÍA DE PROCESOS DE (...).
10.1 CONCEPTOS GENERALES.
10.1.1 MODELOS DE PROCESOS DE NEGOCIO.
10.1.2 ADM PARA LA ARQUEOLOGÍA DE PROCESOS (...).
10.2 UN MARCO PARA LA ARQUEOLOGÍA DE PROCESOS DE.
10.2.1 EJEMPLO PARA SISTEMAS JAVA.
10.2.1.1 TRANSFORMACIÓN N0-A-N1.
10.2.1.2 TRANSFORMACIÓN N1-A-N2.
10.2.1.3 TRANSFORMACIÓN N2-A-N3.
10.3 REFACTORIZACIÓN DE MODELOS DE PROCESOS (...).
10.3.1 DESAFÍOS PARA LA CALIDAD.
10.3.1.1 COMPLETITUD.
10.3.1.2 GRANULARIDAD.
10.3.1.3 INFORMACIÓN IRRELEVANTE.
10.3.1.4 IDENTIFICADORES HEREDADOS.
10.3.1.5 AMBIGÜEDAD.
10.3.1.6 MARCO PARA LA MEJORA DE PROCESOS (...).
10.3.1.7 MEDIDAS PARA EVALUAR LA CALIDAD (...).
10.3.1.8 OPERADORES DE REFACTORIZACIÓN.
10.3.2 REDUCCIÓN DE ELEMENTOS NO RELEVANTES.
10.3.3 REDUCCIÓN DE LA GRANULARIDAD DE (...).
10.3.4 COMPLETITUD.
10.4 HERRAMIENTAS PARA LA ARQUEOLOGÍA DE (...).
10.5 LECTURAS RECOMENDADAS.
10.6 SITIO WEB.
10.7 EJERCICIOS.
ACRÓNIMOS.
BIBLIOGRAFÍA.
Desde hace décadas que el mantenimiento y la evolución de los sistemas de información son una de las principales fuentes de preocupación de losresponsables y directivos de las organizaciones, que ven cómo el presupuesto dedicado a estas tareas puede superar el 80% del total de los recursos,mermando la posibilidad del desarrollo de nuevos sistemas e imposibilitando la prestación de nuevos servicios.Actualmente, la transformación digital ha enfatizado aún más la importancia de la gestión y evolución de los sistemas heredados (legacy), ya que resulta muchasveces casi imposible adaptar el software existente a nuevos requisitos o cambios tecnológicosEn este libro se presentan de forma clara los conceptos fundamentales relacionados con el mantenimiento y la evolución de los sistemas de información, y se ofrece un tratamiento sistemático de los estándares internacionales relacionados con el proceso de mantenimiento y la mantenibilidad del software. Además, se proponen varias metodologías, contrastadas en decenas de proyectos realizados a lo largo de más de 20 años para abordar el mantenimiento de los sistemas de información, analizando algunas técnicas y herramientas quepueden facilitar la evolución del software.A lo largo de esta obra se ha combinado el rigor académico con la experiencia práctica, proporcionando a sus lectores una panorámica actual y completasobre la problemática asociada al mantenimiento y la evolución de los sistemas de información.
PÁGINA LEGAL.
ÍNDICE.
AUTORES.
PREFACIO.
CONTENIDO.
ORIENTACIÓN A LOS LECTORES.
OTRAS OBRAS RELACIONADAS.
AGRADECIMIENTOS.
PARTE I. FUNDAMENTOS.
CAPÍTULO 1. INTRODUCCIÓN AL MANTENIMIENTO.
1.1 CONCEPTOS GENERALES.
1.1.1 DEFINICIÓN DE MANTENIMIENTO.
1.1.2 MANTENIMIENTO CORRECTIVO.
1.1.3 MANTENIMIENTO ADAPTATIVO.
1.1.4 MANTENIMIENTO PERFECTIVO.
1.1.5 MANTENIMIENTO PREVENTIVO.
1.2 ACTIVIDADES DE MANTENIMIENTO.
1.3 COSTES DEL MANTENIMIENTO.
1.4 DIFICULTADES DEL MANTENIMIENTO Y LA (...).
1.4.1 CÓDIGO HEREDADO.
1.4.2 PROBLEMAS DEL MANTENIMIENTO.
1.4.3 EFECTOS SECUNDARIOS DEL MANTENIMIENTO.
1.4.3.1 EFECTOS SECUNDARIOS SOBRE EL CÓDIGO.
1.4.3.2 EFECTOS SECUNDARIOS SOBRE LOS DATOS.
1.4.3.3 EFECTOS SECUNDARIOS SOBRE LA DOCUMENTACIÓN.
1.5 SOLUCIONES AL PROBLEMA DEL MANTENIMIENTO.
1.5.1 SOLUCIONES DE GESTIÓN.
1.5.2 SOLUCIONES TÉCNICAS.
1.6 LECTURAS RECOMENDADAS.
1.7 SITIOS WEB RECOMENDADOS.
1.8 EJERCICIOS.
CAPÍTULO 2. ONTOLOGÍA DEL MANTENIMIENTO.
2.1 VISIÓN GENERAL.
2.2 SUBONTOLOGÍA DE LOS PRODUCTOS.
2.3 SUBONTOLOGÍA DE LAS ACTIVIDADES.
2.4 SUBONTOLOGÍA DE ORGANIZACIÓN DEL PROCESO.
2.4.1 PROCEDIMIENTOS.
2.4.2 GESTIÓN DE PETICIONES.
2.4.3 PROBLEMAS.
2.4.4 INTEGRACIÓN DE LOS TRES ASPECTOS.
2.5 SUBONTOLOGÍA DE LOS AGENTES.
2.6 LECTURAS RECOMENDADAS.
2.7 SITIOS WEB RECOMENDADOS.
2.8 EJERCICIOS.
CAPÍTULO 3. EL PROCESO DE MANTENIMIENTO.
3.1 PROCESOS DEL CICLO DE VIDA DEL SOFTWARE.
3.1.1 PROCESOS DE ACUERDO.
3.1.2 PROCESOS ORGANIZACIONALES QUE (...).
3.1.3 PROCESOS DE GESTIÓN TÉCNICA.
3.1.4 PROCESOS TÉCNICOS.
3.1.5 PROCESO DE ADAPTACIÓN.
3.2 ACTIVIDADES Y TAREAS DEL PROCESO DE (...).
3.2.1 PREPARACIÓN PARA EL MANTENIMIENTO.
3.2.2 EJECUCIÓN DEL MANTENIMIENTO.
3.2.3 SOPORTE LOGÍSTICO.
3.2.4 GESTIÓN DE RESULTADOS DEL MANTENIMIENTO (...).
3.3 EL MANTENIMIENTO EN LA NORMA ISO/IEC (...).
3.3.1 IMPLEMENTACIÓN DEL PROCESO.
3.3.2 ANÁLISIS DE PROBLEMAS Y MODIFICACIONES.
3.3.3 IMPLEMENTACIÓN DE LA MODIFICACIÓN.
3.3.4 REVISIÓN Y ACEPTACIÓN DEL MANTENIMIENTO.
3.3.5 MIGRACIÓN.
3.3.6 RETIRADA.
3.4 LECTURAS RECOMENDADAS.
3.5 EJERCICIOS.
CAPÍTULO 4. METODOLOGÍAS PARA EL MANTENIMIENTO.
4.1 MANTEMA: UNA METODOLOGÍA PARA EL MANTENIMIENTO.
4.1.1 DESCRIPCIÓN DE LAS TAREAS.
4.1.2 ESTRUCTURA DETALLADA DE MANTEMA.
4.1.2.1 ACTIVIDADES Y TAREAS INICIALES (...).
4.1.2.2 ACTIVIDADES Y TAREAS DEL MANTENIMIENTO (...).
4.1.2.3 ACTIVIDADES Y TAREAS DEL MANTENIMIENTO (...).
4.1.2.4 ACTIVIDADES Y TAREAS FINALES COMUNES.
4.1.2.5 DOCUMENTACIÓN.
4.1.2.6 MÉTRICAS.
4.2 ÁGIL MANTEMA.
4.2.1 ESTRUCTURA GENERAL DE ÁGIL MANTEMA.
4.2.1.1 NIVELES DE SERVICIO DE ÁGIL_MANTEMA.
4.2.1.2 NIVELES DE CAPACIDAD DE ÁGIL_MANTEMA.
4.2.1.3 TIPOS DE MANTENIMIENTO.
4.2.2 DESCRIPCIÓN DEL PROCESO DE MANTENIMIENTO.
4.2.2.1 PARTICIPANTES EN EL PROCESO DE (...).
4.2.2.2 VISIÓN GENERAL DEL PROCESO DE MANTENIMIENTO.
4.2.2.3 ESTRUCTURA DETALLADA DE LA METODOLOGÍA.
4.2.2.3.1 PLANIFICACIÓN DEL PROCESO.
4.2.2.3.2 ATENCIÓN DE LA PETICIÓN DE MODIFICACIÓN.
4.2.2.3.3 SPRINTM NO PLANIFICABLE.
4.2.2.3.4 SPRINTM PLANIFICABLE.
4.2.2.3.5 SEGUIMIENTO DEL SPRINTM.
4.2.2.3.6 ACTIVIDADES FINALES.
4.2.2.3.7 FINALIZACIÓN DEL SERVICIO.
4.2.3 INTERFACES CON OTROS PROCESOS.
4.2.3.1 ASEGURAMIENTO DE LA CALIDAD.
4.2.3.2 GESTIÓN DE LA CONFIGURACIÓN.
4.2.4 COMPARATIVA CON MANTEMA.
4.2.5 OTRAS METODOLOGÍAS.
4.3 LECTURAS RECOMENDADAS.
4.4 SITIOS WEB RECOMENDADOS.
4.5 EJERCICIOS.
CAPÍTULO 5. MANTENIBILIDAD DEL SOFTWARE.
5.1 CONCEPTO DE MANTENIBILIDAD DEL SOFTWARE.
5.2 ASPECTOS QUE INFLUYEN EN LA MANTENIBILIDAD.
5.3 ATRIBUTOS DE MANTENIBILIDAD DEL CÓDIGO (...).
5.4 PROPIEDADES DE LA MANTENIBILIDAD.
5.4.1 REPARABILIDAD.
5.4.2 FLEXIBILIDAD.
5.5 ESTÁNDAR ISO/IEC 25000.
5.5.1 MODELO DE CALIDAD: ISO/IEC 25010.
5.5.2 EVALUACIÓN DE LA CALIDAD: ISO/IEC (...).
5.5.2.1 TAREAS DEL PROCESO DE EVALUACIÓN.
5.5.2.2 RECURSOS PARA EL PROCESO DE EVALUACIÓN.
5.5.3 CERTIFICACIÓN DE LA CALIDAD DE PRODUCTOS.
5.6 EFECTOS DE LOS CAMBIOS EN EL SOFTWARE.
5.6.1 EFECTOS SOBRE LA COMPLEJIDAD.
5.6.2 EFECTOS SOBRE LA MANTENIBILIDAD.
5.7 MEJORA DE LA MANTENIBILIDAD DE CÓDIGO.
5.7.1 ELIMINACIÓN DE CODE SMELLS.
5.7.2 GESTIÓN DE LA CLONACIÓN.
5.7.2.1 OTRAS TÉCNICAS DE DETECCIÓN DE (...).
5.7.2.2 REFACTORIZACIÓN Y MANEJO DE CLONES.
5.8 DEUDA TÉCNICA.
5.8.1 INTRODUCCIÓN.
5.8.2 TIPOS DE DEUDA TÉCNICA.
5.8.3 PATRONES DE APARICIÓN DE LA DEUDA (...).
5.8.4 MEDICIÓN DE LA DEUDA TÉCNICA.
5.9 LECTURAS RECOMENDADAS.
5.10 SITIOS WEB RECOMENDADOS.
5.11 EJERCICIOS.
CAPÍTULO 6. MÉTRICAS PARA EL MANTENIMIENTO.
6.1 CONCEPTOS GENERALES.
6.2 MÉTRICAS DE PRODUCTO.
6.2.1 COMPLEJIDAD.
6.2.2 TAMAÑO.
6.2.3 ECUACIÓN DE PUTNAM.
6.2.4 MEDICIÓN DE LA MANTENIBILIDAD.
6.2.4.1 MEDIDAS EXTERNAS DE LA MANTENIBILIDAD.
6.2.4.2 MEDIDAS INTERNAS DE LA MANTENIBILIDAD.
6.2.5 MEDIDA DEL ENVEJECIMIENTO SOFTWARE.
6.2.5.1 POLUCIÓN.
6.2.5.2 CONOCIMIENTO EMBEBIDO.
6.2.5.3 EMPOBRECIMIENTO LÉXICO.
6.2.5.4 ACOPLAMIENTO.
6.2.5.5 ARQUITECTURAS DE DATOS SUPERPUESTAS.
6.3 MÉTODOS DE ESTIMACIÓN DEL ESFUERZO (...).
6.3.1 ESTIMACIÓN POR ANALOGÍA.
6.3.2 MODELO COCOMO PARA MANTENIMIENTO.
6.3.3 MODELADO DEL MANTENIMIENTO COMO UN (...).
6.3.4 ESTIMACIÓN DEL ESFUERZO DE MANTENIMIENTO (...).
6.3.5 ANÁLISIS DE MÉTODOS DE JORGENSEN.
6.4 CALIDAD EN PROYECTOS DE MANTENIMIENTO.
6.5 MÉTRICAS PARA ENTORNOS ESPECÍFICOS.
6.5.1 MÉTRICAS PARA PROGRAMAS COBOL.
6.5.2 MÉTRICAS PARA ORIENTACIÓN A OBJETOS.
6.5.2.1 MÉTRICAS MOOSE.
6.5.2.2 MÉTRICAS MOOD.
6.5.2.3 MÉTRICAS DE LORENZ Y KIDD.
6.5.3 MÉTRICAS PARA BASES DE DATOS.
6.6 LECTURAS RECOMENDADAS.
6.7 EJERCICIOS.
CAPÍTULO 7. HERRAMIENTAS PARA EL MANTENIMIENTO.
7.1 HERRAMIENTAS DE NAVEGACIÓN.
7.2 HERRAMIENTAS PARA PERFECCIONAMIENTO (...).
7.3 HERRAMIENTAS DE INGENIERÍA INVERSA.
7.4 LECTURAS RECOMENDADAS.
7.5 EJERCICIOS.
PARTE II. TEMAS AVANZADOS.
CAPÍTULO 8. MANTENIMIENTO DE SOFTWARE GREEN.
8.1 INTRODUCCIÓN.
8.2 MANTENIMIENTO DE SOFTWARE MÁS ECOLÓGICO.
8.2.1 EL MANTENIMIENTO DE SOFTWARE ECOLÓGICO (...).
8.3 IDENTIFICANDO NUEVAS TÉCNICAS PARA (...).
8.3.1 MALOS OLORES (BAD SMELLS) EN EL SOFTWARE.
8.3.2 ANTIPATRONES (ANTIPATERNS).
8.4 LA DEUDA ECOLÓGICA.
8.5 ESTUDIO DE CASO.
8.6 LECTURAS RECOMENDADAS.
8.7 EJERCICIOS.
CAPÍTULO 9. TÉCNICAS PARA EL MANTENIMIENTO.
9.1 INTRODUCCIÓN.
9.2 INGENIERÍA INVERSA DE PROGRAMAS.
9.2.1 IDENTIFICACIÓN Y RECOPILACIÓN DE (...).
9.2.2 ASIGNACIÓN DE VALOR SEMÁNTICO A LOS (...).
9.3 RECONSTRUCCIÓN DE PROGRAMAS.
9.3.1 REESTRUCTURACIÓN.
9.4 INGENIERÍA INVERSA Y REINGENIERÍA DE (...).
9.5 INGENIERÍA INVERSA Y REINGENIERÍA DE (...).
9.6 MODERNIZACIÓN DE SISTEMAS DE INFORMACIÓN.
9.6.1 MODERNIZACIÓN DIRIGIDA POR LA (...).
9.6.2 ESTÁNDARES ADM.
9.6.2.1 EL ECOSISTEMA KDM.
9.6.2.2 EL METAMODELO KDM.
9.6.3 EJEMPLO DE MODERNIZACIÓN DE SOFTWARE.
9.6.3.1 FASE DE INGENIERÍA INVERSA.
9.6.3.2 FASE DE REESTRUCTURACIÓN.
9.6.3.3 FASE DE INGENIERÍA DIRECTA.
9.7 COSTES Y BENEFICIOS DE LA REINGENIERÍA (...).
9.7.1 JUSTIFICACIÓN DEL PROYECTO.
9.7.2 ANÁLISIS DE LA CARTERA DE APLICACIONES.
9.7.3 ESTIMACIÓN DE COSTES.
9.7.4 ANÁLISIS DE COSTES/BENEFICIOS.
9.8 LECTURAS RECOMENDADAS.
9.9 SITIOS WEB RECOMENDADOS.
9.10 EJERCICIOS.
CAPÍTULO 10. ARQUEOLOGÍA DE PROCESOS DE (...).
10.1 CONCEPTOS GENERALES.
10.1.1 MODELOS DE PROCESOS DE NEGOCIO.
10.1.2 ADM PARA LA ARQUEOLOGÍA DE PROCESOS (...).
10.2 UN MARCO PARA LA ARQUEOLOGÍA DE PROCESOS DE.
10.2.1 EJEMPLO PARA SISTEMAS JAVA.
10.2.1.1 TRANSFORMACIÓN N0-A-N1.
10.2.1.2 TRANSFORMACIÓN N1-A-N2.
10.2.1.3 TRANSFORMACIÓN N2-A-N3.
10.3 REFACTORIZACIÓN DE MODELOS DE PROCESOS (...).
10.3.1 DESAFÍOS PARA LA CALIDAD.
10.3.1.1 COMPLETITUD.
10.3.1.2 GRANULARIDAD.
10.3.1.3 INFORMACIÓN IRRELEVANTE.
10.3.1.4 IDENTIFICADORES HEREDADOS.
10.3.1.5 AMBIGÜEDAD.
10.3.1.6 MARCO PARA LA MEJORA DE PROCESOS (...).
10.3.1.7 MEDIDAS PARA EVALUAR LA CALIDAD (...).
10.3.1.8 OPERADORES DE REFACTORIZACIÓN.
10.3.2 REDUCCIÓN DE ELEMENTOS NO RELEVANTES.
10.3.3 REDUCCIÓN DE LA GRANULARIDAD DE (...).
10.3.4 COMPLETITUD.
10.4 HERRAMIENTAS PARA LA ARQUEOLOGÍA DE (...).
10.5 LECTURAS RECOMENDADAS.
10.6 SITIO WEB.
10.7 EJERCICIOS.
ACRÓNIMOS.
BIBLIOGRAFÍA.
Desde hace décadas que el mantenimiento y la evolución de los sistemas de información son una de las principales fuentes de preocupación de losresponsables y directivos de las organizaciones, que ven cómo el presupuesto dedicado a estas tareas puede superar el 80% del total de los recursos,mermando la posibilidad del desarrollo de nuevos sistemas e imposibilitando la prestación de nuevos servicios.Actualmente, la transformación digital ha enfatizado aún más la importancia de la gestión y evolución de los sistemas heredados (legacy), ya que resulta muchasveces casi imposible adaptar el software existente a nuevos requisitos o cambios tecnológicosEn este libro se presentan de forma clara los conceptos fundamentales relacionados con el mantenimiento y la evolución de los sistemas de información, y se ofrece un tratamiento sistemático de los estándares internacionales relacionados con el proceso de mantenimiento y la mantenibilidad del software. Además, se proponen varias metodologías, contrastadas en decenas de proyectos realizados a lo largo de más de 20 años para abordar el mantenimiento de los sistemas de información, analizando algunas técnicas y herramientas quepueden facilitar la evolución del software.A lo largo de esta obra se ha combinado el rigor académico con la experiencia práctica, proporcionando a sus lectores una panorámica actual y completasobre la problemática asociada al mantenimiento y la evolución de los sistemas de información.
