Está en la página 1de 3

la evoluvion de los sistemas de software suele considerarse en terminos

de los tipos de cambios que se llevan a cabo

En la practica, los cambios de software se dividen en tres clases:


Correcciones. En los errores de programacion de diseno. de arquitectura y
errores en los requerimientos
Mejores. En el rendimiento, la facilidad de uso la facilidad de
mantenimiento, ect.
Incrementos. En las caracteristicas o funciones que son visibles a los
usuarios del sistema

La principal motivacion de la eolucion es la adaptacion y las tres clases son


limitadas y no consideran los origenes importantes de la evolucion que
afecta a como evolucionan los sistemas

Para que un software este bien hecho, se necesita: Dominio, Experiencia y Proceso

Dominio:
En la construccion y evolucion de los sistemas de software existen una serue de
dominios que son pertinentes:
El mundo real y su modoelo
El mundo real es de importancia fundamental en cualquier sistema de
software, pues es el punto de origen del sistema
Los primeros intentos de introducir sistemas de software especificos
son por lo general aquellos que imitan lo que ya existe en el mundo real
Esta imitacion es el punto inicial a partir del cual el sistema
evoluciona

En el mundo real de la aplicacion hay objetos y procesos, por lo tanto


hay un gran numero de observaciones
El modelo es un abstraccion del mundo real y un sobconjunto de las
observaciones del mundo son la base para el modelo
Para crear un modelo razonable algunos objetos seran cuello de botella
mas adelante y haran que el modelo cambie y, dado que estos cambios son acumulables
el modelo crecera
El modela y la especificacion
Teorias y algoritmos
-Cuando se crea unsoftware (reificacion) se suelen utilizar teorias, ya
sea por el dominio del mundo real o por el de la arquitectura y diseno utilizados
en la especificacion
-Algunas teorias son estables, es decir, han alcanzado el punto en el
que son bien entendidas y definidas.
-Los algoritmos utilizados e el sustema estan vinculados a las teorias
y algunos son estables.
-En algunos casos hay dominios dificiles y se utilizan algoritmos que
logren la mejor aproximacion, mas no necesariamente una unica solucion.
Estos elementos interactuan unos con otros y cada uno evoluciona, afectando la
evolucion del software.

Experiencia:
La mayor parte de la abstraccion y el proceso de reificacion dependen en parte de
la logica; el resto depende del citerio
El buen criterio se adquiere con la experiencia, la cual a su vez se puede adquirir
por:
Retroalimentacion
-La retroalimentacion es el principal resultado de introducir el
sistema en el mundo real. Las formas de retroalimentacion pueden ser: internas,
externas, planeadas y no planeadas
-Muchas retroalimentaciones no planeadas se consiguen a traves de los
que modelan, los que definen las especificaciones y los que desarrollan
el sistema
-En muchos puntos de transformacion y validacion desl sistema hay
caminos planeados de retroalimentacion y comunicacion entre grupos de trabajo
-Antes de que el sistema sea entregado se debe planear un ciclo de
retroalimentacion con un numero limitado de usuarios
-Existen pruebas alfa y beta, limitadas a "usuarios amigables" para
optimizar las retroalimentaciones utiles
*alfa: Aquellas cuyo objetivo es eliminar tantos problemas como
sea posible por medio de una pequena muestra de usuarios
*beta: Aquellas cuyo objetico es eliminar un conjunto mucho menor
de problemas que, normalmente, requieren un conjunto mucho mayor de usuarios
para ser encontrados
-Una vez terminadas estas pruebas, el sistema se pone a disposicion de
todos los usuarios
-La retroalimentacion es uno de los principales recursos para
correcciones, mejoras e incrementos del sistema
Experimentacion
-La experimentacion busca proporcionar informacion centrandose en
aspectos especificos ya sean del sistema o proceso
-Se dividen en tres clases
*Cientificos: Experimentos bien disenados que tienen un conjunto
especifico de hipotesis para probar y variables a controlar
*Estadisticos: Un conjunto de daos sobre el que se hacen
suposiciones que son luego evaluadas con analisis estadistico. Se experimenta con
ideas realizando experimentos conceptuales
*De ingenieria: Se construye algo para comprobar su utilidad o si
posee una propiedad deseada. A este proceso se le conoce como creacion
de prototipos
-El objetivo de la experimentacion es la creacion de informacion para
mejorar la comprension y el buen criterio
Entendimiento
-El conosimiento no tiene valor sin el entendimiento. Si el
conocimiento aumenta, el entendimiento evoluciona
-La vase para tener un buen criterio es la combinacion de la
experiencia y entendimiento
-Las suposiciones y decisioness para contruccion y evolucion del
software surgen del buen criterio
-La evolucion del entendimiento y del buen criterio son una fuente de
la evolucion de los sistemas y procesos de software
Proceso:
Se compone de tres elementos interrelacionados que actuan entre si:
Metodos que encuelven el conocimiento de la teoria y la experiencia
Tecnologias que proporcionan la automatizacion de las diversas partes de los
procesos
Organizaciones que limitan, apoyan u obstaculizan los procesos eficaces.
En la realidad es dificil separar la cultura organizacional (practicas) de los
metodos. La tecnologia es mas facil de separar aunque lo que se hace manualmente
en una organizacion puede ser automatizado en otra
Metodos
-Los metodos tienen su base e la experiencia. Las cosas se aprenden
tanto de hacerlas mal como de hacerlas correctamente
-Algunos metodos son el resultado de inquietudes teoricas
-Los metodos evolucionan, no solo como resultado de la experiencia y de
las consideraciones teoricas, sino tambien por la tecnologiia y las organizaciones
-En cualquier caso, su evolucion afecta la evolucion del software.
Tecnologia
-Las herramientas utilizadas en la implementacion del software
incorporan parte del proceso, por lo tanto ocaciona algunos problemas e inhibe
otros
-Es importante que las herramientas y la tecnologia sean congruentes
con los procesos prescritos
-Las nuevas herramientas y cambios en el entorno causan cambios en los
procesos utilizados en la evolucion del software, por lo tanto pueden
afectar su evolucion.
Organizacion
-Las organizacion establecen la estructura y la cultura dentro de la
cual se ejecutan los procesos y el software evoluciona, teniendo preferencia
hacia ciertos procesos y modos de trabajo
-La cultura organizacional tambien evoluciona aunque de manera mas
lenta y afecta la forma en que el software evoluciona.
-Las organizaciones no solo establecen una estructura general, sino
tambien la estructura de los proyectos, la estructura de los procesos
y por lo tanto la estructura de los productos
-A medida que un sistema crece y se queda unactivo ya no podra
adaptarse a las necesidades de la organiacion y morira
-El cais organizacional tiene efectos negativos sobre la evolucion del
software

También podría gustarte