Desenvolvemento en uve

Coñécese como desenvolvemento en uve un enfoque metodolóxico da xestión de proxectos de software onde cada unha das fases se executa de maneira secuencial, sen saltos atrás nin modificacións, pero onde a testaxe e a revisión ten un peso moi importante. É un dos enfoques tradicionais, que nace co obxectivo de mellorar o modelo de desenvolvemento en fervenza. Concepto
O modelo de desenvolvemento en uve ou modelo en uve, é unha metodoloxía de xestión de proxectos de software, onde: cada unha das fases segue unha orde secuencial
non se comeza unha fase ata que está rematada a anterior
non se volve atrás no proceso cara a fases anteriores.
enfatízase a verificación para asegurar que a implementación se corresponde cos requirimentos
Denomínase de uve porque a representación gráfica máis habitual é un uve, onde cada unha das fases comeza a partir do produto elaborado na fase anterior, e continúa coa revisión (verificación) das fases nunha orde simétrica. Vantaxes e inconvenientes
O modelo en uve nace como mellora fronte ao desenvolvemento en fervenza, e comparte case todas as súas vantaxes e inconvenientes. Por exemplo, é bastante intuitivo e non dedica, polo menos na teoría, demasiado tempo ás fases de planificación e xestión, se ben o proceso de revisión, testaxe e validación é máis complexo e longo. Como o modelo en fervenza, permite unha orzamentación fixa, é dicir, pode facerse un cálculo previo dos recursos que vai levar o proxecto e transformar este cálculo nunha estimación económica.
Aínda que permite a revisión do traballo dunha forma máis sitemática có desenvolvemento en fervenza, tampouco é un método moi receptivo aos cambios: é relativamente pouco custosa a revisión da última fase, pero a revisión das primeiras fases (erros na análise ou nas especificacións) son moi difíciles de solventar. O modelo de dentes de serra tenta corrixir isto, precisamente. Fases típicas
As fases do desenvolvemento en uve dependen do tipo de proxecto e da composición do equipo: proxectos máis complexos ou con equipos maiores adoitan ter máis fases, detallan máis os pasos ou implican distintos departamentos ou roles, mentres que os proxectos máis simples e os equipos máis pequenos reducen e agrupan as fases. A xeito de orientación podemos presentar o seguinte modelo de fases. Loxicamente, distintos equipos denominarán estas fases con termos diferentes. Requisitos, a fase onde se reciben as necesidades do cliente
Especificación, a fase onde se describe como debe funcionar o software, a partir dos requisitos do cliente.
Arquitectura, a fase en que se define o funcionamento da arquitectura, das bases de datos etcétera.
Deseño detallado, cando se describe o funcionamento proposto para o software, incluídas as súas interfaces.
Codificación, cando se fai a programación informática escribindo o código. É a fase máis importante, e agrupa non só a propia escritura de código, senón tamén a implementación e integración. A partir desta fase empeza o proceso de testaxe, dividido á súa vez en fases simétricas.
Testaxe unitaria, onde se revisa que o código cumpra as especificacións do deseño detallado
Testaxe de integración, onde se comproba que o software encaixa na arquitectura disposta.
Testaxe de sistema, onde se revisa que a peza de software realmente funcione no sistema
Testaxe de cliente, onde se chequea que o produto de software coincida co que nos solicitara o cliente a través das súas necesidades.