processo de desenvolvimento de software wolley w. silva

Post on 22-Apr-2015

104 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Processo de Desenvolvimento de

SoftwareWolley W. Silva

Agenda

• Conceitos• Modelo Cascata• Modelo Evolucionário• Modelo Incremental• Modelo Espiral

Conceitos

• Um processo de desenvolvimento é constituído das etapas a serem realizadas para o desenvolvimento de um sistema de software, as técnicas utilizadas, os tipos de produtos a serem confeccionados e os recursos necessários (humano e material).

Conceitos

• Não existe um único processo que possa ser adotado para todos os projetos.

• Deve-se considerar:o Tipo e o porte do sistema;o As condições existentes para o desenvolvimento

(usuários, prazos, recursos);o As características da qualidade e os respectivos

níveis desejados para cada característica do sistema.

Conceitos

• Modelos de Processo de Desenvolvimento:– Descrições simplificadas de processos de

desenvolvimento, onde se ressaltam características mais importantes;

– Modelos servem de base para a definição do processo adequado para um dado projeto.

Conceitos

• Abordagem dos Modelos de Processo1. Linear (conservadora) : atividades realizadas em

sequência• Modelo Cascata

2. Paralela (radical) : Atividades realizadas em paralelo• Modelo incremental• Modelo Evolucionário• Modelo Espiral

Modelo Cascata• Caracteriza-se por fases sucessivas e

interações entre as fases.

Modelo Cascata

• Vantagens desse modelo:– Com atividades sequenciais, torna os processos

“mais fáceis de serem controlados e gerenciados”;– É um modelo vantajoso quando se tem as

especificações de requisitos bem definidas;– Tornou-se um modelo fortemente utilizado;

Modelo Cascata

• Desvantagens desse modelo:– Se a uma de suas fase for levada com muito rigor

ela poderá retardar o término do projeto.– Quando não é possível identificar todos os

requisitos na primeira fase torna-se inviável a utilização este modelo;

Modelo Evolucionário

Modelo Evolucionário

• Desenvolve-se uma versão inicial com alguns poucos requisitos implementados para avaliação por parte dos usuários;

• Faz-se o aprimoramento produzindo novas versões com base nos comentários recebidos dos usuários.

• Após construção de sucessivas versões, chega-se na versão final do sistema.

Modelo Evolucionário

Descrição doesboço

Especificação

Desenvolvimento

Validação( Testes )

VersãoInicial

VersõesIntermediárias

VersãoFinal

( Atividades emParalelo )

• Vantagens dos modelos evolucionários– As primeiras versões podem ajudar os usuários na

compreensão dos requisitos; – Com mais atividades realizadas em paralelo existe

possibilidade de acelerar o término do projeto.

Modelo Evolucionário

• Desvantagem dos modelos evolucionários– Controlar e gerenciar o projeto poderá se tornar

difícil (até mesmo a evolução das versões);– Produzir documentos que reflitam cada versão

poderá se tornar um problema difícil;– A tendência é a de produzir sistemas com

arquitetura mal estruturada.

Modelo Evolucionário

Modelo de Desenvolvimento Incremental

Modelo de Desenvolvimento Incremental

• Faz-se o desenvolvimento por partes, acrescentando-se sucessivas partes denominadas de incrementos.

• A cada incremento novas funcionalidades são implementadas.

• Para desenvolver um incremento outro modelo (como o cascata ou o evolucionário) poderá ser incorporado;

Modelo de Desenvolvimento Incremental

• Vantagens do modelo incremental– Com uma pequena equipe de desenvolvimento é

possível desenvolver grandes sistemas. – Permite aos usuários retardar o detalhamento dos

requisitos e ir adquirindo experiência e maturidade.

Modelo de Desenvolvimento Incremental

• Dificuldades– Definir incrementos pequenos de acordo com nas

necessidades dos usuários;– Definir projeto global do sistema para que a

junção dos incrementos não resulte em um sistema com uma arquitetura pobre.

Modelo de Desenvolvimento Incremental

Modelo de Desenvolvimento Incremental

Desenv. Incremento

Projetar Arquitetura

Global

Atribuir prioridade

às Funções

Def. Requisitos

Globais

Validar Incremento

Integrar Incremento

Validar Sistema

Sist. Final

Modelo de Desenvolvimento Espiral

• Consiste em realizar as fases de desenvolvimento (Especificação, Análise, Projeto, etc.) repetindo sistematicamente 4 atividades para cada uma das fases.a) Definição dos objetivosb) Avaliação e redução de riscosc) Desenvolvimento e validaçãod) Planejamento

Modelo de Desenvolvimento Espiral

Desenv. eValidação

Planejamento

Def. dosObjetivos

Avaliação e Redução dos

Riscos

Cada "loop" da espiral representa uma fase do processo de desenvolvimento: 1º loop - Viabilidade do projeto.2º loop - Referência dos requisitos / Análise.3º loop - Projeto lógico.4º loop - Projeto físico.

A. Definição do objetivo:– Definem-se os objetos específicos para a fase;– Identificam-se as restrições para o processo de

desenvolvimento da fase e para os produtos;– Prepara-se um plano para o controle e

gerenciamento da fase;– Identificam-se os riscos do projeto.

Modelo de Desenvolvimento Espiral

B. Avaliação e redução de riscos:– Analisa-se cada risco identificado;– Providenciam-se ações para a redução desses

riscos (a probabilidade de ocorrência do risco e seus efeitos).

Modelo de Desenvolvimento Espiral

C. Desenvolvimento e validação:– Escolhe-se o modelo de processo apropriado para

o desenvolvimento da fase;– Por exemplo, o modelo cascata ou modelo

evolucionário (dependendo das condições existentes);

Modelo de Desenvolvimento Espiral

D. Planejamento– Faz-se uma revisão do projeto e se a decisão for a

de continuar com o próximo "loop";– Elaboram-se planos para a próxima fase;

Modelo de Desenvolvimento Espiral

top related