1. INTRODUÇÃO
Análise
Projeto
Construção
Avaliação
Manutenção
1
Certificações e técnicas de avaliação da qualidade são definidos na seção 4 desta apostila
completamente um software nem sempre é possível, por isso os testes não podem
assegurar a correção total de um sistema. Entretanto, a utilização de testes combinados
com algumas técnicas de controle da qualidade contribuem para se obter um nível
aceitável de confiabilidade.
O sistema é entregue ao usuário após se chegar a um resultado satisfatório na fase de
avaliação, com um certo grau de confiança. É claro que o sistema ainda passará por
alterações, devido principalmente a erros observados pelo usuário, ou por mudanças
necessárias para melhor adaptação ao ambiente do usuário, ou por problemas de
desempenho. A manutenção do software pode invocar novamente as outras fases do ciclo,
conforme indicado pelas setas na Figura 1.
O modelo de ciclo de vida evolucionário surgiu propondo um desenvolvimento que
expandisse o sistema gradativamente, permitindo que se obtivessem modelos do
comportamento do software antecipadamente, os denominados protótipos. A
prototipagem é uma forma de desenvolvimento incremental e contém quatro tipos
diferentes: ilustrativo (telas), simulado (acesso ao banco de dados é simulado), funcional
(subconjunto limitado) e evolucionário (começa pequeno e cresce). Os três primeiros
tipos são construídos para se atingir objetivos propostos a priori, sendo considerados
protótipos descartáveis. O protótipo evolucionário se tornará ao final um produto
operacional.
Na figura 2, pode-se observar a seqüência de eventos verificada no paradigma da
prototipagem (Pressman 92). Tal como o processo de desenvolvimento convencional de
software (modelo cascata), a prototipagem se inicia com a etapa de definição dos
requisitos. Todos os objetivos a serem atingidos pelo software são definidos, sendo
identificadas as áreas que merecem uma definição mais refinada.
A partir dos requisitos levantados na fase de definição, um projeto inicial é construído
e apresentado ao usuário, refletindo os aspectos visíveis do software. Este projeto rápido
leva à construção de um protótipo, que será avaliado pelo usuário e usado para refinar os
requisitos do software a ser desenvolvido. O processo de refinamento dos requisitos traz
benefícios para ambas as partes envolvidas no processo de desenvolvimento do software.
O usuário, ao participar do processo de desenvolvimento, tem condições de contribuir
para um maior refinamento dos requisitos, gerando maior confiança no software em
desenvolvimento. Outro benefício é que o desenvolvedor do software pode compreender
melhor o domínio sobre o qual está trabalhando e, a partir das questões levantadas pelo
usuário, bem como suas sugestões, poderá desenvolver um produto de melhor qualidade e
mais próximo ao produto requisitado.
Análise
Projeto
Construção
Avaliação
Manutenção
Repositório
Análise
Projeto
Construção
Síntese de
Projeto Avaliação
Manutenção
Síntese de
Projeto e Código
O modelo em espiral proposto por Boehm (Boehm 88) mostrado na figura 5, fornece
uma estrutura de trabalho para a produção de software baseada em processo e níveis de
risco permitindo a análise dos riscos em várias etapas do desenvolvimento. Esse modelo
pode ser considerado um meta-modelo pois pode abranger diferentes outros modelos,
desde o modelo cascata até os vários tipos de protótipos. É um modelo cíclico.
A análise dos modelos de ciclo de vida pode ser feita considerando-se a identificação
monolítica ou incremental do processo de desenvolvimento. Na estrutura de trabalho
monolítica, os detalhes de cada fase são completados em sua totalidade, antes do início da
etapa seguinte. Sendo assim, o comportamento do software só pode ser avaliado no final
do desenvolvimento. Na estrutura incremental, os detalhes podem ser retardados com o
benefício de se produzir antecipadamente um protótipo mostrando o funcionamento do
produto (Connors 92).
3. MÉTODOS DE DESENVOLVIMENTO
3.1 SADT
SADT (Structured Analysis and Design Technique) foi desenvolvido no início dos
anos 70 por Ross, sendo utilizado inicialmente pela U.S. Air Force e pela ITT européia
(Ross e Schoman 77), (Ross 85).
A estrutura de trabalho do SADT utiliza a técnica top-down onde o desenvolvedor
inicia representando o sistema a nivel macro (diagrama de contexto), e depois refina
repetidamente cada diagrama representando um aspecto do sistema num nível mais