Arquivo para download:Tecnicas de desenvolvimento de software por VINICIUS LOURENCOhttp://www.4shared.com/document/SBKZlZgO/engenharia_Vinicius_Lourenco.html Vinicius da Silva Lourenco Quando os programadores comecaram a construir softwares, perceberam que uma abordagem informal de desenvolvimento nao era suficiente e codificar sistemas apenas eficientes nao era o correto, pois projetos grandes e importantes estavam sem qualidade, com orcamento altissimo e, alem disso, sofreriam atrasos de anos. Tendo em vista as dificuldades inerentes a elaboracao de um software e o aumento no grau de complexidade dos softwares ao longo do tempo os desenvolvedores perceberam a necessidade de se adotar padroes que servissem de guia durante o projeto e garantissem a qualidade do produto, surgindo assim as metodologias de desenvolvimento.Segundo Sommerville (2000) em seu livro Software Engineering, "Metodologia de Desenvolvimento e um conjunto de praticas recomendadas para o Desenvolvimento de Softwares,sendo que essas praticas,geralmente,passam por fases ou passos,que sao subdivisoes do processo para ordena-lo e melhor gerencia-lo." Dentre essas tecnicas destacam-se o modelo em cascata, modelo espiral, RUP, sigla de Rational Unified Process e as metodologias ageis, por exemplo, o Extreme Programming ou XP. A primeira e a mais antiga, criada em no final da decada de 60 e popularizada na decada de 70, a segunda surgiu na decada de 80 para solucionar deficiencias do modelo cascata, ja o RUP surgiu em 1998 pela Rational Software Corporation a partir das experiencias de IvarJacobson, Grady Booch e James Rumbaugh com o desenvolvimento de sistemas com o objetivo de aumentar a qualidade dos softwares gerados pelas empresas, por ultimo os metodos ageis sao a nova tendencia de desenvolvimento prometendo um gerenciamento mais dinamico e preparado para mudancas. A primeira metodologia criada foi o modelo Cascato ou Waterfall, que ainda e utilizado, estabelecendo um ciclo de desenvolvimento de software semelhante ao de outros produtos com inicio, meio e fim estabelecidos, definindo que uma etapa so iniciaria apos o fim da anterior. Omodelo Cascata divide o processo de desenvolvimento em cinco etapas: Analide de Requisitos: Onde sao definidos os requisitos do sistema a ser desenvolvido, a documentacao comeca a ser produzida, e feito o estudo de facilidades e viabilidade do projeto para determinar o inicio do desenvolvimento do projeto do software. Projeto do Sistema: Onde sao definidas, a estrutura de dados, arquitetura do software,detalhes das funcoes e caracteristicas das interfaces. O processo de projeto representa os requisitos de uma forma que permita a codificacao do produto. Programacao: Transforma as especificacoes de projeto produzidas na etapa anterior em programas. Instalacao: Consiste na etapa final de colocacao do novo sistema ou modificacao de um existente em operacao. Testes de validacao de suas funcoes sao atividades tipicas desta fase. Pos-Implementacao: Utilizacao e avaliacao do sistema apos sua instalacao. Inclui atualizacoes, correcoes, etc. Embora tenha trazido uma maior organizacao ao processo de desenvolvimento, por exigiruma elaboracao de projeto antes da codificacao, esse modelo possui alguns probelmas, poissegundo Pressman (1995): Os projetos raramente seguem o fluxo sequencial; E muito dificil para o cliente declarar todas as suas necessidades corretamente e de forma clara logo no inicio do projeto; O risco de insucesso e alto, visto que, se um erro de grande