SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

PDF
Qualidade de Software
Tiago Antônio da Silva
 
PDF
Qualidade de software
Alvaro Oliveira
 
PPT
Apresentação Scratch
Michele Felkl
 
PPTX
Aula - Metodologias Ágeis
Mauricio Cesar Santos da Purificação
 
PPT
Processo Decisório - Introdução
Wellington Oliveira
 
PDF
Introdução à Qualidade e Testes Ágeis de Software
Claudia Melo
 
PPT
06 fresagem-fresadoras
Luiz Gustavo
 
PPTX
Empreendedorismo
Nyedson Barbosa
 
Qualidade de Software
Tiago Antônio da Silva
 
Qualidade de software
Alvaro Oliveira
 
Apresentação Scratch
Michele Felkl
 
Aula - Metodologias Ágeis
Mauricio Cesar Santos da Purificação
 
Processo Decisório - Introdução
Wellington Oliveira
 
Introdução à Qualidade e Testes Ágeis de Software
Claudia Melo
 
06 fresagem-fresadoras
Luiz Gustavo
 
Empreendedorismo
Nyedson Barbosa
 

Mais procurados (20)

PDF
Introdução ao Teste de Software - Uma abordagem prática
Fabrício Campos
 
PDF
Qualidade de Software - Introdução
Elaine Cecília Gatto
 
PDF
Algoritmos
Elaine Cecília Gatto
 
PPT
Lógica de Programação
Claudio Stein Junior
 
PPTX
Introdução a Algoritmos: Conceitos Básicos
Elaine Cecília Gatto
 
PDF
Aula 1 - Introdução a Engenharia de Software
Leinylson Fontinele
 
PDF
Exemplo de Plano de testes
Leandro Rodrigues
 
PDF
Introdução a Testes de Software - Unidade I
João Lourenço
 
PDF
Aula Lógica de Programação - cap1
Cloves da Rocha
 
PPTX
1 requisitos funcionais e não funcionais ok
Marcos Morais de Sousa
 
PDF
Aula 1 - Introdução a POO
Daniel Brandão
 
PDF
Modelos de Processo de Software Parte 1
Elaine Cecília Gatto
 
PPTX
Algoritmos e Técnicas de Programação - Curso Completo
thomasdacosta
 
PDF
Lógica de programação em ppt
Andrei Bastos
 
PDF
Teste de software - aula 01 (motivação)
Elmano Cavalcanti
 
PPT
X-Zone - Garantia da Qualidade de Software
AlexandreBartie
 
PDF
Conceitos Iniciais de Linguagens de Programação
Sidney Roberto
 
PDF
Qualidade de Software: Teste de software
Alex Camargo
 
PDF
Desenvolvimento de aplicações para dispositivos móveis
Marcelo Quinta
 
PDF
Aula - Introdução a Engenharia de Software
Cloves da Rocha
 
Introdução ao Teste de Software - Uma abordagem prática
Fabrício Campos
 
Qualidade de Software - Introdução
Elaine Cecília Gatto
 
Lógica de Programação
Claudio Stein Junior
 
Introdução a Algoritmos: Conceitos Básicos
Elaine Cecília Gatto
 
Aula 1 - Introdução a Engenharia de Software
Leinylson Fontinele
 
Exemplo de Plano de testes
Leandro Rodrigues
 
Introdução a Testes de Software - Unidade I
João Lourenço
 
Aula Lógica de Programação - cap1
Cloves da Rocha
 
1 requisitos funcionais e não funcionais ok
Marcos Morais de Sousa
 
Aula 1 - Introdução a POO
Daniel Brandão
 
Modelos de Processo de Software Parte 1
Elaine Cecília Gatto
 
Algoritmos e Técnicas de Programação - Curso Completo
thomasdacosta
 
Lógica de programação em ppt
Andrei Bastos
 
Teste de software - aula 01 (motivação)
Elmano Cavalcanti
 
X-Zone - Garantia da Qualidade de Software
AlexandreBartie
 
Conceitos Iniciais de Linguagens de Programação
Sidney Roberto
 
Qualidade de Software: Teste de software
Alex Camargo
 
Desenvolvimento de aplicações para dispositivos móveis
Marcelo Quinta
 
Aula - Introdução a Engenharia de Software
Cloves da Rocha
 
Anúncio

Semelhante a Aula 6 - Qualidade de Software (20)

PPTX
aula 1 engenharia de software com tópicos da disciplina.pptx
GustavoBarrosLins1
 
PPT
1 Qss
lcbj
 
PPT
Engenharia de software
MarcosSilva941136
 
PPT
Senac QSS - 1) Intro
lcbj
 
PDF
Es aula01
Itaú
 
PPT
Conceitos e fundamentos sobre testes de software e garantia da qualidade
rzauza
 
PDF
Aula01 aula alua aula aulaaa- 19 02.pdf
DenivalSouza1
 
PDF
02 - GCSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pdf
FernandaRodriguesMac4
 
PDF
Qualidade_Software_Aula_1_Final_Corrected.pdf
FernandaRodriguesMac4
 
PDF
Fatores de Qualidade de MacCall e ISO/IEC 9126
Elaine Cecília Gatto
 
PPTX
DevOps e App Insights
Guilherme Cardoso
 
PDF
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Cris Fidelix
 
PDF
Qualidade e Teste de Software
Kamilla Queiroz Xavier
 
PDF
DevOps... O caminho! - Monitoramento de aplicações com App Insights
Adriano Bertucci
 
PPTX
aula projeto e des sistemas 22 03 2021.pptx
MarcondesTiburcio
 
PDF
LIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARE
Daniel Elektron !
 
PPT
Qualidade do Software
Wagner Zaparoli
 
PPTX
QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...
AlexandreLisboadaSil
 
PDF
Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 1
Renato Leal
 
PPTX
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
GUTS-RS
 
aula 1 engenharia de software com tópicos da disciplina.pptx
GustavoBarrosLins1
 
1 Qss
lcbj
 
Engenharia de software
MarcosSilva941136
 
Senac QSS - 1) Intro
lcbj
 
Es aula01
Itaú
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
rzauza
 
Aula01 aula alua aula aulaaa- 19 02.pdf
DenivalSouza1
 
02 - GCSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pdf
FernandaRodriguesMac4
 
Qualidade_Software_Aula_1_Final_Corrected.pdf
FernandaRodriguesMac4
 
Fatores de Qualidade de MacCall e ISO/IEC 9126
Elaine Cecília Gatto
 
DevOps e App Insights
Guilherme Cardoso
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Qualidade e Teste de Software
Kamilla Queiroz Xavier
 
DevOps... O caminho! - Monitoramento de aplicações com App Insights
Adriano Bertucci
 
aula projeto e des sistemas 22 03 2021.pptx
MarcondesTiburcio
 
LIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARE
Daniel Elektron !
 
Qualidade do Software
Wagner Zaparoli
 
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
Renato Leal
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
GUTS-RS
 
Anúncio

Mais de Leinylson Fontinele (20)

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

Último (20)

PDF
A Geografia de Portugal.pdfRegiões e relevo.
biblioteca123
 
PPT
AVALIAÇÕES DE SISTEMA DE ENSINO.ppt reformas
SANDRAMENDES689114
 
PDF
A casa1.pdf com todas as divisões e objetos
biblioteca123
 
PPTX
ESTUDO 25 - O PLANO DIVINO DOS SECULOS.pptx
Pr Davi Passos - Estudos Bíblicos
 
PDF
Material de odontologia, para estudantes da área de radiologia em busca de co...
EltonSantiago7
 
PPTX
Novas Tecnologias na Cartografia explorando.pptx
Rafaelalima466076
 
DOCX
Mapa da Regionalização da América do Norte.docx
Doug Caesar
 
PPTX
Victor Silva - Apresentação Final Gandhi.pptx
Victor Hugo Victorhugopinkfloyd
 
PDF
FICHA FINANÇAS: como controlar meu dinheiro
Professor Belinaso
 
PDF
Antologia Verso e Prosa Departamento Cultural Clube Naval 2019.pdf
elvandroburity
 
PDF
Inteligência Artificial Generativa - CMMG.pdf
Ana Paula Coelho Barbosa
 
DOCX
Lista de exercícios- reportagem de divulgação científica aluno.docx
VIVIANEMENDESSILVA
 
PPTX
Formacao do Ministro Extraordinário da Palavra
rafaelcorrea749
 
PPTX
Lei Geral de Proteção de Dados em quadrinhos
ComunicaoIprev
 
PPTX
DERIVA URBANA EM FEIRA DE SANTANA BAHIA.pptx
JanmileSilva1
 
PDF
pdfcoffee.com_modulo-7-otet-pdf-free.pdf
Beacarol
 
PDF
No Mercado Municipal.pdfcom frutas e legumes
biblioteca123
 
PPTX
slide de historia sobre o descobrimento do brasil
speedgames391
 
PPT
Ponto_5_-_Valorizacao dos profissionais da educ
mbjustus
 
DOCX
Mapa de Papua-Nova Guiné - Mapa dos Países do Mundo
Doug Caesar
 
A Geografia de Portugal.pdfRegiões e relevo.
biblioteca123
 
AVALIAÇÕES DE SISTEMA DE ENSINO.ppt reformas
SANDRAMENDES689114
 
A casa1.pdf com todas as divisões e objetos
biblioteca123
 
ESTUDO 25 - O PLANO DIVINO DOS SECULOS.pptx
Pr Davi Passos - Estudos Bíblicos
 
Material de odontologia, para estudantes da área de radiologia em busca de co...
EltonSantiago7
 
Novas Tecnologias na Cartografia explorando.pptx
Rafaelalima466076
 
Mapa da Regionalização da América do Norte.docx
Doug Caesar
 
Victor Silva - Apresentação Final Gandhi.pptx
Victor Hugo Victorhugopinkfloyd
 
FICHA FINANÇAS: como controlar meu dinheiro
Professor Belinaso
 
Antologia Verso e Prosa Departamento Cultural Clube Naval 2019.pdf
elvandroburity
 
Inteligência Artificial Generativa - CMMG.pdf
Ana Paula Coelho Barbosa
 
Lista de exercícios- reportagem de divulgação científica aluno.docx
VIVIANEMENDESSILVA
 
Formacao do Ministro Extraordinário da Palavra
rafaelcorrea749
 
Lei Geral de Proteção de Dados em quadrinhos
ComunicaoIprev
 
DERIVA URBANA EM FEIRA DE SANTANA BAHIA.pptx
JanmileSilva1
 
pdfcoffee.com_modulo-7-otet-pdf-free.pdf
Beacarol
 
No Mercado Municipal.pdfcom frutas e legumes
biblioteca123
 
slide de historia sobre o descobrimento do brasil
speedgames391
 
Ponto_5_-_Valorizacao dos profissionais da educ
mbjustus
 
Mapa de Papua-Nova Guiné - Mapa dos Países do Mundo
Doug Caesar
 

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