SlideShare una empresa de Scribd logo
Pruebas y Mantenimiento del software
Docente: MC Ricardo Rodríguez Nieves
Grupo: DS-DPSS-1801-B1-001
Uriel Edmundo Plata Hernández
ES1410905340
Actividad 2. Procesos de evolución del software
Categorías de software según Lehman y Belady
 Programa S: Aquellos programas estáticos que se desarrollan exactamente según las especificaciones, y su evolución
mayormente permanece estática. Ejemplo: El software embebido que se encuentra dentro de la mayoría de los aparatos
electrónicos. Como por ejemplo el software desarrollado para controlar las funciones de cierta maquina investigadora o
recolectora de información para un dispositivo determinado; por ejemplo una estación recolectora de datos meteorológicos.
 Programa P. Aquellos que no pueden ser especificados completamente pero implementan ciertos procedimientos que
determinan lo que el programa va a hacer . Ejemplo: Un programa para jugar al ajedrez, no se puede especificar una estrategia
única a seguir para el juego, pero si se puede implementar procedimientos para determinar que movimiento siguiente seria el
mas apto para que la maquina lo ejecutase, basándose en la situación y movimientos actuales del juego.
 Programa E: Aquellos que se encuentran ya trabajando en el mundo real y se encuentran en constante cambio. Ejemplo:
Cualquier tipo de aplicación web, por ejemplo una aplicación web para la venta de boletos para eventos, de forma online. O
algún software de tipo ERP o CRM.
Meir Lehman
Etapas de evolución del software
 Alfa. En esta etapa se encuentran aquellos programas que se acaban de ser desarrollados y
se encuentran en su versión inicial. En esta etapa se encontraron ya algunas faltas,
cambios o mejoras para comenzar a trabajar ya en una segunda versión en el futuro.
 Evolución: En esta etapa se encuentran los programas ya en funcionamiento en su entorno
final. Aquí se detectan cambios, adaptaciones o funcionalidades emergentes, debido a que
las necesidades de los usuarios finales han cambiado o evolucionado o el sistema se tiene
que adaptar a los cambios ocurridos en su entorno, como nuevo hardware, legislación, etc.
 Salida: Aquí se encuentran todos los programas que ya no son adaptables o ya no hay
soporte técnico para ellos. Por motivos de incompatibilidad de nuevos elementos o costos
de mantenimiento demasiado desproporcional en razón coste-beneficio.
Reingeniería de sistemas
 Modificación de un producto de software utilizando técnicas de ingeniería inversa, con el fin de desarrollar un producto con mayores
niveles de facilidad en cuanto a mantenimiento, reutilización, comprensión o evaluación.
 Ejemplo: Existe una empresa distribuidora que cuando se encontraba en vías de crecimiento adquirió una pequeña aplicación web para
el manejo de la gestión con los clientes, desarrollada esta ultima por un ingeniero contratado para ello. En ese momento la empresa
contaba con menos de 50 empleados. Ahora la empresa cuenta con alrededor de 200 empleados. Al software nunca se le dio
mantenimiento, pues se considero por los directivos un gasto no soportable. Debido al incremento y cambios en el entorno, se necesita
mejorar dicha aplicación web, para agregar funcionalidades, adaptarla al nuevo entorno y mejorar su arquitectura. Motivo por el cual
la distribuidora ha contratado una empresa de desarrollo de software, la cual al no contar con la documentación y conocimiento
completo, deberá aplicar una reingeniería de sistemas para mejorar la app, en una versión completamente mejorada y actualizada.
Con la aplicación de un proceso inverso de ingeniería se han reutilizado y completado los módulos de las funcionalidades para generar
la documentación, arquitectura, pruebas y planes de mantenimiento necesario que sustenten la mejora en calidad, eficiencia,
seguridad y mantenimiento del nuevo software.
Tipos de cambio
 Mejora de funciones existentes: Un ejemplo de este tipo de cambio seria en los sistemas de e-
commerce, el aceptar nuevas modalidades de pago online. Por ejemplo si una tienda online recibe
pagos a través de tarjetas de crédito, ahora podría recibir también pagos por paypal.
 Mejora de interfaz: Un ejemplo practico podría ser el mantenimiento adaptativo de una
aplicación web cuya interfaz esta basada en un diseño particular, para seguir ahora el nuevo
enfoque de diseño de material design.
 Tiempo limite excedido: En un programa que tarda demasiado en desplegar los archivos u
resultados solicitados, se podría realizar un mantenimiento perfectivo, para restructurar el
proceso lógico dentro del código y maximizar la velocidad de visualización.
 Salida incompleta o perdida: En un programa capaz de generar reportes PDF, se puede dar el caso
la información de salida no fuese extraída de la BD y arrojada en su totalidad en el reporte. Esto
provocaría un reporte generado de forma incompleta. Hay que corregir esto por medio de un
mantenimiento correctivo.
Conclusiones
 Debido a la enorme numero de necesidades emergente y entorno de constante cambio,
considero que la evolución del software es y será todavía por mucho tiempo uno de los
puntos mas importantes de estudio de la crisis del software, esto ya que se requiere la
investigación y aplicación de nuevas metodologías para atender el mismo, que puedan
promover una adaptación al cambio mas armoniosa y económica. La evolución del
software nos hace darnos cuenta de la enorme importancia que tiene la etapa de
mantenimiento en el ciclo de vida del desarrollo de software. Esto hace preguntarnos
por ejemplo si las Leyes de Lehman pueden en verdad seguir siendo aplicadas al
software que el mundo requiere en este siglo XXI. Hay que considerar que dichas Leyes
vienen de una época donde aun no existía la WWW ni mucho menos la interacción
masiva online que existe hoy dentro de la misma. El software para la web quizás
encontraría ciertas dificultades para aplicar las mismas en sus productos, un problema
que la ingeniería web ha heredado de la ingeniería de software.
Bibliografía
 “Mantenimiento de software” Pruebas y mantenimiento de software.
Ingeniería en Desarrollo de Software. UnADM, Sitio Oficial. Sin fecha
(Consultado el 1 de marzo de 2018) <<
https://unadmexico.blackboard.com/bbcswebdav/institution/DCEIT/2016_S2
_B1/DS/08/DPSS/U2/Unidad_2_Pruebas_de_sistemas_de_software_.pdf >>
 Somerville “Ingeniería de software” Novena Edición. Pearson Educación.
México 2014.

Más contenido relacionado

La actualidad más candente

8.1.- IPO. Estilos y paradigmas de interacción
8.1.- IPO. Estilos y paradigmas de interacción8.1.- IPO. Estilos y paradigmas de interacción
8.1.- IPO. Estilos y paradigmas de interacciónDCU_MPIUA
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de softwareGuillermo Lemus
 
Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmiSandrea Rodriguez
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrolloitsarellano
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
Metodologia incremental
Metodologia incrementalMetodologia incremental
Metodologia incrementalAnel Sosa
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de softwarejhonatanalex
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosnenyta08
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de softwareGeorgy Jose Sanchez
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHPerozoAlejandro
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareLorena Quiñónez
 
Ensayo Analisis y Diseño de Sistemas
Ensayo Analisis y Diseño de Sistemas Ensayo Analisis y Diseño de Sistemas
Ensayo Analisis y Diseño de Sistemas malejandro08
 
Arquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesArquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesSergio Castillo Yrizales
 
Mapa conceptual Ingeniería de Requisitos
Mapa conceptual Ingeniería de RequisitosMapa conceptual Ingeniería de Requisitos
Mapa conceptual Ingeniería de Requisitosinmacu_
 

La actualidad más candente (20)

8.1.- IPO. Estilos y paradigmas de interacción
8.1.- IPO. Estilos y paradigmas de interacción8.1.- IPO. Estilos y paradigmas de interacción
8.1.- IPO. Estilos y paradigmas de interacción
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Mitos de-software.
Mitos de-software.Mitos de-software.
Mitos de-software.
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Ventajas y desventajas de cmmi
Ventajas y desventajas de cmmiVentajas y desventajas de cmmi
Ventajas y desventajas de cmmi
 
La Ingeniería Web
La Ingeniería WebLa Ingeniería Web
La Ingeniería Web
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Metodologia incremental
Metodologia incrementalMetodologia incremental
Metodologia incremental
 
Ingeniería Web
Ingeniería WebIngeniería Web
Ingeniería Web
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de software
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientos
 
Planificacion de proyecto de software
Planificacion de proyecto de softwarePlanificacion de proyecto de software
Planificacion de proyecto de software
 
8.realizacion de pruebas
8.realizacion de pruebas8.realizacion de pruebas
8.realizacion de pruebas
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
PLAN SQA
PLAN SQAPLAN SQA
PLAN SQA
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de software
 
Ensayo Analisis y Diseño de Sistemas
Ensayo Analisis y Diseño de Sistemas Ensayo Analisis y Diseño de Sistemas
Ensayo Analisis y Diseño de Sistemas
 
Arquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesArquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móviles
 
Mapa conceptual Ingeniería de Requisitos
Mapa conceptual Ingeniería de RequisitosMapa conceptual Ingeniería de Requisitos
Mapa conceptual Ingeniería de Requisitos
 

Similar a Procesos de evolución del software

Desarrollode software (1)
Desarrollode software (1)Desarrollode software (1)
Desarrollode software (1)turlahackers
 
TECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptxTECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptxNestorBenitez22
 
Proceso de desarrollo de si
Proceso de desarrollo de siProceso de desarrollo de si
Proceso de desarrollo de siDidier Alexander
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software'Jorge Martinez
 
Procesos de Evolución del Software
Procesos de Evolución del SoftwareProcesos de Evolución del Software
Procesos de Evolución del SoftwareAbelardo Paniagua
 
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 SoftwareUniversidad De Cordoba
 
PROCESO DE DESARROLLO DE SOFTWARE.pptx
PROCESO DE DESARROLLO DE SOFTWARE.pptxPROCESO DE DESARROLLO DE SOFTWARE.pptx
PROCESO DE DESARROLLO DE SOFTWARE.pptxjuan gonzalez
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruizjhonatanalex
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanjhonatanalex
 
Teoria de sistema Venta y reparacion de equipos
Teoria de sistema Venta y reparacion de equipos  Teoria de sistema Venta y reparacion de equipos
Teoria de sistema Venta y reparacion de equipos samuel velasquez
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de softwaresairarcf
 
Reingenieria
ReingenieriaReingenieria
ReingenieriaAnel Sosa
 

Similar a Procesos de evolución del software (20)

Dpss u3 a2_wipl
Dpss u3 a2_wiplDpss u3 a2_wipl
Dpss u3 a2_wipl
 
Desarrollode software (1)
Desarrollode software (1)Desarrollode software (1)
Desarrollode software (1)
 
Proyecto de reingenieria de software
Proyecto de reingenieria  de softwareProyecto de reingenieria  de software
Proyecto de reingenieria de software
 
Dpss u3 a2_macm
Dpss u3 a2_macmDpss u3 a2_macm
Dpss u3 a2_macm
 
TECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptxTECNICAS DE MANTENIMIENTO DE SW.pptx
TECNICAS DE MANTENIMIENTO DE SW.pptx
 
Proceso de desarrollo de si
Proceso de desarrollo de siProceso de desarrollo de si
Proceso de desarrollo de si
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
Procesos de Evolución del Software
Procesos de Evolución del SoftwareProcesos de Evolución del Software
Procesos de Evolución del Software
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
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
 
Proyecto de reingenieria
Proyecto de reingenieriaProyecto de reingenieria
Proyecto de reingenieria
 
PROCESO DE DESARROLLO DE SOFTWARE.pptx
PROCESO DE DESARROLLO DE SOFTWARE.pptxPROCESO DE DESARROLLO DE SOFTWARE.pptx
PROCESO DE DESARROLLO DE SOFTWARE.pptx
 
Actividad2u3
Actividad2u3Actividad2u3
Actividad2u3
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
Teoria de sistema Venta y reparacion de equipos
Teoria de sistema Venta y reparacion de equipos  Teoria de sistema Venta y reparacion de equipos
Teoria de sistema Venta y reparacion de equipos
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Reingenieria
ReingenieriaReingenieria
Reingenieria
 
Analiss de sistemas
Analiss de sistemasAnaliss de sistemas
Analiss de sistemas
 
Analiss de sistemas
Analiss de sistemasAnaliss de sistemas
Analiss de sistemas
 

Último

FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORDRobertSotilLujn
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleEcaresoft Inc.
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equiponicromante2000
 
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisiónPSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisiónCamilaEspinozaCruz
 
MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.CarmenFlores88207
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxlasocharfuelan123
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...cuentauniversidad34
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareoscartorres960914
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesjuanorejuela499
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfjuanjosebarreiro704
 

Último (11)

FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisiónPSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
 
MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 

Procesos de evolución del software

  • 1. Pruebas y Mantenimiento del software Docente: MC Ricardo Rodríguez Nieves Grupo: DS-DPSS-1801-B1-001 Uriel Edmundo Plata Hernández ES1410905340 Actividad 2. Procesos de evolución del software
  • 2. Categorías de software según Lehman y Belady  Programa S: Aquellos programas estáticos que se desarrollan exactamente según las especificaciones, y su evolución mayormente permanece estática. Ejemplo: El software embebido que se encuentra dentro de la mayoría de los aparatos electrónicos. Como por ejemplo el software desarrollado para controlar las funciones de cierta maquina investigadora o recolectora de información para un dispositivo determinado; por ejemplo una estación recolectora de datos meteorológicos.  Programa P. Aquellos que no pueden ser especificados completamente pero implementan ciertos procedimientos que determinan lo que el programa va a hacer . Ejemplo: Un programa para jugar al ajedrez, no se puede especificar una estrategia única a seguir para el juego, pero si se puede implementar procedimientos para determinar que movimiento siguiente seria el mas apto para que la maquina lo ejecutase, basándose en la situación y movimientos actuales del juego.  Programa E: Aquellos que se encuentran ya trabajando en el mundo real y se encuentran en constante cambio. Ejemplo: Cualquier tipo de aplicación web, por ejemplo una aplicación web para la venta de boletos para eventos, de forma online. O algún software de tipo ERP o CRM. Meir Lehman
  • 3. Etapas de evolución del software  Alfa. En esta etapa se encuentran aquellos programas que se acaban de ser desarrollados y se encuentran en su versión inicial. En esta etapa se encontraron ya algunas faltas, cambios o mejoras para comenzar a trabajar ya en una segunda versión en el futuro.  Evolución: En esta etapa se encuentran los programas ya en funcionamiento en su entorno final. Aquí se detectan cambios, adaptaciones o funcionalidades emergentes, debido a que las necesidades de los usuarios finales han cambiado o evolucionado o el sistema se tiene que adaptar a los cambios ocurridos en su entorno, como nuevo hardware, legislación, etc.  Salida: Aquí se encuentran todos los programas que ya no son adaptables o ya no hay soporte técnico para ellos. Por motivos de incompatibilidad de nuevos elementos o costos de mantenimiento demasiado desproporcional en razón coste-beneficio.
  • 4. Reingeniería de sistemas  Modificación de un producto de software utilizando técnicas de ingeniería inversa, con el fin de desarrollar un producto con mayores niveles de facilidad en cuanto a mantenimiento, reutilización, comprensión o evaluación.  Ejemplo: Existe una empresa distribuidora que cuando se encontraba en vías de crecimiento adquirió una pequeña aplicación web para el manejo de la gestión con los clientes, desarrollada esta ultima por un ingeniero contratado para ello. En ese momento la empresa contaba con menos de 50 empleados. Ahora la empresa cuenta con alrededor de 200 empleados. Al software nunca se le dio mantenimiento, pues se considero por los directivos un gasto no soportable. Debido al incremento y cambios en el entorno, se necesita mejorar dicha aplicación web, para agregar funcionalidades, adaptarla al nuevo entorno y mejorar su arquitectura. Motivo por el cual la distribuidora ha contratado una empresa de desarrollo de software, la cual al no contar con la documentación y conocimiento completo, deberá aplicar una reingeniería de sistemas para mejorar la app, en una versión completamente mejorada y actualizada. Con la aplicación de un proceso inverso de ingeniería se han reutilizado y completado los módulos de las funcionalidades para generar la documentación, arquitectura, pruebas y planes de mantenimiento necesario que sustenten la mejora en calidad, eficiencia, seguridad y mantenimiento del nuevo software.
  • 5. Tipos de cambio  Mejora de funciones existentes: Un ejemplo de este tipo de cambio seria en los sistemas de e- commerce, el aceptar nuevas modalidades de pago online. Por ejemplo si una tienda online recibe pagos a través de tarjetas de crédito, ahora podría recibir también pagos por paypal.  Mejora de interfaz: Un ejemplo practico podría ser el mantenimiento adaptativo de una aplicación web cuya interfaz esta basada en un diseño particular, para seguir ahora el nuevo enfoque de diseño de material design.  Tiempo limite excedido: En un programa que tarda demasiado en desplegar los archivos u resultados solicitados, se podría realizar un mantenimiento perfectivo, para restructurar el proceso lógico dentro del código y maximizar la velocidad de visualización.  Salida incompleta o perdida: En un programa capaz de generar reportes PDF, se puede dar el caso la información de salida no fuese extraída de la BD y arrojada en su totalidad en el reporte. Esto provocaría un reporte generado de forma incompleta. Hay que corregir esto por medio de un mantenimiento correctivo.
  • 6. Conclusiones  Debido a la enorme numero de necesidades emergente y entorno de constante cambio, considero que la evolución del software es y será todavía por mucho tiempo uno de los puntos mas importantes de estudio de la crisis del software, esto ya que se requiere la investigación y aplicación de nuevas metodologías para atender el mismo, que puedan promover una adaptación al cambio mas armoniosa y económica. La evolución del software nos hace darnos cuenta de la enorme importancia que tiene la etapa de mantenimiento en el ciclo de vida del desarrollo de software. Esto hace preguntarnos por ejemplo si las Leyes de Lehman pueden en verdad seguir siendo aplicadas al software que el mundo requiere en este siglo XXI. Hay que considerar que dichas Leyes vienen de una época donde aun no existía la WWW ni mucho menos la interacción masiva online que existe hoy dentro de la misma. El software para la web quizás encontraría ciertas dificultades para aplicar las mismas en sus productos, un problema que la ingeniería web ha heredado de la ingeniería de software.
  • 7. Bibliografía  “Mantenimiento de software” Pruebas y mantenimiento de software. Ingeniería en Desarrollo de Software. UnADM, Sitio Oficial. Sin fecha (Consultado el 1 de marzo de 2018) << https://unadmexico.blackboard.com/bbcswebdav/institution/DCEIT/2016_S2 _B1/DS/08/DPSS/U2/Unidad_2_Pruebas_de_sistemas_de_software_.pdf >>  Somerville “Ingeniería de software” Novena Edición. Pearson Educación. México 2014.