Buscar

Aula01 - Conceitos de qualidade

Prévia do material em texto

1
Qualidade de Software
Ementa
1
CONCEITOS DE QUALIDADE 
DE SOFTWARE
Poliana Aparecida Corrêa de Oliveira
poliana.correa@sga.pucminas.br
Pontifícia Universidade Católica de Minas Gerais (PUC Minas)
Qualidade de Software
Ementa
2
O QUE É QUALIDADE?
� qua·li·da·de (latim qualitas, -atis)
substantivo feminino
1. Maneira de ser boa ou má de uma coisa.
2. Superioridade, excelência.
3. Aptidão, disposição feliz.
4. Talento, bons predicados.
5. Título, categoria.
6. Aquilo que caracteriza uma coisa. = CARACTERÍSTICA, PROPRIEDADE
7. .Caráter, índole.
8. Casta, espécie.
9. Condição social, civil, jurídica.
10. Atributo, modalidade, virtude, valor.
11. [Fonética] Conjunto dos atributos fonéticos (altura, intensidade, modo de articulação, tim
bre) que caracterizam determinado som vocálico (ex.: a qualidade das vogais pode variar).
FONTE: Dicionário Priberam da Língua Portuguesa
Qualidade de Software
Ementa
3
O QUE É QUALIDADE?
“A qualidade é relativa. O que é
qualidade para uma pessoa pode ser
falta de qualidade para outra pessoa.”
(G. Weinberg)
Qualidade de Software
Ementa
4
O QUE É QUALIDADE?
� A ideia de qualidade é aparentemente intuitiva; contudo, quando
examinado mais longamente, o conceito se revela complexo
� Definir qualidade para estabelecer objetivos é, assim, uma tarefa
menos trivial do que parece de início
Qualidade de Software
Ementa
5
O QUE É QUALIDADE?
� Exemplo: compra de uma camisa
� Se o preço do produto é muito além das expectativas, este se torna um
impedimento para a compra. Então o preço inconveniente passa a ser
encarado como um defeito
� Se o tamanho não está disponível no estoque, a disponibilidade do produto
é também um fator de qualidade e sua ausência implica em mais um
defeito
� Mas, supondo que tudo anteriormente apresentado estivesse em
conformidade com as expectativas, a camisa poderia apresentar algum
problema como a falta de manga, de cor, de botão, de costura, de maciez no
tecido... (defeito de fabricação)
Qualidade de Software
Ementa
6
O QUE É QUALIDADE?
� Exemplo: compra de uma camisa
� Nesse caso, se a decisão pela compra é feita quando não se encontra
defeitos, logo é possível admitir que a camisa possui qualidade e, então, o
conceito de qualidade pode então ser definido como “Ausência de defeitos”
� Porém, supondo que o cliente esteja diante de produtos alternativos, como
escolher o melhor? Esse problema de julgamento acontece com qualquer
pessoa cotidianamente, quando se consomem itens como roupas, música,
comida ou filmes
� Uma escolha torna-se mais clara quando se estabelecem critérios que
sirvam para julgar um produto
2
Qualidade de Software
Ementa
7
HISTÓRIA
� Há 4 mil anos os egípcios estabeleceram um padrão de medidas
de comprimento: o cúbito (comprimento do braço do faraó
reinante)
� Se houvesse erros na medição, o responsável seria punido com a morte
� A preocupação estava na construção das pirâmides (precisão da ordem de
0,05%) – Alta precisão e poucos recursos
� É comum relacionar precisão com tecnologia
� A qualidade ainda depende principalmente do correto emprego de boas
metodologias pelos desenvolvedores
� Revolução industrial foi um grande marco na qualidade
� Concorrência entre as indústrias
� Desencadeou uma gama de processos de melhoria contínua
Qualidade de Software
Ementa
8
HISTÓRIA
� Aumento da eficiência tornou-se condição imprescindível para
garantir a sobrevivência do negócio
� 1920: controle estatístico de produção
� Garantia de qualidade individual de cada item
� 1940: o Japão contribuiu com novas ferramentas
� Metodologia 5S
� Diagrama de causa-efeito de Ishikawa ou diagramas espinha de peixe
� Pós-guerra: a indústria continuou se desenvolvendo
� Computadores digitais
� Anos depois, com o aumento do número de usuários, cresceram as
exigências de qualidade
Qualidade de Software
Ementa
9
HISTÓRIA
� Complexidade
� A complexidade é um dos fatores que influencia negativamente a qualidade
de um projeto
� Crescimento do número de interações entre os componentes do sistema
� 1950: acreditava-se que o desempenho de um computador seria
proporcional ao quadrado de seu preço
� Grupo de usuários para adquirir um computador de grande porte
� Aluguel de máquinas
� 1971: primeiro microprocessador de silício
� Mudança tecnológica e efeito drástico na produção de software
� Máquinas menores e mais rápidas
Qualidade de Software
Ementa
10
HISTÓRIA
“A maior causa da crise do software é que as máquinas
tornaram-se várias ordens de magnitude mais potentes!
Em termos diretos, enquanto não havia máquinas,
programa não era um problema; quando tivemos
computadores fracos, isso se tornou um problema
pequeno e agora que temos computadores gigantescos,
programa tornou-se uma problema gigantesco”
[DIJKSTRA, 1972]
Qualidade de Software
Ementa
11
HISTÓRIA
� A situação era agravada pela ausência de técnicas consagradas de
trabalho
� Não havia normas, padrões, boas práticas...
� Não havia escolas ou sequer a profissão de programador, as pessoas
aprendiam e exerciam as tarefas empiricamente
� O termo “engenharia de software” foi empregado em 1968, em
uma conferência, na Alemanha
� Principais dificuldades
• Cronogramas não observados
• Projetos com tantas dificuldades que são abandonados
• Módulos que não operam corretamente quando combinados
• Programas que não fazem o esperado
• Programas tão difíceis de usar que são descartados
• Programas que simplesmente param de funcionar
Qualidade de Software
Ementa
12
HISTÓRIA
� Os erros parecem estar em toda a parte como uma epidemia que
não conseguimos controlar após décadas de trabalho
� Bug do milênio
� Hoje, somos capazes de desenvolver softwares de qualidade?
3
Qualidade de Software
Ementa
13
DESAFIOS
� Assim como toda engenharia, apresenta aspecto não repetitivo,
muitas vezes imprevisível
CONHECIDO
DESCONHECIDO
Qualidade do aço e 
concreto é apropriada?
Dimensionamento dos 
pilares correto?
Especificações 
obtidas por 
cálculos e 
simulações
Incertezas 
existentes nos 
ensaios de 
materiais, no 
cálculo 
estrutural, etc
FONTE: Zonas de sombra em um projeto de engenharia
Adaptado de (KOSCIANSKI, 2007)
Qualidade de Software
Ementa
14
DESAFIOS
� Assim como toda engenharia, apresenta aspecto não repetitivo,
muitas vezes imprevisível
CONHECIDO
DESCONHECIDO
Requisitos conhecidos e 
garantidos contra 
mudanças?
Algoritmos 
preexistentes 
aplicáveis?
Requisitos 
mudam
Estimativas 
não são 
exatas
FONTE: Zonas de sombra em um projeto de software
Adaptado de (KOSCIANSKI, 2007)
Esforço de 
desenvolvimento 
necessário?
Qualidade do produto 
final em função de 
requisitos?
Muitas vezes 
não existem ou 
desconhecidos
Gap 
semântico
Qualidade de Software
Ementa
15
DESAFIOS
� Delimitar o escopo do sistema
� Requisitos voláteis
� Mesmo tendo um projeto do sistema não é possível saber de
antemão detalhes de implementação (restrições de linguagem de
programação, ambiente, framework, etc.)
� Trabalho intelectual
� Sistemas cada vez mais complexos
Qualidade de Software
Ementa
16
DESAFIOS
� Delimitar o escopo do sistema
� Requisitos voláteis
� Mesmo tendo um projeto do sistema não é possível saber de
antemão detalhes de implementação (restrições de linguagem de
programação, ambiente, framework, etc.)
� Trabalho intelectual
� Sistemas cada vez mais complexos
Métodos e ferramentas de engenharia de software servem,
entre outras coisas, para garantir ou pelo menos facilitar a
obtenção do objetivo de alcançar qualidade nos programas
Qualidade de Software
Ementa
17
ENGENHARIA DE SOFTWARE
� SWEBOK- Software Engineering Body Of Knowledge (2004)
� Corpo de Conhecimento de Engenharia de Software
� Estudo de uma comissão internacional de especialistas
Requisitos
Gerência de 
engenharia
Projeto
Métodos e ferramentas Métodos e ferramentas 
de engenharia Construção
Processo de 
engenharia
Processo de 
engenharia
Testes
Qualidade
ManutençãoDisciplinas 
relacionadas
Gerência de 
configuração
SWEBOK
Qualidade de Software
Ementa
18
ENGENHARIA DE SOFTWARE
FONTE: Divisão em tópicos da qualidade – SWEBOK, 2004
Adaptado de (KOSCIANSKI, 2007)
4
Qualidade de Software
Ementa
19
QUALIDADE DE SOFTWARE
� Definições mais recentes em engenharia de software
� Peters (2002): “Qualidade de software é avaliada em termos de atributos de
alto nível chamados fatores, que são medidos em relação a atributos de
baixo nível chamados de critérios”
� Definição Pressman (2006): “Qualidade de software é a conformidade a
requisitos funcionais e de desempenho que foram explicitamente
declarados, a padrões de desenvolvimento claramente documentados, e a
características implícitas que são esperadas de todo software desenvolvido
por profissionais”.
Qualidade de Software
Ementa
20
QUALIDADE DE SOFTWARE
� A definição de qualidade para Crosby [1992]: "A qualidade é
conformidade aos requisitos“
� Essa definição foi utilizada na manufatura, porém serve para
engenharia de software
� Fica explícito o fato de que é preciso um ponto de referência
(critério) para julgar um produto
� Implicitamente está a ideia de como efetuar esse julgamento além
de mostrar como o processo todo pode ser documentado,
analisado e os resultados transmitidos a outras pessoas
Qualidade de Software
Ementa
21
QUALIDADE DE SOFTWARE
� Mas como definir conformidade?
Qualidade de Software
Ementa
22
QUALIDADE DE SOFTWARE
� Mas como definir conformidade?
� Necessidade de definir níveis de precisão
� Comparar as características observadas com as características especificadas
� Considerar o erro de observação
� Depende das escolhas do cliente
Qualidade de Software
Ementa
23
QUALIDADE DE SOFTWARE
� Então, qualidade de software é um conjunto de características
que devem ser alcançadas em um determinado grau para que o
produto atenda às necessidades de seus usuários
� Pressman (2006) enfatiza três pontos de conformidade
� Requisitos funcionais e de desempenho
� Normas, padrões e convenções de desenvolvimento pré-estabelecidos
� Atributos implícitos que todo software desenvolvido deve possuir
Qualidade de Software
Ementa
24
QUALIDADE DE SOFTWARE
� Requisitos
� Os requisitos de software são a base a partir da qual a qualidade é medida
� A falta de conformidade com os requisitos significa falta de qualidade
� Padrões especificados
� Definem um conjunto de critérios de desenvolvimento que orientam a
maneira segundo a qual o software passa pelo trabalho de engenharia
� Se os critérios não forem seguidos, o resultado quase que seguramente será
a falta de qualidade
� Atributos implícitos
� Existe um conjunto de requisitos implícitos que frequentemente não são
mencionados na especificação
• Por exemplo, o desejo de uma boa integridade no acesso ao sistema
5
Qualidade de Software
Ementa
25
QUALIDADE DE SOFTWARE
Qualidade de Software
Ementa
26
QUALIDADE DE SOFTWARE
� Fatores de qualidade (norma ISO 9126)
� Funcionalidade: grau de adequação com as necessidades declaradas
� Confiabilidade: período de tempo que o software está disponível para uso
� Usabilidade: grau de facilidade de uso
� Eficiência: grau de otimização dos recursos
� Manutenibilidade: grau de facilidade de reparo
� Portabilidade: grau de adaptação para novos ambientes
Qualidade de Software
Ementa
27
QUALIDADE DE SOFTWARE
� Raramente qualidade pode ser incorporada ao produto final, após
o processo de desenvolvimento ter terminado
� Dos requisitos do usuário à entrega do produto final, existe um
processo de desenvolvimento que é complexo e normalmente
envolve uma série de etapas que podem comprometer a
qualidade do produto final
� A qualidade do software final depende da construção dos
produtos intermediários
Qualidade de Software
Ementa
28
ERROS COMUNS
� Qualidade significa “ótimo” ou “luxo” ou “de grande valor”
� É comum ouvir dizer: “boa qualidade”, “má qualidade”, “qualidade de vida”
� Mas é preciso definir a qualidade em termos específicos
� Qualidade é intangível, portanto não mensurável
� É precisamente mensurável pela mais respeitada medida, dinheiro
� Os problemas de qualidade são originados por trabalhadores,
principalmente os que lidam com a produção
� Planejamento e criação foram definidos antes, eles são apenas executores
� Qualidade é responsabilidade do departamento da qualidade
� Apenas as medições de conformidade, registros de resultados e liderança
de atitude positiva para melhoria são funções desse departamento
Qualidade de Software
Ementa
29
BIBLIOGRAFIA
� KOSCIANSKI, André. Qualidade de software. 2ª edição. Novatec.
2007.
� PRESSMAN, Roger S. Engenharia de software. São Paulo: McGraw-
Hill, 2006. xxxi, 720 p.
� GUERRA, Ana Cervigni; COLOMBO, Regina Maria
Thienne. Tecnologia da informação: qualidade de produto de
software. Brasília: PBQP Software, 2009. 429 p.
Qualidade de Software
Ementa
30
DÚVIDAS

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes