SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
MANTENIMIENTO DE
SISTEMAS DE INFORMACION
Conceptos Avanzados
‘
Efecto Iceberg
Bajo la superficie se encuentran aún mayores problemas.
Efecto Iceberg
• Con los costos de mantenimiento se supone que se
debe esperar lo inesperado.
• Los costos intangibles son los que terminan
generando mayores gastos.
• Aquello que se deja de hacer más el tiempo que se
empleó, son costos poco considerados en el
mantenimiento.
Efecto Iceberg
• Costos intangibles significativos:
• Insatisfacción del cliente:
• Cuando no es posible de manera inmediata.
• Errores ocultos:
• Pequeñas modificaciones, introduce cambios que reducen la
calidad del software.
• Proyectos en espera:
• Que ocurre con los proyectos que se frenan por estar
realizando los mantenimientos?.
Producen mantenimientos
• Costos intangibles significativos:
• Mas de 10 años de operación:
• Se encuentran en el mercado un gran número de sistemas que
ya llevan mas de 10 años de operación.
• Modificaciones?:
• Reparaciones, modificaciones , ajustes, personalización,
migraciones.
• Donde queda la arquitectura?:
• Los cambios son realizados normalmente con el pensamiento
de respetar y ser coherentes con la arquitectura del sistema?.
Producen mantenimientos
• Costos intangibles significativos:
• Porque Continuar ?:
• Cual es la razón de continuar haciendo mantenimiento y no
reemplazar el software?.
• Cuando reparar?:
• Entre mas temprana sea la etapa donde se identifico, menor
serán los gastos.
• El software de calidad es una constante?:
• Desde un mal diseño hasta la incoherencia en la programación,
hay muchas aplicaciones que fallan desde la definición de la
lógica de su desarrollo.
Actividades
Mantenimiento
Actividades Mantenimiento
• Comprensión del software: Se realizar un estudio
de los elementos del software para lograr efectuar
la modificación del mismo. Esto reduce el riesgo de
crear un onda de problemas.
• Modificación del software: Se realizan los cambios
necesarios dentro del código, pero se debe conocer
lo mejor posible la estructura del sistema.
• Realización de pruebas: Se deben realizar pruebas
que garanticen que los cambios no afectan el
funcionamiento del sistema.
Dificultades Mantenimiento
• Mantener sin destruir: El verdadero reto es
modificar sin alterar la calidad del sistema.
• Código heredado: Que hago con el código
“legacy”?.
• Este código ya fue modificado en diversas
oportunidades y por diversos equipos de trabajo,
nadie puede garantizar su correcto funcionamiento
o la solidez del mismo, menos su fiabilidad.
Leyes Mantenimiento (Lehman)
• Continuidad del cambio: Un programa debe
cambiar con el tiempo para no perder vigencia.
• Los usuario buscan nuevas funcionalidades.
• El hardware cambia y permite nuevas funciones.
• Aparecen defectos.
• Nuevos sistemas operativos.
• Se tienen nuevos requerimientos de eficiencia.
Leyes Mantenimiento (Lehman)
• Incremento complejidad: En el momento que se
realizan cambios en un sistema (mantenimiento) se
vuelven mas complejas las estructuras que lo
constituyen.
• Evolución del programa: La evolución debe ser
reguladas y planificadas, llevando un control de
dicho crecimiento.
Leyes Mantenimiento (Lehman)
• Conservación de la estabilidad organizacional: El
costo de mantenimiento debería mantenerse
estable para considerarlo viable.
• Conservación de la familiaridad: Durante el tiempo
de vida de un sistema, el número de cambios
introducidos deben ser constantes.
Otros problemas Mantenimiento
• Ausencia metodológica: No existe un proceso
metodológico centrado en el mantenimiento, van
mas al desarrollo del sistema.
• Tendencia a la des-estructuración: Con cada
cambio se ve menos estructurado un sistema, la
documentación lo evidencia , la ausencia de
estándares lo refuerza y el tiempo empleado para
entender el código lo sustenta.
Otros problemas Mantenimiento
• Menos comprensibilidad: Cada grupo de
desarrolladores coloca su lógica en el producto, a
cada cambio , nuevas lógicas hacen presencia en el
resultado.
• Poca participación de los usuarios: El estar
alejados de los usuarios lo único que consigue es
entregar un software que no responde a sus
necesidades y requiere un mantenimiento
constante.
Otros problemas Mantenimiento
• Problemas de gestión
• Un trabajo de segunda categoría?: El mantenimiento no
es considerado un trabajo de gran importancia y muchos
no quieren desempeñarlo.
• No pensado: Los cambios son realizados sin cuidado y
no bien pensado.
• No hay sorpresas: Que aparezcan nuevos problemas
después de realizad modificaciones, puesto este proceso
no se realiza de manera controlada o con la rigurosidad
requerida.
Efectos Mantenimiento
• Efectos sobre el código
• Un punto y coma adicional: Un problema en el código
puede ser causado de manera accidental.
• Posibles problemas accidentales:
• Cambios en las operaciones lógicas.
• Modificación de subprogramas.
• Alteraciones en el diseño que implican cambios en el código.
• Cambio en los nombres de las variables.
• Alteraciones en las aperturas y cierres de conexiones.
Efectos Mantenimiento
• Efectos sobre los datos
• Modificación de datos: los datos almacenados pueden
generar un impacto muy fuerte al interior de un sistema
de información.
• Aparecen por:
• Redefiniendo variables.
• Modificación de tamaños de matrices o vectores.
• Reinicio de variables.
• Cambio en los parámetros de una función o procedimiento.
Efectos Mantenimiento
• Efectos sobre documentación
• Modificación código pero no documento: Es posible
mantener actualizada la documentación con cada uno
de los cambios realizados?.
• Elementos que son olvidados:
• Mensajes de error.
• Texto descriptivo de las funciones.
• Índices y tablas desactualizadas.
Disminuir problemas
Mantenimiento (Yourdon)
• Sugerencias:
• Obtener el mayor numero de información del programa
con anterioridad.
• Conoce el flujo de control?.
• Verificar la documentación.
• “Comentariar” el código.
• Al agregar cambios respetar el estilo y la arquitectura.
• Crear propias variables para evitar efectos onda.
• Registrar las actividades del mantenimiento.
• Estrategias de captura de errores.
@josefabiandiaz
josefabiandiazs@Gmail.com
https://www.youtube.com/user/fabiandiazs
Msc.Ing.Jose Fabián Diaz Silva
Consultas

Más contenido relacionado

La actualidad más candente

Uml gota a gota martin fowler con kendall scott
Uml gota a gota   martin fowler con kendall scottUml gota a gota   martin fowler con kendall scott
Uml gota a gota martin fowler con kendall scott
zury27
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de software
Edgardo Rojas
 
Pmo informatica plantilla de plan de pruebas de software
Pmo informatica plantilla de plan de pruebas de softwarePmo informatica plantilla de plan de pruebas de software
Pmo informatica plantilla de plan de pruebas de software
Carina Lifschitz
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
lcastillo110
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
joshell
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.
Carlos Solano
 
Herramientas Case Resumido
Herramientas Case ResumidoHerramientas Case Resumido
Herramientas Case Resumido
memo
 

La actualidad más candente (20)

Uml gota a gota martin fowler con kendall scott
Uml gota a gota   martin fowler con kendall scottUml gota a gota   martin fowler con kendall scott
Uml gota a gota martin fowler con kendall scott
 
Modelamiento del Sistema Diagrama de Flujo de Datos (DFD)
Modelamiento del SistemaDiagrama de Flujo de Datos (DFD)Modelamiento del SistemaDiagrama de Flujo de Datos (DFD)
Modelamiento del Sistema Diagrama de Flujo de Datos (DFD)
 
5. Métodos de Prueba de Software
5. Métodos de Prueba de Software5. Métodos de Prueba de Software
5. Métodos de Prueba de Software
 
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5Sistemas operativos - Sistemas De Archivos - reporte unidad 5
Sistemas operativos - Sistemas De Archivos - reporte unidad 5
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Pruebas del Software
Pruebas del SoftwarePruebas del Software
Pruebas del Software
 
Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de software
 
Pmo informatica plantilla de plan de pruebas de software
Pmo informatica plantilla de plan de pruebas de softwarePmo informatica plantilla de plan de pruebas de software
Pmo informatica plantilla de plan de pruebas de software
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 
Administración de procesos en el S.O.
Administración de procesos en el S.O.Administración de procesos en el S.O.
Administración de procesos en el S.O.
 
Herramientas Case Resumido
Herramientas Case ResumidoHerramientas Case Resumido
Herramientas Case Resumido
 
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
 
Unidad 2 sistemas programables
Unidad 2 sistemas programables Unidad 2 sistemas programables
Unidad 2 sistemas programables
 
metodología crystal clear
 metodología crystal clear metodología crystal clear
metodología crystal clear
 
Auditoria en un Centro de Computo
Auditoria en un Centro de ComputoAuditoria en un Centro de Computo
Auditoria en un Centro de Computo
 
Plan de pruebas
Plan de pruebasPlan de pruebas
Plan de pruebas
 
Estimación para proyectos de software cap26
Estimación para proyectos de software cap26Estimación para proyectos de software cap26
Estimación para proyectos de software cap26
 
Prueba de-caja-negra-y-caja-blanca pwp
Prueba de-caja-negra-y-caja-blanca pwpPrueba de-caja-negra-y-caja-blanca pwp
Prueba de-caja-negra-y-caja-blanca pwp
 
La Calidad de Software
La Calidad de SoftwareLa Calidad de Software
La Calidad de Software
 

Destacado

Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de información
NAHAMA19
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de información
NAHAMA19
 
Implementacion de software
Implementacion de softwareImplementacion de software
Implementacion de software
Tom Rodriguez
 
Documentación de los sistemas de información
Documentación de los sistemas de informaciónDocumentación de los sistemas de información
Documentación de los sistemas de información
Karina Hernández
 
Sistemas de Información, Un cambio planificado
Sistemas de Información, Un cambio planificadoSistemas de Información, Un cambio planificado
Sistemas de Información, Un cambio planificado
María Isabel Bautista
 
Mantenimiento de sistemas informáticos
Mantenimiento de sistemas informáticosMantenimiento de sistemas informáticos
Mantenimiento de sistemas informáticos
vfortea
 
GestióN De InformacióN, GestióN Del Conocimiento Y GestióN De La Calidad En
GestióN De InformacióN, GestióN Del Conocimiento Y GestióN De La Calidad EnGestióN De InformacióN, GestióN Del Conocimiento Y GestióN De La Calidad En
GestióN De InformacióN, GestióN Del Conocimiento Y GestióN De La Calidad En
controlgestionarmada
 
Lectura 2 - Estructura Organizativas - Gestión de Procesos
Lectura 2 - Estructura Organizativas - Gestión de ProcesosLectura 2 - Estructura Organizativas - Gestión de Procesos
Lectura 2 - Estructura Organizativas - Gestión de Procesos
Manuel Bedoya D
 
3.4 condiciones de obsolescencia de los sistemas
3.4 condiciones de obsolescencia de los sistemas3.4 condiciones de obsolescencia de los sistemas
3.4 condiciones de obsolescencia de los sistemas
Elliot Marquez
 

Destacado (20)

Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de información
 
DESARROLLO DE SISTEMAS DE INFORMACIÓN PARA LA GESTIÓN DEL MANTENIMIENTO INDUS...
DESARROLLO DE SISTEMAS DE INFORMACIÓN PARA LA GESTIÓN DEL MANTENIMIENTO INDUS...DESARROLLO DE SISTEMAS DE INFORMACIÓN PARA LA GESTIÓN DEL MANTENIMIENTO INDUS...
DESARROLLO DE SISTEMAS DE INFORMACIÓN PARA LA GESTIÓN DEL MANTENIMIENTO INDUS...
 
Fase de implementación de sistemas de información
Fase de implementación de sistemas de informaciónFase de implementación de sistemas de información
Fase de implementación de sistemas de información
 
Implementacion de software
Implementacion de softwareImplementacion de software
Implementacion de software
 
Implantacion de sistemas informaticos
Implantacion de sistemas informaticosImplantacion de sistemas informaticos
Implantacion de sistemas informaticos
 
Documentación de los sistemas de información
Documentación de los sistemas de informaciónDocumentación de los sistemas de información
Documentación de los sistemas de información
 
Sistemas de información
Sistemas de informaciónSistemas de información
Sistemas de información
 
Iparbit showlab mantenimiento de sistemas informáticos
Iparbit   showlab mantenimiento de sistemas informáticosIparbit   showlab mantenimiento de sistemas informáticos
Iparbit showlab mantenimiento de sistemas informáticos
 
Manual de Mantenimiento preventivo y correctivo a los sistemas de informacion
Manual de Mantenimiento preventivo y correctivo a los sistemas de informacionManual de Mantenimiento preventivo y correctivo a los sistemas de informacion
Manual de Mantenimiento preventivo y correctivo a los sistemas de informacion
 
Sistemas de Información, Un cambio planificado
Sistemas de Información, Un cambio planificadoSistemas de Información, Un cambio planificado
Sistemas de Información, Un cambio planificado
 
Mantenimiento de Sistema Informático
Mantenimiento de Sistema InformáticoMantenimiento de Sistema Informático
Mantenimiento de Sistema Informático
 
Mantenimiento de sistemas informáticos
Mantenimiento de sistemas informáticosMantenimiento de sistemas informáticos
Mantenimiento de sistemas informáticos
 
La resistencia al uso de las nuevas tecnologías
La resistencia al uso de las nuevas tecnologíasLa resistencia al uso de las nuevas tecnologías
La resistencia al uso de las nuevas tecnologías
 
Caracteristicas pc(2)
Caracteristicas pc(2)Caracteristicas pc(2)
Caracteristicas pc(2)
 
GestióN De InformacióN, GestióN Del Conocimiento Y GestióN De La Calidad En
GestióN De InformacióN, GestióN Del Conocimiento Y GestióN De La Calidad EnGestióN De InformacióN, GestióN Del Conocimiento Y GestióN De La Calidad En
GestióN De InformacióN, GestióN Del Conocimiento Y GestióN De La Calidad En
 
5 servicios básicos para implementar una página web
5 servicios básicos para implementar una página web5 servicios básicos para implementar una página web
5 servicios básicos para implementar una página web
 
Lectura 2 - Estructura Organizativas - Gestión de Procesos
Lectura 2 - Estructura Organizativas - Gestión de ProcesosLectura 2 - Estructura Organizativas - Gestión de Procesos
Lectura 2 - Estructura Organizativas - Gestión de Procesos
 
3.4 condiciones de obsolescencia de los sistemas
3.4 condiciones de obsolescencia de los sistemas3.4 condiciones de obsolescencia de los sistemas
3.4 condiciones de obsolescencia de los sistemas
 
Metodología Métrica 3
Metodología Métrica 3Metodología Métrica 3
Metodología Métrica 3
 
Mantenimiento de sistemas informaticos
Mantenimiento de   sistemas informaticosMantenimiento de   sistemas informaticos
Mantenimiento de sistemas informaticos
 

Similar a Mantenimiento de sistemas de información - Conceptos Avanzados

7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos
silviamap64
 
gestion y configuracion del software
 gestion y configuracion del software gestion y configuracion del software
gestion y configuracion del software
Saul Flores
 
Mantenimiento y mejora continua de la performance de las aplicaciones
Mantenimiento y mejora continua de la performance de las aplicacionesMantenimiento y mejora continua de la performance de las aplicaciones
Mantenimiento y mejora continua de la performance de las aplicaciones
Abstracta
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevida
claudiappaez
 

Similar a Mantenimiento de sistemas de información - Conceptos Avanzados (20)

Evolucion del software
Evolucion del softwareEvolucion del software
Evolucion del software
 
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software  Unidad 2 - Software Enginnering - Ian sommervilleProcesos de software  Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville
 
metodologias de desarrollo.ppt
metodologias de desarrollo.pptmetodologias de desarrollo.ppt
metodologias de desarrollo.ppt
 
7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos
 
Ingeniería de Requisitos
Ingeniería de RequisitosIngeniería de Requisitos
Ingeniería de Requisitos
 
Clase1
Clase1Clase1
Clase1
 
Ciclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARECiclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARE
 
gestion y configuracion del software
 gestion y configuracion del software gestion y configuracion del software
gestion y configuracion del software
 
Modelos de desarrollo rápido de software
Modelos de desarrollo rápido de softwareModelos de desarrollo rápido de software
Modelos de desarrollo rápido de software
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de software
 
Analisis de requerimientos, Ingenieria de Software
Analisis de requerimientos, Ingenieria de SoftwareAnalisis de requerimientos, Ingenieria de Software
Analisis de requerimientos, Ingenieria de Software
 
manual de compra de motos
manual de compra de motos manual de compra de motos
manual de compra de motos
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
 
Adaptacion y mejora continua de la performance de las aplicaciones
Adaptacion y mejora continua de la performance de las aplicacionesAdaptacion y mejora continua de la performance de las aplicaciones
Adaptacion y mejora continua de la performance de las aplicaciones
 
7. Mantenimiento de Software
7. Mantenimiento de Software7. Mantenimiento de Software
7. Mantenimiento de Software
 
Mantenimiento y mejora continua de la performance de las aplicaciones
Mantenimiento y mejora continua de la performance de las aplicacionesMantenimiento y mejora continua de la performance de las aplicaciones
Mantenimiento y mejora continua de la performance de las aplicaciones
 
Metricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccionMetricas del proyecto de Software - introduccion
Metricas del proyecto de Software - introduccion
 
02 proceso ciclodevida
02 proceso ciclodevida02 proceso ciclodevida
02 proceso ciclodevida
 

Más de Jose Diaz Silva

Ciclos de vida orientados a objetos
Ciclos de vida orientados a objetosCiclos de vida orientados a objetos
Ciclos de vida orientados a objetos
Jose Diaz Silva
 

Más de Jose Diaz Silva (20)

Caracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetosCaracteristicas del modelo orientado a objetos
Caracteristicas del modelo orientado a objetos
 
Modding PC
Modding PCModding PC
Modding PC
 
Actividad ssh final - Ubuntu
Actividad ssh final - UbuntuActividad ssh final - Ubuntu
Actividad ssh final - Ubuntu
 
Problemas en pruebas de implantacion
Problemas en pruebas de implantacionProblemas en pruebas de implantacion
Problemas en pruebas de implantacion
 
Mother board tarjeta madre - elementos varios
Mother board   tarjeta madre - elementos variosMother board   tarjeta madre - elementos varios
Mother board tarjeta madre - elementos varios
 
Ciclos de vida orientados a objetos
Ciclos de vida orientados a objetosCiclos de vida orientados a objetos
Ciclos de vida orientados a objetos
 
Pruebas de implantación del Software
Pruebas de implantación del SoftwarePruebas de implantación del Software
Pruebas de implantación del Software
 
SSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia SeguraSSH en Ubuntu - Transferencia Segura
SSH en Ubuntu - Transferencia Segura
 
Metodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XPMetodologías ágiles para el desarrollo de software - XP
Metodologías ágiles para el desarrollo de software - XP
 
Taller Crontab - Ubuntu
Taller Crontab  - UbuntuTaller Crontab  - Ubuntu
Taller Crontab - Ubuntu
 
Capacitacion implantacion de Software
Capacitacion implantacion de SoftwareCapacitacion implantacion de Software
Capacitacion implantacion de Software
 
Programar tareas crontab en Ubuntu
Programar tareas  crontab en UbuntuProgramar tareas  crontab en Ubuntu
Programar tareas crontab en Ubuntu
 
Errores y fracasos en la implantación de Software
Errores y fracasos en la implantación de SoftwareErrores y fracasos en la implantación de Software
Errores y fracasos en la implantación de Software
 
Tipos de memoria del computador - Compendio
Tipos de memoria del computador - CompendioTipos de memoria del computador - Compendio
Tipos de memoria del computador - Compendio
 
Llenado de combobox vs2010 y oracle xe
Llenado de combobox vs2010 y oracle xeLlenado de combobox vs2010 y oracle xe
Llenado de combobox vs2010 y oracle xe
 
Sistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - CompendioSistema de archivos y directorios - Ubuntu - Compendio
Sistema de archivos y directorios - Ubuntu - Compendio
 
Puertos de un computador - Compendio
Puertos de un computador - CompendioPuertos de un computador - Compendio
Puertos de un computador - Compendio
 
Modelo de diseño - conceptos finales
Modelo de diseño  - conceptos finalesModelo de diseño  - conceptos finales
Modelo de diseño - conceptos finales
 
Perifericos en imagenes
Perifericos en imagenesPerifericos en imagenes
Perifericos en imagenes
 
Diseño de sistemas - UML - compendio
Diseño de sistemas  -  UML - compendioDiseño de sistemas  -  UML - compendio
Diseño de sistemas - UML - compendio
 

Mantenimiento de sistemas de información - Conceptos Avanzados

  • 1. MANTENIMIENTO DE SISTEMAS DE INFORMACION Conceptos Avanzados ‘
  • 2. Efecto Iceberg Bajo la superficie se encuentran aún mayores problemas.
  • 3. Efecto Iceberg • Con los costos de mantenimiento se supone que se debe esperar lo inesperado. • Los costos intangibles son los que terminan generando mayores gastos. • Aquello que se deja de hacer más el tiempo que se empleó, son costos poco considerados en el mantenimiento.
  • 4. Efecto Iceberg • Costos intangibles significativos: • Insatisfacción del cliente: • Cuando no es posible de manera inmediata. • Errores ocultos: • Pequeñas modificaciones, introduce cambios que reducen la calidad del software. • Proyectos en espera: • Que ocurre con los proyectos que se frenan por estar realizando los mantenimientos?.
  • 5. Producen mantenimientos • Costos intangibles significativos: • Mas de 10 años de operación: • Se encuentran en el mercado un gran número de sistemas que ya llevan mas de 10 años de operación. • Modificaciones?: • Reparaciones, modificaciones , ajustes, personalización, migraciones. • Donde queda la arquitectura?: • Los cambios son realizados normalmente con el pensamiento de respetar y ser coherentes con la arquitectura del sistema?.
  • 6. Producen mantenimientos • Costos intangibles significativos: • Porque Continuar ?: • Cual es la razón de continuar haciendo mantenimiento y no reemplazar el software?. • Cuando reparar?: • Entre mas temprana sea la etapa donde se identifico, menor serán los gastos. • El software de calidad es una constante?: • Desde un mal diseño hasta la incoherencia en la programación, hay muchas aplicaciones que fallan desde la definición de la lógica de su desarrollo.
  • 8. Actividades Mantenimiento • Comprensión del software: Se realizar un estudio de los elementos del software para lograr efectuar la modificación del mismo. Esto reduce el riesgo de crear un onda de problemas. • Modificación del software: Se realizan los cambios necesarios dentro del código, pero se debe conocer lo mejor posible la estructura del sistema. • Realización de pruebas: Se deben realizar pruebas que garanticen que los cambios no afectan el funcionamiento del sistema.
  • 9. Dificultades Mantenimiento • Mantener sin destruir: El verdadero reto es modificar sin alterar la calidad del sistema. • Código heredado: Que hago con el código “legacy”?. • Este código ya fue modificado en diversas oportunidades y por diversos equipos de trabajo, nadie puede garantizar su correcto funcionamiento o la solidez del mismo, menos su fiabilidad.
  • 10. Leyes Mantenimiento (Lehman) • Continuidad del cambio: Un programa debe cambiar con el tiempo para no perder vigencia. • Los usuario buscan nuevas funcionalidades. • El hardware cambia y permite nuevas funciones. • Aparecen defectos. • Nuevos sistemas operativos. • Se tienen nuevos requerimientos de eficiencia.
  • 11. Leyes Mantenimiento (Lehman) • Incremento complejidad: En el momento que se realizan cambios en un sistema (mantenimiento) se vuelven mas complejas las estructuras que lo constituyen. • Evolución del programa: La evolución debe ser reguladas y planificadas, llevando un control de dicho crecimiento.
  • 12. Leyes Mantenimiento (Lehman) • Conservación de la estabilidad organizacional: El costo de mantenimiento debería mantenerse estable para considerarlo viable. • Conservación de la familiaridad: Durante el tiempo de vida de un sistema, el número de cambios introducidos deben ser constantes.
  • 13. Otros problemas Mantenimiento • Ausencia metodológica: No existe un proceso metodológico centrado en el mantenimiento, van mas al desarrollo del sistema. • Tendencia a la des-estructuración: Con cada cambio se ve menos estructurado un sistema, la documentación lo evidencia , la ausencia de estándares lo refuerza y el tiempo empleado para entender el código lo sustenta.
  • 14. Otros problemas Mantenimiento • Menos comprensibilidad: Cada grupo de desarrolladores coloca su lógica en el producto, a cada cambio , nuevas lógicas hacen presencia en el resultado. • Poca participación de los usuarios: El estar alejados de los usuarios lo único que consigue es entregar un software que no responde a sus necesidades y requiere un mantenimiento constante.
  • 15. Otros problemas Mantenimiento • Problemas de gestión • Un trabajo de segunda categoría?: El mantenimiento no es considerado un trabajo de gran importancia y muchos no quieren desempeñarlo. • No pensado: Los cambios son realizados sin cuidado y no bien pensado. • No hay sorpresas: Que aparezcan nuevos problemas después de realizad modificaciones, puesto este proceso no se realiza de manera controlada o con la rigurosidad requerida.
  • 16. Efectos Mantenimiento • Efectos sobre el código • Un punto y coma adicional: Un problema en el código puede ser causado de manera accidental. • Posibles problemas accidentales: • Cambios en las operaciones lógicas. • Modificación de subprogramas. • Alteraciones en el diseño que implican cambios en el código. • Cambio en los nombres de las variables. • Alteraciones en las aperturas y cierres de conexiones.
  • 17. Efectos Mantenimiento • Efectos sobre los datos • Modificación de datos: los datos almacenados pueden generar un impacto muy fuerte al interior de un sistema de información. • Aparecen por: • Redefiniendo variables. • Modificación de tamaños de matrices o vectores. • Reinicio de variables. • Cambio en los parámetros de una función o procedimiento.
  • 18. Efectos Mantenimiento • Efectos sobre documentación • Modificación código pero no documento: Es posible mantener actualizada la documentación con cada uno de los cambios realizados?. • Elementos que son olvidados: • Mensajes de error. • Texto descriptivo de las funciones. • Índices y tablas desactualizadas.
  • 19. Disminuir problemas Mantenimiento (Yourdon) • Sugerencias: • Obtener el mayor numero de información del programa con anterioridad. • Conoce el flujo de control?. • Verificar la documentación. • “Comentariar” el código. • Al agregar cambios respetar el estilo y la arquitectura. • Crear propias variables para evitar efectos onda. • Registrar las actividades del mantenimiento. • Estrategias de captura de errores.