Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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