Escolar Documentos
Profissional Documentos
Cultura Documentos
Conceitos Iniciais
Para que serve
O ciclo de vida a estrutura contendo processos, atividades e tarefas
envolvidas no desenvolvimento, operao e manuteno de um produto de
software, abrangendo a vida do sistema, desde a definio de seus requisitos at o
trmino de seu uso.
Processo de Software
Processo de software o conjunto de atividades que constituem o
desenvolvimento de um sistema computacional. Estas atividades so agrupadas em
fases, como: definio de requisitos, anlise, projeto, desenvolvimento, teste e
implantao.
Modelo em Cascata
Formalizado por Royce em 1970, o modelo mais antigo. Suas atividades
fundamentais so:
anlise e definio de requisitos;
projeto;
implementao;
teste;
integrao.
Modelo em V
Neste modelo, do Ministrio de Defesa da Alemanha, do ano de 1992, o modelo em
cascata colocado em forma de "V".
Figura 2. O modelo em V
Mais tarde, o cdigo fonte ser testado, do mais baixo nvel ao nvel
sistmico para confirmar os resultados, seguindo os respectivos planos de teste: o
teste de unidade valida o projeto do programa, o teste de sistema valida o projeto de
sistema e o teste de aceitao do cliente valida a anlise de requisitos.
Esse ciclo de vida no exige uma equipe muito grande, pois a modularizao
diminui o escopo de cada incremento, e no h um paralelismo nas atividades.
Haver, por outro lado, uma dificuldade em manter a documentao de cada fase
atualizada devido s melhorias no sistema e aos ajustes de requisitos solicitados
pelos clientes.
Modelo Evolutivo
Neste modelo, os requisitos so adquiridos em paralelo evoluo do sistema.
muito importante que o cliente esteja ciente do que se trata este ciclo de
vida e que sejam esclarecidos os limites de escopo e de tempo, para que no haja
frustraes de expectativas.
RAD Rapid Application Development
Este modelo formalizado por James Martin em 1991, como uma evoluo da
prototipagem rpida, destaca-se pelo desenvolvimento rpido da aplicao. O ciclo
de vida extremamente comprimido, de forma a encontrarem-se exemplos, na
literatura, de durao de 60 e 90 dias. ideal para clientes buscando lanar
solues pioneiras no mercado.
As fbricas de software que resolvem por adotar este modelo devem ter uma
estrutura prvia diferencial de pessoas e ferramentas, tais como:
Pessoas:
Profissionais experientes (funcional e gerncia);
Profissionais de rpida adaptao;
Equipes de colaborao mtua;
Maior quantidade de pessoas;
Gerenciamento:
Empresas pouco burocrticas que encorajem a eliminao de
obstculos;
Alto controle do tempo;
Uso de Ferramentas:
CASE;
Muita diagramao;
Prvia biblioteca de componentes reutilizveis (APIs, wizards,
templates,...);
Fcil manuteno (ex.: linguagens de programao que
suportem Orientao a Objetos, tratamento de exceo,
ponteiros);
Adoo de ferramentas maduras, pois no h tempo de
atualizar verses e tratar erros inesperados;
Prototipagem
Prototipagem a construo de um exemplar do que foi entendido dos requisitos
capturados do cliente. Pode ser considerado um ciclo de vida ou pode ser usado
como ferramenta em outros ciclos de vida.
Cada prottipo tem uma finalidade diferente. Um prottipo pode servir para
esclarecer dvidas sobre uma rotina, demonstrar a aparncia das telas, contedo de
tabelas, formato de relatrios. Os prottipos podem tambm ser utilizados para
apresentar opes ao cliente para que ele escolha a que mais lhe agrade, como
opes de navegao, de fluxo de telas, entre outras.
Modelo Espiral
O modelo proposto por Boehm em 1988 trata de uma abordagem cclica das fases
do processo, onde a cada volta ou iterao temos verses evolucionrias do
sistema.
Modelo de Ciclo de Vida Associado ao RUP
Derivado da UML e do Processo Unificado de Desenvolvimento de Software, o
RUP, Rational Unified Process, um modelo de processo iterativo e incremental,
dividido em fases, orientado a casos de uso. Possui framework (esqueleto) de
processo e manuais que guiam na utilizao das melhores prticas de especificao
de projeto (Vdeo Aula sobre Ciclo de Vida de Software, parte 3, revista Engenharia
de Software Magazine).
Figura 9. RUP
A iterao no RUP tem por objetivo minimizar os riscos. Como pode ser visto
na Figura 9, a iterao pode acontecer dentro de cada fase, gerando incrementos,
ou em todo o processo. Por exemplo, dentro da concepo, a iterao pode ocorrer
at que todos os requisitos sejam perfeitamente entendidos. O plano de iteraes
identificar quais e quantas iteraes so necessrias durante o processo.
A escolha do RUP deve ser feita por empresas de software com prvia
experincia, pois a definio de framework, templates, guias, mtodos, entre outros,
demandam tempo e exigem aderncia s boas prticas de processo de software.
Consideraes Finais
Finalizando este artigo sobre os modelos de ciclo de vida de software, segue uma
tabela comparativa das principais caractersticas que devem ser observadas antes
de escolher o ciclo ou os ciclos de vida a serem adotados (ver Tabela 2).