engenharia de software - sol - professor | puc...
TRANSCRIPT
![Page 1: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/1.jpg)
Engenharia de SoftwareProcesso de Desenvolvimento de Software
Prof. Elias Ferreira
Elaborador por:
Prof. Edison A. M. Morais
![Page 2: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/2.jpg)
2
Objetivo (1/1)
Conceituar PROCESSO E CICLO DE VIDA, identificar e conceituar suas FASES eMODELOS, e avaliar seu efeito prático na melhoria da QUALIDADE na produção de software.
![Page 3: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/3.jpg)
3
Estrutura (1/1)
1. Introdução
Software
Engenharia de Software
2. Processo de Desenvolvimento de Software
3. CICLO DE VIDA de Desenvolvimento de Software
4. Conclusão
![Page 4: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/4.jpg)
4
1. Introdução (1/3)
Software [1]
Como Construir?
Programas
+
Documentação
+
Dados
Simplesmente
“FAZER” OU
ENGENHARIA
DE SOFTWARE
www.sei.cmu.edu/
www.rspa.com/spi/
www.swebok.org
![Page 5: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/5.jpg)
5
1. Introdução (2/3)
Engenharia de Software [1]
É a utilização de sólidos princípios de ENGENHARIA
a fim de se obter SOFTWARE
de maneira ECÔNOMICA
que seja CONFIÁVEL
e que trabalhe EFICIENTEMENTE em máquinas reais.
![Page 6: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/6.jpg)
6
1. Introdução (3/3)
Engenharia de Software
Processo de Desenvolvimento de Software
Análise de
RequisitosProjeto
Implemen-
taçãoTeste
Implan-
tação
Atividades - Garantia de qualidade;
- Gerência de Configuração;
- Gerência de Riscos;
- Métricas;
- Estimativas;
- Revisões Técnicas Formais.
Outros Processos
Contidos no Processo Principal
E a Manutenção de Software??????
![Page 7: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/7.jpg)
Manutenção de Software
O que é?
É a modificação de um produto de software já
entregue ao cliente, para correção de eventuais
erros, melhora em seu desempenho, ou qualquer
outro atributo, ou ainda adaptação desse produto
a um ambiente modificado. (IEEE)
Em que momento ela ocorre...
Em todos os processos...
![Page 8: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/8.jpg)
Manutenção
Tipos de Manutenção
Corretiva
Evolutiva (ou perfectiva)
AdaptativaPodem ocorrer de duas
formas:
REATIVAPREVENTIVA
![Page 9: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/9.jpg)
Manutenção de Software
Por que Manutenção é Importante?
Estima-se que 80% do esforço e custo
gastos no desenvolvimento de software
está relacionado à atividade de
manutenção.
![Page 10: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/10.jpg)
10
2. Processo de Software (1/2)
É uma série de passos (um ROTEIRO).
Para criar EM TEMPO um SOFTWARE de ALTA QUALIDADE, sem estourar o ORÇAMENTO [1].
Motivação
![Page 11: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/11.jpg)
11
2. Processo de Software (2/2)
Como “escolher“ um processo? [6] As CARACTERÍSTICAS DA APLICAÇÃO
(domínio do problema, tamanho, complexidade etc);
A TECNOLOGIA a ser adotada na sua construção (paradigma de desenvolvimento, linguagem de programação, mecanismo de persistência etc), a organização;
ONDE o produto será desenvolvido;
O PERFIL DA EQUIPE de desenvolvimento.
![Page 12: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/12.jpg)
12
3. Ciclo de Vida (1/13)
Quando se “escolhe“ um processo [6] DEFINESE um: Modelo de Ciclo de Vida (ou modelo de
processo).
É uma representação abstrata da estrutura (“ESQUELETO“) de processo.
Inclui algumas atividades principais.
A ordem de precedência entre elas.
Opcionalmente, artefatos requeridos e produzidos.
Podem ser decompostas
em sub-atividades!
![Page 13: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/13.jpg)
13
3. Ciclo de Vida (2/13)
Em geral, os ciclos de vida envolvem as seguintes FASES [6]: Planejamento
Análise e Especificação de Requisitos
Projeto
Implementação
Testes
Entrega e Implantação
Operação
Manutenção
![Page 14: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/14.jpg)
14
3. Ciclo de Vida (3/13)
Planejamento
Fornece uma estrutura que possibilita ao gerente fazer estimativas iniciais de recursos, custose prazos;
O escopo do software é estabelecido;
Um plano de projeto deve ser elaborado configurando o processo a ser utilizado;
Esta atividade faz parte da gerência de projeto.
![Page 15: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/15.jpg)
15
3. Ciclo de Vida (4/13)
Análise e Especificação de Requisitos O escopo do software é refinado;
Descreve “o que“ o software deve fazer;
Devem ser analisados o domínio do problemae o domínio da solução.
Projeto Utiliza a fase anterior como insumo;
Envolve duas grandes etapas: projeto daarquitetura do software e projeto detalhado.
![Page 16: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/16.jpg)
16
3. Ciclo de Vida (5/13)
Implementação O projeto é traduzido para uma para uma forma
passível de execução pela máquina.
Testes Testes de unidade e documentação dos
resultados;
Integração dos componentes e teste do software como um todo;
Alguns modelos de processo prevêem a realização de testes já nas primeiras etapas.
![Page 17: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/17.jpg)
17
3. Ciclo de Vida (6/13)
Entrega e Implantação O software deve ser instalado em ambiente
produção.
Envolve
Treinamento de usuários;
Configuração do ambiente de produção;
Conversão bases de dados (se necessário).
Principal propósito desta fase:
Realizase os Testes de Aceitação (estabelecer que o software satisfaz os requisitos dos usuários).
![Page 18: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/18.jpg)
18
3. Ciclo de Vida (7/13)
Operação Após o teste de aceitãção, o software passa a ser
utilizado de fato em ambiente de produção.
Manutenção Adaptativas
Corretivas
Evolutivas
![Page 19: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/19.jpg)
19
3. Ciclo de Vida (8/13)
Modelos de Ciclos de Vida [7]
3 abordagens principais
![Page 20: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/20.jpg)
20
3. Ciclo de Vida (9/13)
Modelos Seqüenciais
Organizam o processo em uma seqüência linear de fases.
Exemplo
Waterfall (Cascata)
Quando empregar
Problema cujos requisitos são muito bem definidos
Apresenta alguns problemas
![Page 21: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/21.jpg)
21
3. Ciclo de Vida (10/13)
Modelos Incrementais
Software produzido por incrementos (módulos);
Incrementos
Seu desenvolvimento segue o modelo sequencial;
Exigem revisão do cliente;
Vantagens Problemas
Menor custo e tempo para
entrega da 1ª versão;
Menor risco e nº de
mudanças nos req. (pelo fato
dos inc. serem menores que o
sw todo).
Requisitos instáveis ou
imcompletos geram muitas
mudanças nos incrementos;
Gerência do projeto é mais
complexa.
![Page 22: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/22.jpg)
22
3. Ciclo de Vida (11/13)
Modelos Incrementais
Exemplo
RAD (Rapid Application Development)
Prima por um ciclo de desenvolvimento curto.
![Page 23: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/23.jpg)
23
3. Ciclo de Vida (12/13)
Modelos Iterativos
Não se preocupa em entregar de versões operacionais desde o primeiro ciclo;
Geralmente produzem protótipos ou modelos.
Versões operacionais são produzidas à medida em que os requisitos vão ficando mais claros e estáveis;
Quando empregar Problemas muito complexos
Requisitos são muito voláteis ou que não podem ser totalmente especificados no início do desenvolvimento.
![Page 24: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/24.jpg)
24
3. Ciclo de Vida (13/13)
Modelos Iterativos (Evolutivos ou Evolucionários)
Exemplo: Modelo Espiral, RUP
![Page 25: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/25.jpg)
25
4. Conclusão (1/1)
Desenvolver software é um processo complexo;
Sucesso depende de pessoas, de processos e
ferramentas;
Existem vários modelos de processo:
Todos têm pontos positivos e fracos;
Todos têm fases genéricas em comum;
Devemos procurar melhorar o processo corrente
![Page 26: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/26.jpg)
26
Referências (1/1)
[1] PRESMAN, R. S. Engenharia de Software. 5ª Edição – Rio de Janeiro: Mc Graw Hill, 2002.
[2] MPS.BR. Guia Geral MPS.BR, disponível em http://www.softex.br/mpsbr.
[3] CMMI. CMMI Web Page, disponível em http://www.sei.cmu.edu/cmmi/cmmi.html.
[4] NBR ISO/IEC 12207 – Tecnologia da Informação – Processos de Ciclo de Vida, ABNT 1998, Emenda 1: 2002, Emenda 2: 2004.
[5] ISO/IEC 15504 – Information Technology - Process Assessment, 2003/2004.
[6] FALBO, R. A. Engenharia de Software. Notas de Aula, 2005, disponível em http://www.inf.ufes.br/~falbo/.
[7] LUCENA, F. N. Processo de Desenvolvimento de Software. Notas de Aula, 2003, disponível em http://www.inf.ufg.br/~fabio/.
![Page 27: Engenharia de Software - SOL - Professor | PUC Goiásprofessor.pucgoias.edu.br/.../02-Aula_Processo_de_Software.pdf · Modelos de Ciclos de Vida [7] 3 ... R. S. Engenharia de Software](https://reader035.vdocuments.net/reader035/viewer/2022062505/5be2507609d3f20f518c3dba/html5/thumbnails/27.jpg)
27
Leituras e Referências
Leitura obrigatória:
Capitulo 2 – “O Processo” da referência [1]
Leitura recomendada:
Referências [2] a [7]