SlideShare una empresa de Scribd logo
Tema 1
Mantenimiento del Software
El reto del mantenimiento
• Las tareas de mantenimiento comienzan
casi cuando se entrega el software
– En pocos días o semanas después de liberar el
software a los usuarios finales, podemos
tener un listado de errores y/o peticiones de
ajuste (incluso nuevos mejoras)
• Con el tiempo, la organización puede darse
cuenta de que emplea más tiempo y
dinero en ajustar el software existente que
en hacerlo de nuevo
Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
¿Por qué ocurre?
Movilidad del personal
Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
Tipos de mantenimiento
• Estas definiciones pueden cambiar,
según la fuente
Tipos de mantenimiento
• Mantenimiento correctivo: aquel que corrige los defectos
observados en los equipamientos o instalaciones. Es la
forma más básica de mantenimiento y consiste en
localizar averías o defectos y corregirlos o repararlos.
– Ejemplo: Las actualizaciones que el SO hace para
disminuir las vulnerabilidades
Tipos de mantenimiento
• Mantenimiento adaptativo: modificación del
producto software que se realiza tras su distribución
con el fin de adaptarlo a los cambios
– Ligado a los cambios en el SO, al tipo de arquitectura donde
se ejecuta, o al entorno de desarrollo.
• Cambios de para migrar de un SO a otro
• Cambio en la versión de la máquina virtual de Java
• Cambio en la versión del SO
• Cambio en el entorno de desarrollo de aplicaciones web: versión de
PHP, etc.
• Mantenimiento evolutivo: Actualizaciones de las
aplicaciones con el fin de mejorar la utilidad de las
mismas
Tipos de mantenimiento
• Mantenimiento preventivo: revisión
constante del software con el fin de
detectar posibles problemas que
puedan surgir en el futuro.
Tipos de mantenimiento
• Mantenimiento perfectivo: perfeccionamiento y
mejora de la calidad del software
Actividades de mantenimiento
Reingeniería
• Se produce dos niveles distintos de
abstracción.
– En el nivel de negocios, la reingeniería se
concentra en el proceso de negocios con la
intención de efectuar cambios que mejoren la
competitividad en algún aspecto de los
negocios.
– En el nivel del software, la reingeniería
examina los sistemas y aplicaciones de
información con la intención de
reestructurarlos o reconstruirlos de tal modo
que muestren una mayor calidad.
Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
Reingeniería del Software
Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
Reingeniería del Software
• Análisis de inventarios: Ordenar las
aplicaciones activas por tamaño, antigüedad,
utilidad, importancia – determinar el criterio –
para elegir aquellas más susceptibles de ser
objeto de procesos de reingeniería.
Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
Reingeniería del Software
Reestructuración de documentos: La
documentación pobre es una
característica de muchos sistemas
heredados
• Vivir con lo que tenemos y no generar
más (porque consume tiempo)
• Documentar sólo las aplicaciones objeto
de cambios
• Documentar el sistema por completo
Reingeniería del Software
• Ingeniería inversa. Es un proceso de
recuperación de diseño.
• Reestructuración del código. Analizar
el código existente, se buscan fallos, se
reestructura (e incluso se reescribe en
un lenguaje de programación más
moderno), se revisa, se prueba y se
documenta.
Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
Reingeniería del Software
• Reestructuración de los datos
– Comienza como una actividad de ingeniería
inversa
– Se revisa la calidad de las estructuras de
datos existentes
– Los cambios en los datos van a implicar
cambios en el código, casi
irremediablemente
Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
Reingeniería del Software
• Ingeniería hacia adelante
– Volver a crear la aplicación existente
• Proceso de construir especificaciones de un
mayor nivel de abstracción partiendo del
código fuente de un sistema software o
cualquier otro producto
• El objetivo de la ingeniería inversa es obtener
información o un diseño a partir de un
producto, con el fin de determinar de qué
está hecho, qué lo hace funcionar y cómo
fue fabricado
• Se aplica en distintos niveles de
abstracción
Ingeniería inversa
• En algunos casos, la primera actividad de
la ingeniería inversa es obtener los
diagramas de clase UML
• Se sigue con la construcción del modelo de
datos
• Hay herramientas que pueden ayudar a
generar de forma automática, los
diagramas y modelos necesarios para
aplicar ingeniería inversa a partir del código
fuente
Ingeniería inversa
Ingeniería inversa
• Modificación el software para hacerlo más fácil
de entender y cambiar o menos susceptible de
incluir errores en cambios posteriores
• Lecagy code (código heredado). Problemas:
– Desarrollado con tecnologías y técnicas anticuadas
– Casi no hay documentación
– Quizá los autores ya no trabajan en la empresa
– El sistema no tiene por qué estar bien diseñado ni
programado, ni haber seguido un proceso de
ingeniería
Reestructuración del código
Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
• Get/Set
– Hay un atributo público en una clase
– Solución: hacer el atributo privado y
proporcionar métodos de acceso al mismo
(get/set)
• Renombar métodos:
– double calcRngMaxPer() {.... }
– double calcularRangoMaximoPermitido() {.... }
• Detectar código replicado
Reestructuración del código
- Uso de constantes:
class CalculoSimple {
public static double CalcularCincunferencia (double
diametro)
{ return 3.14 * diametro; }
}
class CalculoSimple {
public final double PI = 3.14;
public static double CalcularCincunferencia (
double diametro)
{ return PI * diametro; }
}
Reestructuración del código
• A veces la reestructuración se debe dar a nivel
de diagrama
Reestructuración del código
Reestructuración del código
Reestructuración del código
Reestructuración del código
• Para arquitecturas cliente/servidor
– La funcionalidad de la aplicación migra a cada
computadora cliente
– Se implementan nuevas interfaces gráficas en
los clientes
– La funcionalidad de la base de datos se pasa
al servidor
– La funcionalidad especializada puede
quedarse en el servidor
– Se establecen nuevos requisitos de seguridad,
comunicación y control entre los sitios clientes
y el servidor
Ingeniería hacia adelante
Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
• Para arquitecturas orientadas a objetos
– En algunos casos es mejor dejar las
aplicaciones creadas con métodos
convencionales como están.
– Se usa ingeniería inversa para obtener los
modelos de diseño de datos, de funciones
y comportamientos.
Ingeniería hacia adelante
Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman

Más contenido relacionado

Similar a Mantenimiento del software

T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
Nelson Ortiz Gonzales
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
home
 
Modelos del ciclo de vida del software
Modelos del ciclo de vida del softwareModelos del ciclo de vida del software
Modelos del ciclo de vida del softwareAbner Torres
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITEC
mrojas_unitec
 
Modelos de Desarrollo de Software - INF162 - 2017
Modelos de Desarrollo de Software - INF162 - 2017Modelos de Desarrollo de Software - INF162 - 2017
Modelos de Desarrollo de Software - INF162 - 2017
Diego Orlando Quispe Condori
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3
Bruno
 
Insidencias En Los Paradigmas De La Ingeniera De Software
Insidencias En Los Paradigmas De La Ingeniera De SoftwareInsidencias En Los Paradigmas De La Ingeniera De Software
Insidencias En Los Paradigmas De La Ingeniera De Software
Universidad De Cordoba
 
Reingeniería
Reingeniería Reingeniería
Reingeniería
Onesimo Ramos Magallón
 
Reingeniería
Reingeniería Reingeniería
Reingeniería
one_ramos
 
Mantenimiento del software unidad # 9
Mantenimiento del software unidad # 9Mantenimiento del software unidad # 9
Mantenimiento del software unidad # 9Vanessa Toral Yépez
 
Mantenimiento del software_unidad___9
Mantenimiento del software_unidad___9Mantenimiento del software_unidad___9
Mantenimiento del software_unidad___9naviwz
 
Modelo lineal secuencial
Modelo lineal secuencialModelo lineal secuencial
Modelo lineal secuencialjenmer
 
Inf 162
Inf 162Inf 162
Inf 162
Markitozzz100
 
Proyecto Modelo lineal o cascada de un negocio de venta de productos.
Proyecto Modelo lineal o cascada de un negocio de venta de productos.Proyecto Modelo lineal o cascada de un negocio de venta de productos.
Proyecto Modelo lineal o cascada de un negocio de venta de productos.
JavierAlexanderLazar1
 
Georgy jose sanchez
Georgy jose sanchezGeorgy jose sanchez
Georgy jose sanchez
Georgy Jose Sanchez
 

Similar a Mantenimiento del software (20)

Clase 11
Clase 11Clase 11
Clase 11
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
T2 infoiii-s
T2 infoiii-sT2 infoiii-s
T2 infoiii-s
 
Modelos del ciclo de vida del software
Modelos del ciclo de vida del softwareModelos del ciclo de vida del software
Modelos del ciclo de vida del software
 
Procesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITECProcesos de Software EGEL-UNITEC
Procesos de Software EGEL-UNITEC
 
Trabajo espoch
Trabajo espochTrabajo espoch
Trabajo espoch
 
Modelos de Desarrollo de Software - INF162 - 2017
Modelos de Desarrollo de Software - INF162 - 2017Modelos de Desarrollo de Software - INF162 - 2017
Modelos de Desarrollo de Software - INF162 - 2017
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3
 
Insidencias En Los Paradigmas De La Ingeniera De Software
Insidencias En Los Paradigmas De La Ingeniera De SoftwareInsidencias En Los Paradigmas De La Ingeniera De Software
Insidencias En Los Paradigmas De La Ingeniera De Software
 
Reingeniería
Reingeniería Reingeniería
Reingeniería
 
Reingeniería
Reingeniería Reingeniería
Reingeniería
 
Reingeniería
ReingenieríaReingeniería
Reingeniería
 
Mantenimiento del software unidad # 9
Mantenimiento del software unidad # 9Mantenimiento del software unidad # 9
Mantenimiento del software unidad # 9
 
Mantenimiento del software_unidad___9
Mantenimiento del software_unidad___9Mantenimiento del software_unidad___9
Mantenimiento del software_unidad___9
 
Modelo lineal secuencial
Modelo lineal secuencialModelo lineal secuencial
Modelo lineal secuencial
 
Inf 162
Inf 162Inf 162
Inf 162
 
Proyecto Modelo lineal o cascada de un negocio de venta de productos.
Proyecto Modelo lineal o cascada de un negocio de venta de productos.Proyecto Modelo lineal o cascada de un negocio de venta de productos.
Proyecto Modelo lineal o cascada de un negocio de venta de productos.
 
Jfcastillo
JfcastilloJfcastillo
Jfcastillo
 
Georgy jose sanchez
Georgy jose sanchezGeorgy jose sanchez
Georgy jose sanchez
 
Apuntes
ApuntesApuntes
Apuntes
 

Más de Manuel de la Villa

Presentación TFG Informes de Alta Automáticos
Presentación TFG Informes de Alta AutomáticosPresentación TFG Informes de Alta Automáticos
Presentación TFG Informes de Alta Automáticos
Manuel de la Villa
 
Presentación programa Social Media UHU
Presentación programa Social Media UHUPresentación programa Social Media UHU
Presentación programa Social Media UHU
Manuel de la Villa
 
Marca personal para community managers
Marca personal para community managersMarca personal para community managers
Marca personal para community managers
Manuel de la Villa
 
Taller Facebook #SMUHU parte 2
Taller Facebook #SMUHU parte 2Taller Facebook #SMUHU parte 2
Taller Facebook #SMUHU parte 2
Manuel de la Villa
 
Taller Facebook #SMUHU parte 1
Taller Facebook #SMUHU parte 1Taller Facebook #SMUHU parte 1
Taller Facebook #SMUHU parte 1
Manuel de la Villa
 
Personal branding
Personal brandingPersonal branding
Personal branding
Manuel de la Villa
 
Taller de Presentaciones efectivas
Taller de Presentaciones efectivasTaller de Presentaciones efectivas
Taller de Presentaciones efectivas
Manuel de la Villa
 
Presentacion Grado en Ingeniería Informática UHU
Presentacion Grado en Ingeniería Informática UHUPresentacion Grado en Ingeniería Informática UHU
Presentacion Grado en Ingeniería Informática UHU
Manuel de la Villa
 
Curso personal branding profesores
Curso personal branding profesoresCurso personal branding profesores
Curso personal branding profesores
Manuel de la Villa
 
Herramientas web 2.0 Parte 1
Herramientas web 2.0 Parte 1Herramientas web 2.0 Parte 1
Herramientas web 2.0 Parte 1
Manuel de la Villa
 
MVilla IUI 2012 Lisbon
MVilla IUI 2012 LisbonMVilla IUI 2012 Lisbon
MVilla IUI 2012 Lisbon
Manuel de la Villa
 
Experiences on integrating explicit knowledge on information access tools in ...
Experiences on integrating explicit knowledge on information access tools in ...Experiences on integrating explicit knowledge on information access tools in ...
Experiences on integrating explicit knowledge on information access tools in ...
Manuel de la Villa
 
A Biomedical Information Retrieval System based on Clustering for Mobile Dev...
A Biomedical Information Retrieval System  based on Clustering for Mobile Dev...A Biomedical Information Retrieval System  based on Clustering for Mobile Dev...
A Biomedical Information Retrieval System based on Clustering for Mobile Dev...Manuel de la Villa
 
Deconstructing freebase
Deconstructing freebaseDeconstructing freebase
Deconstructing freebase
Manuel de la Villa
 
A critical and comparative study about ISO 9001, CMMI and ISO 15504
A critical and comparative study about  ISO 9001, CMMI and ISO 15504A critical and comparative study about  ISO 9001, CMMI and ISO 15504
A critical and comparative study about ISO 9001, CMMI and ISO 15504
Manuel de la Villa
 

Más de Manuel de la Villa (17)

Presentación TFG Informes de Alta Automáticos
Presentación TFG Informes de Alta AutomáticosPresentación TFG Informes de Alta Automáticos
Presentación TFG Informes de Alta Automáticos
 
Presentación programa Social Media UHU
Presentación programa Social Media UHUPresentación programa Social Media UHU
Presentación programa Social Media UHU
 
Marca personal para community managers
Marca personal para community managersMarca personal para community managers
Marca personal para community managers
 
Taller Facebook #SMUHU parte 2
Taller Facebook #SMUHU parte 2Taller Facebook #SMUHU parte 2
Taller Facebook #SMUHU parte 2
 
Taller Facebook #SMUHU parte 1
Taller Facebook #SMUHU parte 1Taller Facebook #SMUHU parte 1
Taller Facebook #SMUHU parte 1
 
Personal branding
Personal brandingPersonal branding
Personal branding
 
Taller de Presentaciones efectivas
Taller de Presentaciones efectivasTaller de Presentaciones efectivas
Taller de Presentaciones efectivas
 
Presentacion Grado en Ingeniería Informática UHU
Presentacion Grado en Ingeniería Informática UHUPresentacion Grado en Ingeniería Informática UHU
Presentacion Grado en Ingeniería Informática UHU
 
Curso personal branding profesores
Curso personal branding profesoresCurso personal branding profesores
Curso personal branding profesores
 
Herramientas web 2.0 parte 2
Herramientas web 2.0 parte 2Herramientas web 2.0 parte 2
Herramientas web 2.0 parte 2
 
Herramientas web 2.0 Parte 1
Herramientas web 2.0 Parte 1Herramientas web 2.0 Parte 1
Herramientas web 2.0 Parte 1
 
MVilla IUI 2012 Lisbon
MVilla IUI 2012 LisbonMVilla IUI 2012 Lisbon
MVilla IUI 2012 Lisbon
 
Experiences on integrating explicit knowledge on information access tools in ...
Experiences on integrating explicit knowledge on information access tools in ...Experiences on integrating explicit knowledge on information access tools in ...
Experiences on integrating explicit knowledge on information access tools in ...
 
A Biomedical Information Retrieval System based on Clustering for Mobile Dev...
A Biomedical Information Retrieval System  based on Clustering for Mobile Dev...A Biomedical Information Retrieval System  based on Clustering for Mobile Dev...
A Biomedical Information Retrieval System based on Clustering for Mobile Dev...
 
Deconstructing freebase
Deconstructing freebaseDeconstructing freebase
Deconstructing freebase
 
A critical and comparative study about ISO 9001, CMMI and ISO 15504
A critical and comparative study about  ISO 9001, CMMI and ISO 15504A critical and comparative study about  ISO 9001, CMMI and ISO 15504
A critical and comparative study about ISO 9001, CMMI and ISO 15504
 
Tesina08
Tesina08Tesina08
Tesina08
 

Último

FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIAFUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
ElenaGallardoPals
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
almitamtz00
 
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptxEVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
Victor Elizalde P
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
Alejandrino Halire Ccahuana
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
Armando920824
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
ssusera6697f
 
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
valerytorresmendizab
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
Joan Ribes Gallén
 
Biografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptxBiografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptx
ar5498718
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Juan Martín Martín
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
100078171
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
Claude LaCombe
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
https://gramadal.wordpress.com/
 
teorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptxteorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptx
ElzebirQuiroga
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Demetrio Ccesa Rayme
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 

Último (20)

FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIAFUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
 
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptxEVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
EVALUACION ESTUDIANTIL 2023-2024 Ecuador - Costa.pptx
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
 
Planificación Ejemplo con la metodología TPACK
Planificación Ejemplo con la metodología  TPACKPlanificación Ejemplo con la metodología  TPACK
Planificación Ejemplo con la metodología TPACK
 
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
665033394-TODAS-LAS-SANGRES-resumen-Por-Capitulos.pdf
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
 
Biografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptxBiografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptx
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
 
teorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptxteorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptx
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 

Mantenimiento del software

  • 2. El reto del mantenimiento • Las tareas de mantenimiento comienzan casi cuando se entrega el software – En pocos días o semanas después de liberar el software a los usuarios finales, podemos tener un listado de errores y/o peticiones de ajuste (incluso nuevos mejoras) • Con el tiempo, la organización puede darse cuenta de que emplea más tiempo y dinero en ajustar el software existente que en hacerlo de nuevo Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
  • 3. ¿Por qué ocurre? Movilidad del personal Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
  • 4. Tipos de mantenimiento • Estas definiciones pueden cambiar, según la fuente
  • 5. Tipos de mantenimiento • Mantenimiento correctivo: aquel que corrige los defectos observados en los equipamientos o instalaciones. Es la forma más básica de mantenimiento y consiste en localizar averías o defectos y corregirlos o repararlos. – Ejemplo: Las actualizaciones que el SO hace para disminuir las vulnerabilidades
  • 6. Tipos de mantenimiento • Mantenimiento adaptativo: modificación del producto software que se realiza tras su distribución con el fin de adaptarlo a los cambios – Ligado a los cambios en el SO, al tipo de arquitectura donde se ejecuta, o al entorno de desarrollo. • Cambios de para migrar de un SO a otro • Cambio en la versión de la máquina virtual de Java • Cambio en la versión del SO • Cambio en el entorno de desarrollo de aplicaciones web: versión de PHP, etc. • Mantenimiento evolutivo: Actualizaciones de las aplicaciones con el fin de mejorar la utilidad de las mismas
  • 7. Tipos de mantenimiento • Mantenimiento preventivo: revisión constante del software con el fin de detectar posibles problemas que puedan surgir en el futuro.
  • 8. Tipos de mantenimiento • Mantenimiento perfectivo: perfeccionamiento y mejora de la calidad del software
  • 10. Reingeniería • Se produce dos niveles distintos de abstracción. – En el nivel de negocios, la reingeniería se concentra en el proceso de negocios con la intención de efectuar cambios que mejoren la competitividad en algún aspecto de los negocios. – En el nivel del software, la reingeniería examina los sistemas y aplicaciones de información con la intención de reestructurarlos o reconstruirlos de tal modo que muestren una mayor calidad. Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
  • 11. Reingeniería del Software Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
  • 12. Reingeniería del Software • Análisis de inventarios: Ordenar las aplicaciones activas por tamaño, antigüedad, utilidad, importancia – determinar el criterio – para elegir aquellas más susceptibles de ser objeto de procesos de reingeniería. Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
  • 13. Reingeniería del Software Reestructuración de documentos: La documentación pobre es una característica de muchos sistemas heredados • Vivir con lo que tenemos y no generar más (porque consume tiempo) • Documentar sólo las aplicaciones objeto de cambios • Documentar el sistema por completo
  • 14. Reingeniería del Software • Ingeniería inversa. Es un proceso de recuperación de diseño. • Reestructuración del código. Analizar el código existente, se buscan fallos, se reestructura (e incluso se reescribe en un lenguaje de programación más moderno), se revisa, se prueba y se documenta. Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
  • 15. Reingeniería del Software • Reestructuración de los datos – Comienza como una actividad de ingeniería inversa – Se revisa la calidad de las estructuras de datos existentes – Los cambios en los datos van a implicar cambios en el código, casi irremediablemente Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
  • 16. Reingeniería del Software • Ingeniería hacia adelante – Volver a crear la aplicación existente
  • 17. • Proceso de construir especificaciones de un mayor nivel de abstracción partiendo del código fuente de un sistema software o cualquier otro producto • El objetivo de la ingeniería inversa es obtener información o un diseño a partir de un producto, con el fin de determinar de qué está hecho, qué lo hace funcionar y cómo fue fabricado • Se aplica en distintos niveles de abstracción Ingeniería inversa
  • 18. • En algunos casos, la primera actividad de la ingeniería inversa es obtener los diagramas de clase UML • Se sigue con la construcción del modelo de datos • Hay herramientas que pueden ayudar a generar de forma automática, los diagramas y modelos necesarios para aplicar ingeniería inversa a partir del código fuente Ingeniería inversa
  • 19.
  • 21. • Modificación el software para hacerlo más fácil de entender y cambiar o menos susceptible de incluir errores en cambios posteriores • Lecagy code (código heredado). Problemas: – Desarrollado con tecnologías y técnicas anticuadas – Casi no hay documentación – Quizá los autores ya no trabajan en la empresa – El sistema no tiene por qué estar bien diseñado ni programado, ni haber seguido un proceso de ingeniería Reestructuración del código Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
  • 22. • Get/Set – Hay un atributo público en una clase – Solución: hacer el atributo privado y proporcionar métodos de acceso al mismo (get/set) • Renombar métodos: – double calcRngMaxPer() {.... } – double calcularRangoMaximoPermitido() {.... } • Detectar código replicado Reestructuración del código
  • 23. - Uso de constantes: class CalculoSimple { public static double CalcularCincunferencia (double diametro) { return 3.14 * diametro; } } class CalculoSimple { public final double PI = 3.14; public static double CalcularCincunferencia ( double diametro) { return PI * diametro; } } Reestructuración del código
  • 24. • A veces la reestructuración se debe dar a nivel de diagrama Reestructuración del código
  • 28. • Para arquitecturas cliente/servidor – La funcionalidad de la aplicación migra a cada computadora cliente – Se implementan nuevas interfaces gráficas en los clientes – La funcionalidad de la base de datos se pasa al servidor – La funcionalidad especializada puede quedarse en el servidor – Se establecen nuevos requisitos de seguridad, comunicación y control entre los sitios clientes y el servidor Ingeniería hacia adelante Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman
  • 29. • Para arquitecturas orientadas a objetos – En algunos casos es mejor dejar las aplicaciones creadas con métodos convencionales como están. – Se usa ingeniería inversa para obtener los modelos de diseño de datos, de funciones y comportamientos. Ingeniería hacia adelante Fuente: Ingeniería del Software. Un enfoque Práctico. R.S. Pressman