O processo de desenvolvimento de software
Existem tantas maneiras de desenvolver software quanto existem desenvolvedores. Entretanto, uma equipe de desenvolvimento de software precisa de uma estratégia unificada para desenvolver software. Nada será feito, se cada desenvolvedor fizer sua própria atividade. As metodologias de software definem uma maneira comum de encarar o desenvolvimento de software. Uma metodologia frequentemente conterá uma linguagem de modelagem (como a UML) e um processo.
Novo Termo Um processo de software mostra os vários estágios do desenvolvimento de software.
Um exemplo familiar de processo de software é o processo de cascata
Figura 9.1
O processo de cascata.
Conforme a Figura 9.1 ilustra, o processo de cascata é sequencial e unidirecional. O processo é constituído de quatro estágios distintos:
1. Análise de requisitos
2. Projeto
3. Implementação
4. Teste
Quando segue o processo de cascata, você vai de um estágio para o próximo. Entretanto, uma vez que você complete um estágio, não há volta — exatamente como descer uma cascata ou um penhasco escarpado! O processo de cascata tenta evitar alteração, proibindo mudar quando um estágio está concluído. Tal estratégia protege os desenvolvedores de requisitos que mudam constantemente. Entretanto, tal processo rígido frequentemente resulta em software que não é o que você ou seu cliente quer.
Quando você analisa um problema, projeta uma solução e começa a implementar, seu entendimento do problema é continuamente aprofundado. O melhor entendimento de seu problema pode muito bem invalidar uma análise ou projeto anterior. Os requisitos podem até mudar enquanto você desenvolve (talvez um concorrente tenha acrescentado um novo recurso em seu produto). Infelizmente, o processo de cascata não pode enfrentar a realidade do moderno desenvolvimento de software — requisitos que mudam constantemente.
Embora este livro não tente impor nenhuma metodologia específica, há um processo que tem se mostrado muito eficiente para desenvolvimento orientado a objetos: o processo iterativo. Este livro impõe esse processo!
O processo iterativo
O processo iterativo é o oposto do processo de cascata. O processo iterativo permite alterações em qualquer ponto do processo de desenvolvimento. O processo iterativo permite alteração adotando uma estratégia iterativa e incrementai para o desenvolvimento de software.
Novo Termo: Um processo iterativo é uma estratégia iterativa e incrementai para desenvolvimento de software. Outro modo de pensar a respeito do processo é como uma estratégia ‘evolutiva’. Cada iteração aperfeiçoa e elabora gradualmente um produto básico em um produto amadurecido.
Uma estratégia iterativa
Ao contrário do processo de cascata, o processo iterativo permite que você continuamente volte e refine cada estágio do desenvolvimento. Por exemplo, se você descobrir que o projeto simplesmente não funciona ao executar a implementação, pode voltar e fazer um projeto adicional e uma nova análise. E esse refinamento contínuo que torna o processo iterativo. A Figura 9.2 ilustra a estratégia.
Uma estratégia incremental
Ao seguir um processo iterativo, você não conclui simplesmente uma iteração grande que constrói o programa inteiro. Em vez disso, o processo iterativo divide o trabalho de desenvolvimento em várias iterações pequenas. A Figura 9.3 ilustra essa estratégia incrementai.



Comentários
Postar um comentário