Baixe o app para aproveitar ainda mais
Prévia do material em texto
Ciclo de vida de software Iteração A forma com que os processos de desenvolvimento de software são conduzidos, diz respeito à iteração entre as atividades deste processo, ou seja, como estas são encadeadas. Em processos iterativos, a especificação é desenvolvida juntamente com o sistema podendo ser: ◦ Incremental ◦ Em Espiral Requisitos de sistema SEMPRE evoluem durante curso de um projeto. Assim a iteração do processo sempre faz parte do desenvolvimento de grandes sistemas; Iterações podem ser aplicadas a quaisquer dos modelos de ciclo de vida; Modelos Iterativos Desenvolvimento Espiral Acrescenta aspectos gerenciais ao processo de desenvolvimento de software; ◦ análise de riscos em intervalos regulares do processo de desenvolvimento de software; ◦ Planejamento; ◦ Controle; ◦ Tomada de decisão. O processo é representado como uma espiral em vez de uma seqüência de atividades Cada volta na espiral representa uma fase no processo Não há fases fixas como especificação ou projeto - voltas na espiral são escolhidas dependendo do que é requerido Riscos são avaliados explicitamente e resolvidos ao longo do processo. Desenvolvimento em Espiral Cada loop na espiral é dividido em 4 seções: Definição de objetivo ◦ Os objetivos são definidos em conjunto com as restrições encontradas ao prosseguimento do projeto. São identificados os riscos e as diferentes estratégias possíveis que diminuam o risco na próxima etapa; Verificação e redução de risco ◦ Para cada risco identificado, são tomadas iniciativas para a sua redução. Se os requisitos não estão bem entendidos, devemos usar um modelo prototipal. Cada loop na espiral é dividido em 4 seções: Desenvolvimento e validação ◦ Depois de identificar o risco, um modelo de desenvolvimento é usado. Planejamento ◦ Revisão do projeto e decisão quanto a sua continuidade (novo loop). Se for decidido continuá-lo, o planejamento do novo loop é feito. Desenvolvimento Espiral Desenvolvimento Incremental Em vez de entregar o sistema como um todo, o desenvolvimento e a entrega são divididos em incrementos, com cada incremento entregando parte da funcionalidade requerida; Requisitos dos usuários são priorizados e os requisitos de mais alta prioridade são incluídos nas iterações iniciais; Uma vez que o desenvolvimento de um incremento é iniciado, os requisitos são "congelados". Embora os requisitos possam continuar a evoluir para incrementos posteriores. Abordagem Incremental (1) Estes modelos levam às fases simultaneamente para cada conjunto de requisitos levantados, cortando transversalmente as fases de desenvolvimento gerando iterações. A abordagem incremental combina o modelo em cascata e o evolutivo visando compromissos em fases intermediárias. Os requisitos são divididos em serviços que recebem uma estrutura de prioridades. Abordagem Incremental (2) Os serviços mais importantes (alta prioridade) são atacados como resultados de incrementos a serem atacados nas primeiras iterações do desenvolvimento. O sistema vai sendo entregue em incrementos a partir dos serviços principais. Abordagem Incremental (3) Cada incremento pode usar uma abordagem interna em cascata (requisito bem entendido) ou evolutiva (requisito ainda não estável). Incremental Desenvolvimento Iterativo e Incremental RUP
Compartilhar