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
--------

Modelo en uve adaptado para o desenvolvemento do software, cun eixo horizontal de tempo (alemán *Zeit*) e un eixo vertical de complexidade, do máis xenérico ao máis específico.
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.

1. **Requisitos**, a fase onde se reciben as necesidades do cliente
2. **Especificación**, a fase onde se describe como debe funcionar o software, a partir dos requisitos do cliente.
3. **Arquitectura**, a fase en que se define o funcionamento da arquitectura, das bases de datos etcétera.
4. **Deseño detallado**, cando se describe o funcionamento proposto para o software, incluídas as súas interfaces.
5. **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.
6. **Testaxe unitaria**, onde se revisa que o código cumpra as especificacións do deseño detallado
7. **Testaxe de integración**, onde se comproba que o software encaixa na arquitectura disposta.
8. **Testaxe de sistema**, onde se revisa que a peza de software realmente funcione no sistema
9. **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.

Notas
-----

1. 1 2 3  "2.2.1: Linear Models - Module 2: Process Models. Coursera". *Coursera* (en inglés). Consultado o 2018-03-01.

|  |  |
| --- | --- |
| Control de autoridades | 
* Wd: Q3297086
* MAG: 127644382

 |