Upload
novia
View
28
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
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
• 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
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)
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
Modelo Clássico
• Cascata: Requer uma abordagem sistemática, sequencial:
Engenharia de Sistemas
Análise
Projeto
Codificação
Teste
Manutenção
• 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
• 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
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.
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.
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.
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.
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;
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.
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.
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.
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.
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.
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.
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
Modelo Espiral• Considerado o mais realista para o
desenvolvimento de sistemas e de softwares em grande escala;
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
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
5. A prototipação se constitui em uma abordagem comumente
usada para elicitação e validação de requisitos. (SERPRO, 2005)V
Referências
• PRESSMAN, Roger S. Engenharia de Software. Editora Makron Books, 1995.