Buscar

Processos de Desenvolvimento de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Engenharia de Software IEngenharia de Software IEngenharia de Software I
Curso de Desenvolvimento de Software
Prof. Alessandro J de Souza
ajdsouza@cefetrn.br
2
Processo de Desenvolvimento 
de Software
Processo de Desenvolvimento Processo de Desenvolvimento 
de Softwarede Software
Desenvolvimento de Software – SW I
3
¢ Conceito de processo
?Processo é um conjunto de passos parcialmente 
ordenados, constituídos por atividades, métodos, 
praticas e transformações, usado para atingir uma 
meta.
¢ Um processo é uma receita que é seguida por 
um projeto.
?Projeto(abstrato) -> Processo(receita) -> Produto
Desenvolvimento de Software – SW I
4
Conceito de processoConceito de processoConceito de processo
¢ O processo é o instrumento capaz de 
responder a qualquer momento:
?O que é feito? 
„(Produto)
?Como é feito?
„(Passos)
?Por quem é feito?
„(Agente)
?O que usa?
„(Insumos)
?O que Produz?
„(resultados)
Desenvolvimento de Software – SW I
5
Conceito de processoConceito de processoConceito de processo
¢ O processo pode ter mais ou menos detalhes;
¢ Um processo pode permitir paralelismo entre 
passos.
Passo 2aPasso 2aPasso 2a
Passo 2bPasso 2bPasso 2b
Passo 1Passo 1Passo 1 Passo 3Passo 3Passo 3
Desenvolvimento de Software – SW I
6
¢ Processo de Software
?Na engenharia de software, processos podem ser definidos 
para atividades como:
„Desenvolvimento;
„Manutenção;
„Aquisição;
„Contratação de software;
¢ Em um processo de desenvolvimento de software, o 
ponto de partida para a arquitetura de um processo é a 
escolha de um modelo de ciclo de vida.
Desenvolvimento de Software – SW I
7
Processo de SoftwareProcesso de SoftwareProcesso de Software
¢ Modelo de ciclo de vida Codifica-remenda
?ciclo mais caótico;
?utiliza-se de uma ou até nenhuma especificação
?estilo codifica/remenda
?modelo de alto risco não permite assumir 
compromissos confiáveis
Desenvolvimento de Software – SW I
8
Ciclo de Vida CascataCiclo de Vida CascataCiclo de Vida Cascata
RequisitosRequisitosRequisitos
AnáliseAnáliseAnálise
DesenhoDesenhoDesenho
ImplementaçãoImplementaçãoImplementação
TestesTestesTestes
Desenvolvimento de Software – SW I
9
Processo de SoftwareProcesso de SoftwareProcesso de Software
¢ Modelo de Ciclo de Vida Cascata
?Subprocessos são executados em estrita seqüência 
„Define pontos de controle que facilitam a gestão dos 
projetos
?Da mais confiabilidade;
?Processo rígido e burocrático
?Possui baixa visibilidade para o cliente
?Possui uma variante que permite revisão e 
alteração de resultados das fases anteriores
?A realimentação entre fases torna difícil a gerencia 
do projeto(nesse ciclo de vida)
Desenvolvimento de Software – SW I
10
Variante do Ciclo de Vida em CascataVariante do Ciclo de Vida em CascataVariante do Ciclo de Vida em Cascata
RequisitosRequisitosRequisitos
AnáliseAnáliseAnálise
DesenhoDesenhoDesenho
ImplementaçãoImplementaçãoImplementação
TestesTestesTestes
Desenvolvimento de Software – SW I
11
Ciclo de Vida em EspiralCiclo de Vida em EspiralCiclo de Vida em Espiral
Desenvolvimento de Software – SW I
12
Processo de SoftwareProcesso de SoftwareProcesso de Software
¢ Modelo de Ciclo de Vida em Espiral
?Desenvolvido em uma série de interações
?Cada interação é uma nova volta no espiral
?Diminui períodos de construção
?Necessita de uma gestão de sofisticada
Desenvolvimento de Software – SW I
13
Ciclo de Vida Prototipação EvolutivaCiclo de Vida Ciclo de Vida PrototipaPrototipaççãoão EvolutivaEvolutiva
Planejamento 
de Interação Requisitos Análise
Desenho
DesenhoTeste
Avaliação de
Interação
Desenvolvimento de Software – SW I
14
Processo de SoftwareProcesso de SoftwareProcesso de Software
¢ Prototipação Evolutiva
?Construção de uma serie de versões provisórias 
(protótipos);
„ Os protótipos ajudam a colher requisitos;
?Modelo de vida Prototipagem evolutiva
„Cliente recebe versões finalizadas de partes do produto
?Requer gestão sofisticada;
?Requer equipe disciplinada;
?Aplica processos ágeis tipo XP
Desenvolvimento de Software – SW I
15
Entrega EvolutivaEntrega EvolutivaEntrega Evolutiva
Requisitos
Análise
Desenho
Arquitetônico
Desenho
Detalhado
Implementação
Testes
Avaliação da 
Interação
Desenvolvimento de Software – SW I
16
¢ Ciclo de Vida de Entrega Evolutiva
?Combinação entre cascata e prototipagem;
?Definir ponto de avaliação por parte do usuário;
?Fornece realimentação da decisões tomadas.
Desenvolvimento de Software – SW I
17
¢ Ciclo de vida dirigido por ferramentas CASE
?Impõem processos rígidos que podem se adequar 
para tipos bem específicos de produtos;
?Qualidade do processo depende fundamentalmente 
da qualidade da ferramenta.
Desenvolvimento de Software – SW I
18
Processos de Desenvolvimento de SoftwareProcessos de Desenvolvimento de SoftwareProcessos de Desenvolvimento de Software
¢ Processo Pessoal de Software - PSP
?O PSP (Personal Software Process) é uma nova 
tecnologia da SEI(Instituto de Engenharia de 
Software) que traz disciplina à prática individual de 
engenheiros de software. Isto faz com que eles 
melhorem drasticamente a qualidade, a 
previsibilidade e o ciclo de tempo de seus produtos.
?O PSP foi desenvolvido por Watts Humphrey no 
Instituto de Engenharia de Software (SEI).
Desenvolvimento de Software – SW I
19
Processo Pessoal de Software - PSPProcesso Pessoal de Software Processo Pessoal de Software -- PSPPSP
¢ As melhorias conseguidas varia para cada engenheiro, 
mas todos recebem condições para melhorar nos 
seguintes aspectos: 
?criatividade: O engenheiro consegue expandir a sua mente 
para o que pode ser feito, não ao que ele está acostumado a 
fazer e, empiricamente, acha que é o melhor; 
?Fazer planos: Cada engenheiro é levado a planejar seus 
projetos e até o seu dia-a-dia para aproveitar melhor o pouco 
tempo que é dado para o desenvolvimento de algum software; 
?Gerenciar Planos: Procurar cumprir o que foi estabelecido; 
?Reduzir defeitos: O engenheiro procura, a cada fase do 
processo de software, fazer prevenção e correção de erros 
para manter um projeto de qualidade até seu final.
Desenvolvimento de Software – SW I
20
Processo Pessoal de Software - PSPProcesso Pessoal de Software Processo Pessoal de Software -- PSPPSP
¢ Um PSP é o que você define para seu próprio 
uso pessoal. A idéia é que cada um é diferente 
e o processo que trabalha melhor para um 
engenheiro provavelmente não será ótimo 
para outros.
¢ O PSP é ensinado aos engenheiros através de 
sete passos de processo progressivos e são 
organizados como mostrado na figura:
Desenvolvimento de Software – SW I
21
Processo Pessoal de Software - PSPProcesso Pessoal de Software Processo Pessoal de Software -- PSPPSP
¢ PSP0 e PSP0.1 : Nível de dados:
? Registro de tempos;
? Registro de defeitos;
? Padronização dos tipos de defeito;
? Padronização de codificação;
? Medição de Tamanho;
? Proposição de Melhoria de Processo
¢ PSP1 e PSP1.1 : Nível de 
planejamento;
? Estimativa de tamanho;
? Relatório de Testes;
? Planejamento de tarefas;
? Planejamento de Cronograma
¢ PSP2 e PSP2.1 : Gerenciamento de 
qualidade;
? Revisão de código;
? Revisão de Desenho;
? Modelo de Desenho;
¢ PSP3 : Ciclo e Otimização
? Desenvolvimento cíclico
PSP 0PSP 0PSP 0
PSP 1PSP 1PSP 1
PSP 2PSP 2PSP 2
PSP 3PSP 3PSP 3
PSP0.1PSP0.1PSP0.1
PSP1.1PSP1.1PSP1.1
PSP2.1PSP2.1PSP2.1
Desenvolvimento de Software – SW I
22
Processo Pessoal de Software - PSPProcesso Pessoal de Software Processo Pessoal de Software -- PSPPSP
PlanejamentoPlanejamentoPlanejamento
Desenho de
Alto Nível
Desenho deDesenho de
Alto NívelAlto Nível
Revisão do
Desenho de
Alto Nível
Revisão doRevisão do
Desenho deDesenho de
Alto NívelAlto Nível
DesenvolvimentoDesenvolvimentoDesenvolvimento
Post-mortemPostPost--mortemmortem
IntegraçãoIntegraçãoIntegração
DesenhoDesenhoDesenho
Revisão de
Desenho 
Revisão deRevisão de
Desenho Desenho 
CodificaçãoCodificaçãoCodificação
Revisão de Código Revisão de CódigoRevisão de Código Revisão de Código Revisão de Código Revisão de Código 
TesteTesteTeste
Reavaliação e
reciclagem
Reavaliação eReavaliação e
reciclagemreciclagem
Desenvolvimento de Software – SW I
23
¢ Processo de Software para Times - TSP
?O TSP surgiu como seqüência natural do PSP
?O TSP usa um modelo espiral
?No TSP cada desenvolvedor pode desempenhar 
um ou dois papeis de gerenciais, além de dividir a 
carga de desenvolvimento;
?Papéis 
„Gerente de desenvolvimento
„Planejamento
„Qualidade
„Processo
„suporte
Desenvolvimento de Software – SW I
24
Processo de Software para Times - TSPProcesso de Software para Times Processo de Software para Times -- TSPTSP
¢ Fase do TSP:
?Lançamento
?Estratégia
?Planejamento
?Requisitos
?Desenho
?Implantação
?Testes
?Post-Mortem
Desenvolvimento de Software – SW I
25
¢ Processo Unificado - UP
?Proposto pelos criadores da UML
?Possui estrutura matricial 
„fase - ciclos 
„fluxo de trabalho - atividades técnicas (subprocessos)
¢ Características centrais do UP
?Dirigido por caso de uso;
?Centrado na arquitetura;
?Interativo e incremental;
Desenvolvimento de Software – SW I
26
Processo Unificado - UPProcesso Unificado Processo Unificado -- UPUP
¢ Um produto comercial baseado no processo 
unificado é o RUP(Rational Unified Process)
¢ O RUP não deve ser confundido com o UP, 
ele possui estrutura de fluxos diferentes
¢ O RUP consiste em aproximadamente 3.200 
arquivos, o que evidencia a diferença em nível 
de detalhes entre esses processos
Desenvolvimento de Software – SW I
27
Processo Unificado - UPProcesso Unificado Processo Unificado -- UPUP
¢ Fases
?Concepção : Fase na qual se justifica a execução de um 
projeto de desenvolvimento de software, do ponto de vista do 
negocio do cliente
?Elaboração : Fase na qual o produto e detalhado o suficiente 
para permitir um planejamento acurado da fase de construção.
?Construção : Fase na qual é construída uma versão 
completamente operacional
?Transição : Fase na qual o produto é colocado a disposição 
do usuários.
Desenvolvimento de Software – SW I
28
Processo Unificado - UPProcesso Unificado Processo Unificado -- UPUP
¢ Fluxos
?Requisitos : Fluxo que visa obter um conjunto de requisitos 
de um produto, acordado entre cliente e fornecedor.
?Análise : Fluxo cujo objetivo é detalhar, estruturar e validar os 
requisitos, de forma que esses possam ser usados como base 
para o planejamento detalhado.
?Desenho : Fluxo cujo objetivo é formar um modelo estrutural 
do produto que sirva de base para a implementação.
? Implementação : Fluxo cujo objetivo é realizar o desenho em 
termos de componentes de código.
?Testes : Fluxo cujo objetivo e verificar os resultados da 
implementação.
Desenvolvimento de Software – SW I
29
¢ Referências
?Cap 2 do Livro Engenharia de Software.
„Autor Wilson de Pádua Paula Filho 
?http://campus.fortunecity.com/princeton/117/psp/psp.htm

Outros materiais