Modelos de Processos de Software

Propaganda
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
Modelo Clássico
• 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
• 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 Prototipagem
Início
Fim
Coleta e
refinamento
dos
requisitos
Orientação:
jogar o protótipo fora.
Projeto
rápido
Engenharia
do
produto
Construção
do
protótipo
Refinamento
do
protótipo
Avaliação do
protótipo
pelo cliente
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
Planejamento
Análise dos Riscos
Coleta inicial
dos requisitos
e planejamento
do projeto
Baseada nos
Requisitos
iniciais
Planejamento
Baseado nos
comentários do
cliente
Baseada na
reação dos
clientes
Protótipo de
Software
inicial
Sistema
Construído
Avaliação do Cliente
Engenharia
Modelo Espiral
• Considerado o mais realista para o
desenvolvimento de sistemas e de softwares
em grande escala;
Questões
1. Indique a alternativa que retrata melhor os possíveis modelos de Ciclo de
Vida:
a) Pirâmide ou Triangular, Maquete e Circular.
b)
X 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)
X Modelo em cascata
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
X
d) Circular
e) Cascata
4. A respeito da Engenharia de Software: (ANTAQ, 2009)
F 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.
V 5. A prototipação se constitui em uma abordagem comumente
usada para elicitação e validação de requisitos. (SERPRO, 2005)
Referências
• PRESSMAN, Roger S. Engenharia de
Software. Editora Makron Books, 1995.
Download