Qualidade de Software - Introdução

Post on 05-Apr-2017

82 views 3 download

Transcript of Qualidade de Software - Introdução

Qualidade de SoftwareProf.ª M.ª Elaine Cecília Gatto

Aula 02

Contextualização

•A qualidade é relativa. O que pode serqualidade para uma pessoa pode ser falta dequalidade para outra. (G. Weinberg)

Contextualização

Instrumentos

Precisão Cúbito

Contextualização

Contextualização

Contextualização

Contextualização

Contextualização

Contextualização

eficiência

produtividadeconcorrência

disputa

melhoria

Contextualização

Contextualização

Produtos artesanais

Produção Manual

Qualidade Individual de

cada peça

Contextualização

ContextualizaçãoRecursos Humanos

Leis Trabalhistas

Saúde Mental e

Emocional

Contextualização

• Década de 20:

• Controle estatístico da produção

• Controle de processos de fabricação

• Qualidade do Produto final

• Década de 40:

• Órgãos reguladores de qualidade

• ABNT, ISO, ASQC

Contextualização

• Japão (dec. 40)

•Método de Taguchi

•Metodologia 5S

•Diagrama de Espinha de Peixe

Contextualização

complexidadeTamanho das Especificações

Software

• Construção de software

• Ferramentas para construir software

• Processo de produção de software

•Qualidade do produto final construído

Dificuldades na Construção de Software

•Alteração de Requisitos

•Algoritmos existentes (reuso)

• Criatividade

• Comportamento inesperado mesmo sendobem projetado

• Trabalho intelectual das pessoas (capacidadetécnica)

Soluções

•Metodologias

• Ferramentas automatizadas

•Menor carga de trabalho para o ser humano

•Qualidade

Qualidade

É bom?

Funciona?Qual

comprar?Critérios

Qualidade

O que é necessário para

construir?Características

Finalidade

Informações

Requisitos

Especificações

O que garante a qualidade?

Qualidade

•A qualidade é conformidade aos requisitos.(Crosby, 1992)

• É necessário um ponto de referência parajulgar um produto

Qualidade Requisitos

Qualidade

• Como efetuar o julgamento do produto?

•Documentar e analisar todo o processo

• Transmitir resultados

Qualidade Requisitos

Grau (ou intensidade) de Qualidade • Lâmpada de 60W

• Margens de precisão

• 59,9W é melhor do que60,1W?

• 60,1W é mais brilhanteque 59,9W?

• Como saber quanto alâmpada de fatoconsome de W?

Grau (ou intensidade) de Qualidade

1. Definir aconformidade doprojeto

2. Observar oproduto

3. Papel dediferentes clientesno projeto

Qualidade

Características Observadas

Características Especificadas

Quanto mais longe da especificação, pior será o produto final!

Grau (ou intensidade) de Qualidade

• Erros medições que não podem sercontroladas

•Desempenho falhas no hardware queafetam a execução do software

Qualidade Observado –

Especificado + Erro

Grau (ou intensidade) de Qualidade

•Os requisitos foram feitos por alguém, logo aqualidade depende das escolhas que alguémefetuou. (Weinberg, 1994)

• Consenso sobre tarefas: como devem serexecutadas, implementadas, quais são as maisimportantes, etc.

OBJETIVO DA QUALIDADE

• Satisfazer o cliente

• Visão de quem projeta X visão de quem compra

• RESULTADO DA DINÂMICA

• Orçamento

• Qual objetivo se pretende alcançar com esteproduto?

• Como assegurar que os objetivos planejados noinicio do projeto serão cumpridos?

Erros de Software – Qualidade

• Erros podem ser relativos e não atrapalhar naexecução do software. Exemplos:

•Games com bugs de cenários

• Sistemas que apresentam erros em apenas1 ou 2 % dos clientes.

• Sistemas em conformidade, erros quaseinexistentes, mas difíceis de usar

Erros de Software – Qualidade

• Custos

• Existência de erros

• Detecção de erros

• Remoção de erros

• Quanto custará oprojeto e qual lucroobteremos?

• Prejuízo causado pelafalta de qualidade

• Custos para garantir umnível de funcionamentodo software

DEFEITO

• É uma imperfeição de um produto

• Faz parte do produto

• Em software:

• É algo que está implementado em código demaneira incorreta

• Um programa defeituoso é um programa quenão funciona como deve

• A execução do programa é interrompida

FALHA

• É o resultado provocado por um defeito oucondição inesperada.

• Exemplo:

•Divisão por zero.

•Quando ocorre uma falha?

• É um código defeituoso?

Soluções

•Depuração de programa

• Reproduzir o defeito

•Onde está o código defeituoso que gerou afalha?

• Técnicas e ferramentas para descoberta ecorreção de código defeituoso

Aspectos Importantes da Qualidade

• Testes de software não garantem a ausênciade erros

•Dificuldade para verificar e validar softwares

•Dificuldade em manter os requisitosconsistentes

• Requisitos impactam no resultado final

Impacto de Erros/Falhas

•O software está embutido em sistemas detodas as naturezas: de transportes, médicos,de telecomunicações, militares, de processosindustriais, de produtos de escritório, ...(PRESSMAN, 2002)

SWEBOK

• IEEE

• Software Enginneering Body of Knowledge

• Corpo de conhecimento de Engenharia deSoftware

• 11 áreas

SWEBOK

• Requisitos

• Gerencia de engenharia

• Projeto

• Métodos e ferramentasde Engenharia

• Construção

• Processo de engenharia

• Testes

• Qualidade

• Manutenção

• Gerência deconfiguração

SWEBOK