SlideShare uma empresa Scribd logo
1 de 73
Baixar para ler offline
Modelos de Processo de
Software
Leinylson Fontinele Pereira
Engenharia de Software
Conjunto de atividades relacionadas que levam à
produção de um produto de software (Sommerville, 2013)
Incluem:
1. Produtos gerados em cada atividade
2. Papéis envolvidos
3. Pré e pós-condições das atividades
Processo de software
•Processos de software são complexos e dependem de
vários fatores como:
• Produto a ser desenvolvido
• Equipe
• Recursos disponíveis
•Não existe um processo ideal, ele pode ser adaptado de
acordo com o contexto.
Motivação
•Envolvem criatividade e fatores humanos
•Decisões precisam ser tomadas ao longo do
processo
•Decisões erradas podem levar a prejuizos e perda
de oportunidades
Motivação
Modelos de Processo de Software
Como obter uma representação simplificada de um processo de software?
Modelos de Processo de Software
• Modelo Sequencial Linear ou Modelo Cascata
• Modelo de Prototipação
• Modelo RAD (Rapid Application Development)
• Modelos Evolutivos de Processo de Software
– Modelo Incremental
– Modelo Espiral
– Modelo de Montagem de Componentes
– Modelo de Desenvolvimento Concorrente
– Modelo Ágil
– Processo Unificado
• Modelo de Métodos Formais
• Técnicas de Quarta Geração
5
Modelo Cascata
Modelo Cascata
• Modelo mais antigo e o mais amplamente
usado da engenharia de software
• Modelado em função do ciclo da engenharia
convencional
• Requer uma abordagem sistemática,
seqüencial ao desenvolvimento de software
• O resultado de uma fase se constitui na
entrada da outra
7
Modelo Cascata
8
Engenharia de
Sistemas
Análise de
Requisitos
Projeto
Codificação
Testes
Manutenção
Modelo Cascata
9
Engenharia de
Sistemas
Análise de
Requisitos
Projeto
Codificação
Testes
Manutenção
Engenharia de Sistemas
• Envolve a coleta de requisitos em nível do sistema,
com uma pequena quantidade de projeto e análise
de alto nível
• Esta visão é essencial quando o software deve fazer
interface com outros elementos (hardware, pessoas
e banco de dados)
Modelo Cascata
10
Engenharia de
Sistemas
Análise de
Requisitos
Projeto
Codificação
Testes
Manutenção
Análise de Requisitos de Software
• O processo de coleta dos requisitos é intensificado e
concentrado especificamente no software
• Deve-se compreender o domínio da informação, a
função, desempenho e interfaces exigidos
• Os requisitos (para o sistema e para o software) são
documentados e revistos com o cliente
Modelo Cascata
11
Engenharia de
Sistemas
Análise de
Requisitos
Projeto
Codificação
Testes
Manutenção
Projeto
• Tradução dos requisitos do software para um
conjunto de representações que podem ser
avaliadas quanto à qualidade, antes que a
codificação se inicie
Modelo Cascata
12
Engenharia de
Sistemas
Análise de
Requisitos
Projeto
Codificação
Testes
Manutenção
Codificação
• Tradução das representações do projeto para
uma linguagem “artificial” resultando em
instruções executáveis pelo computador
Modelo Cascata
13
Engenharia de
Sistemas
Análise de
Requisitos
Projeto
Codificação
Testes
Manutenção
Testes
• Concentra-se:
• Aspectos lógicos internos do software,
garantindo que todas as instruções tenham
sido testadas
• Aspectos funcionais externos, para descobrir
erros e garantir que a entrada definida produza
resultados que concordem com os esperados.
Modelo Cascata
14
Engenharia de
Sistemas
Análise de
Requisitos
Projeto
Codificação
Testes
Manutenção
Manutenção
• Provavelmente o software deverá sofrer
mudanças depois que for entregue ao
cliente
• Causas das mudanças: erros, adaptação do
software para acomodar mudanças em seu
ambiente externo e exigência do cliente
para acréscimos funcionais e de
desempenho
Problemas com o Modelo Cascata
• Projetos reais raramente seguem o fluxo
seqüencial que o modelo propõe
• Logo no início é difícil estabelecer
explicitamente todos os requisitos. No começo
dos projetos sempre existe uma incerteza
natural
• O cliente deve ter paciência. Uma versão
executável do software só fica disponível
numa etapa avançada do desenvolvimento
15
Variações do Modelo Cascata
(Wazlawick, 2013)
16
Variações do Modelo Cascata
(Wazlawick, 2013)
17
Modelo Cascata
• O modelo Cascata trouxe contribuições
importantes para o processo de
desenvolvimento de software:
– Imposição de disciplina, planejamento e
gerenciamento
– a implementação do produto deve ser postergada
até que os objetivos tenham sido completamente
entendidos
18
Modelo de Prototipação
Modelo de Prototipação
• o objetivo é entender os requisitos do usuário
e, assim, obter uma melhor definição dos
requisitos do sistema.
• possibilita que o desenvolvedor crie um
modelo (protótipo)do software que deve ser
construído
20
O Paradigma de Prototipação para
obtenção dos requisitos
21
Obter Requisitos
Elaborar Projeto Rápido
Construir Protótipo
Avaliar Protótipo
Refinamento do Protótipo
O Paradigma de Prototipação para
obtenção dos requisitos
22
Obter Requisitos
Elaborar Projeto Rápido
Construir Protótipo
Avaliar Protótipo
Refinamento do Protótipo
1- OBTENÇÃO DOS REQUISITOS:
desenvolvedor e cliente definem os
objetivos gerais do software,
identificam quais requisitos são
conhecidos e as áreas que
necessitam de definições
adicionais.
O Paradigma de Prototipação para
obtenção dos requisitos
23
Obter Requisitos
Elaborar Projeto Rápido
Construir Protótipo
Avaliar Protótipo
Refinamento do Protótipo
2- PROJETO RÁPIDO:
representação dos aspectos do
software que são visíveis ao
usuário (abordagens de entrada
e formatos de saída)
O Paradigma de Prototipação para
obtenção dos requisitos
24
Obter Requisitos
Elaborar Projeto Rápido
Construir Protótipo
Avaliar Protótipo
Refinamento do Protótipo
3- CONSTRUÇÃO PROTÓTIPO:
implementação rápida do
projeto
O Paradigma de Prototipação para
obtenção dos requisitos
25
Obter Requisitos
Elaborar Projeto Rápido
Construir Protótipo
Avaliar Protótipo
Refinamento do Protótipo
4- AVALIAÇÃO DO PROTÓTIPO:
cliente e desenvolvedor avaliam o
protótipo
O Paradigma de Prototipação para
obtenção dos requisitos
26
Obter Requisitos
Elaborar Projeto Rápido
Construir Protótipo
Avaliar Protótipo
Refinamento do Protótipo
5- REFINAMENTO DO PROTÓTIPO: cliente
e desenvolvedor refinam os requisitos
do software a ser desenvolvido.
O Paradigma de Prototipação para
obtenção dos requisitos
27
Obter Requisitos
Elaborar Projeto Rápido
Construir Protótipo
Avaliar Protótipo
Refinamento do Protótipo
CONSTRUÇÃO
DO PRODUTO
O Paradigma de Prototipação para
obtenção dos requisitos
28
Obter Requisitos
Elaborar Projeto Rápido
Construir Protótipo
Avaliar Protótipo
Refinamento do Protótipo
CONSTRUÇÃO
DO PRODUTO
6- CONSTRUÇÃO PRODUTO:
identificados os requisitos, o
protótipo deve ser descartado e a
versão de produção deve ser
construída considerando os
critérios de qualidade.
Problemas com a Prototipação
• Cliente não sabe que o software que ele vê
não considerou, durante o desenvolvimento, a
qualidade global e a manutenibilidade a longo
prazo
• Desenvolvedor frequentemente faz uma
implementação comprometida, com o
objetivo de produzir rapidamente um
protótipo
29
Modelo de Prototipação
• Ainda que possam ocorrer problemas, a
prototipação é um ciclo de vida eficiente.
• O cliente e o desenvolvedor devem concordar
que o protótipo seja construído para servir
como um mecanismo a fim de definir os
requisitos
30
Modelo RAD
Modelo RAD
• RAD (Rapid Application Development) é um
modelo sequencial linear que enfatiza um
ciclo de desenvolvimento extremamente curto
• O desenvolvimento rápido é obtido usando
uma abordagem de construção baseada em
componentes.
32
Modelo RAD
• Os requisitos devem ser bem entendidos e o alcance
do projeto restrito
• Utilizado principalmente para aplicações de sistema
de informação
• Cada função principal pode ser direcionada para uma
equipe RAD separada e então integrada para formar
o todo.
33
Modelo RAD
34
Modelagem do
Negócio
Modelagem dos
Dados
Modelagem do
Processo
Geração da
Aplicação
Teste e Modificação
Equipe #1
Modelagem
do Negócio
Modelagem
dos Dados
Modelagem
do Processo
Geração da
Aplicação
Teste e
Modificação
Equipe #2 Modelagem
do Negócio
Modelagem
dos Dados
Modelagem
do Processo
Geração da
Aplicação
Teste e
Modificação
Equipe #3
60 a 90 dias
Modelo RAD
• Desvantagens:
– Exige recursos humanos suficientes para todas as
equipes
– Exige que desenvolvedores e clientes estejam
comprometidos com as atividades de “fogo-
rápido” a fim de terminar o projeto num prazo
curto
35
Modelo RAD
• Nem todos os tipos de aplicação são
apropriadas para o RAD:
– Deve ser possível a modularização efetiva da
aplicação
– Se alto desempenho é uma característica e o
desempenho é obtido sintonizando as interfaces
dos componentes do sistema, a abordagem RAD
pode não funcionar
36
Modelos Evolutivos
Modelos Evolutivos
• São modelos utilizados no desenvolvimento
de softwares que precisam evoluir com o
passar do tempo
• Modelos evolutivos são iterativos
• Possibilitam o desenvolvimento de versões
cada vez mais completas
38
Modelos Evolutivos
• Necessidades de evolução:
– Mudanças nos requisitos de produto e de negócio
durante o desenvolvimento
– Prazo de entrega apertado - impossível a
conclusão do produto completo
– Quando um conjunto de requisitos importantes é
bem conhecido, porém os detalhes ainda devem
ser definidos
39
Modelos Evolutivos
• Tipos de Modelos Evolutivos:
– O Modelo Incremental
– O Modelo Espiral
– O Modelo de Montagem de Componentes
– O Modelo de Desenvolvimento Concorrente
– O Modelo Ágil
– O Processo Unificado
Modelo Incremental
Modelo Incremental
• Combina elementos do modelo cascata
(aplicado repetidamente) com características
da prototipação (interação com cliente)
• Objetivo:
– Interagir com o usuário para descobrir os
requisitos de forma gradativa (incremental), até a
conclusão do produto final
42
Modelo Incremental
43
Versão Inicial
Descrição
geral Descrição
geral
Descrição
geral
Versões
Intermediárias
Versão Final
Análise Projeto
Codificação
Teste
Engenharia de
sistemas/informação
Modelo Incremental
• Versão inicial:
– É o núcleo do produto (a parte mais importante)
• Evolui quando o usuário solicita a adição de novas
características
– Apropriado para:
• Sistemas pequenos, ou
• Difíceis de estabelecer uma especificação detalhada
dos requisitos, a priori
44
Modelo Incremental
• Novas versões
– Planejadas com o foco no controle de riscos
técnicos (Ex. disponibilidade de equipamento)
45
Modelo Espiral
Modelo Espiral
• Engloba as melhores características do Modelo Cascata
e da Prototipação, adicionando um novo elemento: a
Análise de Riscos
– Modelo Cascata
• Segue a abordagem de passos sistemáticos
– Prototipação
• Interatividade com o usuário
– Modelo Espiral
• Sistematização (Cascata) + interatividade (prototipação) + Análise
de Riscos (novo)
Modelo Espiral
• Dividido em uma série de regiões (3 a 6) que
delimitam atividades de arcabouço
• Usa a Prototipação em qualquer etapa da
evolução do produto:
– Mecanismo de redução de riscos
Modelo Espiral
• Abordagem realista para o desenvolvimento
de sistemas de grande porte
• Exige a consideração direta dos riscos técnicos
em todos os estágios do projeto
– Aplicado adequadamente, pode reduzir os riscos
antes que eles fiquem problemáticos
Modelo Espiral
• Funcionamento:
– Para cada volta na espiral:
• Determinar os objetivos, alternativas e restrições
relacionadas à iteração que vai se iniciar
• Identificar e resolver os riscos relacionados
• Avaliar alternativas disponíveis. Podem ser feitos protótipos
para analisar a viabilidade de diferentes alternativas
• Desenvolver os artefatos relacionados à iteração corrente e
valida-los
• Planejar a próxima iteração
• Obter concordância em relação ao planejamento
Modelo Espiral (com 4 regiões)
51
Risk
analysis
Risk
analysis
Risk
analysis
Risk
analysis Proto-
type 1
Prototype 2
Prototype 3
Opera-
tional
protoype
Concept of
Operation
Simulations, models, benchmarks
S/W
requirements
Requirement
validation
Design
V&V
Product
design Detailed
design
Code
Unit test
Integr ation
testAcceptance
testService
Integration
and test plan
Development
plan
Requirements plan
Life-cycle plan
REVIEW
DETERMINAR OBJETIVOS,
ALTERNATIVAS E RESTRIÇÕES
PLANEJAR PRÓXIMA FASE
AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS
DESENVOLVER, VERIFICAR O
PRODUTO NO PRÓXIMO NÍVEL
Modelo Espiral (com 4 regiões)
52
Risk
analysis
Risk
analysis
Risk
analysis
Risk
analysis Proto-
type 1
Prototype 2
Prototype 3
Opera-
tional
protoype
Concept of
Operation
Simulations, models, benchmarks
S/W
requirements
Requirement
validation
Design
V&V
Product
design Detailed
design
Code
Unit test
Integr ation
testAcceptance
testService
Integration
and test plan
Development
plan
Requirements plan
Life-cycle plan
REVIEW
DETERMINAR OBJETIVOS,
ALTERNATIVAS E RESTRIÇÕES
PLANEJAR PRÓXIMA FASE
AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS
DESENVOLVER, VERIFICAR O
PRODUTO NO PRÓXIMO NÍVEL
cada “loop” no
espiral representa
uma fase do
processo de
software
Modelo Espiral (com 4 regiões)
53
Risk
analysis Proto-
type 1
Concept of
Operation
Requirements plan
Life-cycle plan
REVIEW
o “loop” mais
interno está
concentrado nas
possibilidades do
sistema
Modelo Espiral (com 4 regiões)
54
Risk
analysis
Prototype
Simulations, models, benchmarks
SW
requirements
Requirement
validation
Development
plan
o próximo “loop”
está concentrado na
definição dos
requisitos do
sistema
Modelo Espiral (com 4 regiões)
55
Risk
analysis
prototype 3
simulations, models, benchmarks
Design
V&V
Product
design
Integration
and test plan
o “loop” um pouco
mais externo está
concentrado no
projeto do sistema
Modelo Espiral (com 4 regiões)
56
Risk
nalysis
Opera-
tional
protoype
Simulations, models, benchmarks
Detailed
design
Code
Unit test
Integration
testAcceptance
testService
um “loop” ainda
mais externo está
concentrado na
construção do
sistema
Modelo Espiral (com 4 regiões)
57
Risk
analysis
Risk
analysis
Risk
analysis
Risk
analysis Proto-
type 1
Prototype 2
Prototype 3
Opera-
tional
protoype
Concept of
Operation
Simulations, models, benchmarks
S/W
requirements
Requirement
validation
Design
V&V
Product
design Detailed
design
Code
Unit test
Integr ation
testAcceptance
testService
Integration
and test plan
Development
plan
Requirements plan
Life-cycle plan
REVIEW
DETERMINAR OBJETIVOS,
ALTERNATIVAS E RESTRIÇÕES
PLANEJAR PRÓXIMA FASE
AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS
DESENVOLVER, VERIFICAR O
PRODUTO NO PRÓXIMO NÍVEL
• Não existem fases fixas no modelo
• As fases mostradas na figura são meramente
exemplos
• A gerência decide como estruturar o projeto
em fases
O Modelo Espiral (com 4 regiões)
58
Risk
analysis
Risk
analysis
Risk
analysis
Risk
analysis Proto-
type 1
Prototype 2
Prototype 3
Opera-
tional
protoype
Concept of
Operation
Simulations, models, benchmarks
S/W
requirements
Requirement
validation
Design
V&V
Product
design Detailed
design
Code
Unit test
Integr ation
testAcceptance
testService
Integration
and test plan
Development
plan
Requirements plan
Life-cycle plan
REVIEW
DETERMINAR OBJETIVOS,
ALTERNATIVAS E RESTRIÇÕES
PLANEJAR PRÓXIMA FASE
AVALIAR ALTERNATIVAS
IDENTIFICAR, RESOLVER RISCOS
DESENVOLVER, VERIFICAR O
PRODUTO NO PRÓXIMO NÍVEL
AVALIAÇÃO E
REDUÇÃO DE
RISCOS
➢ Cada “loop” do espiral é dividido em 4
setores
DESENVOLVIMENTO E
VALIDAÇÃO
PLANEJAMENTO
DEFINIÇÃO DE
OBJETIVOS
Modelo Espiral (com 4 regiões)
59
são definidos objetivos específicos para a fase
do projeto
são identificadas restrições sobre o processo e
o produto
é projetado um plano de gerenciamento
detalhado
são identificados riscos do projeto
dependendo dos riscos, estratégias
alternativas podem ser planejadas
DEFINIÇÃO DE
OBJETIVOS
Modelo Espiral (com 4 regiões)
60
AVALIAÇÃO E
REDUÇÃO DE
RISCOS
para cada um dos riscos identificados, uma
análise detalhada é executada.
passos são tomados para reduzir o risco
Modelo Espiral (com 4 regiões)
61
AVALIAÇÃO E
REDUÇÃO DE
RISCOS
depois da avaliação do risco, um modelo de
desenvolvimento é escolhido para o
sistema DESENVOLVIMENTO
E VALIDAÇÃO
DEFINIÇÃO DE
OBJETIVOS
Modelo Espiral (com 4 regiões)
62
AVALIAÇÃO E
REDUÇÃO DE
RISCOS
DESENVOLVIMENTO
E VALIDAÇÃO
PLANEJAMENTO
o projeto é revisto e é tomada uma decisão
de continuidade
se é decidido continuar, são projetados
planos para a próxima fase do projeto
(próximo “loop” )
DEFINIÇÃO DE
OBJETIVOS
Modelo Espiral (com 6 regiões)
63
Planejamento
Análise de Riscos
Engenharia
Construção e Liberação
Avaliação do Cliente
Comunicação com
Cliente
Modelo Espiral
• Engloba as melhores características do ciclo de
vida Clássico e da Prototipação, adicionando
um novo elemento: a Análise de Risco
• Usa a Prototipação, em qualquer etapa da
evolução do produto, como mecanismo de
redução de riscos
64
Principais Fases do Modelo Espiral
• Desenvolvimento de Objetivos
• Avaliação e Redução de Riscos
• Desenvolvimento e Validação
• Planejamento
Principais Fases do Modelo Espiral
• Desenvolvimento de objetivos
– Definição dos objetivos específicos
– Identificação de restrições do projeto e produto
– Elaboração do plano de gerenciamento
– Identificação do riscos do projeto
• Os risco identificados influenciam no planejamento das
estratégias
Principais Fases do Modelo Espiral
• Avaliação de redução de riscos
– Todos os riscos identificados são analisados
detalhadamente
– Devem ser planejadas e executadas ações para reduzir
os riscos
– Ex: Se houver o risco de que existem requisitos não
apropriados, pode-se desenvolver protótipos do
sistema para verificar a importância dos requisitos
Principais Fases do Modelo Espiral
• Desenvolvimento e validação
– Após a avaliação de risco, um modelo de
desenvolvimento de sistema deve ser selecionado:
• Se os riscos de interfaces forem os principais riscos
identificados pode-se adotar o modelo de prototipação
• Se o risco de integração de subsistemas for o principal
risco identificado pode-se escolher o modelo em
cascata
Principais Fases do Modelo Espiral
• Planejamento
– O projeto é revisado e a decisão de prosseguir ao
próximo loop é tomada
– Para o próximo loop o planejamento será
elaborado para a próxima fase do projeto
Vantagens
• É, atualmente, a abordagem mais realística para
o desenvolvimento de software em grande
escala.
• Estimativas (por exemplo: cronograma) tornam-
se mais realísticas com o progresso do trabalho.
• É mais versátil para lidar com mudanças.
• Fácil de decidir quando testar
• Não faz distinção entre desenvolvimento e
manutenção.
Desvantagens
• Pode ser difícil convencer os clientes de que a
abordagem evolucionária é controlável.
• Avaliação dos riscos exige muita experiência para
o sucesso.
– Se um risco não for descoberto, inevitavelmente
ocorrerão problemas.
• O modelo é relativamente novo e não tem sido
amplamente utilizado.
Atividade
Atividade
• Crie uma empresa de desenvolvimento de Software e dê um nome
fantasia para sua empresa
• A empresa é formada por uma equipe de 4 desenvolvedores:
– Forme sua equipe e escolha o gerente de projeto
• Baseado nos modelos de processo (Cascata, Prototipação,
Incremental e Espiral) defina uma abordagem para o
desenvolvimento de software (adotado na empresa) adotando as
melhores características e as vantagens de cada modelo
• Gravem em vídeo a rotina de um dia da empresa (sejam criativos!)

Mais conteúdo relacionado

Mais procurados

Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
Nécio de Lima Veras
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
Marcos Morais de Sousa
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Sérgio Souza Costa
 

Mais procurados (20)

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Modelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfModelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdf
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de Softwares
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3
 
Uml
UmlUml
Uml
 
Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de Requisitos
 
Cmmi e mps.Br
Cmmi e mps.BrCmmi e mps.Br
Cmmi e mps.Br
 
Análise, projeto e implementação de sistemas
Análise, projeto e implementação de sistemasAnálise, projeto e implementação de sistemas
Análise, projeto e implementação de sistemas
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 

Semelhante a Aula 2 - Modelos de processos

Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de software
luacal
 
Aula 2 modelo de processo de software1
Aula 2   modelo de processo de software1Aula 2   modelo de processo de software1
Aula 2 modelo de processo de software1
Tiago Vizoto
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slides
horaciosila
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
wilsonguns
 

Semelhante a Aula 2 - Modelos de processos (20)

Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de software
 
Aula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdfAula03_04_ModelosProcessos.pdf
Aula03_04_ModelosProcessos.pdf
 
Aula 2 modelo de processo de software1
Aula 2   modelo de processo de software1Aula 2   modelo de processo de software1
Aula 2 modelo de processo de software1
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
Aula 3
Aula 3Aula 3
Aula 3
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002
 
FES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdfFES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdf
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de software
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
Aula 3 - Processos de Software.pdf
Aula 3 - Processos de Software.pdfAula 3 - Processos de Software.pdf
Aula 3 - Processos de Software.pdf
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slides
 
Engenharia de Software: Processos de Software
Engenharia de Software: Processos de SoftwareEngenharia de Software: Processos de Software
Engenharia de Software: Processos de Software
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Modelos de Processo de Software Parte 5
Modelos de Processo de Software Parte 5Modelos de Processo de Software Parte 5
Modelos de Processo de Software Parte 5
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1
 
Aula 02 - Processo de Software I.pdf
Aula 02 - Processo de Software I.pdfAula 02 - Processo de Software I.pdf
Aula 02 - Processo de Software I.pdf
 

Mais de Leinylson Fontinele

Mais de Leinylson Fontinele (20)

Utilização do editor de texto Word
Utilização do editor de texto WordUtilização do editor de texto Word
Utilização do editor de texto Word
 
Prática com slide.pptx
Prática com slide.pptxPrática com slide.pptx
Prática com slide.pptx
 
A galinha carijó
A galinha carijóA galinha carijó
A galinha carijó
 
Descrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzleDescrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzle
 
Aula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramentoAula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramento
 
Aula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurançaAula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurança
 
Aula 02 - Agentes Inteligentes
Aula 02 - Agentes InteligentesAula 02 - Agentes Inteligentes
Aula 02 - Agentes Inteligentes
 
Aula 01 - Visão Geral da IA
Aula 01 - Visão Geral da IAAula 01 - Visão Geral da IA
Aula 01 - Visão Geral da IA
 
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
 
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
 
Aula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informaçõesAula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informações
 
A história da Segurança da Informação
A história da Segurança da InformaçãoA história da Segurança da Informação
A história da Segurança da Informação
 
Introdução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. CostaIntrodução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. Costa
 
Caso 1 - Boing 777
Caso 1 - Boing 777Caso 1 - Boing 777
Caso 1 - Boing 777
 
Caso 2 - Aeroporto de Denver
Caso 2 - Aeroporto de DenverCaso 2 - Aeroporto de Denver
Caso 2 - Aeroporto de Denver
 
Aula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaAula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de busca
 
Aula 01 - Visão geral da IA
Aula 01 - Visão geral da IAAula 01 - Visão geral da IA
Aula 01 - Visão geral da IA
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Aula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequenciaAula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequencia
 

Último

Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
andrenespoli3
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
CleidianeCarvalhoPer
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
NarlaAquino
 

Último (20)

Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfProjeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 

Aula 2 - Modelos de processos

  • 1. Modelos de Processo de Software Leinylson Fontinele Pereira Engenharia de Software
  • 2. Conjunto de atividades relacionadas que levam à produção de um produto de software (Sommerville, 2013) Incluem: 1. Produtos gerados em cada atividade 2. Papéis envolvidos 3. Pré e pós-condições das atividades Processo de software
  • 3. •Processos de software são complexos e dependem de vários fatores como: • Produto a ser desenvolvido • Equipe • Recursos disponíveis •Não existe um processo ideal, ele pode ser adaptado de acordo com o contexto. Motivação
  • 4. •Envolvem criatividade e fatores humanos •Decisões precisam ser tomadas ao longo do processo •Decisões erradas podem levar a prejuizos e perda de oportunidades Motivação Modelos de Processo de Software Como obter uma representação simplificada de um processo de software?
  • 5. Modelos de Processo de Software • Modelo Sequencial Linear ou Modelo Cascata • Modelo de Prototipação • Modelo RAD (Rapid Application Development) • Modelos Evolutivos de Processo de Software – Modelo Incremental – Modelo Espiral – Modelo de Montagem de Componentes – Modelo de Desenvolvimento Concorrente – Modelo Ágil – Processo Unificado • Modelo de Métodos Formais • Técnicas de Quarta Geração 5
  • 7. Modelo Cascata • Modelo mais antigo e o mais amplamente usado da engenharia de software • Modelado em função do ciclo da engenharia convencional • Requer uma abordagem sistemática, seqüencial ao desenvolvimento de software • O resultado de uma fase se constitui na entrada da outra 7
  • 8. Modelo Cascata 8 Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção
  • 9. Modelo Cascata 9 Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção Engenharia de Sistemas • Envolve a coleta de requisitos em nível do sistema, com uma pequena quantidade de projeto e análise de alto nível • Esta visão é essencial quando o software deve fazer interface com outros elementos (hardware, pessoas e banco de dados)
  • 10. Modelo Cascata 10 Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção Análise de Requisitos de Software • O processo de coleta dos requisitos é intensificado e concentrado especificamente no software • Deve-se compreender o domínio da informação, a função, desempenho e interfaces exigidos • Os requisitos (para o sistema e para o software) são documentados e revistos com o cliente
  • 11. Modelo Cascata 11 Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção Projeto • Tradução dos requisitos do software para um conjunto de representações que podem ser avaliadas quanto à qualidade, antes que a codificação se inicie
  • 12. Modelo Cascata 12 Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção Codificação • Tradução das representações do projeto para uma linguagem “artificial” resultando em instruções executáveis pelo computador
  • 13. Modelo Cascata 13 Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção Testes • Concentra-se: • Aspectos lógicos internos do software, garantindo que todas as instruções tenham sido testadas • Aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados.
  • 14. Modelo Cascata 14 Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção Manutenção • Provavelmente o software deverá sofrer mudanças depois que for entregue ao cliente • Causas das mudanças: erros, adaptação do software para acomodar mudanças em seu ambiente externo e exigência do cliente para acréscimos funcionais e de desempenho
  • 15. Problemas com o Modelo Cascata • Projetos reais raramente seguem o fluxo seqüencial que o modelo propõe • Logo no início é difícil estabelecer explicitamente todos os requisitos. No começo dos projetos sempre existe uma incerteza natural • O cliente deve ter paciência. Uma versão executável do software só fica disponível numa etapa avançada do desenvolvimento 15
  • 16. Variações do Modelo Cascata (Wazlawick, 2013) 16
  • 17. Variações do Modelo Cascata (Wazlawick, 2013) 17
  • 18. Modelo Cascata • O modelo Cascata trouxe contribuições importantes para o processo de desenvolvimento de software: – Imposição de disciplina, planejamento e gerenciamento – a implementação do produto deve ser postergada até que os objetivos tenham sido completamente entendidos 18
  • 20. Modelo de Prototipação • o objetivo é entender os requisitos do usuário e, assim, obter uma melhor definição dos requisitos do sistema. • possibilita que o desenvolvedor crie um modelo (protótipo)do software que deve ser construído 20
  • 21. O Paradigma de Prototipação para obtenção dos requisitos 21 Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo
  • 22. O Paradigma de Prototipação para obtenção dos requisitos 22 Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo 1- OBTENÇÃO DOS REQUISITOS: desenvolvedor e cliente definem os objetivos gerais do software, identificam quais requisitos são conhecidos e as áreas que necessitam de definições adicionais.
  • 23. O Paradigma de Prototipação para obtenção dos requisitos 23 Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo 2- PROJETO RÁPIDO: representação dos aspectos do software que são visíveis ao usuário (abordagens de entrada e formatos de saída)
  • 24. O Paradigma de Prototipação para obtenção dos requisitos 24 Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo 3- CONSTRUÇÃO PROTÓTIPO: implementação rápida do projeto
  • 25. O Paradigma de Prototipação para obtenção dos requisitos 25 Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo 4- AVALIAÇÃO DO PROTÓTIPO: cliente e desenvolvedor avaliam o protótipo
  • 26. O Paradigma de Prototipação para obtenção dos requisitos 26 Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo 5- REFINAMENTO DO PROTÓTIPO: cliente e desenvolvedor refinam os requisitos do software a ser desenvolvido.
  • 27. O Paradigma de Prototipação para obtenção dos requisitos 27 Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo CONSTRUÇÃO DO PRODUTO
  • 28. O Paradigma de Prototipação para obtenção dos requisitos 28 Obter Requisitos Elaborar Projeto Rápido Construir Protótipo Avaliar Protótipo Refinamento do Protótipo CONSTRUÇÃO DO PRODUTO 6- CONSTRUÇÃO PRODUTO: identificados os requisitos, o protótipo deve ser descartado e a versão de produção deve ser construída considerando os critérios de qualidade.
  • 29. Problemas com a Prototipação • Cliente não sabe que o software que ele vê não considerou, durante o desenvolvimento, a qualidade global e a manutenibilidade a longo prazo • Desenvolvedor frequentemente faz uma implementação comprometida, com o objetivo de produzir rapidamente um protótipo 29
  • 30. Modelo de Prototipação • Ainda que possam ocorrer problemas, a prototipação é um ciclo de vida eficiente. • O cliente e o desenvolvedor devem concordar que o protótipo seja construído para servir como um mecanismo a fim de definir os requisitos 30
  • 32. Modelo RAD • RAD (Rapid Application Development) é um modelo sequencial linear que enfatiza um ciclo de desenvolvimento extremamente curto • O desenvolvimento rápido é obtido usando uma abordagem de construção baseada em componentes. 32
  • 33. Modelo RAD • Os requisitos devem ser bem entendidos e o alcance do projeto restrito • Utilizado principalmente para aplicações de sistema de informação • Cada função principal pode ser direcionada para uma equipe RAD separada e então integrada para formar o todo. 33
  • 34. Modelo RAD 34 Modelagem do Negócio Modelagem dos Dados Modelagem do Processo Geração da Aplicação Teste e Modificação Equipe #1 Modelagem do Negócio Modelagem dos Dados Modelagem do Processo Geração da Aplicação Teste e Modificação Equipe #2 Modelagem do Negócio Modelagem dos Dados Modelagem do Processo Geração da Aplicação Teste e Modificação Equipe #3 60 a 90 dias
  • 35. Modelo RAD • Desvantagens: – Exige recursos humanos suficientes para todas as equipes – Exige que desenvolvedores e clientes estejam comprometidos com as atividades de “fogo- rápido” a fim de terminar o projeto num prazo curto 35
  • 36. Modelo RAD • Nem todos os tipos de aplicação são apropriadas para o RAD: – Deve ser possível a modularização efetiva da aplicação – Se alto desempenho é uma característica e o desempenho é obtido sintonizando as interfaces dos componentes do sistema, a abordagem RAD pode não funcionar 36
  • 38. Modelos Evolutivos • São modelos utilizados no desenvolvimento de softwares que precisam evoluir com o passar do tempo • Modelos evolutivos são iterativos • Possibilitam o desenvolvimento de versões cada vez mais completas 38
  • 39. Modelos Evolutivos • Necessidades de evolução: – Mudanças nos requisitos de produto e de negócio durante o desenvolvimento – Prazo de entrega apertado - impossível a conclusão do produto completo – Quando um conjunto de requisitos importantes é bem conhecido, porém os detalhes ainda devem ser definidos 39
  • 40. Modelos Evolutivos • Tipos de Modelos Evolutivos: – O Modelo Incremental – O Modelo Espiral – O Modelo de Montagem de Componentes – O Modelo de Desenvolvimento Concorrente – O Modelo Ágil – O Processo Unificado
  • 42. Modelo Incremental • Combina elementos do modelo cascata (aplicado repetidamente) com características da prototipação (interação com cliente) • Objetivo: – Interagir com o usuário para descobrir os requisitos de forma gradativa (incremental), até a conclusão do produto final 42
  • 43. Modelo Incremental 43 Versão Inicial Descrição geral Descrição geral Descrição geral Versões Intermediárias Versão Final Análise Projeto Codificação Teste Engenharia de sistemas/informação
  • 44. Modelo Incremental • Versão inicial: – É o núcleo do produto (a parte mais importante) • Evolui quando o usuário solicita a adição de novas características – Apropriado para: • Sistemas pequenos, ou • Difíceis de estabelecer uma especificação detalhada dos requisitos, a priori 44
  • 45. Modelo Incremental • Novas versões – Planejadas com o foco no controle de riscos técnicos (Ex. disponibilidade de equipamento) 45
  • 47. Modelo Espiral • Engloba as melhores características do Modelo Cascata e da Prototipação, adicionando um novo elemento: a Análise de Riscos – Modelo Cascata • Segue a abordagem de passos sistemáticos – Prototipação • Interatividade com o usuário – Modelo Espiral • Sistematização (Cascata) + interatividade (prototipação) + Análise de Riscos (novo)
  • 48. Modelo Espiral • Dividido em uma série de regiões (3 a 6) que delimitam atividades de arcabouço • Usa a Prototipação em qualquer etapa da evolução do produto: – Mecanismo de redução de riscos
  • 49. Modelo Espiral • Abordagem realista para o desenvolvimento de sistemas de grande porte • Exige a consideração direta dos riscos técnicos em todos os estágios do projeto – Aplicado adequadamente, pode reduzir os riscos antes que eles fiquem problemáticos
  • 50. Modelo Espiral • Funcionamento: – Para cada volta na espiral: • Determinar os objetivos, alternativas e restrições relacionadas à iteração que vai se iniciar • Identificar e resolver os riscos relacionados • Avaliar alternativas disponíveis. Podem ser feitos protótipos para analisar a viabilidade de diferentes alternativas • Desenvolver os artefatos relacionados à iteração corrente e valida-los • Planejar a próxima iteração • Obter concordância em relação ao planejamento
  • 51. Modelo Espiral (com 4 regiões) 51 Risk analysis Risk analysis Risk analysis Risk analysis Proto- type 1 Prototype 2 Prototype 3 Opera- tional protoype Concept of Operation Simulations, models, benchmarks S/W requirements Requirement validation Design V&V Product design Detailed design Code Unit test Integr ation testAcceptance testService Integration and test plan Development plan Requirements plan Life-cycle plan REVIEW DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES PLANEJAR PRÓXIMA FASE AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL
  • 52. Modelo Espiral (com 4 regiões) 52 Risk analysis Risk analysis Risk analysis Risk analysis Proto- type 1 Prototype 2 Prototype 3 Opera- tional protoype Concept of Operation Simulations, models, benchmarks S/W requirements Requirement validation Design V&V Product design Detailed design Code Unit test Integr ation testAcceptance testService Integration and test plan Development plan Requirements plan Life-cycle plan REVIEW DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES PLANEJAR PRÓXIMA FASE AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL cada “loop” no espiral representa uma fase do processo de software
  • 53. Modelo Espiral (com 4 regiões) 53 Risk analysis Proto- type 1 Concept of Operation Requirements plan Life-cycle plan REVIEW o “loop” mais interno está concentrado nas possibilidades do sistema
  • 54. Modelo Espiral (com 4 regiões) 54 Risk analysis Prototype Simulations, models, benchmarks SW requirements Requirement validation Development plan o próximo “loop” está concentrado na definição dos requisitos do sistema
  • 55. Modelo Espiral (com 4 regiões) 55 Risk analysis prototype 3 simulations, models, benchmarks Design V&V Product design Integration and test plan o “loop” um pouco mais externo está concentrado no projeto do sistema
  • 56. Modelo Espiral (com 4 regiões) 56 Risk nalysis Opera- tional protoype Simulations, models, benchmarks Detailed design Code Unit test Integration testAcceptance testService um “loop” ainda mais externo está concentrado na construção do sistema
  • 57. Modelo Espiral (com 4 regiões) 57 Risk analysis Risk analysis Risk analysis Risk analysis Proto- type 1 Prototype 2 Prototype 3 Opera- tional protoype Concept of Operation Simulations, models, benchmarks S/W requirements Requirement validation Design V&V Product design Detailed design Code Unit test Integr ation testAcceptance testService Integration and test plan Development plan Requirements plan Life-cycle plan REVIEW DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES PLANEJAR PRÓXIMA FASE AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL • Não existem fases fixas no modelo • As fases mostradas na figura são meramente exemplos • A gerência decide como estruturar o projeto em fases
  • 58. O Modelo Espiral (com 4 regiões) 58 Risk analysis Risk analysis Risk analysis Risk analysis Proto- type 1 Prototype 2 Prototype 3 Opera- tional protoype Concept of Operation Simulations, models, benchmarks S/W requirements Requirement validation Design V&V Product design Detailed design Code Unit test Integr ation testAcceptance testService Integration and test plan Development plan Requirements plan Life-cycle plan REVIEW DETERMINAR OBJETIVOS, ALTERNATIVAS E RESTRIÇÕES PLANEJAR PRÓXIMA FASE AVALIAR ALTERNATIVAS IDENTIFICAR, RESOLVER RISCOS DESENVOLVER, VERIFICAR O PRODUTO NO PRÓXIMO NÍVEL AVALIAÇÃO E REDUÇÃO DE RISCOS ➢ Cada “loop” do espiral é dividido em 4 setores DESENVOLVIMENTO E VALIDAÇÃO PLANEJAMENTO DEFINIÇÃO DE OBJETIVOS
  • 59. Modelo Espiral (com 4 regiões) 59 são definidos objetivos específicos para a fase do projeto são identificadas restrições sobre o processo e o produto é projetado um plano de gerenciamento detalhado são identificados riscos do projeto dependendo dos riscos, estratégias alternativas podem ser planejadas DEFINIÇÃO DE OBJETIVOS
  • 60. Modelo Espiral (com 4 regiões) 60 AVALIAÇÃO E REDUÇÃO DE RISCOS para cada um dos riscos identificados, uma análise detalhada é executada. passos são tomados para reduzir o risco
  • 61. Modelo Espiral (com 4 regiões) 61 AVALIAÇÃO E REDUÇÃO DE RISCOS depois da avaliação do risco, um modelo de desenvolvimento é escolhido para o sistema DESENVOLVIMENTO E VALIDAÇÃO DEFINIÇÃO DE OBJETIVOS
  • 62. Modelo Espiral (com 4 regiões) 62 AVALIAÇÃO E REDUÇÃO DE RISCOS DESENVOLVIMENTO E VALIDAÇÃO PLANEJAMENTO o projeto é revisto e é tomada uma decisão de continuidade se é decidido continuar, são projetados planos para a próxima fase do projeto (próximo “loop” ) DEFINIÇÃO DE OBJETIVOS
  • 63. Modelo Espiral (com 6 regiões) 63 Planejamento Análise de Riscos Engenharia Construção e Liberação Avaliação do Cliente Comunicação com Cliente
  • 64. Modelo Espiral • Engloba as melhores características do ciclo de vida Clássico e da Prototipação, adicionando um novo elemento: a Análise de Risco • Usa a Prototipação, em qualquer etapa da evolução do produto, como mecanismo de redução de riscos 64
  • 65. Principais Fases do Modelo Espiral • Desenvolvimento de Objetivos • Avaliação e Redução de Riscos • Desenvolvimento e Validação • Planejamento
  • 66. Principais Fases do Modelo Espiral • Desenvolvimento de objetivos – Definição dos objetivos específicos – Identificação de restrições do projeto e produto – Elaboração do plano de gerenciamento – Identificação do riscos do projeto • Os risco identificados influenciam no planejamento das estratégias
  • 67. Principais Fases do Modelo Espiral • Avaliação de redução de riscos – Todos os riscos identificados são analisados detalhadamente – Devem ser planejadas e executadas ações para reduzir os riscos – Ex: Se houver o risco de que existem requisitos não apropriados, pode-se desenvolver protótipos do sistema para verificar a importância dos requisitos
  • 68. Principais Fases do Modelo Espiral • Desenvolvimento e validação – Após a avaliação de risco, um modelo de desenvolvimento de sistema deve ser selecionado: • Se os riscos de interfaces forem os principais riscos identificados pode-se adotar o modelo de prototipação • Se o risco de integração de subsistemas for o principal risco identificado pode-se escolher o modelo em cascata
  • 69. Principais Fases do Modelo Espiral • Planejamento – O projeto é revisado e a decisão de prosseguir ao próximo loop é tomada – Para o próximo loop o planejamento será elaborado para a próxima fase do projeto
  • 70. Vantagens • É, atualmente, a abordagem mais realística para o desenvolvimento de software em grande escala. • Estimativas (por exemplo: cronograma) tornam- se mais realísticas com o progresso do trabalho. • É mais versátil para lidar com mudanças. • Fácil de decidir quando testar • Não faz distinção entre desenvolvimento e manutenção.
  • 71. Desvantagens • Pode ser difícil convencer os clientes de que a abordagem evolucionária é controlável. • Avaliação dos riscos exige muita experiência para o sucesso. – Se um risco não for descoberto, inevitavelmente ocorrerão problemas. • O modelo é relativamente novo e não tem sido amplamente utilizado.
  • 73. Atividade • Crie uma empresa de desenvolvimento de Software e dê um nome fantasia para sua empresa • A empresa é formada por uma equipe de 4 desenvolvedores: – Forme sua equipe e escolha o gerente de projeto • Baseado nos modelos de processo (Cascata, Prototipação, Incremental e Espiral) defina uma abordagem para o desenvolvimento de software (adotado na empresa) adotando as melhores características e as vantagens de cada modelo • Gravem em vídeo a rotina de um dia da empresa (sejam criativos!)