tecnologia da informação para eppgg 2013 - igepp.com.br · d) engenharia de requisitos...
TRANSCRIPT
![Page 1: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/1.jpg)
Tecnologia da Informação para EPPGG 2013
Victor Dalton
![Page 2: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/2.jpg)
Edital
TECNOLOGIA DA INFORMAÇÃO: 1. Noções sobre processo de desenvolvimento de software: modelos organizacionais, stakeholders, modelagem de negócio, engenharia de requisitos, análise e projeto, implementação, teste, implantação. 2. Papéis e responsabilidades em projetos de software: patrocinador, área de negócio, analista de requisitos, gerente de projetos, equipe de desenvolvimento, equipe de sustentação.
![Page 3: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/3.jpg)
Roteiro
• Considerações Iniciais
• Modelos de processos de software
• Stakeholders
• Modelagem de Negócio
• Engenharia de Requisitos
• Casos de Uso
• Análise
• Projeto
![Page 4: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/4.jpg)
Roteiro
• Implementação
• Testes
• Implantação
• Papéis e Responsabilidades em Projetos de Software
• Metodologias Ágeis
![Page 5: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/5.jpg)
Bibliografia
• Principal • Engenharia de Software: Uma abordagem profissional –
Pressman (7ª ed) • Engenharia de Software – Sommerville (8ª ed)
• Complementar • Princípios de Análise de Projeto de Sistemas com UML –
Eduardo Bezerra (2ª ed) • Introdução ao RUP: Rational Unified Process – Philippe
Kruchten
![Page 6: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/6.jpg)
O que é software?
• Programa + documentação • Caracterísiticas, funções e desempenho desejados (ou
esperados)
• Instalado em máquina ou web
• Software = Sistema?
![Page 7: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/7.jpg)
O que é Engenharia de Software?
• Métodos, princípios e ferramentas que norteiam o desenvolvimento de software.
![Page 8: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/8.jpg)
Processo de Desenvolvimento de Software
• Conjunto de atividades organizadas que leva à produção de software.
• Exemplo: moradia x sistema
![Page 9: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/9.jpg)
Importância da engenharia de software
• Pesquisa em mais de 350 empresas sobre os seus mais de 8.000 Projetos de software – 30 % dos projetos foram cancelados. Dos concluídos, 9% entregues dentro do prazo e do valor estimado(Standish Group –1994).
• Fatores principais relatados como causas das falhas: 1. Requisitos incompletos (13.1%)
2. Falta de envolvimento por parte do usuário (12.4%)
3. Falta de recursos (10.6%)
4. Expectativas não realistas (9.9%)
5. Modificações nos requisitos e nas especificações (8.7%)
6. O sistema não era mais necessário (7.5%)
![Page 10: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/10.jpg)
Modelos de Processo de Software
• Metodologia genérica
• Cinco atividades metodológicas: • Comunicação
• Planejamento
• Modelagem
• Construção
• Emprego
![Page 11: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/11.jpg)
Modelos de Processo de Software
• Fluxo – como essas atividades são organizadas em relação à sequência e ao tempo • Fluxo linear
![Page 12: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/12.jpg)
Modelos de Processo de Software
• Fluxo iterativo
![Page 13: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/13.jpg)
Modelos de Processo de Software
• Fluxo evolucionário
![Page 14: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/14.jpg)
Modelos Sequenciais
• Modelo em cascata
![Page 15: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/15.jpg)
Modelos Sequenciais
• Modelo em cascata
![Page 16: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/16.jpg)
Modelos Sequenciais
• Etapas do modelo cascata • Levantamento de requisitos
• Análise de requisitos
• Projeto
• Implementação (e teste de unidade)
• Teste
• Implantação
![Page 17: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/17.jpg)
Modelos Sequenciais
• Modelo V
![Page 18: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/18.jpg)
Modelos Sequenciais
• Útil somente para adaptar ou aperfeiçoar um projeto já existente
• Projetos reais dificilmente seguem esse fluxo • Cliente dificilmente define todas as suas necessidades no
inicio do desenvolvimento do software • Cliente precisa esperar o software até o final do projeto
![Page 19: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/19.jpg)
Modelos Incrementais
![Page 20: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/20.jpg)
Modelos Incrementais
• Variação: Rapid Application Development
![Page 21: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/21.jpg)
Modelos Incrementais
• Útil quando o produto suporta esse tipo de entrega • Gerenciamento inadequado prejudica o modelo
![Page 22: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/22.jpg)
Modelos Evolutivos
• Desenvolvimento em ciclos • Incremento de novas funcionalidades ao sistema • Reconhecimento do dinamismo do negócio
![Page 23: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/23.jpg)
Modelos Evolutivos
• Prototipação
![Page 24: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/24.jpg)
Modelos Evolutivos
• Prototipação
![Page 25: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/25.jpg)
Modelos Evolutivos
• Espiral
![Page 26: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/26.jpg)
Modelos Evolutivos
• Espiral
![Page 27: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/27.jpg)
Modelos Evolutivos
• Não precisa se encerrar na entrega do software • Reconhecimento explícito dos riscos
• Pode ser difícil convencer o cliente a aceitar esse modelo
• Com quem você faria? Empresa Cascata ou Empresa
Evolucionária?
• Órgãos públicos
![Page 28: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/28.jpg)
Outros modelos
• RUP – Rational Unified Process • Elementos de todos os modelos
• Desenvolver o software iterativamente
• Gerenciar Requisitos
• Usar arquiteturas baseadas em componentes (reuso)
• Modelar o software visualmente
• Verificar a qualidade do software
• Controlar as mudanças do software
![Page 29: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/29.jpg)
Outros modelos
• RUP – Rational Unified Process • 4 fases
• Concepção
• Elaboração
• Construção
• Transição
![Page 30: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/30.jpg)
Outros modelos
• Desenvolvimento baseado em componentes • Reusar componentes já existentes
• Modelo de métodos formais • Especificações matemáticas formais (aviônica, medicina)
![Page 31: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/31.jpg)
RESUMO COMPARATIVO ENTRE OS TRÊS PRINCIPAIS MODELOS
SEQUENCIAL INCREMENTAL EVOLUCIONÁRIO
Como
funciona
Atividades em
sequência
Misto de
atividades
sequenciais e em
paralelo
Desenvolvimento
em ciclos
Vantagem Útil apenas
quando a
atividade é
muito bem
limitada e
definida
Útil quando o
produto permite
entregas
seccionadas
Reconhece os riscos
explicitamente;
reconhece o
dinamismo do
software
Desvantagem Dificilmente um
projeto real
segue essa
abordagem
Nem todo
software
acomoda esse
tipo de entrega
Pode ser difícil
convencer o cliente
aceitar esse tipo de
entrega
![Page 32: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/32.jpg)
Exercício 1
(ESAF – CGU - Analista de Finanças e Controle –Desenvolvimento de
Sistemas da Informação - 2012) A escolha de um modelo é fortemente
dependente das características do projeto. Os principais modelos de ciclo de vida
podem ser agrupados em três categorias principais:
a) sequenciais, cascata e evolutivos.
b) sequenciais, incrementais e ágeis.
c) sequenciais, incrementais e evolutivos.
d) sequenciais, ágeis e cascata.
e) cascata, ágeis e evolutivos.
![Page 33: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/33.jpg)
Exercício 2
(ESAF – MPOG - Analista de Planejamento e Orçamento – Tecnologia
da Informação - 2010) As atividades do modelo espiral de Engenharia de
Software são:
a) Planejamento, Análise dos Componentes, Análise de Hierarquia e
Avaliação feita pelo cliente.
b) Planejamento, Análise dos Riscos, Engenharia e Avaliação feita pelo
cliente.
c) Projeto, Análise dos Benefícios, Engenharia e Avaliação feita pelo gestor.
d) Planejamento, Eliminação dos Riscos, Análise de Contingência e Avaliação
feita pelo cliente.
e) Planejamento, Projeto, Análise dos Riscos e Engenharia.
![Page 34: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/34.jpg)
Engenharia de requisitos
![Page 35: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/35.jpg)
Requisitos
“Requisitos são uma especificação do que deve ser implementado. Eles
constituem descrições de como o sistema deve ser comportar, ou uma
propriedade ou atributo do sistema. Podem caracterizar uma restrição no
processo de desenvolvimento do sistema.” – Sommerville
![Page 36: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/36.jpg)
Classificação dos requisitos
• Quanto à natureza • Requisitos funcionais
• Requisitos não funcionais
• Requisitos de domínio
![Page 37: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/37.jpg)
Requisitos funcionais
• Declarações do que o sistema deve fazer, como se comportar • O sistema deve permitir o cadastro de alunos • Os alunos devem poder obter informações a respeito de faltas
e notas • O boletim e o histórico do aluno podem ser consultados pelos
gestores • Os professores não podem modificar a nota após o lançamento • O sistema não deve revelar dados pessoais dos alunos aos
professores
![Page 38: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/38.jpg)
Requisitos não funcionais
• Restrições sobre os serviços ou funções oferecidas pelo sistema. Relaciona-se a desempenho, usabilidade, confiabilidade, segurança, disponibilidade, manutenibilidade e tecnologias envolvidas. • O sistema deve ser fácil de usar
• O sistema deve ser baseado em tecnologias web
• O sistema deverá ser usado em Windows e Linux
![Page 39: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/39.jpg)
Requisitos de domínio
• Provenientes do domínio da aplicação do sistema, refletem as características e restrições do domínio, podendo ser funcionais ou não funcionais. • O sistema deve exportar cópia da nota fiscal para a Receita
Federal via WebServices, utilizando XML
• Todas as operações disponibilizadas no sistema devem contemplar a legislação vigente
![Page 40: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/40.jpg)
Classificação dos requisitos
• Quanto à visibilidade • Requisitos de usuário
• Requisitos de sistema
• Requisitos de desenho (ou especificação de projetos de software)
![Page 41: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/41.jpg)
Classificação dos requisitos
• Quanto à visibilidade • Requisitos de usuário
• Requisitos de sistema
• Requisitos de desenho (ou especificação de projetos de software)
![Page 42: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/42.jpg)
Classificação dos requisitos
![Page 43: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/43.jpg)
Classificação dos requisitos
![Page 44: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/44.jpg)
Classificação dos requisitos
• Quanto à qualidade • Requisitos normais
• Requisitos esperados
• Requisitos fascinantes
![Page 45: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/45.jpg)
Stakeholders
• Aqueles que se beneficiarão de forma direta ou indireta do sistema que está sendo desenvolvido
• Patrocinador do projeto, usuários finais do software, todos na organização que possam ser afetados por sua instalação
• Visões diferentes do sistema • Cada parte pode contribuir para a engenharia de
requisitos
![Page 46: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/46.jpg)
Modelagem de negócio
• Entender a estrutura dinâmica da organização na qual um sistema será distribuído;
• Entender os problemas atuais na organização alvo e identificar potenciais melhorias;
• Assegurar que clientes, usuários finais e desenvolvedores tenham um entendimento comum da organização alvo;e
• Derivar os requisitos de sistema necessários para o suporte da organização alvo.
• A inserção da TI pode modificar a atividade de negócio! (passagens aéreas)
![Page 47: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/47.jpg)
Modelagem de negócio
• Modelagem necessária: melhorar um negócio existente, ou novo negócio
• Outros casos (atividades pontuais, funcionalidades específicas) – apenas se faz a análise de domínio
Exemplo: LICIT
![Page 48: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/48.jpg)
Modelagem de negócio
![Page 49: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/49.jpg)
Engenharia de Requisitos
• Engenharia de requisitos é um conjunto de tarefas e técnicas que pretende mapear os requisitos de um sistema da melhor forma possível.
• Seu objetivo é criar e manter um documento de requisitos de sistema.
![Page 50: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/50.jpg)
Abordagem 1 - Sommerville
• Estudo de Viabilidade: Utilidade para a empresa;
• Elicitação e Analise: Obtenção dos requisitos;
• Especificação: Conversão destes requisitos em um formato padrão;
• Validação: Alinhamento entre os requisitos e as necessidades do cliente;
• Gerenciamento de Requisitos: Acompanhar os requisitos ao longo do processo de desenvolvimento do software.
![Page 51: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/51.jpg)
Abordagem 1 - Sommerville
• Estudo de Viabilidade • É possível fazer?
• Podemos pagar?
![Page 52: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/52.jpg)
Abordagem 1 - Sommerville
• Elicitação e análise • 4 entendimentos
![Page 53: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/53.jpg)
Abordagem 1 - Sommerville
• Elicitação e análise • Obtenção de Requisitos (técnicas)
• Classificação e Organização de Requisitos
• Priorização e Negociação de Requisitos
• Documentação de Requisitos
![Page 54: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/54.jpg)
Abordagem 1 - Sommerville
• Especificação de Requisitos • Gerar documento compreensível pelo cliente
• Pode servir de base contratual
![Page 55: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/55.jpg)
Abordagem 1 - Sommerville
• Validação de Requisitos • Ver se é realmente o que o usuário deseja
• Completeza (deve envolver todas as funções);
• Consistência (não pode haver conflitos de requisitos);
• Ambiguidade (requisito não pode gerar múltiplas interpretações);
• Validade (todos os stakeholders concordam);
• Realismo (requisitos factíveis);
• Verificável e rastreável (é possível saber quais funcionalidades implementam quais requisitos, e mostrar testes que demonstrem a implementação da funcionalidade).
![Page 56: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/56.jpg)
Abordagem 1 - Sommerville
• Gerenciamento de Requisitos • Gerenciar alterações nos requisitos acordados
• Gerenciar relacionamentos entre requisitos
• Gerenciar dependências entre requisitos e outros documentos produzidos
• Matrizes de rastreabilidade
![Page 57: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/57.jpg)
Abordagem 2 - Pressman
• Concepção: ideia inicial do software, início da comunicação
• Levantamento (elicitação): obtenção dos requisitos;
• Elaboração: Refinamento das informações obtidas, modelagem de cenários
• Negociação: ajustes de conflitos;
• Especificação: documentação formal;
• Validação: verificação junto ao cliente;
• Gestão: rastreamento ao longo do ciclo de vida.
![Page 58: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/58.jpg)
Destaque para o levantamento/obtenção de requisitos
• Stakeholders não sabem o que querem
• Obstáculos para entendimento (linguagem)
• Requisitos diferentes/conflitantes
• Fatores políticos
• Dinamismo (requisitos mudam)
• Pressman: escopo, entendimento, volatilidade
![Page 59: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/59.jpg)
COMPARAÇÃO ENTRE AS PRINCIPAIS ABORDAGENS DE ENGENHARIA DE
REQUISITOS
SOMMERVILLE PRESSMAN
Estudo de Viabilidade Concepção
Elicitação e Análise
Obtenção
Classificação e Organização
Priorização e Negociação
Documentação de Requisitos
Levantamento
Elaboração
Negociação
Especificação Especificação
Validação Validação
Gestão Gestão
![Page 60: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/60.jpg)
Casos de Uso
• Técnica de elicitação de requisitos • Representa interação entre um usuário e o sistema
![Page 61: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/61.jpg)
Casos de Uso
![Page 62: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/62.jpg)
Casos de Uso CASO DE USO 2 - VERIFICAR PEDIDO
Atores - Cliente, Funcionário
Fluxo de Eventos Primário (caminho básico):
1. O caso de uso começa quando o cliente seleciona "Meu pedido".
2. Usa Procurar Pedido (Caso de Uso 4)
3. O Sistema mostra os dados da situação do pedido e o caso de uso
termina.
Fluxo de Secundário (caminho alternativo):
Se no passo 2, o pedido não foi encontrado, o sistema informa que o pedido
não está cadastrado e solicita que o usuário verifique se os dados do pedido estão
corretos.
Pré-condição: O usuário ter feito o pedido
Pós-condição: A situação do pedido não ter sido alterada.
![Page 63: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/63.jpg)
Exercício 11 (ESAF – CGU – Analista de Finanças e Controle – Desenvolvimento de
Sistemas de Informação – 2012) Assinale a opção correta.
a) Gestão de requisitos preocupa-se com a documentação, atualização e
controle de stakeholders envolvidos na fase de identificação da demanda.
b) Engenharia de requisitos compreende: identificar, analisar, especificar e
definir as necessidades de negócio que um aplicativo deve prover para solução do
problema levantado.
c) Engenharia de requisitos compreende: planejar, especificar e desenvolver
as necessidades de negócio que um aplicativo deve prover para minimização dos
problemas levantados.
d) Engenharia de requisitos compreende: identificar, analisar, programar e
testar os programas das necessidades de solução de problemas que um negócio
deve prover para satisfazer usuários.
e) Gestão de requisitos preocupa-se com a documentação, direcionamento,
controle de definição e acesso aos requisitos levantados na fase de planejamento
de escopo.
![Page 64: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/64.jpg)
Exercício 13 (ESAF – STN - Analista de Finanças e Controle –Governança e Gestão
em TI - 2013) A validação de requisitos elimina:
a) associações de incompatibilidades, inconsistência e falta de
competitividade.
b) problemas de ambiguidade, inconsistência de espaço e completeza
adjacente.
c) redundância de acessos, incongruência e ajuste de completeza.
d) problemas de ambiguidade, inconsistência e falta de completeza.
e) problemas de ambiguidade, incongruência e completeza adjacente.
![Page 65: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/65.jpg)
Análise
• Fronteira turva
![Page 66: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/66.jpg)
Análise
• Construção de modelos para representar o sistema
• Independente do ambiente tecnológico utilizado
• “o que” o sistema deve fazer
• Duas correntes: análise estruturada e análise orientada a objetos
![Page 67: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/67.jpg)
Análise estruturada
• Dados e processos são entidades separadas
• Informações que fluem e sofrem transformações da entrada para a saída
• Diagrama de Fluxo de Dados
![Page 68: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/68.jpg)
Análise orientada a objetos
• Abstração para representar coisas do mundo real
• Entidades externas, coisas, lugares
• Pessoa • nome: texto (50)
• endereço: texto (200)
• telefone: número inteiro (11)
• CPF: número inteiro (11)
![Page 69: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/69.jpg)
Principais diagramas da Análise
• Modelos baseados em cenários • Histórias de usuários
• Casos de uso
![Page 70: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/70.jpg)
Principais diagramas da Análise
• Modelos de fluxo • Processos e dados que transformam os processos
• Diagrama de Fluxo de Dados
![Page 71: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/71.jpg)
Principais diagramas da Análise
• Modelos de fluxo • Diagrama de Fluxo de Dados
![Page 72: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/72.jpg)
Principais diagramas da Análise
• Modelos de comportamento • Foco na resposta do sistema a estímulos e eventos
• Diagrama de estado
![Page 73: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/73.jpg)
Principais diagramas da Análise
• Modelos de comportamento • Diagrama de sequência
![Page 74: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/74.jpg)
Principais diagramas da Análise
• Modelos de classe • Objetos e métodos
![Page 75: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/75.jpg)
Projeto
• “como” o sistema funcionará
• Modelagem ainda mais detalhada
• Dependente da tecnologia empregada
• Princípios, conceitos e práticas com foco na alta qualidade
![Page 76: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/76.jpg)
Projeto: características
• Implementar todos os requisitos
• Guia legível (pra quem codifica, testa e dá suporte)
• Visão completa do software
![Page 77: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/77.jpg)
Conceitos relacionados a projeto
• Abstração: da linguagem do domínio para termos técnicos
• Arquitetura: meta é derivar um quadro da arquitetura
• Padrões: padrões de projeto para problemáticas similares
• Separação por interesses: problema complexo deve ser decomposto em trechos que possam ser tratados de maneira independente
![Page 78: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/78.jpg)
Conceitos relacionados a projeto • Modularidade: achar o ponto ótimo entre integração e
manutenção
• Encapsulamento: módulos devem esconder características, e disponibilizar apenas o que for relevante
• Independência funcional: módulos com função única e que pouco interagem com outros (coesão e acoplamento)
• Refinamento: refinamento sucessivo
• Refatoração: técnica que busca simplificar o código
![Page 79: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/79.jpg)
Projetos
• Projeto de dados/classes
• Projeto de arquitetura
• Projeto de interfaces
• Projeto de componentes
![Page 80: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/80.jpg)
Projeto de dados/classes
• Desenho da estrutura de dados
![Page 81: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/81.jpg)
Projeto de arquitetura
• Relacionamentos entre os principais elementos estruturais do software/ componentes físicos do sistema
![Page 82: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/82.jpg)
Projeto de arquitetura
• Diagrama de implantação
![Page 83: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/83.jpg)
Projeto de arquitetura
• Diagrama de componentes
![Page 84: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/84.jpg)
Projeto de componentes
• Descrição procedural dos componentes do software
![Page 85: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/85.jpg)
Projeto de interface de usuário
• Conjunto de desenhos detalhados que mostram ao usuário como trabalhar com o sistema
• Princípios • Familiaridade: termos e conceitos do domínio
• Consistência: operações similares acionadas da mesma forma
• Surpresa mínima: usuários não serem surpreendidos
• Deixar o usuário no comando: usuário capaz de interromper o que está fazendo para fazer outra coisa, sem perder o que já foi feito
• Reduzir a memória do usuário: sistema capaz de guiar o usuário
![Page 86: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/86.jpg)
Projeto de interface de usuário
![Page 87: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/87.jpg)
Análise X Projeto
ANÁLISE PROJETO
Idéia O que fazer (entender os
requisitos)
Como Fazer (busca pela alta
qualidade)
Diagramas Modelos de Análise
Modelos baseados em cenários
Modelos de fluxo
Modelos de comportamento
Modelos de classe
Projetos
Projeto de banco de dados
Projeto de arquitetura
Projeto de componentes
Projeto de interface de usuário
Destaque Análise estruturada x Análise OO Abstração, Encapsulamento,
Independência Funcional, Refatoração
![Page 88: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/88.jpg)
Exercício 4
(ESAF – Receita Federal – Analista – Informática – 2012) Assinale a opção correta relativa a
diagrama de fluxo de dados (DFD).
a) Descreve graficamente o fluxo em depósitos de dados e as transformações dos processos que
interferem nas entradas a partir de entidades externas.
b) Modela os objetos relativos a fluxo de informações e as categorias de dados relevantes para as
saídas.
c) Descreve graficamente o fluxo de informações e as transformações que são aplicadas à medida
que os dados se movimentam da entrada para a saída.
d) Descreve graficamente a estrutura das informações em que se organizam os dados inerentes a
processos.
e) Descreve graficamente o fluxo de dados transformados segundo atributos das entidades
externas.
![Page 89: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/89.jpg)
Exercício 5
(ESAF – SEFAZ/CE – Analista de Tecnologia da Informação – 2006 - adaptada) Analise a
descrição a seguir.
O paradigma do ciclo de vida clássico da engenharia de software abrange seis atividades. Na
atividade de _____________ são traduzidas as exigências de uma representação do software que
podem ser avaliadas quanto à qualidade antes que se inicie a codificação.
Escolha a opção que preenche corretamente a lacuna acima.
a) projeto
b) levantamento de requisitos
c) teste
d) implantação
e) análise
![Page 90: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/90.jpg)
Implementação
• Tradução do projeto em código executável
![Page 91: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/91.jpg)
Implementação
• Fazer código novo ou reusar?
• Etapa na qual ocorre o teste de unidade!
![Page 92: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/92.jpg)
Testes
• Atividade realizada para descobrir erros no sistema
• Todo software tem erros, e sempre terá!
• Podem ser planejados antecipadamente e conduzidos de maneira sistêmica
• Estratégias de teste: por que testar?
• Técnicas de teste: como testar?
![Page 93: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/93.jpg)
Estratégias de Testes
• Verificação: tarefas que verificam se o software funciona corretamente (Estamos construindo o produto corretamente?)
• Validação: tarefas que verificam se o software atende às expectativas do cliente (Estamos construindo o produto certo?) *Polêmica: Pressman x Sommerville
• Teste confirma qualidade, ele não cria qualidade
![Page 94: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/94.jpg)
Realizadores dos testes
• Testes de unidade e integração: desenvolvedores do código
• Testes de validação e sistema: grupo independente de testes
![Page 95: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/95.jpg)
Quatro estratégias de teste
• Testes de unidade: concentrado em cada unidade: encontrar erros em componente, classe ou módulo
• Realizado durante a implementação!
![Page 96: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/96.jpg)
Quatro estratégias de teste
• Testes de integração: erros na comunicação entre os módulos (interfaces)
• Pode ser top-down ou bottom-up
![Page 97: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/97.jpg)
Quatro estratégias de teste
• Testes de validação: testes que demonstram conformidade com os requisitos
• Nem sempre todos os stakeholders poderão fazer testes formais de aceitação
• Testes alfa e beta
![Page 98: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/98.jpg)
Quatro estratégias de teste
• Testes de sistema: além dos limites do software
• Verificar se todos os elementos se combinam corretamente e se a função/desempenho global do sistema é conseguida • Teste de recuperação
• Teste de segurança
• Teste de esforço
• Teste de desempenho
• Teste de disponibilização
![Page 99: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/99.jpg)
Depuração
• Ato de analisar um código para encontrar o local exato que produz um erro
• Depurar não é testar, mas são processos que se relacionam
![Page 100: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/100.jpg)
Técnicas de teste: duas grandes categorias
• Caixa-branca (ou teste estrutural, teste orientado à lógica)
• Avalia comportamento interno do sistema • Ênfase na observação do código-fonte
• Ênfase nos períodos de testes de unidade e integração;
• Teste de condição, teste de fluxo de dados, teste de caminho básico, teste de ciclos, teste de caminhos lógicos, códigos nunca executados, teste de estrutura de controle;
![Page 101: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/101.jpg)
Técnicas de teste: duas grandes categorias
• Caixa-preta (ou teste funcional, teste comportamental, orientado a dado, orientado a entrada e saída)
• Avalia comportamento externo do sistema • Sem observação do código-fonte
• Ao longo de todo o ciclo de testes (ênfase da integração ao sistema);
• Particionamento de equivalência (ou classes de equivalência), Análise do Valor Limite;
![Page 102: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/102.jpg)
Exercício 1
(ESAF – SEFAZ/CE – Analista de Tecnologia da Informação - 2006)
Na engenharia de software, o objetivo do processo de Teste de Software é
a) encontrar defeitos.
b) corrigir apenas os defeitos de alta criticidade.
c) executar apenas os testes de caixa preta.
d) demonstrar o correto funcionamento do software.
e) provar que o software está 100% isento de defeitos.
![Page 103: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/103.jpg)
Exercício 12
(ESAF – MPOG – Analista de Planejamento e Orçamento – Tecnologia
da Informação - 2008) Uma estratégia de teste de software integra métodos
de projeto de casos de teste em uma série planejada de passos. Em relação a
estratégias de testes, é correto afirmar que:
a) realizar testes para mostrar que não existem defeitos no software faz parte
das estratégias de testes.
b) demonstrar ao desenvolvedor e ao cliente que o software atende aos
requisitos é uma meta de validação do software.
c) o particionamento de equivalência é uma maneira estratégica de aplicar
testes de software.
d) o teste estrutural é uma estratégia que se baseia na análise da
especificação de um programa para ajudar na seleção de casos de teste.
e) funções ou métodos individuais de um objeto não são exemplos de
estratégia da aplicação de teste de componentes.
![Page 104: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/104.jpg)
Papéis e Responsabilidades em Projeto de Software
• Estudo transversal
![Page 105: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/105.jpg)
Patrocinador
• Atribuir recursos e dinheiro ao projeto
• Ponto focal para a administração e outros stakeholders
• Promover e proteger o projeto
• Designar um gerente para o projeto
• Delimita o poder do gerente do projeto
• Responsável pelo sucesso/fracasso do projeto perante a alta administração
![Page 106: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/106.jpg)
Gerente de projeto
• Gerência/coordenação das atividades necessárias à construção do sistema
• Orçamento/cronograma
• Seleção da equipe
• Monitoramento e controle
• Presta contas do projeto ao patrocinador
• 4Ps: Pessoas, Produto, Processo e Projeto
![Page 107: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/107.jpg)
Gerente de projeto
• Pessoas: • Formar/liderar equipe, estabelecer comunicação
• Produto: • Análise detalhada dos requisitos, delimitar escopo, definir recursos e prazo
• Processo: • Escolher o processo de software mais adequado ao projeto
• Projeto: • Fatores críticos de sucesso, planejar, monitorar e controlar o projeto, por
meio de métricas e ferramentas
![Page 108: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/108.jpg)
Área de Negócio
• Colaborar com a elicitação de requisitos
• Participar dos testes finais do software
• Fornecer o feedback após a sua implantação
• Especialista de Domínio
![Page 109: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/109.jpg)
Analista de Requisitos
• Ter conhecimento do domínio do negócio
• Definir os requisitos do sistema a ser desenvolvido
![Page 110: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/110.jpg)
Equipe de desenvolvimento
• Desenvolver o software
• Projetistas
• Arquitetos de software
• Programadores
![Page 111: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/111.jpg)
Equipe de sustentação
• Manutenção do sistema após a sua entrega
• Manutenção corretiva, adaptativa, evolutiva
• Analista de suporte
![Page 112: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/112.jpg)
Metodologias ágeis
• Esforço para sanar fraquezas reais e perceptíveis da engenharia de software tradicional
• Reconhecimento do dinamismo do mercado (mudanças rápidas das necessidades dos usuários, incapacidade da definição completa dos requisitos antes do início do desenvolvimento) • estruturação e as atitudes em equipe que tornam a comunicação mais fácil
• entrega rápida do software operacional
• cliente como parte da equipe de desenvolvimento
• reconhece que o planejamento tem limites
• plano de projeto tem que ser flexível
![Page 113: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/113.jpg)
Valores da filosofia ágil
• Indivíduos e interações, em vez de processos e ferramentas
• Software funcional, em vez de documentação abrangente
• Colaboração do cliente, em vez de negociação de contratos
• Responder mudanças, em vez de seguir um plano
![Page 114: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/114.jpg)
XP (eXtreme Programming)
• Jogo de Planejamento
• Small Releases
• Time Coeso
• Ritmo Sustentável
• Reuniões em pé
• Posse Coletiva do código
• Programação em pares
• Desenvolvimento Orientado a Testes
• Integração Contínua
![Page 115: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/115.jpg)
Scrum
• Papéis • Product Owner, Scrum Master, Team
• Sprint • “Caixa de Tempo”, na qual um conjunto de funcionalidades será entregue
• Artefatos • Product Backlog, Sprint Backlog,
• Reuniões • Daily Scrum, Planejamento de Sprint, Sprint Review, Sprint Retrospective
![Page 116: Tecnologia da Informação para EPPGG 2013 - igepp.com.br · d) Engenharia de requisitos compreende: identificar, analisar, programar e testar os programas das necessidades de solução](https://reader031.vdocuments.com.br/reader031/viewer/2022022707/5be45aca09d3f2f9648c689a/html5/thumbnails/116.jpg)
Exercícios?