# Lifecycle

## Visão Geral

O UP oferece uma abordagem ao SDLC convebida coo uma matriz, cruzando diferentes disciplinas técnicas com iterações (evoluções) no projeto.

A **análise e requisitos** é realizada principalmente no início do projeto (requisitos básicos), mas também durante as iterações (requisitos evolutivos).

![](https://884188904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPIfOVukdecb0ZLyZJ58%2Fuploads%2F1gF4zfhih5bsIWaYkEfi%2Fa.png?alt=media\&token=8d8c9ce0-f595-4b07-9b08-e78da193c5d3)

## Fases

![](https://884188904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPIfOVukdecb0ZLyZJ58%2Fuploads%2Frzhnl4LneHRDIGvU8tB1%2Fa.png?alt=media\&token=de6643b7-ed0c-4cd5-b8e7-48bc33ed4180)

### Concepção - Saber o que construir

Tipicamente apenas uma iteração curta.

Produz um documento com a visão geral e o caso negócio.

Desenvolve requisitos do sistema de alto-nível.

* **Caso de uso** inicial e modelos de domínio (10%-20% completos).
* Foca no que é essencial para concordar no conceito mais geral (*big picture*).

Gerir o alcance do projeto.

* &#x20;Reduzir risco identificando os requisitos chave.
* Reconhecer que os requisitos vão mudar.
* Gerir a mudança, usar processos iterativos.

Produzir modelos conceptuais conforme necessário.

#### Milestone

![](https://884188904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAPIfOVukdecb0ZLyZJ58%2Fuploads%2F2fBvHP0zQtsYoHGjiWcF%2Fa.png?alt=media\&token=b279827f-203b-4e1c-8bc7-f1b79c11ce77)

Nesta altura, o custo benefício do projeto já deve estar analisado e deve ser decidido se o projeto deve avançar ou não.

### Elaboração

Pode ser apenas num dia ou durante várias iterações.

#### Balanço

Mitigar riscos técnicos e de negócio chave com o valor produzido.

#### Produzir e validar uma arquitetura executável

Definir, implementar e testar a interface dos componentes principais. Implementar parcialmente alguns componentes.

Identificar dependências externas e integrar *shell* ou *proxies* destes.

Perto de 10% do código é implementado.

#### Guiar a arquitetura com casos de uso chave

#### Milestone

Os requisitos básico são consensualizados, o objetivos do sistema são analisados, assim como a escolha de arquitetura e a resolução de principais riscos. Este *milestone* é alcançado quando a arquitetura for validada.

### Construção

#### Definir, desenhar e implementar novos cenários gradualmente.

#### Demonstrações frequentes e parcialmente lançado

Lançamentos parciais dependem do tipo de sistema desenvolvido.

#### *Builds* diárias automatizadas

#### Equipa de testes separada pode ter que ser criada

Ambientes de testes complexos.

#### Milestone

Nesta altura, o projeto está pronto para ser entregue à equipa de transição. Todas as funcionalidades foram implementas e testes *alpha* concluídos. Um manual de utilizador for desenvolvido. O produto está pronto para *beta* testes.

### Transição

#### O foco agora é estabilidade e aprimoramento

#### Bug-fixing

#### Atualizar manuais de utilizador e documentação

#### Análise pós-produção

#### Milestone

Decidido que os objetivos foram cumpridos.
