Académique Documents
Professionnel Documents
Culture Documents
Introduo Diferenas
entre modelos de ciclo de vida Modelo Cascata Puro Modelo Espiral Prototipao Prototipao Incremental Prototipao Evolutiva Prototipao Rpida Descartvel Seleo de modelos de ciclo de vida
Introduo
Ciclos de vida do software descrevem como um software deve ser desenvolvido. Basicamente definem a ordem global das atividades envolvidas em um contexto de projeto de software e prope uma estratgia de desenvolvimento que pode ser aplicada a um determinado contexto de projeto de software. Ciclos de vida normalmente so vagos nas descries de detalhes das condies de incio e trmino de uma atividade, recursos utilizados, artefatos consumidos ou produzidos, papis desempenhados etc. Dentre os diversos ciclos de vida de software, pode-se citar: Code-and-Fix, Cascata, Espiral, Prototipao Evolutiva, Prototipao Incremental, Prototipao Descartvel, Refinamento Iterativo, Ciclo de Vida Progressivo, Desenvolvimento Incremental, Sashimi.
Modelo Espiral
O modelo Espiral (Figura - Prximo Slide), proposto por Barry Boehm, rene caractersticas dos modelos Cascata e Prototipao acrescentando ainda em sua base a anlise de riscos. Cada giro na espiral (iniciando a partir do centro e avanando para fora) representa uma nova fase do processo. Esse processo evolutivo permite que novas verses possam ser construdas progressivamente. Tipicamente, o modelo pode ser dividido em 3 ou 6 regies. PRESSMAN (vide referncias) apresenta o modelo divido em 6 regies: comunicao com o cliente, planejamento, anlise de riscos, engenharia, construo e evoluo e, avaliao do cliente. O nmero de tarefas por regies pode variar conforme o tamanho e complexidade do projeto. Desta forma, o modelo pode ser adaptado conforme as caractersticas do projeto.
Modelo Espiral
Modelo Espiral
A adoo do modelo Espiral proporciona algumas vantagens. Teoricamente, quanto mais tempo e recursos forem destinados, ou seja, quanto mais iteraes na espiral, menor sero os riscos sobre o projeto. Outra vantagem em relao a modelos seqenciais como o modelo Cascata, a execuo de atividades de verificao presentes ao final de cada iterao que permitem um melhor controle gerencial sobre o projeto. Uma desvantagem do modelo refere-se a situaes em que o projeto considerado simples e os riscos so modestos. Nesse contexto, muitos projetos no precisam da flexibilidade e gerenciamento de riscos proporcionados pelo modelo.
Prototipao
Organizaes de desenvolvimento de software utilizam prottipos na construo de software com diferentes propsitos: na construo de modelos, simulaes, implementaes parciais ou ainda para testar aspectos tcnicos de um sistema. A prototipao pode ser adotada como uma abordagem que compreenda todo o ciclo de vida de desenvolvimento de um software ou como um processo incorporado a um ciclo de vida (por exemplo, Modelo Espiral). O processo de prototipao (Figura - Prximo Slide) consiste basicamente em diversos ciclos iterativos. Um prottipo construdo a partir de requisitos iniciais. realizada uma avaliao crtica do prottipo a qual considera os requisitos iniciais e requisitos que no foram mencionados inicialmente. Caso o prottipo no atenda aos requisitos pretendidos, novas iteraes so realizadas produzindo novos prottipos. As iteraes so finalizadas quando os requisitos forem atendidos.
Prototipao
Figura: Processo de Prototipao Existem diversos modelos de processo de desenvolvimento de software que empregam a prototipao em seus processos: Incremental Iterativo, Prototipao Rpida Descartvel, Prototipao Evolutiva e Espiral.
Prototipao Incremental
A Prototipao Incremental (Figura - Prximo Slide) tambm conhecida como Entrega por Estgio adota como estratgia o desenvolvimento por estgios. Normalmente os requisitos mais importantes so implementados primeiro e os demais so acrescentados em novas verses. O desenvolvimento ocorre gradualmente e, ao final de cada estgio, uma verso opervel produzida e incrementada nos demais estgios at a sua concluso final. A Prototipao Incremental pode oferecer diversas vantagens: reduo de riscos, maior visibilidade sobre o processo, problemas podem ser descobertos logo no incio, auxilia na estimativa de tempo do projeto entre outras. No entanto, o emprego desse modelo exige grande esforo na atualizao da documentao do usurio. Alm disso, o desenvolvimento por estgio requer que as dependncias entre os estgios sejam bem planejadas, pois um dos problemas comuns descobrir que o estgio 2 depende de componentes do estgio 4, por exemplo.
Prototipao Evolutiva
O modelo pode ser adotado em contextos nos quais os requisitos so instveis ou desconhecidos ou, ainda, quando h a necessidade de se testar um algoritmo antes de sua adoo. Dentre as vantagens proporcionadas pelo modelo Prototipao Evolutiva, destaca-se menor taxa de defeitos pela melhor definio das especificaes do sistema, promove maior participao do cliente, permite maior visibilidade do progresso de desenvolvimento e possvel verificar a aceitao do sistema nos primeiros estgios do desenvolvimento. Por outro lado, o modelo pode agregar algumas desvantagens: pobre manutenibilidade provocada pela rapidez no desenvolvimento e/ou constantes mudanas na estrutura do prottipo, acrscimo de novas funcionalidades devido ao constante contato do cliente com o prottipo e, uso ineficiente do tempo destinado construo do prottipo. Diferentemente da Prototipao Incremental, o prottipo entregue ao finalizar o desenvolvimento. Alm disso, a Prototipao Incremental desenvolve partes do software que sero entregues medida que so finalizadas, no ocorrendo mudanas nas especificaes do projeto e, a maior parte dos requisitos deve ser conhecida logo no incio do projeto.
Participantes
Anderson da Costa Cruz Luiz Roberto Tessari Jose Carlos Mazella Junior Luiz Gustavo de Medeiros Silva Andr Vasconcellos Nogarotto