Arquitetura de computadores
Os desenvolvedores trabalhavam em equipes muito pequenas –Não documentavam nada -> só eles sabiam mudar o código •Eram seus próprios cliente e definiam seus requisitos enquanto programavam –Era difícil para pessoas de fora do projeto entender o que estava sendo feito –Pouca chance de aprendizado fora da equipe
Importância do Processo:
Um processo é um conjunto de atividades que leva à produção de um produto de software •Impõe consistência e estrutura às atividades de desenvolvimento •Facilita a compreensão, o controle e a verificação das atividades •Permite registrar experiências que poderão ser usadas em futuros processos
Razões para Modelar um Processo :
•Formar um entendimento comum •Encontrar inconsistências, redundâncias e omissões •Encontrar e avaliar atividades propostas mais adequadas aos objetivos •Fazer um processo geral para uma situação particular na qual ele será utilizado
Modelo Cascata
–Projetos reais raramente seguem o fluxo seqüencial e modificações podem causar confusão –É difícil para estabelecer todos os requisitos inicialmente –O cliente precisa ter paciência porque uma versão executável do programa só ficará disponível no final do processo •O modelo leva ainda a “estados de bloqueio”, nos quais membros da equipe ficam esperando outros membros terminar a sua parte •O modelo em cascata é adequado quando os requisitos são bem compreendidos e estáveis, como em aperfeiçoamentos de um sistema existente
Modelo em Cascata com Prototipação
•Protótipo
–Produto parcialmente desenvolvido, que possibilita aos clientes e desenvolvedores examinarem certos aspectos do sistema proposto e decidir se eles são ou não apropriados ou adequados para o produto acabado –Ajuda os desenvolvedores a avaliar estratégias alternativas de projeto e decidir qual é a melhor opção
Prototipação
•Problemas em utilizar protótipos descartáveis
–Pode haver pressão do cliente para transformar um protótipo malfeito em