SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Qualidade de Software
Leinylson Fontinele Pereira
Engenharia de Software
2
Introdução
• Qualidade de software
– Emergiu na década de 80
– Necessidade básica para a competitividade do mercado:
• Empresas que desenvolvem software de qualidade são mais
competitivas;
• Empresas que tem qualidade em seus processos podem, em
geral, oferecer um melhor serviço a um preço mais competitivo.
Visões de Qualidade de Software
• Visão Popular
– Algo abstrato
– Perfeição
– Luxo e questão de gosto
• Visão Profissional
– Conformidade aos requisitos
– Adequação ao uso
Visões de Qualidade de Software
• Características:
– Defeito zero
– Grande número de funções
– Codificação elegante
– Alto desempenho
– Baixo custo de desenvolvimento
– Desenvolvimento rápido
– Facilidade para o usuário
Visões de Qualidade de Software
Definição de qualidade
• Definição genérica:
– “Propriedade, atributo ou condição das coisas ou das
pessoas capaz de distingui-las das outras e de lhes
determinar a natureza” (Aurélio).
• Definições de qualidade de software:
– Qualidade é estar em conformidade com os
requisitos dos clientes;
– Qualidade é antecipar e satisfazer os desejos dos
clientes;
Bugs históricos
• Mariner I – 1962
– Missão observar planeta Vênus
– Fórmula matemática foi
equivocadamente transcrita para o
computador
– Desviou do curso e foi destruído 4 min
após lançamento
– Prejuízo: US$ 18,5 mi
Bugs históricos
• Therac-25 – 1985/1987
– Dispositivo de terapia por radiação
sobre células cancerosas
– Libera doses letais de radiação em
vários consultórios médicos
– Condição de disputa no SO
– 5 mortes, várias pessoas feridas
Bugs históricos
• Míssil Patriot – 1991
– Míssil de defesa
– Erro de software no relógio do míssil: a cada 100
horas o relógio interno do sistema desviava um
terço de segundo
– Resultado: 600 metros de erro na distância em
uma interceptação
– 28 soldados americanos mortos
Bugs históricos
• Pentium da Intel – 1993
– Erro na divisão de pontos flutuantes (erro
~0,006%)
– 3 a 5 milhões de peças com defeito
– Recall para todos que quiseram trocar
– Custou à Intel US$ 475 milhões
Bugs históricos
• Bug do milênio (Y2K) – 2000
– Datas com apenas 2 dígitos para o ano
– Uma das maiores histerias da história
– Ao virar o ano 2000, a preocupação
era que contasse como 1900
– Entre US$ 300 e US$ 500 bi no mundo
todo
Bugs históricos
• Toyota Prius – 2010
– Problema no software dos freios ABS
– Recall de 400.000 veículos
– Prejuízo de ~ US$ 2 bilhões, desvalorização de 15%
nas ações
Bugs históricos
• Play Station Network - 2011
– Invasão do sistema
– Dados privados e de cartão de crédito de ~70 mi
de pessoas foram roubados
Bugs Recentes
• Sistema de bagagens (aeroporto Alemanha) - 2016
– Malas retidas (ano bissexto)
– Sistema de 70 milhões de euros não reconheceu o 29
de fevereiro.
– Esteiras pararam – despacho manual de bagagens
transportadas entre 25 mil e 50 mil malas por dia!.
– 1.200 malas acabaram não sendo despachadas
Engenharia de Software
• A Engenharia de Software é uma disciplina que
aplica os princípios de engenharia com o
objetivo de produzir software de alta
qualidade a baixo custo.
O que é um
software de
qualidade?
A Qualidade depende do Tipo de
Aplicação
Sistema de Missão
Crítica
Fazer aquilo que eu quero
Comportar-se com precisão
Ser fácil de usar
Rodar bem no hardware
Fácil de alterar
Qualidade Importante
Software Embarcado
EXEMPLO
Software para Folha
de Pagamento
Fazer aquilo que eu quero
Se comportar com precisão
Ser fácil de usar
Rodar bem no hardware
Fácil de alterar
Qualidade Importante
Software Interativo
com o usuário
EXEMPLO
A Qualidade depende do Tipo de
Aplicação
A Qualidade depende do ponto de vista
A qualidade do produto não pode ser
desvinculada dos interesses da
organização: custos e prazos.
A qualidade fica mais voltada às
características internas do software:
legibilidade, testabilidade, eficiência.
O interesse fica concentrado
principalmente no uso do software:
facilidade de uso, requisitos atendidos.
desenvolvedor
gerente
usuário
Qualidade de Software
“A qualidade de um projeto engloba o grau de
atendimento às funções e características
especificadas no modelo de requisitos”
[Pressman,2011]
satisfação do usuário = produto compatível + boa qualidade + entrega
no prazo + entrega dentro do orçamento
Aspectos Importantes para QS
1. Requisitos de software:
– Métrica fundamental para medir a qualidade do
software.
• A falta de conformidade aos requisitos significa falta de
qualidade.
2. Padrões:
– Definem um conjunto de critérios que orientam o
desenvolvimento do software.
• Se os critérios não forem seguidos, o resultado seguramente
será a falta de qualidade.
Aspectos Importantes para QS
3. Requisitos implícitos:
– Conjunto de requisitos que geralmente não são
mencionados na especificação.
– Ex: “boa manutenibilidade”
• Se o software atende aos requisitos explícitos, mas falha nos
requisitos implícitos, a qualidade é suspeita.
4. Qualidade de software (na visão gerencial):
– O software é considerado de qualidade desde que
possa ser desenvolvido dentro do prazo e do
orçamento especificados.
Aspectos Importantes para QS
Processo de
Desenvolvimento
SOFTWARE
PRODUTO
PROCESSO DE
SOFTWARE
PadrõesDesenvolvedor Requisitos
Usuário
Organização
SOFTWARE COM QUALIDADE
Requisitos
atendidos
Padrões
atendidos
Aspectos Importantes para QS
– A qualidade não pode ser
incorporada ao produto
depois de pronto.
– Para que a qualidade possa ser
efetivamente incorporada ao
produto, ela deve ser um
objetivo constante do
processo de desenvolvimento.
DEFINIÇÃO
CONSTRUÇÃO
MANUTENÇÃO
SOFTWARE PRODUTO
Garantia de Qualidade
• Padrões de Qualidade de Software
– Padrões de produto:
• Se aplicam ao produto de software em desenvolvimento.
• Incluem padrões de documentos (estrutura do documento
de requisitos); especificação de como uma linguagem de
programação deve ser usada; etc.
– Padrões de processo:
• Definem os processos que devem ser seguidos durante o
desenvolvimento de software.
Padrões de Qualidade de Software
• Especificações baseadas no conhecimento das
melhores e mais apropriadas práticas para a
empresa.
– O conhecimento freqüentemente é adquirido
somente após um grande número de tentativas e
erros.
• Ajudam a evitar a repetição de erros cometidos no
passado.
Padrões de Qualidade de Software
• Provêem um framework conceitual para a
implementação do processo de garantia de
qualidade.
• A garantia da qualidade procura assegurar que
os padrões apropriados foram selecionados e
usados.
Padrões de Qualidade
• ISO 9126 – Qualidade de produto de software
• ISO 12207 – Qualidade do processo de software
• ISO 27000 – Segurança da informação
• IEEE 829 – Documentação de testes
• IEEE 1028 – Revisão de software
• IEEE 1044 – Classificação de incidentes
• CMM (Capability Maturity Model)
• SPICE (Soft. Process Improvement & Capability
dErtemination)
Padrão ISO/IEC 9126
• ISO (The International Standardization Organization):
– Referência mundial para qualidade de software;
– Formado por 127 países membros;
– Cria padrões e normas técnicas em âmbito mundial.
• IEC (The International Electrotechnical Commission)
– Conta com mais de 50 países membros;
– Publica normas internacionais relacionadas com
eletricidade, eletrônica e áreas relacionadas.
Padrão ISO/IEC 9126
• Baseada em três níveis:
– Características,
– Sub-características
– Métricas.
• Cada característica é refinada em um conjunto de sub-
características e cada sub-característica é avaliada por um
conjunto de métricas.
NOTA: ISO/IEC 9126 foi substituída em 2011 pela ISO/IEC 25010
Padrão ISO/IEC 9126
característica
subcaracterísticas
FUNCIONALIDADE - Satisfaz as necessidades implícitas e explícitas do
usuário?
SUBCARACTERÍSTICA PERGUNTA-CHAVE
• Adequação É adequado as necessidades do usuário?
• Acurácia Faz o que foi proposto de forma correta?
• Interoperabilidade É capaz de interagir com os sistemas especificados?
• Conformidade Está de acordo com as normas de funcionalidade?
• Segurança de Acesso Evita acesso não autorizado a programas e dados?
Padrão ISO/IEC 9126
CONFIABILIDADE - o software, durante um período de tempo, funciona de
acordo com as condições pré-estabelecidas?
SUBCARACTERÍSTICA PERGUNTA-CHAVE
• Maturidade Com que freqüência apresenta falhas?
• Tolerância a Falhas Ocorrendo falhas, como ele reage?
• Recuperabilidade É capaz de recuperar dados após uma falha?
• Conformidade Está de acordo com as normas de confiabilidade?
Padrão ISO/IEC 9126
USABILIDADE – O software é fácil de usar?
SUBCARACTERÍSTICA PERGUNTA-CHAVE
• Intelegibilidade É fácil entender os conceitos utilizados?
• Apreensibilidade É fácil aprender a usar?
• Operacionalidade É fácil operar e controlar?
• Atratividade É atrativo ao usuário?
• Conformidade Está de acordo com as normas relacionadas à usabilidade?
Padrão ISO/IEC 9126
EFICIÊNCIA – O software não desperdiça recursos?
SUBCARACTERÍSTICA PERGUNTA-CHAVE
• Comportamento em Qual é o tempo de resposta e de processamento?
Relação ao Tempo
• Comportamento em Quanto recurso usa? Durante quanto tempo?
Relação aos Recursos
• Conformidade Está de acordo com as normas relacionadas à eficiência?
Padrão ISO/IEC 9126
MANUTENIBILIDADE – O software é fácil de alterar?
SUBCARACTERÍSTICA PERGUNTA-CHAVE
• Analisabilidade É fácil encontrar uma falha, quando ocorre?
• Modificabilidade É fácil modificar e remover defeitos?
• Estabilidade Existe risco de efeitos inesperados ao fazer alterações?
• Testabilidade É fácil testar o software modificado?
• Conformidade Está de acordo com as normas de manutenibilidade?
Padrão ISO/IEC 9126
PORTABILIDADE - É fácil de usar em outro ambiente?
SUBCARACTERÍSTICA PERGUNTA-CHAVE
• Adaptabilidade É fácil adaptar a ambientes diferentes?
• Capacidade para É fácil instalar?
ser instalado
• Capacidade para É fácil usar para substituir outro?
substituir
• Conformidade Está de acordo com as normas relacionadas à portabilidade?
• Co-existência Pode coexistir com outros produtos compartilhando recursos?
Padrão ISO/IEC 9126
Métricas de Qualidade
• Usadas para medir a qualidade de um software
• Tipos de métricas:
• Métricas dinâmicas
•Durante teste ou uso do sistema
• Métricas estáticas
•Tamanho do código, tamanho de identificadores
Métricas de Qualidade
• Exemplos de métricas
– Comprimento de código
– Complexidade ciclomática
– Comprimento de identificadores
– Profundidade de aninhamento condicional
Outras normas de qualidade
• ISO/IEC 12119:
• Estabelece os requisitos de qualidade para pacotes de
software e instruções para teste, considerando esses
requisitos
• ISO/IEC 14598-5:
• Define um processo de avaliação da qualidade de
produto de software

Weitere ähnliche Inhalte

Was ist angesagt?

1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
Marcos Morais de Sousa
 

Was ist angesagt? (20)

Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Qualidade de Software - Introdução
Qualidade de Software - Introdução Qualidade de Software - Introdução
Qualidade de Software - Introdução
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
 
engenharia-de-requisitos
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitos
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geral
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Gerência de Requisitos
Gerência de RequisitosGerência de Requisitos
Gerência de Requisitos
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Normas e Padrões para a Qualidade de Software
Normas e Padrões para a Qualidade de SoftwareNormas e Padrões para a Qualidade de Software
Normas e Padrões para a Qualidade de Software
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Governança de TI.pptx
Governança de TI.pptxGovernança de TI.pptx
Governança de TI.pptx
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Scrum
ScrumScrum
Scrum
 

Ähnlich wie Aula 6 - Qualidade de Software

1 Qss
1 Qss1 Qss
1 Qss
lcbj
 
Senac QSS - 1) Intro
Senac QSS - 1) IntroSenac QSS - 1) Intro
Senac QSS - 1) Intro
lcbj
 
QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...
QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...
QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...
AlexandreLisboadaSil
 
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Renato Leal
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
elliando dias
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
Tiago Vizoto
 

Ähnlich wie Aula 6 - Qualidade de Software (20)

1 Qss
1 Qss1 Qss
1 Qss
 
Engenharia de software
Engenharia de software Engenharia de software
Engenharia de software
 
Senac QSS - 1) Intro
Senac QSS - 1) IntroSenac QSS - 1) Intro
Senac QSS - 1) Intro
 
Es aula01
Es   aula01Es   aula01
Es aula01
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Fatores de Qualidade de MacCall e ISO/IEC 9126
Fatores de Qualidade de MacCall e ISO/IEC 9126Fatores de Qualidade de MacCall e ISO/IEC 9126
Fatores de Qualidade de MacCall e ISO/IEC 9126
 
DevOps e App Insights
DevOps e App InsightsDevOps e App Insights
DevOps e App Insights
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
 
Qualidade e Teste de Software
Qualidade e Teste de SoftwareQualidade e Teste de Software
Qualidade e Teste de Software
 
DevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsDevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App Insights
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptx
 
LIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARE
LIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARELIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARE
LIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARE
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Qualidade do Software
Qualidade do SoftwareQualidade do Software
Qualidade do Software
 
QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...
QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...
QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...
 
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
 

Mehr von Leinylson Fontinele

Mehr von Leinylson Fontinele (20)

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

Kürzlich hochgeladen

Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
RogrioGonalves41
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 

Kürzlich hochgeladen (20)

M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxCópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 

Aula 6 - Qualidade de Software

  • 1. Qualidade de Software Leinylson Fontinele Pereira Engenharia de Software
  • 2. 2 Introdução • Qualidade de software – Emergiu na década de 80 – Necessidade básica para a competitividade do mercado: • Empresas que desenvolvem software de qualidade são mais competitivas; • Empresas que tem qualidade em seus processos podem, em geral, oferecer um melhor serviço a um preço mais competitivo.
  • 3. Visões de Qualidade de Software • Visão Popular – Algo abstrato – Perfeição – Luxo e questão de gosto • Visão Profissional – Conformidade aos requisitos – Adequação ao uso
  • 4. Visões de Qualidade de Software • Características: – Defeito zero – Grande número de funções – Codificação elegante – Alto desempenho – Baixo custo de desenvolvimento – Desenvolvimento rápido – Facilidade para o usuário
  • 5. Visões de Qualidade de Software
  • 6. Definição de qualidade • Definição genérica: – “Propriedade, atributo ou condição das coisas ou das pessoas capaz de distingui-las das outras e de lhes determinar a natureza” (Aurélio). • Definições de qualidade de software: – Qualidade é estar em conformidade com os requisitos dos clientes; – Qualidade é antecipar e satisfazer os desejos dos clientes;
  • 7. Bugs históricos • Mariner I – 1962 – Missão observar planeta Vênus – Fórmula matemática foi equivocadamente transcrita para o computador – Desviou do curso e foi destruído 4 min após lançamento – Prejuízo: US$ 18,5 mi
  • 8. Bugs históricos • Therac-25 – 1985/1987 – Dispositivo de terapia por radiação sobre células cancerosas – Libera doses letais de radiação em vários consultórios médicos – Condição de disputa no SO – 5 mortes, várias pessoas feridas
  • 9. Bugs históricos • Míssil Patriot – 1991 – Míssil de defesa – Erro de software no relógio do míssil: a cada 100 horas o relógio interno do sistema desviava um terço de segundo – Resultado: 600 metros de erro na distância em uma interceptação – 28 soldados americanos mortos
  • 10. Bugs históricos • Pentium da Intel – 1993 – Erro na divisão de pontos flutuantes (erro ~0,006%) – 3 a 5 milhões de peças com defeito – Recall para todos que quiseram trocar – Custou à Intel US$ 475 milhões
  • 11. Bugs históricos • Bug do milênio (Y2K) – 2000 – Datas com apenas 2 dígitos para o ano – Uma das maiores histerias da história – Ao virar o ano 2000, a preocupação era que contasse como 1900 – Entre US$ 300 e US$ 500 bi no mundo todo
  • 12. Bugs históricos • Toyota Prius – 2010 – Problema no software dos freios ABS – Recall de 400.000 veículos – Prejuízo de ~ US$ 2 bilhões, desvalorização de 15% nas ações
  • 13. Bugs históricos • Play Station Network - 2011 – Invasão do sistema – Dados privados e de cartão de crédito de ~70 mi de pessoas foram roubados
  • 14. Bugs Recentes • Sistema de bagagens (aeroporto Alemanha) - 2016 – Malas retidas (ano bissexto) – Sistema de 70 milhões de euros não reconheceu o 29 de fevereiro. – Esteiras pararam – despacho manual de bagagens transportadas entre 25 mil e 50 mil malas por dia!. – 1.200 malas acabaram não sendo despachadas
  • 15. Engenharia de Software • A Engenharia de Software é uma disciplina que aplica os princípios de engenharia com o objetivo de produzir software de alta qualidade a baixo custo. O que é um software de qualidade?
  • 16. A Qualidade depende do Tipo de Aplicação Sistema de Missão Crítica Fazer aquilo que eu quero Comportar-se com precisão Ser fácil de usar Rodar bem no hardware Fácil de alterar Qualidade Importante Software Embarcado EXEMPLO
  • 17. Software para Folha de Pagamento Fazer aquilo que eu quero Se comportar com precisão Ser fácil de usar Rodar bem no hardware Fácil de alterar Qualidade Importante Software Interativo com o usuário EXEMPLO A Qualidade depende do Tipo de Aplicação
  • 18. A Qualidade depende do ponto de vista A qualidade do produto não pode ser desvinculada dos interesses da organização: custos e prazos. A qualidade fica mais voltada às características internas do software: legibilidade, testabilidade, eficiência. O interesse fica concentrado principalmente no uso do software: facilidade de uso, requisitos atendidos. desenvolvedor gerente usuário
  • 19. Qualidade de Software “A qualidade de um projeto engloba o grau de atendimento às funções e características especificadas no modelo de requisitos” [Pressman,2011] satisfação do usuário = produto compatível + boa qualidade + entrega no prazo + entrega dentro do orçamento
  • 20. Aspectos Importantes para QS 1. Requisitos de software: – Métrica fundamental para medir a qualidade do software. • A falta de conformidade aos requisitos significa falta de qualidade. 2. Padrões: – Definem um conjunto de critérios que orientam o desenvolvimento do software. • Se os critérios não forem seguidos, o resultado seguramente será a falta de qualidade.
  • 21. Aspectos Importantes para QS 3. Requisitos implícitos: – Conjunto de requisitos que geralmente não são mencionados na especificação. – Ex: “boa manutenibilidade” • Se o software atende aos requisitos explícitos, mas falha nos requisitos implícitos, a qualidade é suspeita. 4. Qualidade de software (na visão gerencial): – O software é considerado de qualidade desde que possa ser desenvolvido dentro do prazo e do orçamento especificados.
  • 22. Aspectos Importantes para QS Processo de Desenvolvimento SOFTWARE PRODUTO PROCESSO DE SOFTWARE PadrõesDesenvolvedor Requisitos Usuário Organização SOFTWARE COM QUALIDADE Requisitos atendidos Padrões atendidos
  • 23. Aspectos Importantes para QS – A qualidade não pode ser incorporada ao produto depois de pronto. – Para que a qualidade possa ser efetivamente incorporada ao produto, ela deve ser um objetivo constante do processo de desenvolvimento. DEFINIÇÃO CONSTRUÇÃO MANUTENÇÃO SOFTWARE PRODUTO
  • 24. Garantia de Qualidade • Padrões de Qualidade de Software – Padrões de produto: • Se aplicam ao produto de software em desenvolvimento. • Incluem padrões de documentos (estrutura do documento de requisitos); especificação de como uma linguagem de programação deve ser usada; etc. – Padrões de processo: • Definem os processos que devem ser seguidos durante o desenvolvimento de software.
  • 25. Padrões de Qualidade de Software • Especificações baseadas no conhecimento das melhores e mais apropriadas práticas para a empresa. – O conhecimento freqüentemente é adquirido somente após um grande número de tentativas e erros. • Ajudam a evitar a repetição de erros cometidos no passado.
  • 26. Padrões de Qualidade de Software • Provêem um framework conceitual para a implementação do processo de garantia de qualidade. • A garantia da qualidade procura assegurar que os padrões apropriados foram selecionados e usados.
  • 27. Padrões de Qualidade • ISO 9126 – Qualidade de produto de software • ISO 12207 – Qualidade do processo de software • ISO 27000 – Segurança da informação • IEEE 829 – Documentação de testes • IEEE 1028 – Revisão de software • IEEE 1044 – Classificação de incidentes • CMM (Capability Maturity Model) • SPICE (Soft. Process Improvement & Capability dErtemination)
  • 28. Padrão ISO/IEC 9126 • ISO (The International Standardization Organization): – Referência mundial para qualidade de software; – Formado por 127 países membros; – Cria padrões e normas técnicas em âmbito mundial. • IEC (The International Electrotechnical Commission) – Conta com mais de 50 países membros; – Publica normas internacionais relacionadas com eletricidade, eletrônica e áreas relacionadas.
  • 29. Padrão ISO/IEC 9126 • Baseada em três níveis: – Características, – Sub-características – Métricas. • Cada característica é refinada em um conjunto de sub- características e cada sub-característica é avaliada por um conjunto de métricas. NOTA: ISO/IEC 9126 foi substituída em 2011 pela ISO/IEC 25010
  • 31. FUNCIONALIDADE - Satisfaz as necessidades implícitas e explícitas do usuário? SUBCARACTERÍSTICA PERGUNTA-CHAVE • Adequação É adequado as necessidades do usuário? • Acurácia Faz o que foi proposto de forma correta? • Interoperabilidade É capaz de interagir com os sistemas especificados? • Conformidade Está de acordo com as normas de funcionalidade? • Segurança de Acesso Evita acesso não autorizado a programas e dados? Padrão ISO/IEC 9126
  • 32. CONFIABILIDADE - o software, durante um período de tempo, funciona de acordo com as condições pré-estabelecidas? SUBCARACTERÍSTICA PERGUNTA-CHAVE • Maturidade Com que freqüência apresenta falhas? • Tolerância a Falhas Ocorrendo falhas, como ele reage? • Recuperabilidade É capaz de recuperar dados após uma falha? • Conformidade Está de acordo com as normas de confiabilidade? Padrão ISO/IEC 9126
  • 33. USABILIDADE – O software é fácil de usar? SUBCARACTERÍSTICA PERGUNTA-CHAVE • Intelegibilidade É fácil entender os conceitos utilizados? • Apreensibilidade É fácil aprender a usar? • Operacionalidade É fácil operar e controlar? • Atratividade É atrativo ao usuário? • Conformidade Está de acordo com as normas relacionadas à usabilidade? Padrão ISO/IEC 9126
  • 34. EFICIÊNCIA – O software não desperdiça recursos? SUBCARACTERÍSTICA PERGUNTA-CHAVE • Comportamento em Qual é o tempo de resposta e de processamento? Relação ao Tempo • Comportamento em Quanto recurso usa? Durante quanto tempo? Relação aos Recursos • Conformidade Está de acordo com as normas relacionadas à eficiência? Padrão ISO/IEC 9126
  • 35. MANUTENIBILIDADE – O software é fácil de alterar? SUBCARACTERÍSTICA PERGUNTA-CHAVE • Analisabilidade É fácil encontrar uma falha, quando ocorre? • Modificabilidade É fácil modificar e remover defeitos? • Estabilidade Existe risco de efeitos inesperados ao fazer alterações? • Testabilidade É fácil testar o software modificado? • Conformidade Está de acordo com as normas de manutenibilidade? Padrão ISO/IEC 9126
  • 36. PORTABILIDADE - É fácil de usar em outro ambiente? SUBCARACTERÍSTICA PERGUNTA-CHAVE • Adaptabilidade É fácil adaptar a ambientes diferentes? • Capacidade para É fácil instalar? ser instalado • Capacidade para É fácil usar para substituir outro? substituir • Conformidade Está de acordo com as normas relacionadas à portabilidade? • Co-existência Pode coexistir com outros produtos compartilhando recursos? Padrão ISO/IEC 9126
  • 37. Métricas de Qualidade • Usadas para medir a qualidade de um software • Tipos de métricas: • Métricas dinâmicas •Durante teste ou uso do sistema • Métricas estáticas •Tamanho do código, tamanho de identificadores
  • 38. Métricas de Qualidade • Exemplos de métricas – Comprimento de código – Complexidade ciclomática – Comprimento de identificadores – Profundidade de aninhamento condicional
  • 39. Outras normas de qualidade • ISO/IEC 12119: • Estabelece os requisitos de qualidade para pacotes de software e instruções para teste, considerando esses requisitos • ISO/IEC 14598-5: • Define um processo de avaliação da qualidade de produto de software