fatores e mÉtricas de qualidade -...
Post on 01-Feb-2018
216 Views
Preview:
TRANSCRIPT
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
1
FATORES E MÉTRICAS DE QUALIDADE
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
2
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
3
OPERAÇÃO DO PRODUTO
CORRETITUDE (FAZ O QUE EU QUERO?) CONFIABILIDADE (SE COMPORTA COM PRECISÃO?) EFICIÊNCIA (RODARÁ TÃO BEM QUANTO POSSÍVEL?) INTEGRIDADE (É SEGURO?) USABILIDADE (FOI PROJETADO PARA O USUÁRIO?)
FATORES DE QUALIDADE
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
4
QUALIDADE BASEADA NO PROCESSO
DEFINA O PROCESSO
DESENVOLVA O PRODUTO
AVALIE A QUALIDADE DO
PRODUTO
MELHORE O PROCESSO
QUALIDADEOK
PADRONIZE O PROCESSO
NÃO SIM
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE FATORES E MÉTRICAS DE QUALIDADE
5
Qual a importância de controlarmos os gastos com o software em qualidade?
Analisar a qualidade dos resultados obtidos com seu desenvolvimento e manutenção;
Permitir que padrões sejam gerados com base nos controles de qualidade;
Mas podemos medir o processo de desenvolvimento do software?
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE FATORES E MÉTRICAS DE QUALIDADE
6
Podemos medir, se tomarmos como exemplo, o tamanho das aplicações que serão desenvolvidas e a partir daí estimar prazos e custos reais ou o mais próximo possível?
Como medir a evolução de produção dos programadores, e assim, avaliar o progresso no projeto e estimar os recursos necessários?
Como medir a qualidade do software em desenvolvimento e determinar se deverão ser aplicadas ações corretivas?
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE FATORES E MÉTRICAS DE QUALIDADE
7
Os fatores de qualidade são necessárias para:
Analisar qualidade e produtividade do processo de desenvolvimento e manutenção bem como do produto de software construído;
Qualificar o desempenho técnico dos produtos do ponto de vista do desenvolvedor;
Medidas funcionais são necessárias para qualificar o desempenho dos produtos pela perspectiva do usuário;
Devem ser independentes das decisões do desenvolvimento técnico e implementação;
Utilizadas para comparar a produtividade de diferentes técnicas e tecnologias.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE FATORES E MÉTRICAS DE QUALIDADE
8
Os fatores de qualidade possibilitam realizar uma das atividades mais fundamentais do processo de gerenciamento de projetos que é o planejamento.
A partir deste, passamos a identificar a quantidade de esforço, o custo e as atividades que serão necessárias para a realização do projeto.
Há bem pouco tempo, a única base para a realização de estimativas era a experiência da equipe técnica envolvida no projeto, podendo ocasionar:
Em atropelar as atividades de desenvolvimento, deixando de realizar diversos passos do projeto;
Produtos com deficiência funcional;
Custo de realização além do previsto;
Atraso na entrega do produto.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE FATORES E MÉTRICAS DE QUALIDADE
9
O mercado está cheio de "ferramentas de produtividade".
“O aumento ideal da produtividade só é obtido quando for possível estabelecer uma sistemática de métricas significativas que reflitam nos resultados do desenvolvimento de software e que possa ser implementado efetivamente ao ser usado”.
O ato de medir é algo comum no mundo da engenharia. Mas para engenharia de software estamos longe se ter uma medição padrão amplamente aceita e com resultados sem nenhum fator subjetivo.
Temos dificuldade em concordar sobre o que medir e como avaliar o resultado das medições obtidas.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE FATORES E MÉTRICAS DE QUALIDADE
10
Algumas razões para se medir o software:
Indicar a qualidade do produto;
Avaliar a produtividade dos que desenvolvem o produto;
Determinar os benefícios derivados de novos métodos e ferramentas de engenharia de software;
Formar uma base para as estimativas;
Ajudar na justificativa de aquisição de novas ferramentas ou de treinamentos adicionais.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE FATORES E MÉTRICAS DE QUALIDADE
11
As métricas de software, do ponto de vista de medição, podem ser divididas em duas categorias: medidas diretas e indiretas.
MEDIDAS DIRETAS MEDIDAS INDIRETAS • Custo • Esforço • Linhas de Código • Velocidade de Execução • Memória • Nº de Erros
• Funcionalidade • Qualidade • Complexidade • Eficiência • Confiabilidade • Manutenibilidade
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE FATORES E MÉTRICAS DE QUALIDADE
12
As medições de software podem ser organizadas em outros modelos de classes:
Métricas da produtividade – Baseadas na saída do processo de desenvolvimento do software com o objetivo de avaliar o próprio processo;
Métricas da qualidade – Que permitem indicarem o nível de resposta do software às exigências explícitas e implícitas do cliente;
Métricas técnicas – Nas quais encaixam-se aspectos como funcionalidade, modularidade, manutenibilidade, etc...
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE FATORES E MÉTRICAS DE QUALIDADE
13
Se desejarmos organizar sob uma outra ótica, seria possível definir uma nova classificação das medições, como:
Métricas orientadas ao tamanho – Baseadas nas medições diretas da Engenharia de Software;
Métricas orientadas à função – Que oferecem medidas indiretas; Métricas orientadas às pessoas – As quais dão indicações sobre a forma
como as pessoas desenvolvem os programas de computador.
Também podemos dividir as métricas de software, sob o ponto de vista de aplicação, em duas categorias:
1. Métricas de Produtividade – Se concentram na saída do processo de engenharia de software;
2. Métricas de Qualidade – Indicam o quanto o software atende aos requisitos definidos pelo usuário.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
14
A medida de software mais familiar é a contagem de linhas de código.
Está fortemente ligado à linguagem de programação utilizada, impossibilitando a utilização de dados históricos para projetos que não utilizam a mesma linguagem.
MÉTRICAS ORIENTADAS AO TAMANHO
Apesar desta métrica parecer simples, temos um problema sobre o que seria uma linha de código para uma contagem correta.
As medidas de linhas de código não deveriam contar as linhas de comentário e linhas em branco, pois na compilação essas linhas são ignoradas e não possuem funções no aplicativo.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
15
Podemos dizer que seria um outro conjunto de métricas de qualidade e produtividade que poderá ser desenvolvido.
Essa pesquisa descobriu que poderiam basear a avaliação de um software, simplesmente medindo o valor das funções executadas pelos programas.
MÉTRICAS ORIENTADAS À FUNÇÃO
Em vez de contar as linhas de código, a métrica orientada à função concentra-se na funcionalidade do software.
Foi uma proposta da IBM no início da década de 70 por seus pesquisadores, cujo trabalho era identificar as variáveis críticas que determinam a produtividade da programação.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
16
Em 1979, Allan Albrecht, prosseguindo com estas pesquisas, introduziu uma técnica de avaliação conhecida como Pontos por Função, que era:
Auxilia o usuário final a melhorar o exame e avaliação de projetos.
MÉTRICAS ORIENTADAS À FUNÇÃO
Baseada na visão externa do usuário; Independente da linguagem utilizada; Permite calcular o esforço de programação;
Seus objetivos são:
Prover um fator de normalização para comparação de software.
Medir o que foi requisitado e recebido do usuário;
Prover uma métrica de medição para apoiar a análise de produtividade e qualidade;
Prover uma forma de estimar o tamanho do software;
Medir independente da tecnologia utilizada para a implementação;
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE O FATOR HUMANO
17
Quando os objetivos para o desenvolvimento de sistemas não estão claros, as pessoas passam a deduzir e criar o produto dentro de suas próprias visões, consequentemente, teremos métricas falhando, gerando uma expectativa divergente entre o cliente e os técnicos responsáveis, causando uma estimativa de qualidade irreal.
As pessoas são sensíveis aos estímulos externos e por meio de tais estímulos suas atitudes e pensamentos são influenciados.
O analista com o propósito de estimar o tempo e custo de um projeto não pode deixar de dar a devida relevância a este fato.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE O FATOR HUMANO
18
Para tentar amenizar a dificuldade e se estabelecer critério para a estimativa em relação ao fator humano, surge o conceito de "Engenharia Humana", que consiste em aplicar conceitos de psicologia para se projetar uma interação homem-computador.
Do ponto de vista do especialista em engenharia humana, o homem e a máquina são partes integrantes de todo um sistema homem-máquina, onde o homem é visto como um elo de coleta e processamento de dados.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE O FATOR HUMANO
19
CONTROLE E GARANTIA DA QUALIDADE
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
20
DEFINIÇÃO
“Atividade e técnica operacional que é utilizada para satisfazer os requisitos de qualidade” (McDermid).
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
21
Possui funções gerenciais e estão relacionadas às atividades de verificação e validação;
Gerentes procuram ter sempre os melhores projetistas para seu produto, mas em geral nem sempre podem tê-los.
Consome tempo no desenvolvimento de sistemas de software e vai além da entrega do sistema, (entra na fase de manutenção);
Técnicas usadas para cada atividade podem contribuir para o respectivo controle de qualidade;
Algumas técnicas têm controle embutido, outras não;
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
22
Necessidade de se concentrar esforços em métodos de SQA (Software Quality Assurance ou Garantia da Qualidade de Software);
Monitorar métodos e padrões que os engenheiros de software usam;
Pessoas podem ser experientes em SQA, sem, no entanto, serem experientes em projetos de software;
ATIVIDADES SQA
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
23
SQA possui uma variedade de tarefas, divididas em dois grandes grupos:
Sobre o plano de qualidade;
1. Engenheiros de software – Fazem o desenvolvimento dos sistemas, ou seja, o trabalho técnico;
2. Grupos de SQA – Suas responsabilidades estão:
ATIVIDADES SQA
Inspeção; Conservação de registros históricos; Análise do produto desenvolvido; Reporting (reportar) das atividades de SQA ao gerente do
projeto.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
24
O SEI (Software Engineering Institute) recomenda as seguintes atividades para o grupo de SQA:
Preparar um plano de SQA;
ATIVIDADES SQA
Participar da descrição do projeto de software;
Revisar as atividades dos engenheiros de software;
Documentar e consertar os desvios;
Registrar discordâncias e reportar para o gerente;
Gerenciar mudanças e métricas de software.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
25
São um filtro no processo de Engenharia de Software; Não são limitadas à especificação, projeto e código;
REVISÕES DE SOFTWARES
Defeito – Anomalia do produto (IEEE – Instituto de Engenharia de Eletro e Eletrônico); IEEE – É uma organização composta por engenheiros, cientistas e
estudantes, que desenvolvem padrões para a indústria de computadores e eletro-eletrônicos, sem fins lucrativos.
Entre 50% a 60% do total de erros são introduzidos durante o projeto de software;
Revisões Técnicas Formais (RTF) – Encontrar erros durante o processo antes que eles se tornem defeitos;
RTF podem descobrir cerca de 75% desses erros.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
26
A qualidade do software está diretamente ligada a produtividade de programação, a qual é afetada pela:
Qualidade da documentação;
MEDIDAS DE PRODUTIVIDADE DE PROGRAMAÇÃO
Linguagem de programação;
Disponibilidade de ferramentas;
Experiência do programador;
Comunicação no projeto;
Práticas de programação bem definidas.
Grau de dependência entre módulos;
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
27
Probabilidade de uma operação de programa de computador estar livre de falha, onde:
MEDIDAS DE CONFIABILIDADE
Exemplo: Um software que opera corretamente em 96 das suas 100 execuções tem uma confiabilidade de 0.96 ou 96%.
É um elemento importante para a qualidade do software;
o Falha - Não conformidade com os requisitos de software.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
28
Confiabilidade – Usa a análise estatística para determinar a probabilidade de que uma falha venha a ocorrer.
CONFIABILIDADE X SEGURANÇA
Segurança – Examina as possibilidades segundo as quais as falhas resultam em condições que podem levar a uma deformação.
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
29
Especifica: PLANOS SQA
Os objetivos;
As tarefas de SQA a serem realizadas;
Os padrões;
Os mecanismos de auditoria;
Os procedimentos da estrutura organizacional;
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
30
Documentos de Engenharia de Software exigidos: PLANOS SQA
Especificação de Requisitos;
Descrição de Projeto;
Documentação do Usuário.
Plano (e Relatório) de Verificação e Validação;
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
31
AULAS DE APOIO
Estarão disponibilizadas nos descritos a baixo para downloads os arquivos nos formatos: PowerPoints ou Word das aulas. Alguns estarão disponíveis para impressão, outros, somente para leitura, mas não para edição. Em alguns casos em que se fizer necessário a impressão, o professor estará liberando para um melhor desenvolvimento dos trabalhos a ser solicitados.
www.aulasprof.6te.net ou www.profcelso.orgfree.com/
Contato: celsocan@gmail.com
ADS / REDES / ENGENHARIA Prof. Celso Candido
QUALIDADE DE SOFTWARE
32
FIM
top related