Qualidade de Software

Download Report

Transcript Qualidade de Software

* Livro: Engenharia de Software * Autor: Roger S. Pressman * Editora Makron Books * Capítulo 17

INTRODUÇÃO

  

Todos os métodos, ferramentas utilizados em um software tem um “produzir software de alta qualidade”.

e procedimentos único objetivo: A garantia de qualidade de software é aplicada ao longo de todo o processo de engenharia de software.

Qualidade de software abrange:

 

1. Métodos e ferramentas de análise; 2. Revisões técnicas;

  

3. Estratégia de testes; 4. Controle da documentação; 5. Adequação nos padrões de desenvolvimento.

2

QUALIDADE DE SOFTWARE E GARANTIA DE QUALIDADE DE SOFTWARE

  

A elevada qualidade de software importante.

é uma meta Qualidade de software é : “Conformidade a requisitos funcionais e de desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentados e a que características implícitas são esperadas de todo software profissionalmente desenvolvido.

” Os requisitos do software qual a qualidade é são a base a partir da medida.

A falta de conformidade aos requisitos significa falta de qualidade.

3

QUALIDADE DE SOFTWARE E GARANTIA DE QUALIDADE DE SOFTWARE

 

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.

Há um conjunto de requisitos implícitos que não são mencionados. Se o software se adequar aos seus requisitos explícitos, mas deixar de cumprir seus requisitos software implícitos, a qualidade de será suspeita.

4

Fatores De Qualidade De Software

 

A qualidade de software é uma combinação complexa de fatores que diferentes variarão de acordo com aplicações e clientes que as solicitam.

São medidos em dois grupos:

1. Fatores que podem ser medidos diretamente.

Exemplos: erros, KLOC, unidade de tempo.

2. Fatores que podem ser medidos indiretamente.

Exemplo: usabilidade e manutenibilidade.

5

Fatores De Qualidade De Software

É preciso comparar o software com algum dado e chegar a uma indicação de qualidade.

Há alguns fatores de qualidade de software que focalizam 3 aspectos importantes: suas características operacionais, sua facilidade de manutenção e sua adaptabilidade a outro ambiente.

6

Fatores De Qualidade De Software

Revisão do Produto Transição do Produto Operação do Produto

7

Fatores De Qualidade De Software

     

Os fatores descrições: de qualidade apresentam as seguintes Corretude: à medida que um programa satisfaz sua especificação e cumpre os objetivos.

Confiabilidade: à medida que se pode esperar que um programa execute sua função pretendida com precisão exigida.

Eficiência: quantidade de recursos de computação e de código exigida para que um programa execute sua função.

Integridade: à medida que o acesso ao software ou os dados por pessoas não-autorizadas é controlado.

Usabilidade: esforço para aprender, operar, preparar a entrada e interpretar a saída de um programa.

8

Fatores De Qualidade De Software

     

Manutenibilidade: esforço exigido para localizar e reparar erros num programa.

Flexibilidade: esforço exigido para modificar um programa operacional.

Testabilidade: esforço exigido para testar um programa a fim de garantir sua execução.

Portabilidade: esforço exigido para transferir o programa de um ambiente para outro.

Reusabilidade: um programa pode ser reusado por outros programas.

Interoperabilidade: sistema a outro.

esforço exigido para se acoplar um

9

Fatores De Qualidade De Software

      

Concisão: compactação do programa em termos de linhas de código.

Segurança: controle que protege programa e dados.

Simplicidade: o quanto um programa pode ser entendido sem dificuldade.

Modularidade: independência funcional dos componentes.

Expansibilidade: o quanto o projeto de arquitetura, procedimental e de dados podem ser ampliados.

Inteireza: o quanto a requerida foi conseguida.

implementação total da função Autodocumentação: o quanto o código-fonte apresenta documentação significativa.

10

Fatores De Qualidade De Software

E ainda, FURPS :

Funcionalidade: é aferida avaliando-se o conjunto de características e as capacidades do programa.

 

Usabilidade: humanos, a documentação.

avaliada estética considerando-se global, a Confiabilidade: avaliada medindo-se a gravidade de falhas.

os consistência fatores e a freqüência e a

 

Desempenho: medido avaliando-se processamento, tempo de resposta e a velocidade eficiência.

Suportabilidade: capacidade de ampliar o programa.

de

11

Garantia de Qualidade de Software (SQA)

   

É importante para negócios que geram produtos que são usados por outros.

Paralela com a hardware.

história da qualidade na manufatura de Segue um padrão sistemático e planejado de ações que são exigidas para garantir a qualidade.

As pessoas que realizam a SQA devem olhar para o software a partir do ponto de vista do cliente.

  

O software atende aos fatores de qualidade ?

Foi conduzido com padrões preestabelecidos ?

As disciplinas técnicas foram cumpridas ?

12

Atividades SQA

Compreende uma variedade de tarefas:

1. Aplicação de métodos técnicos;

2. Realização de revisões técnicas formais;

3. Atividades de testes de software;

4. Aplicação de padrões;

5. Controle de mudanças;

6. Medição;

7. Manutenção de registros e reportagem.

13

Atividades SQA

 

A SQA inicia-se com o conjunto de

ferramentas

conseguir

métodos e

técnicas que ajudam o analista a uma especificação de elevada qualidade.

Quando uma especificação e um projeto tiverem sido criados, cada um deve ser avaliado quanto à qualidade.

A atividade de teste de software combina uma estratégia de múltiplos passos com uma série de métodos de projeto de casos de teste que ajudam a garantir uma detecção de erros efetiva.

14

Atividades SQA

   

O grau em que padrões e procedimentos formais são aplicados no processo de engenharia de software varia de empresa para empresa, podendo ser determinados pelos clientes ou por imposições regulares.

Toda mudança no software tem potencial para introduzir erros ou criar efeitos colaterais que propagam erros.

Controlar mudanças contribui para a qualidade do software.

A medição é uma atividade que faz parte de qualquer disciplina de engenharia.

15

Atividades SQA

 

Um objetivo importante da SQA software deve ser coletada.

é rastrear a qualidade de software e avaliar o impacto das mudanças metodológicas e procedimentais sobre a qualidade de software. Uma

métrica de

A anotação e manutenção de registros oferecem procedimentos para a coleta e disseminação de informações de SQA. Os resultados de revisões, auditorias, controle de mudanças e testes devem ser levados ao conhecimento do pessoal de desenvolvimento, tendo-se como base a necessidade de conhecimento.

16

REVISÕES DE SOFTWARE

  

São um “filtro”para o processo de engenharia de software.

Servem para descobrir defeitos que possam ser eliminados.

Apesar de as pessoas captarem alguns de seus próprios erros, grandes classes de erros escapam e outras pessoas podem identificar mais facilmente.

Revisão é uma maneira de :

Apontar melhorias necessárias ao produto.

 

Confirmar as partes de um produto em que uma melhoria não é desejada ou não é necessária.

Realizar um trabalho técnico com uma qualidade mais uniforme ou, pelo menos, mais previsível.

17

REVISÕES DE SOFTWARE

  

Muitos tipos diferentes de realizados software.

como parte revisões podem ser da engenharia de Um encontro informal em torno de máquina de café é uma forma de revisão, se problemas técnicos forem discutidos.

Uma apresentação formal do projeto de software a uma platéia de clientes, à administração e ao pessoal técnico é uma forma de revisão.

18

Impacto de Custo de Defeitos de Software

O objetivo de revisões é descobrir defeitos no software, de forma que possam ser corrigidos.

 

50% a 60% de todos os erros ocorrem durante a fase de desenvolvimento do processo de engenharia de software.

Técnicas de revisão formais são até 75% efetivas na descoberta de falhas de projeto.

Detectar e suprimir erros reduz o custo dos passos posteriores nas fases que se seguem.

19

Impacto de Custo de Defeitos de Software

Exemplo: considere uma série de custos que se baseia em dados reais compilados. Suponha que um erro descoberto durante a fase de projeto custe 1u para ser corrigido. Se o erro for descoberto no início dos testes, custará 6,5u; durante os testes 15u; e após o lançamento, entre 60 a 100u

(u = unidade monetária)

20