25
Modelos de Processos de Software Compreender os paradigmas de Software e suas etapas do processo de desenvolvimento de software

Modelos de Processos de Software

  • Upload
    novia

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

Modelos de Processos de Software. Compreender os paradigmas de Software e suas etapas do processo de desenvolvimento de software. Agenda. Introdução Modelo Sequencial Linear Modelo de Prototipagem Bibliografia. Introdução. - PowerPoint PPT Presentation

Citation preview

Page 1: Modelos de Processos de Software

Modelos de Processos de Software

Compreender os paradigmas de Software e suas etapas do processo

de desenvolvimento de software

Page 2: Modelos de Processos de Software

Agenda

• Introdução

• Modelo Sequencial Linear

• Modelo de Prototipagem

• Bibliografia.

Page 3: Modelos de Processos de Software

Introdução

• Todo o desenvolvimento do software pode ser caracterizado como um ciclo de solução do problema, no qual são encontrados 4 estágios distintos:– Situação atual: – A definição do Problema:– Desenvolvimento técnico– Integração da Solução

Page 4: Modelos de Processos de Software

Introdução

– Situação atual: “Representa o estado atual das coisas”

– A definição do Problema: Identifica o problema específico a ser resolvido;

– Desenvolvimento técnico: Resolve o problema por intermédio da aplicação de alguma tecnologia

– Integração da Solução: entrega os resultados, por exemplo: (Documentos, Programas, dados, nova função dos negócios, novo produto)

Page 5: Modelos de Processos de Software

Modelo Sequencial Linear• Também chamado de Modelo Queda D

´Agua, Modelo cascata.– Fases:

• Modelagem de Engenharia de Sistemas/Informação

• Análise de Requisitos de Software• Projeto• Geração de Código • Teste• Manutenção

Page 6: Modelos de Processos de Software

Modelo Clássico

• Cascata: Requer uma abordagem sistemática, sequencial:

Engenharia de Sistemas

Análise

Projeto

Codificação

Teste

Manutenção

Page 7: Modelos de Processos de Software

• Características do Modelo.Fornece uma seqüência no qual os métodos de

análise, projeto, codificação, teste e manutenção podem ser situados;

É um modelo amplamente usado para a Engenharia de Software;

É significativamente melhor do que ter um processo aleatório.

Modelo Clássico

Page 8: Modelos de Processos de Software

• Problemas:– Projetos reais raramente seguem um fluxo sequencial

que o modelo propõe.– Em geral é dificil para o cliente estabelecer todos os

requisitos explicitamente. O modelo sequencial exige isso e tem dificuldade de acomodar a incerteza natural que existe no começo de vários projetos

– O cliente precisa ter paciência. Uma versão executável do programa não vai ficar disponível até o projeto terminar.

Modelo Clássico

Page 9: Modelos de Processos de Software

Modelo Clássico• 1-Análise e Engenharia de Sistemas:

– Estabelecimento de requisitos para todos os elementos do sistema;

– Coleta dos requisitos em nível do sistema, com uma pequena quantidade de projeto e análise de alto nível.

Page 10: Modelos de Processos de Software

Modelo Clássico• 2-Análise de Requisitos de Software:

– Intensificação da coleta dos requisitos, focando o software;

– Compreensão do domínio da informação, função, desempenho e interface exigidos;

• Requisitos são validados com os clientes.

Page 11: Modelos de Processos de Software

Modelo Clássico• 3-Projeto:

– Concentra quatro atributos:• Estrutura de dados;

• Arquitetura de Software;

• Detalhes procedimentais;

• Caracterização de interface;

– Representação do software que pode ser avaliada quanto à qualidade antes da codificação.

Page 12: Modelos de Processos de Software

Modelo Clássico• 4-Codificação:

– Tradução do projeto numa forma entendível por máquina.

• 5-Testes:– Concentram-se nos aspectos lógicos internos do

software e nos aspectos funcionais externos para descobrir erros e garantir que a entrada definida produza resultados esperados.

• 6- Manutenção:– Reaplica cada uma das etapas precedentes do ciclo

de vida de a um programa existente.

Page 13: Modelos de Processos de Software

Modelo de Prototipagem• Utilizado quando o cliente não definiu

detalhadamente os requisitos de entrada, processamento e saída;

• Capacita o desenvolvedor criar um modelo do software que será implementado:– 1. um protótipo em papel ou um modelo baseado em PC que

retrata a interação homem-máquina;– 2. um protótipo de trabalho que implementa algum subconjunto

da função exigida do software desejado;– 3. um programa existente que executa parte ou toda a função

desejada, mas tem características que serão melhoradas;

Page 14: Modelos de Processos de Software

Modelo de PrototipagemColeta e

refinamento dos

requisitos

Projeto rápido

Construção do

protótipo

Avaliação do protótipo

pelo cliente

Refinamento do

protótipo

Engenharia do

produto

Início

Fim Orientação:jogar o protótipo fora.

Page 15: Modelos de Processos de Software

Modelo de Prototipagem• O paradigma de software começa com a definição de

requisitos. – O desenvolvedor e o cliente encontram-se e definem os

objetivos gerais do software, identificam necessidades conhecidas e delineiam áreas que necessitam de mais definições.

– Um projeto rápido é desenvolvido– O protótipo é avaliado pelo cliente/usuário e usado para refinar

os requisitos do software que será desenvolvido.– Interações ocorrem a medida que o prototipo é ajustado para

satisfazer as necessidades do cliente, enquanto que ao mesmo tempo, permitem ao desenvolvedor entender melhor o que precisa ser feito.

Page 16: Modelos de Processos de Software

Modelo de Prototipagem• Protótipo pode servir como “o primeiro sistema”.• É usado quando:

– O cliente, define um conjunto de objetivos gerais para o software e não identifica detalhadamente requisitos de entrada, processamento ou saida;

– O desenvolvedor pode estar inseguro da eficiencia de um algoritmo, da adptabilidade de um sistema operacional ou da forma de interação HomemXMáquina deve assumir.

Page 17: Modelos de Processos de Software

Modelo de Prototipagem

• Problemas:– O Cliente vê o que parece ser uma versão

executável do software, ignorando que o protótipo apenas consegue funcionar precariamente, sem saber de que na pressa de fazê-lo rodar ninguém considerou a qualidade global ou manutenabilidade a longo prazo.

Page 18: Modelos de Processos de Software

Modelo de Prototipagem• Problemas: O desenvolvedor

frequentemente faz concessões na implementação a fim de conseguir rapidamente um protótipo executável. Um sistema operacional ou uma linguagem de programação inapropriada pode ser usado simplesmente por estar disponível e ser conhecidos; Um algoritmo ineficiente pode ser implementado simplesmente para demonstrar uma possibilidade.

Page 19: Modelos de Processos de Software

Modelo Espiral• Desenvolvido para abranger as melhores

características tanto do ciclo de vida Clássico como da Prototipação;

• Abordagem evolutiva/evolucionária;• Define 4 importantes atividades:

– Planejamento: determinação dos objetivos, alternativas e restrições;

– Análise dos Riscos: análise de alternativas e identificação/resolução de riscos;

– Engenharia: desenvolvimento do produto no “nível seguinte”– Avaliação do Cliente: avaliação dos resultados da

engenharia.

Page 20: Modelos de Processos de Software

Modelo Espiral

EngenhariaAvaliação do Cliente

Análise dos RiscosPlanejamentoColeta inicial dos requisitos e planejamento do projeto

Baseada nos Requisitosiniciais

Baseada na reação dos clientes

Protótipo de Softwareinicial

Sistema Construído

PlanejamentoBaseado nos comentários do cliente

Page 21: Modelos de Processos de Software

Modelo Espiral• Considerado o mais realista para o

desenvolvimento de sistemas e de softwares em grande escala;

Page 22: Modelos de Processos de Software

Questões1. Indique a alternativa que retrata melhor os possíveis modelos de Ciclo de

Vida:

a) Pirâmide ou Triangular, Maquete e Circular.

b) Clássico ou Cascata, Prototipação e Espiral.

c) Estrela, Maquete e Espiral.

d) Circular, Prototipação e Estrela.

2. O modelo de processo de software caracterizado por intercalar as atividades de especificação, desenvolvimento e validação, denomina-se:

a) Modelo de workflow.

b) Modelo de fluxo de dados

c) Desenvolvimento evolucionário

d) Transformação formal

e) Modelo em cascata

X

X

Page 23: Modelos de Processos de Software

3. Que modelo do ciclo de vida do paradigma da Engenharia de Software é caracterizado por ser uma abordagem que envolve a produção de versões iniciais de um sistema futuro com o qual se pode realizar verificações e experimentações para se avaliar algumas de suas qualidades antes que o sistema venha realmente a ser construído. (Copel,2009)

a) Espiral

b) Clássico

c) Prototipação

d) Circular

e) Cascata

4. A respeito da Engenharia de Software: (ANTAQ, 2009)

O modelo em espiral, que descreve o processo de desenvolvimento de um software, apresenta uma espiral em que cada loop representa uma fase distinta desse processo. A ausência de risco neste modelo o diferencia dos demais modelos de software.

X

F

Page 24: Modelos de Processos de Software

5. A prototipação se constitui em uma abordagem comumente

usada para elicitação e validação de requisitos. (SERPRO, 2005)V

Page 25: Modelos de Processos de Software

Referências

• PRESSMAN, Roger S. Engenharia de Software. Editora Makron Books, 1995.