Você está na página 1de 4

processo de desenvolvimento de software. Elas tentam colocar ordem numa atividade inerentemente catica.

Ciclos de vida de Desenvolvimento de Software Introduo Neste artigo esto descritos alguns modelos de Ciclo de Vida de software. Dois dos mais utilizados so o modelo cascata e o modelo de prototipao. O modelo espiral de Boehm est tambm descrito resumidamente. Para auxiliar na determinao dos pontos fortes e fracos destes trs modelos, sero examinados tambm outros modelos incluindo o altamente insatisfatrio modelo construa e conserte (code and fix). essencial, antes do desenvolvimento de um produto, preparar um plano geral, ou seja, escolher um modelo de ciclo de vida. Este pode ser personalizado, se adaptando ao tamanho, complexidade e/ou nvel de confiabilidade/segurana do projeto. Modelo Constri e Conserta (catico) Code and Fix O produto construdo sem qualquer especificao ou projeto. O produto retrabalhado quantas vezes forem necessrias para satisfazer o cliente. Este modelo pode funcionar razoavelmente para micro projetos (<400 pessoas. hora). No entanto para projetos maiores ele inadequado. A Figura a seguir ilustra este modelo: Uma vez definido o modelo de ciclo de desenvolvimento, existem trs abordagens para implement-lo: Cascata Pura; Incremental; e Evolucionria. Toda esta seco constitui uma interpretao do disposto na referncia[FAI96]. Abordagem Cascata Pura Todas as fases do ciclo de desenvolvimento so executadas em seqncia. As fases anteriores so revisitadas para correes de erros ou para adaptaes. Esta abordagem adequada quando : Existe um conjunto de Requisitos do Usurio estveis e de alta qualidade; A durao do projeto pequena, isto , menor do que dois anos; e O sistema completo deve estar disponvel de uma nica vez. . A Figura a seguir ilustra esta abordagem:

Abordagem Cascata Pura

Abordagem Incremental
Modelo Construa e Conserte (Code and Fix)

Nesta abordagem o desenvolvedor executa mltiplas fases. Dentro desta abordagem est a abordagem cascata. A abordagem incremental adequada quando: A liberao do software deve estar de acordo com um conjunto de prioridades definidas nos Requisitos do Usurio; necessrio melhorar a eficincia da integrao do software com outras partes de um sistema maior; requerido antecipadamente evidncias de que o produto ser aceito. A Figura a seguir ilustra a abordagem:

Modelo Cascata O modelo que vamos estudar est descrito no padro PSS05-0 da ESA o qual ser detalhado brevemente. At meados da dcada de 1980 foi o nico modelo com aceitao geral. recomendado para sistemas onde a segurana e a confiabilidade tem grande importncia. Um dos pontos fortes do modelo cascata est na nfase dada a uma abordagem disciplinada, est na definio da documentao entregvel em cada fase e est na recomendao de que todos produtos de cada fase sejam formalmente revisados. Inerente a cada fase esto os procedimentos de verificao e validao (incluindo testes). Grande parte do sucesso do modelo cascata est no fato dele ser orientado para documentao. No entanto deve-se salientar que a documentao abrange mais do que arquivo do tipo texto. Abrange representaes grficas e mesmo simulao. Uma abordagem incorporando processos, mtodos e ferramentas que devem ser utilizadas pelos desenvolvedores de software. Esta abordagem muitas vezes chamada de Abordagem do Processo de Desenvolvimento. Existem trs abordagens de modelos de

Abordagem Incremental

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 a seguir) 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 Evolutiva A Prototipao Evolutiva basicamente inicia com a concepo do sistema e emprega diversos ciclos de reprojeto, re-implementao e re-avaliao at a aceitao final do software. Cada novo prottipo confirma, refina ou adiciona novos requisitos at atingir a totalidade de requisitos do sistema.

Prototipao evolutiva

Prototipao

Prototipao Incremental A Prototipao Incremental 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.

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. Abordagem Evolucionria Nesta abordagem, o desenvolvimento formada por mltiplos ciclos da abordagem cascata pura, ocorrendo sobreposio das fases da operao e manuteno do sistema anterior com o novo desenvolvimento. Esta abordagem adequada quando: necessria alguma experincia do usurio para refinar e completar requisitos; Algumas partes da implementao podem depender da existncia de tecnologia ainda no disponvel; Existem requisitos do usurio no bem conhecidos; e Alguns requisitos so muito mais difceis de serem implementados do que outros, decidindo-se no implement-lo para no atrasar o projeto. A Figura a seguir ilustra a abordagem:

Prototipao incremental Abordagem Evolucionria

Modelo Espiral Foi originalmente proposto por Boehm em 1988. Uma maneira simplista de analisar este modelo consider-lo como um modelo cascata onde cada fase precedida por uma anlise de risco e sua execuo feita evolucionariamente (ou incrementalmente). O modelo espiral completo est ilustrado na figura a seguir. A dimenso radial representa o custo acumulado atualizado e a dimenso angular representa o progresso atravs da espiral. Cada setor da espiral corresponde a uma tarefa (fase)do desenvolvimento. No modelo original foram propostas quatro tarefas (fases ou quadrantes) ilustrada na figura a seguir. Um ciclo se inicia com a "Determinao de objetivos, alternativas e restries "(primeira tarefa) onde ocorre o comprometimento dos envolvidos e o estabelecimento de uma estratgia para alcanar os objetivos. Na segunda tarefa "Avaliao de alternativas, , identificao e soluo de riscos", executa-se uma anlise de risco. Prototipao uma boa ferramenta para tratar riscos. Se o risco for considerado inaceitvel, pode parar o projeto. Na terceira tarefa ocorre o desenvolvimento do produto. Neste quadrante pode-se considerar o modelo cascata. Na quarta tarefa o produto avaliado e se prepara para iniciar um novo ciclo.

A manuteno de um software utilizando este modelo de ciclo de vida tratado da mesma forma que o desenvolvimento. Uma representao simplificada deste modelo esta ilustrada na Figura a seguir.

Modelo simplificado de Boehm

A razo para se colocar em discusso este modelo na disciplina engenharia de software est no fato dele chamar a ateno para vrios pontos importantssimos no desenvolvimento de software. Variaes do modelo espiral consideram entre trs e seis tarefas ou setores da espiral. Um exemplo so as regies: Comunicao com o cliente; Planejamento; Anlise de risco; Engenharia; Construo e liberao; e Avaliao do cliente.

Modelo Espiral Completo

Seleo de modelos de ciclo de vida McConnel apresenta uma tabela na qual so apresentadas as vantagens e desvantagens de diversos modelos de ciclo de vida em relao s questes apresentadas acima. Outras questes foram includas e possuem igual importncia na escolha de um modelo de ciclo de vida para o projeto.

Exerccios 1) 2) 3) 4) Por que o modelo Code and Fix no teria sucesso num sistema mdio ou grande? Explique porque a prototipao pode ser aplicada como um modelo ou dentro de um modelo existente. D um exemplo. Qual dos modelos apresentados acima teria menos impacto no surgimento de uma mudana? Por qu? Explique prototipao Evolutiva e Incremental. Faa uma comparao entre elas.

Fontes: www2.dem.inpe.br/ijar/CicoloVidaSoftPrado.html http://www.cordeiro.pro.br/aulas/engenharia/processoDeSoftware/ciclos.pdf

Você também pode gostar