Processo de desenvolvimento de software

Disponível somente no TrabalhosFeitos
  • Páginas : 6 (1291 palavras )
  • Download(s) : 0
  • Publicado : 11 de março de 2012
Ler documento completo
Amostra do texto
Processo de Desenvolvimento de Software

Processo de desenvolvimento de software: um conjunto estruturado de atividades necessá-rias para o desenvolvimento de um sistema de software (especificação, projeto, validação, evolução). Um modelo de processo de software é uma representação abstrata do processo. Ele apresenta a descrição de um processo a partir de uma perspectiva particular. Há doismodelos ou métodos de processo de software: tradicionais e ágeis.

I. Método Tradicional: Em geral, os métodos tradicionais são mais caros do que os ágeis.

A) Modelo tradicional Cascata: o primeiro processo formal a surgir, caracterizando-se por ser rígido e linear. Utilizado em grandes projetos e, em especial, aqueles derivados de editais públicos. A principal desvantagem do modelo cascata é adificuldade de acomodação das mudanças depois de que o processo está em andamento. Uma fase deve estar completa antes de se passar para a próxima. É necessário fazer uma análise de requisitos profunda e detalhada antes de projetar a arquitetura do sistema, assim como estudar e elaborar uma descrição detalhada da arquitetura antes de começar a implementá-la. O sistema é completamente testado antesde mandar a versão final para o cliente. Processo de desenvolvimento ou etapas do modelo cascata:
1. Estudo de viabilidade: determina se condições (custo, mercado, mão de obra) são viáveis para a produção de um software. Muitos dos projetos morrem por não realizarem um estudo de viabilidade.
2. Análise e especificação dos requisitos ou necessidades: processo rígido e imutável que, na prática,não funciona já que tudo (governo, lei, mercado, cliente, empresa) pode, repentinamente,mudar. Este item se compõe de obter, analisar, negociar, validade, verificar, registrar e gerenciar o que deve estar no sistema. Negociá-los é o ideal.
3. Projeto e especificação: solução em posse das especificações e da viabilidade; determina a linguagem.
4. Codificação e teste dos módulos: programação.
5.Integração e teste do sistema.
6. Liberação.
7. Manutenção.

B) Modelo Evolutivo ou Evolucionário: modelo em contínuo projeto, pois cliente avalia e, se necessário, altera ou acrescenta sucessivamente itens. Este modelo possui alguns problemas como a falta de visibilidade do processo, a má estruturação dos sistemas e a exigência de habilidades especiais (por exemplo, em linguagens paraprototipação rápida). Em geral, o modelo evolutivo é empregado para sistemas interativos de pequeno e médio porte, para partes de um sistema de grande porte (por exemplo, a interface de usuário) e para sistema com curto ciclo de vida.

C) Modelo baseado em componentes: modelo baseado em reuso sistemático, onde sistemas são integrados a partir de componentes existentes, ou seja, integração de módulosprontos; reutilização de código.

D) Modelo iterativo: como os requisitos de sistema sempre evoluem no curso de um projeto e, sendo assim, a iteração de processo, onde estágios iniciais são retrabalhados, é sempre parte do processo dos sistemas de grande porte. Duas abordagens:
1. Entrega incremental: ao invés de disponibilizar o sistema como uma única entrega, o desenvolvimento e a entrega sãoseparados em in-crementos, sendo que cada incremento fornece parte da funcionali-dade solicitada. O incremento inicial age como um protótipo para au-xiliar a obtenção dos requisitos para incrementos posteriores do sis-tema. Há uma redução nos riscos de falha geral do projeto. Os serviços de sistema de mais alta prioridade tendem a receber mais testes. Deu início aos Métodos Ágeis.
2. Desenvolvimentoespiral: o processo é representado como uma espiral ao invés de uma sequência de atividades com realimentação. Cada loop na espiral representa uma fase no processo.

E) RUP (RationalUnifiedProcess): modelo atual de desenvolvimento, sendo o ideal até presente momento.

II. Métodos Ágeis: iniciado por programadores e desenvolvedores experientes, enfatiza o código e a programação (clara,...
tracking img