martes, 24 de marzo de 2009

Técnicas de Descomposición

Las estimaciones se hacen sobre cada componente en que se descompone el software o sobre tareas de bajo nivel en que se descomponen las tareas.
Las estimaciones de bajo nivel se combinan para producir una estimación del proyecto completo. Es decir, el coste total del proyecto es el resultado de sumar las estimaciones de todos los componentes en los que se ha dividido el proyecto.
Cuando se trata con problemas de gran tamaño que no pueden ser resueltos en los equipos informáticos disponibles, suele recurrirse a técnicas de descomposición, que permiten fragmentar el problema y coordinar la resolución de los subproblemas para alcanzar la solución del problema completo. En este sentido, las técnicas de descomposición se pueden ver como estrategias de partición del grafo que representa el árbol de escenarios y de resolución coordinada de los fragmentos del grafo. Este proceso de resolución es de naturaleza iterativa y amplía el tiempo de solución total, por lo que debe ser evitado siempre que sea posible la resolución directa. En el caso de los problemas de optimización estocástica, el empleo de técnicas de descomposición permite la consideración de gran cantidad de escenarios o de problemas con un mayor nivel de detalle en el modelado.
La estimación del proyecto completo se calcula mediante la suma de las cantidades parciales (enfoque abajo-arriba/bottom-up).

- En la estimación intervienen los responsables de cada componente y/o fase del proyecto.
- Lo más adecuado es utilizar las técnicas de descomposición estructurada (EDT/WBS, DFT/WFD).
Técnicas de descomposición:
Del proyecto (o por fases)
Del producto (o por módulos)
Del proyecto y del producto (por fases y por módulos). Es una combinación de las anteriores.
Entre las ventajas se encuentran:
La posibilidad de que el responsable del componente a estimar participe en dicha estimación.
Ayuda a analizar con detalle cada componente.
Entre los inconvenientes se encuentran:
La dificultad para contemplar los costes de actividades relacionadas con el proyecto como lectura de código, revisión, reuniones, y actividades no relacionadas con el proyecto relacionado con los hábitos de trabajo.
Estimación basada en el problema.
Puede usarse LOC o PF para hacer estimaciones.
Si se utiliza LOC, la descomposición es esencial y a menudo debe ser a detalle.
Si se utiliza PF, en vez de centrar la descomposición en la función, se calcula el PF como se estudió en el capítulo anterior, estimando de alguna forma, cada uno de los valores.
En ambos casos, mediante datos históricos o la intuición, se estiman valores optimista (O), medio (M) y pesimista (P) para cada función o contador, y se calcula el valor esperado (E) con la siguiente fórmula:
E = (O + 4 * M + P) / 6
Estimación basada en el proceso
Delimitar las funciones del software.
Identificar las tareas de ingeniería del software para cada una de las funciones y representarlas en una tabla.
Estimar el esfuerzo (número de personas/unidad de tiempo) de realización de cada tarea para cada una de las funciones del software.
Aplicar las tarifas laborales (coste/unidad de esfuerzo) correspondientes a cada una de las tareas.
Calcular los costes y el esfuerzo para cada función y cada tarea.
Existen dos técnicas principales de descomposición que pueden considerarse como duales entre sí, ya que realizan la descomposición en dos dimensiones transversales. Estas dos técnicas son la descomposición de Benders y la relajación lagrangiana, que se explican en los dos siguientes apartados.
Descomposición de Benders
La descomposición de Benders [Benders,1962], [VanSlyke,1969] propone separar en subproblemas las decisiones tomadas en diferentes etapas. Para ello se necesita que las decisiones de una etapa sólo dependan de las consecuencias de las decisiones tomadas en la etapa anterior. Con esta descomposición se plantea un problema por cada etapa, y en ese problema se incluye tanto la parte correspondiente a la propia etapa como la parte que liga esa etapa a las decisiones tomadas en la etapa anterior.
Relajación lagrangiana
El otro método de descomposición más relevante es la relajación lagrangiana [Geoffrion, 1970], En esta ocasión se intentan separar dentro de cada etapa las decisiones para grupos de variables que están relacionadas entre sí. Es decir, se pueden localizar conjuntos de variables que están muy conectadas con otras etapas, pero poco relacionadas con otras variables de la misma etapa.

Comentario:

Yo creo que esta técnica es muy util ya uqe al dividir el problema en varios segmentos podemos tenr una mejor visón de que es lo que se necesita y por lo tanto hacer una mejor estimación más cerca de la solución final.


Bibliografía
http://www.lsi.us.es/docencia/get.php?id=326
http://serdis.dis.ulpgc.es/~a013775/asignaturas/ii-is2/Apuntes/UT06.%20T%C3%A9cnicas%20de%20estimaci%C3%B3n.pdf
http://eclases.tripod.com/id15.html

http://74.125.95.132/search?q=cache:k3VNJoiNKPcJ:www.lsi.us.es/docencia/get.php%3Fid%3D326+tecnicas+de+descomposicion&cd=2&hl=es&ct=clnk&gl=mx

No hay comentarios:

Publicar un comentario