fbpx
Wikipedia

Fragilidad del software

Fragilidad del software es el término irónico que describe la dificultad incremental de arreglar software antiguo. El término es derivado de analogías al trabajo del metal.

Etapas

Debemos separar entre las distintas etapas que hacen a la vida de una aplicación , se separan en desarrollo, prueba, producción y mantenimiento.

Concepto

Cuando el software está en etapa de desarrollo o de prueba, es infinitamente maleable; puede ser formado completamente al gusto de sus implementadores. Pero tan pronto como un proyecto dado crece más y más (etapa de producción), y desarrolla una gran base de usuarios con mayor experiencia con el software, se vuelve menos y menos maleable. Como un metal que ha sido forjado, el software se vuelve un sistema heredado, frágil e incapaz de ser fácilmente cambiado sin fracturar el sistema completo.

Razones

  • Los usuarios esperan una relativamente constante interfaz de usuario; una vez que una característica ha sido implementada y expuesta a los usuarios, es muy difícil de convencerlos de aceptar cambios mayores a esa característica, incluso si esa característica no estaba bien diseñada en principio o la existencia de la misma bloquea un mayor progreso.
  • Demasiada documentación puede describir el comportamiento actual (del software) y sería costoso de cambiar. Además, es esencialmente imposible recordar todas las copias de la documentación existente así que es más probable que los usuarios se refieran de nuevo a los manuales obsoletos de todos modos.
  • Los implementadores originales (aquellos que conocían cómo las cosas realmente funcionaban o como se implementaron) pueden no recordar, o haber ido a otra empresa o lugar. Los mismos pueden haber dejado una documentación insuficiente del funcionamiento interno del software. Muchos detalles de implementaciones de tamaño pequeño solamente fueron entendidos a través de las transmisión oral directa del equipo de diseño y muchos de estos detalles se han perdido, o se han podido perder, aunque algunos pueden ser redescubiertos a través de la aplicación diligente de una arqueología de software. Sobre esto Cunningham, Hunt, Marick y Thomas explican :
A los programadores a menudo se les entrega un sistema (de software) de tamaño considerable, construido por gente que no conocen, tocado por muchas personas desde entonces, documentado mínimamente si es que lo fue. Se les dice que lo mejoren. Su tarea debería ser corregir un error, agregar una característica, o una refabricación completa. Están bajo la presión del tiempo, así que necesitan minimizar el tiempo total destinado a aprender del sistema y el tiempo gastado en mejorarlo.
  • Los parches software se han efectuado probablemente a través de los años, cambiando sutilmente el comportamiento del software. En muchos casos, estos parches corrigen el fallo por el cual fueron efectuados pero introducen otros fallos más sutiles en el sistema. Estos fallos sutiles hacen cambios subsecuentes al sistema lo que lo vuelve finalmente más complicado.

Costos

Está demostrado que la mayor incidencia en los costos de una aplicación está en su mantenimiento.

Comentarios

Es común para los sistemas de software volverse ligeramente frágiles dentro de, digamos, cinco años y casi inmantenibles dentro de quince años. Es muy raro que encontremos un proyecto de software tan bien diseñado que pueda sostenerse un período mayor siendo fácilmente mantenible. Más a menudo, la antigua base de código será simplemente abandonada y un sistema completamente nuevo será iniciado desde cero; el nuevo sistema puede estar libre de muchas de las cargas del sistema heredado.

Véase también

  •   Datos: Q3434740

fragilidad, software, término, irónico, describe, dificultad, incremental, arreglar, software, antiguo, término, derivado, analogías, trabajo, metal, Índice, etapas, concepto, razones, costos, comentarios, véase, tambiénetapas, editardebemos, separar, entre, d. Fragilidad del software es el termino ironico que describe la dificultad incremental de arreglar software antiguo El termino es derivado de analogias al trabajo del metal Indice 1 Etapas 2 Concepto 3 Razones 4 Costos 5 Comentarios 6 Vease tambienEtapas EditarDebemos separar entre las distintas etapas que hacen a la vida de una aplicacion se separan en desarrollo prueba produccion y mantenimiento Concepto EditarCuando el software esta en etapa de desarrollo o de prueba es infinitamente maleable puede ser formado completamente al gusto de sus implementadores Pero tan pronto como un proyecto dado crece mas y mas etapa de produccion y desarrolla una gran base de usuarios con mayor experiencia con el software se vuelve menos y menos maleable Como un metal que ha sido forjado el software se vuelve un sistema heredado fragil e incapaz de ser facilmente cambiado sin fracturar el sistema completo Razones EditarLos usuarios esperan una relativamente constante interfaz de usuario una vez que una caracteristica ha sido implementada y expuesta a los usuarios es muy dificil de convencerlos de aceptar cambios mayores a esa caracteristica incluso si esa caracteristica no estaba bien disenada en principio o la existencia de la misma bloquea un mayor progreso Demasiada documentacion puede describir el comportamiento actual del software y seria costoso de cambiar Ademas es esencialmente imposible recordar todas las copias de la documentacion existente asi que es mas probable que los usuarios se refieran de nuevo a los manuales obsoletos de todos modos Los implementadores originales aquellos que conocian como las cosas realmente funcionaban o como se implementaron pueden no recordar o haber ido a otra empresa o lugar Los mismos pueden haber dejado una documentacion insuficiente del funcionamiento interno del software Muchos detalles de implementaciones de tamano pequeno solamente fueron entendidos a traves de las transmision oral directa del equipo de diseno y muchos de estos detalles se han perdido o se han podido perder aunque algunos pueden ser redescubiertos a traves de la aplicacion diligente de una arqueologia de software Sobre esto Cunningham Hunt Marick y Thomas explican A los programadores a menudo se les entrega un sistema de software de tamano considerable construido por gente que no conocen tocado por muchas personas desde entonces documentado minimamente si es que lo fue Se les dice que lo mejoren Su tarea deberia ser corregir un error agregar una caracteristica o una refabricacion completa Estan bajo la presion del tiempo asi que necesitan minimizar el tiempo total destinado a aprender del sistema y el tiempo gastado en mejorarlo Cunningham Hunt Marick amp Thomas dd Los parches software se han efectuado probablemente a traves de los anos cambiando sutilmente el comportamiento del software En muchos casos estos parches corrigen el fallo por el cual fueron efectuados pero introducen otros fallos mas sutiles en el sistema Estos fallos sutiles hacen cambios subsecuentes al sistema lo que lo vuelve finalmente mas complicado Costos EditarEsta demostrado que la mayor incidencia en los costos de una aplicacion esta en su mantenimiento Comentarios EditarEs comun para los sistemas de software volverse ligeramente fragiles dentro de digamos cinco anos y casi inmantenibles dentro de quince anos Es muy raro que encontremos un proyecto de software tan bien disenado que pueda sostenerse un periodo mayor siendo facilmente mantenible Mas a menudo la antigua base de codigo sera simplemente abandonada y un sistema completamente nuevo sera iniciado desde cero el nuevo sistema puede estar libre de muchas de las cargas del sistema heredado Vease tambien EditarEdward Yourdon Fred Brooks The Mythical Man MonthCrisis del software Hediondez del codigo Entropia del software Pudricion del software Principio de Peter del software Datos Q3434740Obtenido de https es wikipedia org w index php title Fragilidad del software amp oldid 117345936, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos