![Page 1: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/1.jpg)
Pósgraduação Lato Sensu em Sistemas de Informação e
Aplicações WEB
Módulo de Engenharia de Software
Prof. Tiago Eugenio de Melo, M.Sc.Email: [email protected]
Data: abril/2008 http://www.tiagodemelo.info
![Page 2: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/2.jpg)
2
Roteiro• Introdução à Engenharia de Software
• Processos de desenvolvimento de software
• Projeto de interface homemmáquina
• Verificação e validação de software
• Engenharia reversa e reengenharia
• eXtreme Programming
![Page 3: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/3.jpg)
3
Engenharia de Software• A economia de todos os países do mundo dependem
do uso de software.
• Cada vez mais o controle dos processos tem sido feito
por software.
• A Engenharia de Software consiste no conjunto de
teorias, métodos e ferramentas para o
desenvolvimento profissional de software.
![Page 4: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/4.jpg)
4
Engenharia de Software• Atualmente, os custos de software superam os custos
de hardware.
• A manutenção de software é onde se tem os maiores
gastos. Principalmente nos sistemas de vida longa.
![Page 5: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/5.jpg)
5
Questões preliminares• O que é sistema?
– É um conjunto de elementos concretos ou abstratos entre
os quais se pode encontrar alguma relação.
![Page 6: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/6.jpg)
6
Questões preliminares• Quais são os elementos de um sistema?
– São os elementos que estão dentro da fronteira
conceitual.
– São os elementos que possuem interações fortes entre
si.
– São os elementos que possuem interações fracas com
os elementos externos ao sistema.
![Page 7: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/7.jpg)
7
Questões preliminares• O que é fronteira conceitual?
– É o limite que separa o que está dentro do sistema do
resto.
• Os elementos de dentro do sistema devem ser detalhados.
• Devese verificar a interação destes elementos com o
ambiente externo.
![Page 8: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/8.jpg)
8
Questões preliminares• O que é software?
– Programas de computador e documentação associada.
– Existem duas categorias de produtos de software:
• Produtos genéricos: sistemas produzidos e vendidos no
mercado a qualquer pessoa que possa comprálos.
• Produtos específicos: sistemas encomendados
especialmente por um determinado cliente.
![Page 9: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/9.jpg)
9
Questões preliminares• O que é Engenharia de Software?
– É uma das áreas da Engenharia que trata dos aspectos
de produção de software.
– A Engenharia de Software tem como objetivo
estabelecer uma sistemática abordagem de
desenvolvimento, através de ferramentas e técnicas
apropriadas, dependendo do problema a ser abordado,
considerando as restrições e recursos disponíveis.
![Page 10: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/10.jpg)
10
Questões preliminares• O que é Engenharia de Software?
– Em resumo, visa resolver problemas inerentes ao
processo e ao produto de software.
![Page 11: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/11.jpg)
11
Questões preliminares• Quais são os princípios da Engenharia de Software?
– Formalidade: produtos mais confiáveis, podem controlar
seu custo e ter mais confiança no seu desempenho.
– Abstração: identificar os aspectos importantes ignorando
os detalhes.
– Decomposição: subdividir o processo em atividades
específicas, atribuídas a diferentes especialistas.
![Page 12: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/12.jpg)
12
Questões preliminares• Quais são os princípios da Engenharia de Software?
– Generalização: sendo mais geral, é possível que solução
possa ser reutilizada.
– Flexibilização: modificação com qualidade.
![Page 13: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/13.jpg)
13
Questões preliminares• Qual é a diferença entre Engenharia de Software e
Ciência da Computação?
– A Ciência da Computação tem como objetivo o
desenvolvimento de teorias e fundamentações;
enquanto a Engenharia de Software se preocupa com
as práticas de desenvolvimento de software.
![Page 14: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/14.jpg)
14
Questões preliminares• Qual é a diferença entre Engenharia de Software e
Ciência da Computação?
– Na prática, as ‘elegantes’ teorias da Ciência da
Computação não podem ser aplicadas para os
problemas reais e complexos que requerem uma
solução de software.
![Page 15: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/15.jpg)
15
Questões preliminares• Qual é a diferença entre Engenharia de Sistemas e
Engenharia de Software?
– A Engenharia de Sistemas trata dos sistemas baseados
em computadores, que inclui hardware e software.
Enquanto a Engenharia de Software trata apenas dos
aspectos de desenvolvimento de software.
![Page 16: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/16.jpg)
16
Questões preliminares• O que é um processo de software?
– É um conjunto de atividades que objetivam o
desenvolvimento e evolução de software.
– Ele começa na concepção do problema (solicitação do
usuário) e termina quando o sistema sai de uso.
![Page 17: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/17.jpg)
17
Questões preliminares• Quais são as principais atividades de um processo de
desenvolvimento de software?
– Especificação: define o que o sistema deverá fazer e as
suas restrições.
– Desenvolvimento: produção do software.
![Page 18: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/18.jpg)
18
Questões preliminares• Quais são as principais atividades de um processo de
desenvolvimento de software?
– Validação: checagem se o software faz o que o usuário
quer.
– Evolução: mudanças no software para atender às novas
demandas.
![Page 19: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/19.jpg)
19
Questões preliminares• O que é um modelo de processo de software?
– É a representação simplificada de um processo de
software, apresentada sob uma perspectiva específica.
– Exemplos de perspectivas:
• Fluxo de trabalho (workflow): seqüência de atividades.
• Fluxo de dados: fluxo das informações.
• Papel/Ação: quem faz o que.
![Page 20: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/20.jpg)
20
Questões preliminares• Quais são os principais modelos?
– Cascata ou sequencial.
– Modelo evolutivo.
– Transformação formal.
– Integração de componentes reusáveis.
![Page 21: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/21.jpg)
21
Questões preliminares• Quais são os objetivos dos modelos?
– Auxiliar no processo de produção, ou seja, gerar produtos
com qualidade, produzidos mais rapidamente e a um
custo cada vez menor.
![Page 22: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/22.jpg)
22
Questões preliminares• Quais são os objetivos dos modelos?
– Possibilitam:
• Ao gerente: controlar o processo de desenvolvimento de
sistemas de software.
• Ao desenvolvedor: obter a base para produzir, de maneira
eficiente, softwares que satisfaçam os requisitos pré
estabelecidos.
![Page 23: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/23.jpg)
23
Questões preliminares• Quais são os custos da Engenharia de Software?
– Pesquisas mostram que 60% dos custos é para o desenvolvimento e 40% para os testes.
– O custo de evolução do software, normalmente, excede o custo de desenvolvimento.
– O custo depende do tipo de sistema a ser desenvolvido e as suas restrições.
– A distribuição dos custos depende do modelo de desenvolvimento adotado.
![Page 24: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/24.jpg)
24
Questões preliminares• O que são os métodos de Engenharia de Software?
– São as abordagens estruturadas para o
desenvolvimento de software que incluem os modelos
de software, notações, regras e maneiras de
desenvolvimento.
![Page 25: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/25.jpg)
25
Questões preliminares• O que são ferramentas CASE?
– Softwares que têm o objetivo de fornecer um suporte automatizado para as atividades de processo de software.
– Operam em dois níveis:• Alto nível: ferramentas que suportam as atividades iniciais
de requisitos e projetos.
• Baixo nível: ferramentas que suportam as atividades de programação, depuração e testes.
![Page 26: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/26.jpg)
26
Questões preliminares
• Quais são os atributos de um bom software?
– Atender às funcionalidades exigidas.
– Eficiente.
– Manutenível.
– Usável.
![Page 27: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/27.jpg)
27
Questões preliminares
• Quais são questões atuais?
– Sistemas legados: os sistemas antigos devem ser
mantidos e atualizados (atividades de migração).
– Heterogeneidade: sistemas são uma combinação de
hardware e software.
– Prazos de entrega: pressão para um menor prazo de
entrega.
![Page 28: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/28.jpg)
28
Questões de Ética• Confidencialidade
– Os engenheiros devem respeitar a confidencialidade
dos projetos dos seus empregadores e clientes.
– Existência de contratos de confidencialidade.
![Page 29: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/29.jpg)
29
Questões de Ética• Surgimento de dilemas
– Quando o analista não está de acordo com as políticas
do engenheiro sênior.
– Quando o empregador age de maneira não ética e as
atualizações de sistemas críticos terminam sem a
realização dos devidos testes.
– Participação em projetos que contrariam os princípios
do analista. Exemplo: desenvolvimento de projetos
militares.
![Page 30: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/30.jpg)
30
Questionário● Qual é a importância da Engenharia de Software na
sociedade atual?
● O que você entende por software?
● Comente sobre dois princípios da Engenharia de
Software.
● Quais são as principais atividades de um processo de
desenvolvimento de software?
![Page 31: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/31.jpg)
31
Questionário● Qual é a importância da etapa de manutenção no
processo de desenvolvimento de software?
● Qual é o papel das ferramentas CASE no
desenvolvimento de software?
● O que são sistemas legados? Qual é a dificuldade em
trabalhar com sistemas legados ao se desenvolver um
novo software?
![Page 32: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/32.jpg)
32
Processos de desenvolvimento de software
• Definição:– Conjunto de atividades para especificar, projetar,
implementar e testar sistemas de software.
• As atividades necessárias para o desenvolvimento de software são:– Especificação.
– Projeto.
– Validação.
– Evolução.
![Page 33: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/33.jpg)
33
Processos de desenvolvimento de software
• Etapas:
Desenvolvimento
Validação
Manutenção
![Page 34: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/34.jpg)
34
Processos de desenvolvimento de software
• Ciclo de Vida Clássico (Modelo Cascata)
– Diferentes fases da especificação e desenvolvimento.
• Desenvolvimento Evolutivo
– Especificação e desenvolvimento são alternados.
• Desenvolvimento Espiral
– Faz uma combinação do ciclo de vida clássico e
evolutivo.
![Page 35: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/35.jpg)
35
Processos de desenvolvimento de software
• Desenvolvimento Formal
– Uso de modelo matemático é formalmente transformado
em uma implementação.
• Desenvolvimento Baseado em Reuso
– O sistema é montado a partir de componentes.
![Page 36: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/36.jpg)
36
Ciclo de vida clássico• Método é sistemático e seqüencial.
• O resultado de uma fase se constitui na entrada de
outra.
• Também conhecido com cascata.
• Cada fase é estruturada como um conjunto de
atividades que podem ser executadas por pessoas
diferentes, simultaneamente.
![Page 37: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/37.jpg)
37
Ciclo de vida clássico• Fases:
– Análise e especificação dos requisitos.
– Projeto do software.
– Implementação e teste unitário.
– Integração e teste do sistema.
– Operação e manutenção.
![Page 38: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/38.jpg)
38
Ciclo de vida clássico• Fases:
Análise e especificação de requisitos
Projeto
Implementação e teste unitário
Integração e teste do sistema
Operação e manutenção
![Page 39: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/39.jpg)
39
Ciclo de vida clássico• Fases de análise e especificação de requisitos:
– Durante essa fase são identificados, através de
consultas aos usuários, os serviços e as metas a serem
atingidas, assim como as restrições a serem
respeitadas.
![Page 40: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/40.jpg)
40
Ciclo de vida clássico• Fases de análise e especificação de requisitos:
– O resultado dessa fase consiste num documento de
especificação de requisitos que tem como objetivos:
• Ser analisado e confirmado pelo usuário para verificar se
ele satisfaz todas as suas expectativas.
• Ser usado pelos desenvolvedores de software para obter
um produto que satisfaça os requisitos.
![Page 41: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/41.jpg)
41
Ciclo de vida clássico• O documento gerado
– Deve ter as seguintes características:
• Inteligível.
• Preciso.
• Completo.
• Consistente.
• Não ambíguo.
• Facilmente modificável.
![Page 42: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/42.jpg)
42
Ciclo de vida clássico• Tipos de especificação
– Funcionais: documenta o que o produto de software faz,
usando notações informais, seminformais, formais ou
uma combinação delas.
– Não funcionais: documenta a confiabilidade, acurácia dos
resultados, desempenho, problemas de interface,
restrições físicas e operacionais, questões de
portabilidade, entre outras.
![Page 43: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/43.jpg)
43
Ciclo de vida clássico• Tipos de especificação
– De desenvolvimento e manutenção: documenta os
procedimentos de controle de qualidade (teste,
prioridades das funções desejadas, mudanças prováveis
nos procedimentos de manutenção do sistema, entre
outras).
![Page 44: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/44.jpg)
44
Ciclo de vida clássico• Fase de projeto
– A fase de projeto envolve a representação das funções do sistema em uma forma que possa ser transformada em um ou mais programas executáveis.
– É definida a solução do problema• Decomposição do produto subsistemas e/ou
componentes.
• Representação das funções do sistema em uma forma que possa ser transformada em programas.
![Page 45: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/45.jpg)
45
Ciclo de vida clássico• Fase de projeto
– Definição de como o produto deve ser implementado.
– Pode ser dividido em:
• Projeto de alto nível (geral).
• Projeto detalhado.
– Tem como resultado um documento de especificação do
projeto.
![Page 46: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/46.jpg)
46
Ciclo de vida clássico• Fase de implementação e teste unitário
– Na fase de implementação o software é transformado em
um programa, ou em unidades de programa, através de
uma determinada linguagem de programação.
– Teste unitário: cada unidade satisfaz suas especificações
(planos e casos de teste préestabelecidos).
– Resultado: coleção de programas implementados e
testados.
![Page 47: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/47.jpg)
47
Ciclo de vida clássico• Fase de integração e teste de sistema
– Programas ou unidades de programa são integrados e
testados como um sistema.
– Integração incremental: programas ou unidades são
integrados à medida em que forem sendo desenvolvidos.
– Resultado: produto pronto para ser entregue ao cliente.
![Page 48: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/48.jpg)
48
Ciclo de vida clássico• Contribuições do modelo
– O processo de desenvolvimento de software deve ser
sujeito à disciplina, planejamento e gerenciamento.
– A implementação do produto deve ser adiada até que os
objetivos tenham sido completamente entendidos.
– Deve ser utilizado especialmente quando os requisitos
estão bem claros no início do desenvolvimento.
![Page 49: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/49.jpg)
49
Ciclo de vida clássico• Problemas
– Utiliza método sistemático e seqüêncial, em que a
entrada de uma fase é o resultado da anterior.
– O reinício do modelo é a dificuldade de acomodar
mudanças depois que o processo está no final.
– Dificuldade em atender às mudanças exigidas
posteriormente pelo cliente.
![Page 50: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/50.jpg)
50
Ciclo de vida clássico• Problemas
– Modelo mais adequado quando os requisitos estão
muito bem entendidos.
– Modelo ideal para aplicações maiores e mais
complexas.
– Rigidez, mas o desenvolvimento não é linear.
– A meta continua sendo tentar a linearidade, para manter
o processo previsível e fácil de monitorar.
![Page 51: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/51.jpg)
51
Ciclo de vida clássico• Problemas
– Qualquer desvio é desencorajado, pois vai representar
um desvio do plano original e, portanto, requerer um
replanejamento.
– Todo o planejamento é orientado para a entrega do
produto de software em uma única data.
– O processo de desenvolvimento pode ser longo e a
aplicação pode ser entregue quando as necessidades
do usuário já tiverem sido alteradas.
![Page 52: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/52.jpg)
52
Desenvolvimento Evolutivo• Baseado no desenvolvimento e implementação de um
produto inicial, que é submetido aos comentários e críticas do usuário.
• O produto vai sendo refinado, através de múltiplas versões, até que o produto de software almejado tenha sido desenvolvido.
• As atividades de desenvolvimento e validação são desempenhadas paralelamente, com uma rápida resposta entre elas.
![Page 53: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/53.jpg)
53
Desenvolvimento Evolutivo• Categorias
– Desenvolvimento Exploratório
• O objetivo é desenvolver o sistema com o contínuo
acompanhamento dos clientes desde da especificação até
a entrega do produto. Os requisitos precisam ser bem
entendidos.
– Prototipação
• O objetivo é entender os requisitos do sistema.
![Page 54: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/54.jpg)
54
Desenvolvimento Evolutivo
• Desenvolvimento Exploratório
– O objetivo é trabalhar junto do usuário para descobrir os seus
requisitos, de maneira incremental, até que o produto final seja
obtido.
– O desenvolvimento começa com as partes do produto que são
melhor entendidas.
– A evolução acontece quando novas características são adicionadas
à medida que são sugeridas pelo usuário.
![Page 55: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/55.jpg)
55
Desenvolvimento Evolutivo
• Desenvolvimento Exploratório
– É indicado o seu uso quando é difícil, ou mesmo impossível,
estabelecer uma especificação detalhada dos requisitos do sistema
a priori.
– A versão inicial do produto é submetida a uma avaliação inicial do
usuário.
– Essa versão é refinada, gerando várias versões, até que o produto
almejado tenha sido desenvolvido.
![Page 56: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/56.jpg)
56
Desenvolvimento Evolutivo• Desenvolvimento Exploratório
Descrição do sistema
Especificação
Desenvolvimento
Validação Versão final
Versão inicial
Versão intermediária
![Page 57: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/57.jpg)
57
Desenvolvimento Evolutivo• Prototipação
– Entender os requisitos do usuário e obter uma melhor
definição dos requisitos do sistema.
– Usado para fazer experimentos com os requisitos que
não estão bem entendidos.
– Enolve projeto, implementação e teste, mas não de
maneira formal ou completa.
![Page 58: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/58.jpg)
58
Desenvolvimento Evolutivo• Prototipação
– O usuário define uma série de objetivos, mas não
consegue identificar detalhes de entrada, processamento
ou requisitos de saída.
– O desenvolvedor está incerto sobre a eficiência de um
algoritmo, a adaptação de um sistema operacional, ou
ainda sobre a forma de interação homemmáquina.
![Page 59: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/59.jpg)
59
Desenvolvimento Evolutivo• Prototipação
– Possibilita ao desenvolvedor criar um modelo do software
que será construído.
– O desenvolvedor pode perceber as reações iniciais do
usuário e obter sugestões para mudar ou inovar o
protótipo.
– O usuário pode relacionar o que vê no protótipo
diretamente com os seus requisitos.
![Page 60: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/60.jpg)
60
Desenvolvimento Evolutivo• Protótipo descartável
– O objetivo é entender os requisitos do usuário e,
consequentemente, obter uma melhor definição dos
requisitos do sistema.
Análise de requisitosProjeto
ImplementaçãoTeste
Projeto Implementação Teste
![Page 61: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/61.jpg)
61
Desenvolvimento Evolutivo• Problemas
– Ausência de visibilidade do processo
• Como o desenvolvimento acontece de maneira rápida,
não compensa produzir documentos que reflitam cada
versão do produto de software.
– Sistemas são fracamente estruturados
• Mudanças constantes tendem a corromper a estrutura do
software.
![Page 62: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/62.jpg)
62
Desenvolvimento Evolutivo• Problemas
– Necessidade de ferramentas de rápido
desenvolvimento.
– O usuário vê o que parece ser uma versão em
funcionamento do produto de software.
– O desenvolvedor, muitas vezes, assume certos
compromissos de implementação.
![Page 63: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/63.jpg)
63
Desenvolvimento Evolutivo• Aplicabilidade:
– Sistemas de pequeno e médio porte
• Pois os problemas de mudanças no sistema atual podem
ser contornados através da reimplementação do sistema
todo quando mudanças substanciais se tornam
necessárias.
– Como parte de um sistema grande (ex.: a interface do
usuário).
![Page 64: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/64.jpg)
64
Desenvolvimento Evolutivo• Aplicabilidade:
– Sistema de curta duração.
– Testes podem ser mais efetivos, visto que testar cada
versão do sistema é provavelmente mais fácil do que
testar o sistema todo no final.
![Page 65: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/65.jpg)
65
Desenvolvimento Espiral• Desenvolvido para englobar as melhores características
do ciclo de vida clássico e do paradigma evolutivo.
• Adiciona um novo elemento – a análise de risco – que
não existe nos dois paradigmas anteriores.
• Os riscos são as circunstâncias adversas que podem
atrapalhar o processo de desenvolvimento e a
qualidade do produto a ser desenvolvido.
![Page 66: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/66.jpg)
66
Desenvolvimento Espiral• Prevê a eliminação de problemas de alto risco através
de um planejamento e projeto cuidadosos.
• As atividades podem ser organizadas como uma espiral
que tem muitos ciclos.
• Cada ciclo na espiral representa uma fase do processo
de desenvolvimento do software.
![Page 67: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/67.jpg)
67
Desenvolvimento Espiral• O primeiro ciclo pode estar relacionado com o estudo
de viabilidade e com a operacionalidade do sistema; o
segundo ciclo com a definição dos requisitos; o próximo
com o projeto do sistema e assim por diante.
• Não existem fases fixas.
![Page 68: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/68.jpg)
68
Desenvolvimento Espiral• Fases do Modelo Espiral:
– Definição dos objetivos, alternativas e restrições: um
plano inicial é esboçado e os riscos do projeto são
identificados.
– Análise de risco: para cada um dos riscos identificados é
feita uma análise cuidadosa.
![Page 69: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/69.jpg)
69
Desenvolvimento Espiral• Fases do Modelo Espiral:
– Desenvolvimento e validação: após a avaliação dos
riscos, um paradigma de desenvolvimento é escolhido.
– Planejamento: o projeto é revisado e a decisão de
percorrer ou não mais um ciclo na espiral é tomada. Se a
decisão for percorrer mais um ciclo, então o próximo
passo do desenvolvimento do projeto deve ser planejado.
![Page 70: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/70.jpg)
70
Desenvolvimento Espiral
Riskanalysis
Riskanalysis
Riskanalysis
Riskanalysis Proto
type 1
Prototype 2Prototype 3
Operationalprotoype
Concept ofOperation
Simulations, models, benchmarks
S/Wrequirements
Requirementvalidation
DesignV&V
Productdesign Detailed
designCode
Unit testIntegration
testAcceptancetestService Develop, verify
nextlevel product
Evaluate alternativesidentify, resolve risks
Determine objectivesalternatives and
constraints
Plan next phaseIntegration
and test plan
Developmentplan
Requirements planLifecycle plan
REVIEW
![Page 71: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/71.jpg)
71
Desenvolvimento Formal de Sistemas• Baseado na transformação de uma especificação
matemática através de diferentes representações para
um programa executável.
• Consegue alcançar os requisitos da especificação
mais facilmente.
![Page 72: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/72.jpg)
72
Desenvolvimento Formal de Sistemas• Problemas:
– Dificuldade em encontrar profissionais especializados.
– Dificuldade em especificar determinados aspectos do
sistemas, como a interface do usuário.
• Aplicabilidade:
– Principalmente para sistemas críticos onde não são
toleradas falhas.
![Page 73: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/73.jpg)
73
Desenvolvimento Baseado em Reuso• Sistemas baseados em componentes já existentes.
Semelhantes ao desenvolvimento de hardware.
• Fases do processo:– Análise do componente.
– Modificação dos requisitos.
– Projeto do sistema com reuso.
– Desenvolvimento e integração.
• Método que vem crescendo bastante nos últimos tempos.
![Page 74: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/74.jpg)
74
Desenvolvimento Baseado em Reuso
Especificação dos requisitos
Análise dos componentes
Modificação dos requisitos
Projeto do sistema com reuso
Desenvolvimento e integração
Validaçãodo sistema
![Page 75: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/75.jpg)
75
Extração de Requisitos• Extração de requisitos é o processo de transformação
das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída).
• A saída do processo de extração de requisitos é um documento de especificação dos requisitos, que decreve o que o produto a ser desenvolvido deverá fazer, sem entretanto, descrever como deve ser feito.
• O processo de extração não pode ser totalmente automatizado.
![Page 76: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/76.jpg)
76
Processo de Extração de RequisitosEntendimento
do domínio
Extração e análise de requisitos
Especificação
Validação
![Page 77: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/77.jpg)
77
Processo de Extração de Requisitos• Entendimento do domínio: nessa fase, os desenvolvedores
devem entender o domínio da aplicação o mais completamente
possível.
• Extração e análise de requisitos: nessa etapa acontece a
descoberta, revelação e entendimento dos requisitos, através
de interação com o(s) usuário(s).
![Page 78: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/78.jpg)
78
Processo de Extração de Requisitos• Especificação dos requisitos: nessa etapa ocorre o
armazenamento dos requisitos em uma ou mais formas,
incluindo língua natural, linguagem semiformal ou formal,
representações simbólicas ou gráficas.
• Validação dos requisitos: nessa etapa é feita a verificação dos
requisitos, visando determinar se estão completos e
condizentes com as necessidades e desejos do usuário.
![Page 79: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/79.jpg)
79
ExercícioGostaria que fosse construído um sistema para monitorar a
temperatura e a pressão de pacientes da UTI, que deverão ficar
ligados online à rede de computadores do hospital, que é
formada por um computador principal e vários terminais que
monitoram os pacientes. Se a temperatura ou pressão paciente
lida pelo terminal se tornarem críticas, o computador principal
deverá mostrar uma tela de alerta com um histórico das
medidas realizadas para o paciente. Um aviso sonoro deve ser
ativado nesse caso.
![Page 80: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/80.jpg)
80
Exercício A verificação da pressão é feita comparandose a pressão do
paciente com um valor padrão de pressão (máximo e mínimo) a
ser digitado pelo responsável e verificandose se a pressão
medida está dentro dos parâmetros considerados normais para
o paciente (valores próximos ao máximo e mínimo são
permitidos). Temos vários sistemas online no computador e
todos devem rodar ao mesmo tempo. [1]
![Page 81: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/81.jpg)
81
Dificuldades Encontradas• As atividades não podem ser totalmente separadas e
executadas linearmente.
• As necessidades do usuário mudam à medida que o ambiente no qual o sistema funciona muda.
• Mudanças dos requisitos acontecem na maioria dos sistemas complexos.
• Falta de conhecimento do usuário das suas reais necessidades e do que o produto de software pode lhe oferecer.
• Falta de conhecimento do desenvolvedor do domínio do problema.
![Page 82: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/82.jpg)
82
Dificuldades Encontradas• Domínio do processo de extração de requisitos pelos
desenvolvedores de software.
• Comunicação inadequada entre desenvolvedores e usuários.
• Dificuldade de o usuário tomar decisões.
• Problemas de comportamento.
• Questões técnicas.
![Page 83: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/83.jpg)
83
Agentes da Extração de Requisitos
• Desenvolvedor (engenheiro de requisitos).
• Usuários.
• Gerente.
![Page 84: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/84.jpg)
84
Técnicas para Extração e Análise de Requisitos
• As técnicas de extração de requisitos podem ser divididas em
informais e formais.
• As técnicas informais são baseadas em comunicação
estruturada e interação com o usuário, questionários, estudos
de documentos etc. Exemplos: Joint Application Design (JAD),
brainstorming, entrevistas e PIECES.
![Page 85: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/85.jpg)
85
Técnicas para Extração e Análise de Requisitos
• As técnicas formais pressupõem a construção de um modelo
conceitual do problema analisado, ou de um protótipo do
produto de software a ser construído. Exemplos: modelo
funcional, modelo de dados e o modelo de objetos.
• A prototipagem é utilizada quando o problema é analisado e os
requisitos são entendidos através da interação com os usuário,
a partir de um protótipo do produto.
![Page 86: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/86.jpg)
86
Entrevistas• Entrevistar não é somente fazer perguntas; é uma
técnica estruturada, que pode ser aprendida e na qual os desenvolvedores podem ganhar proficiência com o treino e a prática.
• A entrevista consta de quatro fases:– Identificação dos candidatos para entrevista.
– Preparação para uma entrevista.
– Condução da entrevista.
– Finalização da entrevista.
![Page 87: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/87.jpg)
87
Brainstorming• Brainstorming é uma técnica básica para geração de
idéias. Ela consiste em uma ou várias reuniões que
permitem que as pessoas sugiram e explorem idéias
sem que sejam criticadas ou julgadas.
• Existem duas fases:
– Geração de idéias.
– Consolidação.
![Page 88: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/88.jpg)
88
Brainstorming• Geração de idéias:
– É proíbido criticar as idéias.
– Idéias não convencionais ou estranhas são
encorajadas.
– O número de idéias geradas deve ser bem grande.
– Deve ser encorajada a participação de todos os
agentes.
![Page 89: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/89.jpg)
89
Brainstorming• Consolidação das idéias:
– As idéias são organizadas.
– É nessa fase que as idéias são avaliadas.
![Page 90: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/90.jpg)
90
Brainstorming• Vantagens:
– Estimula o pensamento imaginativo.
– Evita a tendência a limitar o problema muito cedo.
– Técnica fácil de ser aprendida.
• Desvantagem:
– Por ser um processo não estruturado, pode não atingir o
nível de detalhamento esperado.
![Page 91: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/91.jpg)
91
PIECES• A técnica de PIECES ajuda o analista a estruturar o
processo de extração de requisitos.
• Indicado principalmente para analistas com pouca experiência em extração de requisitos.
![Page 92: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/92.jpg)
92
PIECES• PIECES
– Performance
– Informação e dados
– Economia
– Controle
– Eficiência
– Serviços
![Page 93: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/93.jpg)
93
PIECES• Perfomance (desempenho)
– É necessário reconhecer as tarefas que o produto deverá executar e então idenficar o tempo de processamento ou tempo de resposta para cada tipo de tarefa.
– Durante a análise de um produto de software já existente, é possível descobrir se os usuários experientes já sabem onde existem problemas de desempenho.
![Page 94: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/94.jpg)
94
PIECES• Informação e dados
– Faz parte da natureza dos produtos de software o
fornecimento de dados ou informações úteis para a
tomada de decisão.
![Page 95: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/95.jpg)
95
PIECES• Economia
– Questões relacionadas ao custo de usar um produto de
software são sempre importantes, e, de um modo geral,
existem dois fatores de custo interrelacionados que
podem ser considerados no desenvolvimento de um
sistema de software: nível de serviço e capacidade de
lidar com alta demanda.
![Page 96: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/96.jpg)
96
PIECES• Controle
– Os sistema são projetados para ter desempenho e
saídas previsíveis.
– Quando o sistema se desvia do desempenho esperado,
algum controle deve ser ativado para tomar ações
corretivas.
![Page 97: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/97.jpg)
97
PIECES• Eficiência
– É a medida definida como a relação entre os recursos
que resultam em trabalho útil e o total dos recursos
gastos.
– Eficiência é diferente de economia; para melhorar a
economia do processo, a quantidade total de recursos
utilizados deve ser reduzida; para melhorar a eficiência,
a perda no uso desses recursos deve ser reduzida.
![Page 98: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/98.jpg)
98
PIECES• Serviços
– Um produto de software fornece serviços aos usuários,
e pode ser muito útil pensar em termos de serviços
durante o processo de extração de requisitos.
![Page 99: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/99.jpg)
99
JAD• Joint Application Design é uma técnica para promover
cooperação, entendimento e trabalho em grupo entre usuários e desenvolvedores.
• A técnica apresenta quatro princípios:– Dinâmica de grupo.
– Uso de técnicas visuais.
– Manutenção do processo organizado e racional.
– Utilização de documentaçãopadrão.
![Page 100: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/100.jpg)
100
Prototipagem• A prototipagem pode auxiliar os usuários a entender e
expressar melhor as suas necessidades através da
comparação com um produto de software que sirva de
referência.
• Atividades:
– Estudo preliminar dos requisitos do usuário.
– Processo interativo de construção do protótipo e
avaliação junto dos usuários.
![Page 101: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/101.jpg)
101
Prototipagem• A prototipagem é benéfica somente se o protótipo
puder ser construído substancialmente mais rápido
que o sistema real.
![Page 102: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/102.jpg)
102
Questionário● Quais são as principais características do ciclo de vida
clássico?
● Qual é a entrada e saída esperada de cada fase do
ciclo de vida clássico?
● Qual é a diferença entre uma especificação funcional
e nãofuncional? Dê um exemplo de cada.
● Qual é a função da fase de integração de sistemas?
![Page 103: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/103.jpg)
103
Questionário● Comente dois problemas do modelo de ciclo de vida
clássico.
● Qual é a diferença entre prototipação e
desenvolvimento exploratório?
● O desenvolvimento evolutivo se aplica melhor ao
desenvolvimento de sistemas em grande ou pequena
escala? Justifique a sua resposta.
![Page 104: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/104.jpg)
104
Questionário● O que é análise de risco?
● Quais são as fases do desenvolvimento em espiral?
● Qual é a principal dificuldade em utilizar o
desenvolvimento formal de sistemas?
● Por que o processo de extração de requisitos ainda
não pode ser totalmente automatizado?
![Page 105: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/105.jpg)
105
Questionário● Na extração de requisitos, como funciona a técnica de
brainstorming?
● A técnica chamada PIECES é aplicada em que tipo de
sistemas?
![Page 106: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/106.jpg)
106
Interfaces gráficas• A maioria dos sistemas atuais apresenta interfaces
gráficas, apesar de alguns sistemas legados ainda
exigirem interfaces textuais.
![Page 107: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/107.jpg)
107
Características das GUI• Janelas
– Múltiplas janelas permitem a apresentações de diferentes
informações na tela do usuário.
• Ícones
– Os ícones representam os diferentes tipos de informações.
• Menus
– As operações são realizadas através da manipulação dos menus.
![Page 108: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/108.jpg)
108
Características das GUI• Cursores
– O curso é uma representação do mouse e serve para indicar o tipo
de operação que está sendo realizada.
• Gráficos
– Elementos gráficos podem ser combinados com elementos
textuais na mesma tela.
![Page 109: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/109.jpg)
109
Vantagens GUI• Elas são mais fáceis de entender e usar.
– Os usuários sem experiência conseguem aprender mais
rapidamente.
• O usuário pode trocar rapidamente a tarefa que está
realizando e pode interagir com diferentes aplicações.
• Rapidamente o usuário consegue interagir com
qualquer componente da tela.
![Page 110: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/110.jpg)
110
Projeto centrado no usuário• É importante que o projetista não se esqueça para
quem está desenvolvendo a interface.
• O projeto centrado no usuário tem como parâmetro as
necessidades do usuário e o seu envolvimento no
processo.
• A prototipação é costumeiramente utilizada durante o
processo.
![Page 111: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/111.jpg)
111
Processo de Projeto de Interface
produção de documento baseado no protótipo
análise e entendimento das atividades do usuário
avaliação do projeto
com os usuários
projeto do protótipo produção dinâmica do projeto
execução do protótipo
implementação final da interface
![Page 112: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/112.jpg)
112
Princípios• O projeto deve levar em consideração as
necessidades, experiências e capacidades dos usuários.
• Os projetistas devem entender as limitações físicas e mentais dos usuários e reconhecer os erros mais comuns dos usuários.
• Às vezes é necessário fazer escolha de quais princípios não poderão ser utilizados.
![Page 113: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/113.jpg)
113
Princípios de Projeto• Familiaridade do usuário
– A interface deve ser baseada em termos e conceitos
orientados aos usuários.
• Consistência
– O sistema deverá apresentar um nível apropriado de
consistência. Por exemplo, comandos e menus devem
ter o mesmo formato.
![Page 114: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/114.jpg)
114
Princípios de Projeto• Mínima surpresa
– Se os comandos funcionam de maneira conhecida, o
usuário será capaz de “advinhar” o comportamento do
sistema.
• Recuperação
– O sistema deverá ser flexível o suficiente para permitir
que os usuários possam recuperar os erros cometidos.
![Page 115: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/115.jpg)
115
Princípios de Projeto• Auxílio ao usuário
– Fornecimento de auxílio ao usuário na operação do
sistema.
• Diversidade de usuários
– O sistema deverá suportar os diferentes tipos de
usuários.
![Page 116: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/116.jpg)
116
Interação HomemMáquina• Duas importantes questões sobre interação devem ser
consideradas:
– Como as informações serão passadas do usuário para
o computador?
– Como as informações, oriundas do computador, serão
apresentadas ao usuário?
![Page 117: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/117.jpg)
117
Interação HomemMáquina• A interação com o usuário e a apresentação da
informação devem ser integradas através de um
coerente framework, de acordo com a metáfora
apresentada ao usuário.
![Page 118: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/118.jpg)
118
Estilos de Interação• Manipulação direta
• Seleção de menus
• Preenchimento de formulários
• Linguagem de comandos
• Linguagem natural
![Page 119: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/119.jpg)
119
Cores• As cores adicionam uma dimensão extra para uma
interface e pode ajudar ao usuário entender complexas estruturas de informação.
• Podem ser utilizadas para destacar eventos excepcionais.
• Erros comuns no uso das cores são:– O uso das cores para se comunicar.
– Excesso de cores na tela.
![Page 120: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/120.jpg)
120
Dicas de Uso de Cores• Não utilizar muitas cores.
• Usar códigos de cores.
• Permitir aos usuários manipular os códigos das cores.
• Projeto para interface colorida e monocromática.
• Utilizar o código das cores consistentemente.
• Evitar conflito no uso das cores.
![Page 121: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/121.jpg)
121
Dicas de Uso de Cores• A mudança das cores deve representar a mudança de
um evento.
• O projeto deve considerar monitores de baixa
resolução.
![Page 122: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/122.jpg)
122
Suporte ao Usuário• O auxílio ao usuário deve incluir:
– Help online.
– Mensagens de erro.
– Manuais.
• O sistema de ajuda deve estar integrado ao sistema.
![Page 123: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/123.jpg)
123
Mensagens de Erro• O projeto de mensagens de erro é parte crítica.
Mensagens ruins podem levar os usuários a não
aceitar o sistema.
• As mensagens devem ser educadas, concisas,
consistências e construtivas.
• A experiência dos usuários deve ser um fator relevante
na construção das mensagens de erro.
![Page 124: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/124.jpg)
124
Mensagens de Erro• Aspectos a serem considerados
– Contexto: as mensagens devem se adaptar ao contexto da operação que está sendo executada pelo usuário.
– Experiência: o texto das mensagens devem ser escritos de acordo com o nível de experiência de cada usuário.
– Estilo: devese tentar escrever mais mensagens positivas do que negativas.
– Cultura: se possível, o texto das mensagens deve estar de acordo com a cultura dos usuários.
![Page 125: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/125.jpg)
125
Documentação do Usuário• Assim como as informações online, deverá ser
fornecida uma documentação em papel para os
usuários.
• A documentação deverá ser preparada para todos os
níveis de usuários.
• Assim como os manuais, outros documentos para
consulta rápida deverão ser produzidos.
![Page 126: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/126.jpg)
126
Tipos de Documentos• Descrição Funcional
– Rápida descrição do que o sistema pode fazer.
• Manual Introdutório
– Apresenta uma introdução informal do sistema.
• Manual de Referência do Sistema
– Descreve todas as funcionalidades, em detalhes, do sistema.
• Manual de Instalação do Sistema
– Descreve como instalar o sistema.
![Page 127: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/127.jpg)
127
Tipos de Documentos• Manual de Administração do Sistema
– Descreve como gerenciar o sistema quando ele está em
funcionamento.
![Page 128: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/128.jpg)
128
Avaliação da Interface• Deve ser realizada uma avaliação da interface.
• Avaliação completa do sistema é muito cara e
impraticável na maioria dos sistemas.
• Idealmente, uma interface deve ser avaliada de acordo
com a especificação do sistema.
![Page 129: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/129.jpg)
129
Atributos de Usabilidade• Facilidade de aprendizado
– Quanto tempo um novato precisa para poder se tornar
produtivo ao sistema?
• Velocidade de operação
– Como o sistema responde às operações do usuário?
• Robustez
– Qual é o nível de tolerância de erros do sistema?
![Page 130: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/130.jpg)
130
Atributos de Usabilidade• Recuperação
– Qual é a capacidade de recuperação do sistema?
• Adaptabilidade
– Quão próximo o sistema está do modelo atual de
trabalho da empresa?
![Page 131: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/131.jpg)
131
Simples Técnicas de Avaliação• Elaboração de questionários para o usuário.
• Gravação de vídeo de uso do sistema e uma posterior avaliação.
• Geração de código para coletar informações sobre a facilidade de uso e os erros dos usuários.
• O fornecimento de componentes que permitam uma avaliação do sistema por parte usuário (feedback).
![Page 132: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/132.jpg)
132
Questionário● Por que a técnica de prototipação é, costumeiramente,
empregada no desenvolvimento de interfaces?
● Familiaridade e facilidade são características similares
no desenvolvimento de interfaces para software?
● Qual é a importância na construção de interfaces
gráficas?
![Page 133: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/133.jpg)
133
Questionário● Quais são os tipos de documentos que devem ser
fornecidos juntamente com o software?
● Como é possível avaliar a qualidade da interface de
um sistema?
![Page 134: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/134.jpg)
134
Verificação e Validação• Consiste na checagem e processo de análise para
garantir que o software está de acordo com a sua
especificação e que atende às necessidades dos
clientes que contrataram o software.
![Page 135: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/135.jpg)
135
Verificação e Validação• Diferenças:
– Validação
• O software está de acordo com a necessidade do cliente?
– Verificação
• O software está de acordo com a especificação?
![Page 136: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/136.jpg)
136
O Processo de Verificação e Validação• A validação e verificação devem ser aplicadas em
cada estágio do processo de desenvolvimento de
software.
• Possui dois principais objetivos:
– Descobrir defeitos do sistema.
– Garantir a utilidade e a usabilidade do sistema numa
situação operacional.
![Page 137: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/137.jpg)
137
Objetivos da Verificação e Validação• Estabelecer a confiança de que o software atende à
sua finalidade.
• Isto não garante que o mesmo é TOTALMENTE livre
de erros.
• O grau de confiança esperado depende do tipo de
sistema.
![Page 138: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/138.jpg)
138
Confiança na Verificação e Validação• O grau de confiança depende da finalidade do
sistema, das expectativas do usuário e do mercado.
– Finalidade do software:
• Quanto mais crítico for para a empresa, maior deverá ser
o grau de confiança.
– Expectativas do usuário:
• Os usuários podem ter baixas expectativas sobre certos
tipos de softwares.
![Page 139: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/139.jpg)
139
Confiança na Verificação e Validação• O grau de confiança depende da finalidade do
sistema, das expectativas do usuário e do mercado.
– Expectativas do mercado:
• Entregar logo um produto ao mercado pode ser mais
importante do que encontrar defeitos num programa.
![Page 140: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/140.jpg)
140
Verificação Estática e Dinâmica• Técnicas
– Inspeção de software
• Análise e checagem do documento de requesitos do
sistema, diagramas do projeto e do código fonte.
• Pode ser aplicada em todos os estágios do processo.
• É uma técnica estática por não necessitar que o sistema
seja executado.
![Page 141: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/141.jpg)
141
Verificação Estática e Dinâmica• Técnicas
– Teste de software
• Envolve executar uma implementação do software com o
teste dos dados e examinar as saídas e o comportamento
operacional.
• É uma técnica dinâmica porque trabalha com a
representação executável do sistema.
![Page 142: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/142.jpg)
142
Verificação Estática e Dinâmica
Especificação formal
Projeto de alto nível
Especificação de requisitos
Projeto detalhado
Programa
Protótipo Teste de programas
Inspeção de Software
![Page 143: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/143.jpg)
143
Testar Programas• Pode revelar a presença de erros, mas NÃO a
ausência.
• Apesar das inspeções de software serem cada vez
mais utilizadas, o teste de programas ainda é a
principal técnica de verificação e validação.
• O teste envolve o exercício de passar dados, mais
próximo do real, pelo programa.
![Page 144: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/144.jpg)
144
Tipos de Teste• Teste de defeitos
– A sua finalidade é descobrir os defeitos do sistema.
– Um teste de defeito correto é aquele que consegue
revelar os defeitos do sistema.
![Page 145: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/145.jpg)
145
Tipos de Teste• Teste de validação
– Tem a finalidade de demonstrar que o software atende
aos seus requisitos.
– Este teste tem sucesso quando consegue mostrar que
os requisitos foram implementados corretamente.
![Page 146: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/146.jpg)
146
Testes e Depuração• São atividades distintas.
• Verificação e validação são voltados para a identificação dos defeitos do programa.
• Depuração (debugging) tem como objetivo a localização e a reparação dos erros.
• A depuração envolve formular uma hipótese sobre o comportamento do programa e então testar esta hipótese para encontrar o erro do sistema.
![Page 147: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/147.jpg)
147
Processo de Depuração
Localização do erro
Reparação dos erros de projeto
Reparação de erros
Testar novamente
Resultados do teste
EspecificaçãoCasos de
teste
![Page 148: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/148.jpg)
148
Planejamento de Verificação e Validação
• O processo de verificação e validação é caro e
depende do tipo de sistema.
• Metade do custo pode ser alocado para esta fase.
• O planejamento é necessário para a realização deste
processo com sucesso.
• O planejamento deve começar no início do processo.
![Page 149: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/149.jpg)
149
Planejamento de Verificação e Validação
• O planejamento deve balancear os testes estáticos e
dinâmicos.
• O planejamento do teste consiste em definir os
padrões do processo de teste, além de descrever os
produtos de teste.
![Page 150: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/150.jpg)
150
ModeloV
Especificação do sistema
Projeto do sistema
Projeto detalhado
Módulo, código unitário
e teste
Plano do teste de integração do sub-sistema
Plano do teste de integração
do sistema
Plano do teste de aceitação
Serviço Teste de aceitação Teste de integração do sistema
Teste de integração do sub-sistema
Especificação de requisitos
![Page 151: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/151.jpg)
151
Estrutura de um Plano de Teste de Software
• O processo de teste
– Descrição das principais fases do processo de teste.
• Rastreamento dos requisitos
– Os usuários são os maiores interessados de que o
sistema esteja de acordo com os requisitos e o teste
deve ser planejado para que todos os requisitos sejam
individualmente testados.
![Page 152: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/152.jpg)
152
Estrutura de um Plano de Teste de Software
• Itens testados
– Os produtos do processo de software a serem testados
devem ser especificados.
• Agenda de testes
– Os recursos para realização dos testes devem ser
agendados.
![Page 153: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/153.jpg)
153
Estrutura de um Plano de Teste de Software
• Procedimentos para gravação do teste
– Não basta executar os testes. É necessário que os
resultados sejam sistematicamente gravados. É
importante, inclusive, para uma auditoria.
• Requisitos de hardware e software
– Relação das ferramentas necessárias e estimativa da
configuração de hardware exigida.
![Page 154: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/154.jpg)
154
Estrutura de um Plano de Teste de Software
• Restrições
– As restrições afetam o processo de teste, tais como
escassez de pessoal, e devem ser consideradas.
![Page 155: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/155.jpg)
155
Inspeções de Software• Estas atividades envolvem pessoas que irão examinar
os fontes com o objetivo de descobrir anomalias e defeitos.
• As inspeções não exigem a execução de um sistema para que possa ser utilizado antes da implementação.
• Eles podem ser aplicados para qualquer representação do sistema (requisitos, projetos, configuração de dados, testes de dados, etc).
• A técnica é útil para descobrir erros nos programas.
![Page 156: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/156.jpg)
156
Sucesso na Inspeção• Muitos defeitos diferentes podem ser descobertos
numa simples inspeção.
• Num teste, um defeito pode mascarar muitos outros
defeitos.
• A repetição do domínio e o conhecimento da
programação são tipos de erros comuns.
![Page 157: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/157.jpg)
157
Inspeções e Testes• As inspeções e testes são técnicas complementares e
não excludentes.
• Ambas podem ser utilizadas durante o processo de validação e verificação.
• As inspeções podem ser utilizadas para checar a especificação, mas não para checar os reais requisitos dos usuários.
• As inspeções não podem checar características nãofuncionais (performance, usabilidade, etc).
![Page 158: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/158.jpg)
158
Inspeções do Programa• Abordagem formalizada para revisões de documentos.
• Voltada para a detecção de defeitos (não correção).
• Os defeitos podem ser erros lógicos, anomalias no
código e que podem indicar uma condição erronêa.
![Page 159: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/159.jpg)
159
Précondições das Inspeções• A especificação precisa deve estar disponível.
• Os membros das equipes devem estar familiarizados com as padronizações da organização.
• O códigofonte e outras representações do sistema devem estar disponíveis.
• Uma lista de erros deve ser preparada.
• O gerenciamento deve aceitar que a inspeção aumentará os custos no início do processo.
![Page 160: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/160.jpg)
160
Procedimento das Inspeções• Uma visão geral da inspeção deve ser apresentada
para a equipe.
• Códigofonte e documentos associados devem ser distribuídos para inspeção da equipe.
• As inspeções e os erros descobertos devem anotados.
• Modificações são feitas para reparar os erros descobertos.
• A reinspeção pode ou não ser necessária.
![Page 161: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/161.jpg)
161
Pessoas na Inspeção• Autor
– O programa ou o projetista responsável para a produção do programa ou documento. Responsável por corrigir os defeitos descobertos durante o processo de inspeção.
• Inspetor– Responsável por encontrar erros, omissões e inconsistências
nos programas e documentações.
• Leitor– Apresentar o código ou documentos no encontro das
inspeções.
![Page 162: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/162.jpg)
162
Pessoas na Inspeção• Escritor
– Registra os resultados da atividade de inspeção.
• Líder– Gerencia o processo e facilita a inspeção.
• Moderador– Responsável pela melhoria do processo de inspeção,
atualização do checklist e desenvolvimento dos padrões.
![Page 163: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/163.jpg)
163
Checklist da Inspeção• Deve ser elaborado um checklist dos erros mais
comuns para orientar a inspeção.
• Os erros do checklist são dependentes da linguagem
de programação e refletem as características de erros
que estão relacionados com a linguagem.
![Page 164: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/164.jpg)
164
Taxas de Inspeção• De acordo com Sommerville:
– A inspeção é um processo caro.
– É possível realizar 500 inspeções/hora durante a
inspeção geral.
– São realizadas 90/125 declarações/hora.
– A inspeção de 500 linhas custa o esforço de 40
homens/hora.
![Page 165: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/165.jpg)
165
Verificação e Métodos Formais• Métodos formais podem ser utilizados quando uma
especificação matemática do sistema é produzida.
• É normalmente a última técnica de verificação estática a ser utilizada.
• Eles envolvem detalhada análise matemática da especificação e podem desenvolver argumentos formais para verificar se o programa está em conformidade com a especificação matemática.
![Page 166: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/166.jpg)
166
Desenvolvimento Limpo de Software• A filosofia do método ‘cleanroom’ é evitar o defeito,
assim não será preciso removêlo.
• Este processo de software é baseado em:– Desenvolvimento incremental.
– Especificação formal.
– Verificação estática utilizando argumentos corretos.
– Testes estatísticos para determinar a confiabilidade do programa.
![Page 167: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/167.jpg)
167
Processo de Teste• Teste de componentes
– Teste dos componentes de programas individualmente.
– A responsabilidade normalmente fica a cargo do
desenvolvedor.
– Os testes são derivados da experiência do
desenvolvedor.
![Page 168: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/168.jpg)
168
Processo de Teste• Teste do sistema
– Teste dos grupos de componentes integrados para criar
um sistema ou um subsistema.
– A responsabilidade normalmente fica a cargo da equipe
de testes.
– Os testes são baseados na especificação do sistema.
![Page 169: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/169.jpg)
169
Fases do Processo de Teste
Testes de componentes
Testes do sistema
Desenvolvedor Equipe de Testes
![Page 170: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/170.jpg)
170
Teste de Defeitos• O objetivo é descobrir os defeitos dos programas.
• Um teste é realizado com sucesso quando é possível
perceber um comportamento anômalo.
• Os testes mostram a presença de defeitos, mas não
conseguem afirmar a ausência.
![Page 171: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/171.jpg)
171
Objetivos do Processo de Testes• Testes de validação
– Têm o objetivo de demonstrar ao desenvolvedor e ao
cliente que o programa está de acordo com os
requisitos.
– Um teste com sucesso mostra que o sistema opera
comforme foi projetado.
![Page 172: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/172.jpg)
172
Objetivos do Processo de Testes• Testes de defeitos
– Tem o objetivo descobrir as falhas ou defeitos no
software onde o seu comportamento é incorreto ou não
está de acordo com a sua especificação.
– Um teste com sucesso é aquele que faz o sistema
executar erros e, assim, expor os defeitos.
![Page 173: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/173.jpg)
173
Processo de Teste de Software
Projetar os casos de teste
Preparar os dados do teste
Executar os programas com dados
Comparar os resultados dos testes
Casos de teste
Dados de teste
Resultados dos testes
Relatórios de testes
![Page 174: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/174.jpg)
174
Políticas de Testes• Somente a execução exaustiva de testes pode mostrar
que um programa está livre de defeitos. Porém, o teste
exaustivo é inviável.
![Page 175: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/175.jpg)
175
Políticas de Testes• As políticas de testes definem a abordagem a ser
utilizada na seleção dos testes de sistema:
– Todas as funções do menu devem ser testadas.
– Combinações de funções acessadas através do mesmo
menu devem ser testadas.
– Se for necessária a entrada de dados, todas as funções
devem ser testadas com dados corretos e dados
incorretos.
![Page 176: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/176.jpg)
176
Testes de Sistemas• Envolve a integração de componentes para criar um
sistema ou subsistema.
• Podem envolver testes incrementais para serem
entregues ao cliente.
![Page 177: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/177.jpg)
177
Testes de Sistemas• Duas fases:
– Teste de integração
• A equipe de testes tem acesso ao códigofonte.
• O sistema é testado para que os componentes possam
ser integrados.
– Teste de release
• A equipe de teste testa o sistema completo para ser
entregue como uma caixapreta.
![Page 178: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/178.jpg)
178
Teste de Integração• Envolve a construção de um sistema a partir dos seus
componentes e testes.
• Integração topdown
– Desenvolve o esqueleto do sistema e povoa com os
seus componentes.
![Page 179: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/179.jpg)
179
Teste de Integração• Integração bottomup
– Integra a infraestrutura dos componentes e então
adiciona as suas funcionalidades.
• Para simplificar a localização de erros, os sistemas
devem ser incrementalmente integrados.
![Page 180: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/180.jpg)
180
Testes de Integração Incremental
T3
T2
T1
T4
T5
A
B
C
D
T2
T1
T3
T4
A
B
C
T1
T2
T3
A
B
Seqüência de Testes (1) Seqüência de Testes (2) Seqüência de Testes (3)
![Page 181: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/181.jpg)
181
Abordagens de Testes• Validação da arquitetura
– O teste de integração topdown é o mais indicado para a
descoberta de erros na arquitetura do sistema.
• Demonstração do sistema
– O teste de integração topdown permite uma
demonstração limitada no estágio inicial de
desenvolvimento.
![Page 182: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/182.jpg)
182
Abordagens de Testes• Implementação do teste
– É mais fácil com o teste de integração bottomup.
• Observação dos testes
– Problemas acontecem com as duas abordagens.
– Código extra pode ser necessário para a observação
dos testes.
![Page 183: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/183.jpg)
183
Testes de Release• É o processo de testar uma release de um sistema
que será distribuída ao cliente.
• O objetivo é aumentar o grau de confiança do fornecedor que o software atende aos seus requisitos.
• Teste de release é normalmente um teste caixapreta ou teste funcional– É baseado somente na especificação do sistema.
– A equipe de testes não tem conhecimento sobre a implementação do sistema.
![Page 184: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/184.jpg)
184
Teste CaixaPreta
EEntrada dos testes
SResultados dos testes
Sistema
A entrada causacomportamento anômalo
Saídas que revelam a presença de defeitos
![Page 185: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/185.jpg)
185
Roteiros de Testes• Um roteiro para ajudar às equipes de testes
conseguirem revelar os defeitos:
– Escolher entradas que forçam o sistema a gerar todas
as mensagens de erro.
– Projetar entradas que causam overflow no buffer.
– Repetir a mesma entrada ou série de entradas por
diversas vezes.
![Page 186: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/186.jpg)
186
Roteiros de Testes• Um roteiro para ajudar às equipes de testes
conseguirem revelar os defeitos:
– Forçar que as saídas inválidas sejam geradas.
– Força que a computação de resultados muito grandes
ou muito pequenos.
![Page 187: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/187.jpg)
187
Casos de Uso
• Os casos de uso podem servir de base para derivar os
testes para um sistema.
• Eles ajudam a identificar as operações a serem
testadas e ajudam a projetar os casos de testes
necessários.
• A partir de um diagrama de seqüência, as entradas e
saídas podem ser identificadas para os testes.
![Page 188: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/188.jpg)
188
Execução dos Testes• Parte do teste de release pode envolver testar as
propriedades emergentes de um sistema, tais como
performance e confiabilidade.
• A execução dos testes normalmente envolve o
planejamento de uma série de testes onde a carga vai
sendo incrementada até que a performance do
sistema se torne inaceitável.
![Page 189: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/189.jpg)
189
Teste de Stress• Exercita o sistema, além de verificar a carga máxima
suportada.
• Este tipo de teste checa a perda de dados ou serviços
inaceitáveis.
• O teste de stress é particularmente relevante para
sistemas distribuídos, pois podem exibir uma
degradação severa com uma rede sobrecarregada.
![Page 190: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/190.jpg)
190
Teste de Componentes• Teste de componentes ou unitários é o processo de
testar individualmente os componentes de maneira isolada.
• Ele é um processo para testar defeitos.
• Os componentes podem ser:– Funções individuais ou métodos dentro de um objeto.
– Classes com muitos atributos e métodos.
– Composição de componentes com interfaces definidas usadas para acessar as suas funcionalidades.
![Page 191: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/191.jpg)
191
Teste da Interface• Tem como objetivo detectar as falhas devido aos erros
da interface ou suposições errôneas sobre a interface.
• São importantes principalmente para desenvolvimento
orientadoobjetos como objetos são definidos por suas
interfaces.
![Page 192: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/192.jpg)
192
Teste de Interface
B
C
Casos de Teste
A
![Page 193: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/193.jpg)
193
Tipos de Interface• Parâmetros da interface
– Os dados são passados de um procedimento para
outro.
• Interfaces que possuem memória compartilhada
– Bloco de memória é compartilhado entre os
procedimentos e funções.
![Page 194: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/194.jpg)
194
Tipos de Interface• Interfaces procedurais
– Subsistemas encapsulam um conjunto de
procedimentos que podem ser chamados por outros
subsistemas.
• Passagem de mensagens
– Subsistemas requerem serviços de outros sub
sistemas.
![Page 195: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/195.jpg)
195
Erros de Interfaces• Problemas de mau uso
– Ocorre quando uma chamada a um componente ativa um outro componente e faz um erro no seu uso. Por exemplo, a ordem dos parâmetros está errada.
• Dificuldades de entendimento– Ocorre quando uma chamada a um componente e este
tem um comportamento diferente do esperado.
• Erros temporais– Quando, devido a uma falha temporal, o objeto
acionado opera em diferentes velocidades.
![Page 196: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/196.jpg)
196
Roteiro de Testes de Interface• Projetar os testes para que os parâmetros para um
procedimento.
• Testar a passagem de parâmetro com nulos.
• Projetar testes que podem causar a falha dos componentes.
• Utilizar teste de stress na passagem de mensagens do sistema.
• Em sistemas com memória compartilhada, varie a ordem em que os componentes são ativados.
![Page 197: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/197.jpg)
197
Questionário● Qual é a diferença entre validação e verificação de
software?
● Quais são os principais objetivos da validação e
verificação de software?
● É possível garantir que um sistema esteja totalmente
livre de erros? Justifique a sua resposta.
![Page 198: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/198.jpg)
198
Questionário● No que consiste a depuração de software? Que erros
comumente são encontrados nesta atividade?
● O que é um plano de teste?
● O que é cleanroom?
● Qual é a diferença entre teste caixa branca e teste
caixa preta?
![Page 199: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/199.jpg)
199
Reengenharia• Reorganização e modificação dos software já
existentes para tornálos mais manuteníveis.
• Reestruturar ou reescrever parte ou todos de um
sistema legado sem mudar as suas funcionalidades.
• Aplicável onde alguns, mas não todos, subsistemas
de um grande sistema requerem frequente
manutenção.
![Page 200: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/200.jpg)
200
Reengenharia• A reengenharia envolve adicionar esforços para tornar
mais fácil a manutenção de sistemas. O sistema pode
ser reestruturado ou redocumentado.
![Page 201: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/201.jpg)
201
Quando usar a reengenharia?• Quando as mudanças do sistema se referem a uma
parte do produto.
• Quando o hardware ou software se tornam obsoletos.
• Quando as ferramentas para realização da reestrutura
estão disponíveis.
![Page 202: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/202.jpg)
202
Vantagens• Risco reduzido
– Existe um alto risco no desenvolvimento de um novo
software.
• Custo reduzido
– O custo de reengenharia é significativamente menor do
que o custo de desenvolver um novo software.
![Page 203: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/203.jpg)
203
Comparação
Especificação do sistema
Projeto e implementação
Novo Sistema
Desenvolvimento convencional
Reengenharia
Software existente Entendimento e transformação
Sistema de reengenharia
![Page 204: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/204.jpg)
204
Processo de Reengenharia
Programaoriginal
Tradução do códigofonte
Engenharia reversa
Documentação do programa
Modularização do programa
Programaoriginal
Dados originais
Melhorias na estrutura
do programa
Programaestruturado
Reengenharia dos dados
Dados modificados
![Page 205: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/205.jpg)
205
Fatores de custo• A qualidade do software que passará pelo processo de
reengenharia.
• Suporte de ferramentas disponíveis para re
engenharia.
• A extensão dos dados que precisarão ser convertidos.
• A disponibilidade de especialistas para liderar o
processo.
![Page 206: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/206.jpg)
206
Avaliação de Custos
Conversão automática do códigofonte
Reestruturação automática do programa
Reestruturação de programas e dados
Reestruturação automática com mudanças no manual
Reestruturação mais mudanças na arquitetura
aumento nos custos
![Page 207: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/207.jpg)
207
Tradução do CódigoFonte• Conversão de uma linguagem de programação para
outra.
• Isso pode ser em razão de:
– Atualização da plataforma de hardware.
– Pela escassez de profissionais especializados.
– Por mudanças políticas na organização.
• Somente se realmente existir um tradutor disponível.
![Page 208: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/208.jpg)
208
Processo de Tradução de Programas
Identificação das ≠ do códigofonte
Instruções ao tradutor de projeto
Tradução automática do código
Entrada do sistema Saída do sistemaEntrada do sistema
Tradução manual do código
![Page 209: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/209.jpg)
209
Engenharia Reversa• Analisar o software com o objetivo de entender o seu
projeto e especificação.
• Pode ser parte de um processo de reengenharia, mas
também pode ser utilizado para geração de uma nova
especificação de um sistema para uma nova
implementação.
![Page 210: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/210.jpg)
210
Engenharia Reversa• Construção do banco de dados do programa e gera a
informação dele.
• Ferramentas para entendimento dos programas
podem ser utilizadas neste processo.
![Page 211: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/211.jpg)
211
Processo de Engenharia Reversa
Data stucturdiagrams
Entrada do sistema
Análise automatizada
Anotação manual
Armazena sistema
de informaçãoGeração de documentos
Diagramas da estrutura do programa
Diagramas da estrutura dos dados
Rastreabilidade
![Page 212: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/212.jpg)
212
Questionário● Qual é a diferença entre reengenharia e engenharia
reversa?
● Comente duas vantagens no uso da reengenharia.
● Explique como funciona o processo de engenharia
reversa.
![Page 213: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/213.jpg)
213
eXtreme Programming● Metodologia ágil para equipes pequenas e médias e
que irão desenvolver software com requisitos vagos
ou que mudam com freqüência.
● A codificação é a atividade principal.
● Ênfase
– menor em processos formais de desenvolvimento.
– maior na disciplina rigorosa.
![Page 214: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/214.jpg)
214
eXtreme Programming● Manifesto ágil
– Valorização:● Indivíduos e interação mais que processos e
ferramentas.● Software em funcionamento mais que documentação
abrangente.● Colaboração com o cliente mais que negociação de
contratos.● Responder a mudanças mais que seguir um plano.
![Page 215: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/215.jpg)
215
eXtreme Programming● Manifesto ágil
– Principais preocupações:
● Entregar funcionalidades para o cliente de forma rápida.
● Procuram usar o mínimo de documentação possível.
● Realizam projetos simples sem se preocupar em
antecipar as funcionalidades.
![Page 216: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/216.jpg)
216
eXtreme Programming● Idéia
– Baseiase na revisão permanente do código, testes
freqüentes, participação do usuário final, refatoramento
contínuo, integração contínua, planejamento, design e
redesign a qualquer hora.
![Page 217: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/217.jpg)
217
eXtreme Programming● Quatro variáveis
– 3 controláveis: escopo, qualidade e recursos.
– 1 determinada pela dinâmica do desenvolvimento:
tempo.
![Page 218: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/218.jpg)
218
eXtreme Programming● Princípios
– Comunicação
– Simplicidade
– Feedback
– Coragem
![Page 219: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/219.jpg)
219
eXtreme Programming● Comunicação
– Várias práticas do XP promovem uma maior comunicação entre os membros da equipe.
– A comunicação não é limitada por procedimentos formais. Usase o melhor meio possível, por exemplo:
● Uma conversa ou reunião informal.● Email, batepapo ou telefonema.● Diagramas.● O próprio código.● Estórias do usuário.
![Page 220: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/220.jpg)
220
eXtreme Programming● Comunicação
– Preferência à comunicação mais ágil● Telefonema é melhor do que email.● Presença física é melhor do que remota.● Código autoexplicativo é melhor do que documentação
escrita.
![Page 221: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/221.jpg)
221
eXtreme Programming● Simplicidade
– O XP incentiva as práticas que reduzem a complexidade do sistema.
– A solução adotada deve ser sempre a mais simples para se alcançar os objetivos esperados:
● Usar as tecnologias, design, algoritmos e técnicas mais simples que permitirão atender aos requisitos do usuário final.
● Design, processo e código podem ser simplificados a qualquer momento.
● Qualquer design, processo ou código criado pensando nas iterações futuras deve ser descartado.
![Page 222: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/222.jpg)
222
eXtreme Programming● Feedback
– Várias práticas do XP garantem um rápido feedback
sobre as várias etapas/fases do processo.
● Feedback sobre qualidade do código (testes de unidade,
programação em pares, posse coletiva).
● Feedback sobre estado do desenvolvimento (estórias do
usuário final, integração contínua, jogo do planejamento).
![Page 223: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/223.jpg)
223
eXtreme Programming● Feedback
– Permite maior agilidade
● Erros detectados e corrigidos imediatamente.
● Requisitos e prazos reavaliados mais cedo.
● Facilita a tomada de decisões.
● Permite estimativas mais precisas.
● Maior segurança e menos riscos para investidores.
![Page 224: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/224.jpg)
224
eXtreme Programming● Coragem
– Testes, integração contínua, programação em pares e
outras práticas do XP aumentam a confiança do
programador e ajudamno a ter coragem para:
● Melhorar o design de código que está funcionando para
tornálo mais simples.
● Jogar fora o código desnecessário.
● Investir tempo no desenvolvimento de testes.
![Page 225: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/225.jpg)
225
eXtreme Programming● Coragem
● Mexer no design em estágio avançado do projeto.
● Pedir ajudar aos que sabem mais.
● Dizer ao cliente que um requisito não vai ser
implementado no prazo prometido.
● Abandonar processos formais e fazer design e
documentação em forma de código.
![Page 226: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/226.jpg)
226
Práticas XP● A equipe
– Todos em um projeto XP são parte de uma equipe.
– Esta equipe deve incluir um representante do cliente,
que:
● estabelece os requerimentos do projeto.
● define as prioridades.
● controla o rumo do projeto.
![Page 227: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/227.jpg)
227
Práticas XP● A equipe
– O representante é usuário final que conhece o domínio
do problema e suas necessidades.
![Page 228: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/228.jpg)
228
Práticas XP● A equipe
– Outros papéis assumidos pelos integrantes da equipe:● programadores.● testadores (que ajudam o cliente com testes de
aceitação).● analistas (que ajudam o cliente a definir requerimentos).● gerente (garante os recursos necessários).● coach (orienta a equipe, controla a aplicação do XP).● tracker (coleta métricas).
![Page 229: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/229.jpg)
229
Práticas XP● Jogo de planejamento (planning game)
– Prática XP na qual se define
● estimativas de prazo para cada tarefa.
● as prioridades: quais as tarefas mais importantes.
![Page 230: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/230.jpg)
230
Práticas XP● Jogo de planejamento (planning game)
– Dois passos chave:
● Planejamento de um release
– Cliente propõe funcionalidade desejadas (estórias).
– Programadores avaliam a dificuldade de implementálas.
● Planejamento de um iteração (de duas semanas)
– Cliente define as funcionalidades prioritárias para a iteração.
– Programadores as quebram em tarefas e avaliam o seu custo.
![Page 231: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/231.jpg)
231
Práticas XP● Jogo de planejamento (planning game)
– Ótimo feedback para que o cliente possa dirigir o
projeto
● É possível ter uma idéia clara do avanço do projeto.
● Clareza reduz riscos, aumenta a chance de sucesso.
![Page 232: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/232.jpg)
232
Práticas XP● Testes de aceitação
– No jogo de planejamento, o usuáriocliente elabora
estórias que descrevem cada funcionalidade desejada.
Programador as implementa
● Cada estória deve ser entendida suficientemente bem
para que os programadores possam estimar sua
dificuldade.
● Cada estória deve ser testável.
![Page 233: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/233.jpg)
233
Práticas XP● Testes de aceitação
– Testes de aceitação são elaborados pelo cliente● São testes automáticos.● Quando rodarem com sucesso, funcionalidade foi
implementada.● Devem ser rodados novamente em cada iteração futura.● Oferecem feedback: podese saber, a qualquer
momento, qual a porcentagem do sistema já foi implementada e quanto falta.
![Page 234: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/234.jpg)
234
Práticas XP● Pequenos lançamentos (small releases)
– Disponibiliza, a cada iteração, software 100% funcional● Benefícios do desenvolvimento disponíveis
imediatamente.● Menor risco (se o projeto não terminar, parte existe e
funciona).● Cliente pode medir com precisão do quanto já foi feito.● Feedback do cliente permitirá que problemas sejam
detectados cedo e facilita a comunicação entre o cliente e o desenvolvimento.
![Page 235: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/235.jpg)
235
Práticas XP● Pequenos lançamentos (small releases)
– Cada lançamento possui funcionalidades prioritárias
● Valores de negócio implementados foram escolhidos
pelo cliente.
– Lançamento pode ser destinado a:
● usuáriocliente (que pode testálo, avaliálo e oferecer
feedback).
● usuáriofinal (sempre que possível).
![Page 236: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/236.jpg)
236
Práticas XP● Pequenos lançamentos (small releases)
– Design simples e integração contínua são práticas
essenciais para viabilizar pequenos lançamentos
freqüentes.
![Page 237: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/237.jpg)
237
Práticas XP● Design simples
– O design está presente em todas as etapas do XP
● O projeto começa simples e se mantém simples através
de testes e refinamento do design (refatoramento).
– Todos buscamos design simples e claro. Em XP, isto é
levado a níveis extremos.
● Não permitimos que se implemente nenhuma função
adicional que não será usada na atual iteração.
![Page 238: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/238.jpg)
238
Práticas XP● Design simples
– Implementação ideal é aquela que:
● Roda todos os testes.
● Expressa todas as idéias que você deseja expressar.
● Não contém código duplicado.
● Tem o mínimo de classes e métodos.
– O que não é necessário AGORA não deve ser
implementado.
![Page 239: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/239.jpg)
239
Práticas XP● Programação em pares
– Todo o desenvolvimento em XP é feito em pares
● Um computador, um teclado e dois programadores.
● Um piloto e um copiloto.
● Papéis são alternados freqüentemente.
● Pares são trocados periodicamente.
![Page 240: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/240.jpg)
240
Práticas XP● Programação em pares
– Benefícios
● Melhor qualidade do design, código e testes.
● Revisão constante do código.
● Nivelamento da equipe.
● Maior comunicação.
![Page 241: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/241.jpg)
241
Práticas XP● Testes
– O seu desenvolvimento é guiado por testes
– “Test first, then code”● Os testes puxam o desenvolvimento.● Os programadores XP escrevem testes primeiro,
escrevem código e rodam testes para validar o código escrito.
● Cada unidade de código só tem valor se seu teste funcionar 100%.
![Page 242: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/242.jpg)
242
Práticas XP● Testes
– “Test first, then code”
● Todos os testes são executados automaticamente, o
tempo todo.
● Testes são a documentação executável do sistema.
![Page 243: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/243.jpg)
243
Práticas XP● Testes
– Testes dão maior segurança: coragem para mudar
● Que adianta a OO isolar a interface da implementação
se o programador tem medo de mudar a
implementação?
● Código testado é mais confiável.
● Código testado pode ser alterado sem medo.
![Page 244: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/244.jpg)
244
Práticas XP● Refinamento do design (refatoramento)
– Não existe uma etapa isolada de design em XP
● O código é o design.
– O design é melhorado continuamente através de
refatoramento.
![Page 245: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/245.jpg)
245
Práticas XP● Refinamento do design (refatoramento)
– O refatoramento é um processo formal realizado
através de etapas reversíveis
● Passos de refatoramento melhoram, incrementalmente, a
estrutura do código, sem alterar sua função.
● Existência prévia de testes é essencial (elimina o medo
de que o sistema irá deixar de funcionar por causa da
mudança).
![Page 246: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/246.jpg)
246
Práticas XP● Integração contínua
– Projetos XP mantêm o sistema integrado o tempo todo
● Integração de todo o sistema pode ocorrer várias vezes
ao dia.
● Todos os testes (unidade e integração) devem ser
executados.
– Integração contínua reduz o tempo passado no inferno
da integração.
![Page 247: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/247.jpg)
247
Práticas XP● Integração contínua
– Benefícios
● Expõe o estado atual do desenvolvimento (viabiliza
lançamentos pequenos e freqüentes).
● Estimula design simples, tarefas curtas e agilidade.
● Oferece feedback sobre todo o sistema.
● Permite encontrar problemas de design rapidamente.
![Page 248: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/248.jpg)
248
Práticas XP● Posse coletiva
– Em um projeto XP, qualquer dupla de programadores pode melhorar o sistema a qualquer momento.
– Todo o código em XP pertence a um único dono: a equipe
● Todo o código recebe a atenção de todos os participantes resultando em uma maior comunicação.
● Maior qualidade (menos duplicação, maior coesão).● Menos riscos e menos dependência de indivíduos.
![Page 249: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/249.jpg)
249
Práticas XP● Posse coletiva
– Todos compartilham a responsabilidade pelas
alterações.
– Testes e integração contínua são essenciais e dão
segurança aos desenvolvedores.
– Programação em pares reduz o risco de danos.
![Page 250: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/250.jpg)
250
Práticas XP● Padrões de codificação
– O código escrito em projetos XP segue um padrão de
codificação, definido pela equipe:
● Padrão para nomes de métodos, classes e variáveis.
● Organização do código.
– Todo o código parece que foi escrito por um único
indivíduo, competente e organizado.
![Page 251: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/251.jpg)
251
Práticas XP● Padrões de codificação
– Código com estrutura familiar facilita e estimula
● Posse coletiva.
● Comunicação mais eficiente.
● Simplicidade.
● Programação em pares.
● Refinamento do design.
![Page 252: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/252.jpg)
252
Práticas XP● Metáfora
– Equipes XP mantêm uma visão compartilhada do funcionamento do sistema.
● Pode ser uma analogia com algum outro sistema que facilite a comunicação entre os membros da equipe e cliente.
– Facilita a escolha dos nomes de métodos, classes, campos de dados etc
● Serve de base para estabelecimento de padrões de codificação.
![Page 253: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/253.jpg)
253
Práticas XP● Ritmo saudável
– Projetos XP estão na arena para ganhar
● Entregar software da melhor qualidade.
● Obter a maior produtividade dos programadores.
● Obter a satisfação do cliente.
![Page 254: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/254.jpg)
254
Práticas XP● Ritmo saudável
– Projetos com cronogramas apertados que sugam todas
as energias dos programadores não são projetos XP
● Semanas de 80 horas levam à baixa produtividade.
● Produtividade baixa leva a código ruim, relaxamento da
disciplina, dificulta comunicação, aumenta a irritação e o
stress da equipe.
● Tempo ganho será perdido depois.
![Page 255: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/255.jpg)
255
Práticas XP● Ritmo saudável
– Projeto deve ter ritmo sustentável por prazos longos.
● Eventuais horas extras são aceitáveis quando
produtividade é maximizada no longo prazo.
![Page 256: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/256.jpg)
256
Práticas em XP
Continuos Integration Energized
Work
Informative Workspace
StoriesSlack
Incremental Design
Ten Minutes Build
Pair Programming
Test First Programming
Sit Together
Quartely Cicle
Weekly Cicle
Whole Team
Adaptado de xprogramming.com
![Page 257: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/257.jpg)
257
Dificuldades em XP● Vencer barreiras culturais
– Deixar alguém mexer no seu código.
– Trabalhar em pares
● Ter coragem de admitir que não sabe.
● Pedir ajuda.
![Page 258: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/258.jpg)
258
Dificuldades em XP● Vencer barreiras culturais
– Vencer hábitos antigos
● Manter as coisas simples.
● Jogar fora código desnecessário.
● Escrever testes antes de codificar.
● Refatorar com freqüência (vencer o medo).
![Page 259: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/259.jpg)
259
Quando não usar XP● Equipes grandes e espalhadas geograficamente
– Comunicação é um valor fundamental do XP.
– Não é fácil garantir o nível de comunicação requerido
em projetos XP em grandes equipes.
● Situações onde não se tem controle sobre o código
– Código legado que não pode ser modificado.
![Page 260: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/260.jpg)
260
Quando não usar XP● Situações onde o feedback é demorado
– compilelinkbuildtest que leva 24 horas.
– Testes são muito difíceis, arriscados e que levam muito
tempo.
– Programadores espalhados em ambientes físicos
distantes e sem comunicação eficiente.
![Page 261: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/261.jpg)
261
Conclusões● eXtreme Programming (XP) é uma metodologia de
desenvolvimento de software baseada nos valores
simplicidade, comunicação, feedback e coragem.
● Para implementar XP não é preciso usar diagramas ou
processos formais. É preciso fazer uma equipe se unir em
torno de algumas práticas simples, obter feedback
suficiente e ajustar as práticas para a sua situação
particular.
![Page 262: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/262.jpg)
262
Conclusões● XP pode ser implementada aos poucos, porém a maior
parte das práticas são essenciais.
● Nem todos os projetos são bons candidatos a usar uma
metodologia ágil como XP.
● XP é mais adequado a equipes pequenas e médias.
![Page 263: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/263.jpg)
263
Questionário● O que você entende por metodologia ágil?● Qual é a principal atividade em XP?● Quais são os valores da metodologia XP?● O que é refatoramento?● Como funciona a prática de programação em duplas
em XP?● No que consiste as práticas na metodologia XP?● A metodologia XP se aplica melhor às pequenas ou
grandes equipes? Justifique a sua resposta.
![Page 264: Pósgraduação Lato Sensu em Sistemas de Informação e Aplicações WEB M dulo de ... · 2018. 8. 10. · Engenharia de Software • A economia de todos os países do mundo dependem](https://reader031.vdocuments.pub/reader031/viewer/2022012003/609fb3e3f75d54145419aa1e/html5/thumbnails/264.jpg)
264
Referência Bibliográfica• [1] Carvalho, Ariadne M.B. & Chiossi, Thelma C. dos
Santos. Introdução à Engenharia de Software. Editora da Unicamp, 2001.
• [2] Jalote, Pankaj. Integrated Approach To Software Engineering. 2 ed. SpringerVerlag, 1997.
• [3] Pressman, Roger S. Software engineering: a practioner's approach. 5 ed. McGraw Hill, 2001.
• [4] Sommerville, Ian. Software Engineering. 6 ed. Addison Wesley, 2001.