modelos de processo de software. modelos de processo de softwares É uma representação abstrata de...

24
Modelos de Processo de Software

Upload: internet

Post on 21-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Modelos de Processo de Software

Page 2: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Modelos de Processo de Softwares

• É uma representação abstrata de um processo de software. Cada modelo representa um processo a partir de uma perspectiva particular.

• Não são descrições definitivas de processo de software, mas sim abstrações úteis, que podem ser usadas para explicar diferentes abordagens de desenvolvimento de software.

Page 3: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Modelos de Processo de Softwares

• Modelo em Cascata;

• Desenvolvimento Evolucionário ou Prototipado;

• Desenvolvimento Formal de Sistemas;

• Desenvolvimento Orientado a Reuso;

Page 4: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

O Modelo em “Cascata”

• Primeiro modelo publicado do processo de desenvolvimento de software;

• Originou-se de outros processos de engenharia;

• Retrata um desenvolvimento gradual e possui seqüência de passos em ordem que devem ser seguidos.

Page 5: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

O Modelo em “Cascata”

Page 6: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

O Modelo em “Cascata”

• Principais estágios:– Análise e Definição de

Requisitos: as funções, as restrições e os objetivos do sistema sõ estabelecidos por meio de consulta aos usuários do sistema. Em seguida, são definidos em detalhes e servem como uma especificação do sistema.

Page 7: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

O Modelo em “Cascata”

• Principais estágios:– Projeto de Sistemas e

Software: o processo de projeto de sistemas agrupa os requisitos em sistemas de hardware e software. Envolve a identificação e a descrição das abstrações fundamentais do sistema de software e suas relações.

Page 8: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

O Modelo em “Cascata”• Principais estágios:

– Implementação e Testes de Unidade: Durante este estágio, o projeto do software é compreendido como um conjunto de programas ou unidades de programa. O teste de unidade envolve verificar se cada uma das unidades atendem à sua especificação.

Page 9: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

O Modelo em “Cascata”

• Principais estágios:– Integração e Teste de

sistemas: as unidades de programa ou programas individuais são integrados e testados como um sistema completo a fim de garantir que os requisitos de software foram atendidos. Depois do teste, o software é entregue ao cliente.

Page 10: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

O Modelo em “Cascata”

• Principais estágios:– Operação e manutenção: O

sistema é instalado e colocado em operação. Envolve corrigir erros que não foram descobertos em estágios anteriores, melhorando a implemen-tação e descobrindo novos requisitos

Page 11: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

O Modelo em “Cascata”

• Cada fase resulta em um ou mais documentos que deve ser aprovado;

• Existe uma conseqüência nas fases;

• As vezes o processo atrasa e necessita de uma suspensão dos requisitos;

• Demandam requisitos bem especificados;

• Recomendado para projetos maiores de sistemas.

Page 12: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Evolucionário

• Tem com base a idéia de desenvolver uma implementação inicial, expor o resultado ao comentário do usuário e fazer seu aprimoramento por meio de muitas versões, até que tenha sido desenvolvido;

• A especificação, desenvolvimento e validação são executados concorrentemente para gerar um retorno rápido;

Page 13: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Evolucionário

Page 14: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Evolucionário

• Pode ser:– Exploratório: tem como objetivo trabalhar com

o cliente a fim de explorar seus requisitos e entregar um sistema final. São feitas partes inicias e acrescentadas novas de acordo com o desenvolvimento.

– Protótipos descartáveis: tenta compreender os melhor os requisitos a partir de protótipos e então desenvolver uma especificação de requisitos completa.

Page 15: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Evolucionário

• Problemas:– O processo não é visível: como o sistema é

desenvolvido rapidamente, não há tempo de documentar as versões;

– Os sistemas são mal-estruturados: mudanças constantes podem corromper a estrutura do software;

– Requer ferramentas e técnicas especiais: que nem sempre são disponíveis ou são aplicáveis ao caso.

Page 16: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Formal de Sistemas

• É uma abordagem do desenvolvimento de software que tem algo em comum com o modelo em cascata, mas cujo o processo de desenvolvimento se baseia na transformação matemática formal de uma especificação do sistema em um programa executável.

Page 17: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Formal de Sistemas

• Difere do Modelo em Cascata:– A especificação de requisitos de software é

redefinida em uma especificação formal detalhada, que é expressa em notação matemática;

– O processo de desenvolvimento de projeto, implementação e teste de unidade são substituídos por um processo de desenvolvimento transformacional, em que a especificação é refinada, por meio de uma série de transformações, em um programa.

Page 18: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Formal de Sistemas

Page 19: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Formal de Sistemas

• Essa abordagem é particularmente adequada ao desenvolvimento de sistemas que tenham rigorosas exigências de segurança, confiabilidade e garantia. No entanto, para a maioria dos sistemas não há um ganho significativo de custo ou qualidade.

• Necessita de perícia especializada.

Page 20: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Orientado a Reuso

• O reuso é comum no projeto. Mas a engenharia de software formaliza o reuso com uma ampla base de componentes reutilizáveis e com alguma infra-estrutura de integração para estes componentes;

• Acelera a produção de resultados, especialmente em prototipagens.

Page 21: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Orientado a Reuso

Page 22: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Orientado a Reuso

• Análise de componentes: considerando a especificação dos requisitos, é feita uma busca de componentes para implementar essa especificação;

• Modificação dos requisitos: adequação dos requisitos aos componentes encontrados. Se não puderem ser alterados, repete-se a análise;

Page 23: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Orientado a Reuso

• Projeto de sistema com reuso: é desenvolvida uma infra-estrutura ou reutilizada uma preexistente. Organizam os componentes que serão utilizados e projetam o que faltam;

• Desenvolvimento e integração: os componentes faltantes serão desenvolvidos e todos integrados a fim de criar um sistema.

Page 24: Modelos de Processo de Software. Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo

Desenvolvimento Orientado a Reuso

• Reduz a quantidade de software a ser desenvolvido e, conseqüentemente, diminui custos e riscos;

• Acelera a entrega do software;• Os requisitos podem se perder durante a

adaptação;• Pode se perder o controle da versão dos

componentes utilizados no sistema.