SlideShare una empresa de Scribd logo
1 de 7
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

Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Darthuz Kilates
 
MODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWAREMODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWAREEdwingelviz
 
La crisis del software
La crisis del softwareLa crisis del software
La crisis del softwareOberdose
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareJahiro Bojorquez
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de softwarerogergene
 
Software Engineering - Ch4
Software Engineering - Ch4Software Engineering - Ch4
Software Engineering - Ch4Siddharth Ayer
 
Estándares y modelos de calidad del software
Estándares y modelos de calidad del softwareEstándares y modelos de calidad del software
Estándares y modelos de calidad del softwarerodigueezleidy
 
Mapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareMapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareKarloz Dz
 
EL MODELO EN CASCADA DE INGENIERIA DE SOFTWARE UEB
EL MODELO EN CASCADA DE INGENIERIA DE SOFTWARE UEBEL MODELO EN CASCADA DE INGENIERIA DE SOFTWARE UEB
EL MODELO EN CASCADA DE INGENIERIA DE SOFTWARE UEBJoffre Guzman
 
Modelado de casos de uso
Modelado de casos de usoModelado de casos de uso
Modelado de casos de usobelleta55
 
Introducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareIntroducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareSorey García
 
Team Software Process (TSP)
Team Software Process  (TSP)Team Software Process  (TSP)
Team Software Process (TSP)Diana
 

La actualidad más candente (20)

Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi
 
MODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWAREMODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWARE
 
METODOLOGIA RUP
METODOLOGIA RUPMETODOLOGIA RUP
METODOLOGIA RUP
 
La crisis del software
La crisis del softwareLa crisis del software
La crisis del software
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
software testing
software testingsoftware testing
software testing
 
Estándar CMM
Estándar CMMEstándar CMM
Estándar CMM
 
Ingeniería Web
Ingeniería WebIngeniería Web
Ingeniería Web
 
Software Engineering - Ch4
Software Engineering - Ch4Software Engineering - Ch4
Software Engineering - Ch4
 
Estándares y modelos de calidad del software
Estándares y modelos de calidad del softwareEstándares y modelos de calidad del software
Estándares y modelos de calidad del software
 
Chapter 2 software process models
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
 
Mapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareMapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de Software
 
EL MODELO EN CASCADA DE INGENIERIA DE SOFTWARE UEB
EL MODELO EN CASCADA DE INGENIERIA DE SOFTWARE UEBEL MODELO EN CASCADA DE INGENIERIA DE SOFTWARE UEB
EL MODELO EN CASCADA DE INGENIERIA DE SOFTWARE UEB
 
Modelado de casos de uso
Modelado de casos de usoModelado de casos de uso
Modelado de casos de uso
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Introducción a la Ingenieria de Software
Introducción a la Ingenieria de SoftwareIntroducción a la Ingenieria de Software
Introducción a la Ingenieria de Software
 
ingenieria del software
ingenieria del softwareingenieria del software
ingenieria del software
 
Team Software Process (TSP)
Team Software Process  (TSP)Team Software Process  (TSP)
Team Software Process (TSP)
 

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
 

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.