A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software

Apresentações semelhantes


Apresentação em tema: "ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software"— Transcrição da apresentação:

1 ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software
* Livro: Engenharia de Software * Autor: Roger S. Pressman * Editora Makron Books * Capítulo 17

2 INTRODUÇÃO Todos os métodos, ferramentas e procedimentos utilizados em um software tem um único objetivo: “produzir software de alta qualidade”. 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.

3 QUALIDADE DE SOFTWARE E GARANTIA DE QUALIDADE DE SOFTWARE
A elevada qualidade de software é uma meta importante. Qualidade de software é : “Conformidade a requisitos funcionais e de desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todo software profissionalmente desenvolvido.” Os requisitos do software são a base a partir da qual a qualidade é medida. A falta de conformidade aos requisitos significa falta de qualidade.

4 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 implícitos, a qualidade de software será suspeita.

5 Fatores De Qualidade De Software
A qualidade de software é uma combinação complexa de fatores que variarão de acordo com diferentes 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.

6 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.

7 Fatores De Qualidade De Software
Revisão do Produto Transição Operação

8 Fatores De Qualidade De Software
Os fatores de qualidade apresentam as seguintes descrições: 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.

9 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: esforço exigido para se acoplar um sistema a outro.

10 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 implementação total da função requerida foi conseguida. Autodocumentação: o quanto o código-fonte apresenta documentação significativa.

11 Fatores De Qualidade De Software
E ainda, FURPS: Funcionalidade: é aferida avaliando-se o conjunto de características e as capacidades do programa. Usabilidade: avaliada considerando-se os fatores humanos, a estética global, a consistência e a documentação. Confiabilidade: avaliada medindo-se a freqüência e a gravidade de falhas. Desempenho: medido avaliando-se a velocidade de processamento, tempo de resposta e eficiência. Suportabilidade: capacidade de ampliar o programa.

12 Garantia de Qualidade de Software (SQA)
É importante para negócios que geram produtos que são usados por outros. Paralela com a história da qualidade na manufatura de hardware. 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 ?

13 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.

14 Atividades SQA A SQA inicia-se com o conjunto de métodos e ferramentas técnicas que ajudam o analista a conseguir 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.

15 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.

16 Atividades SQA Um objetivo importante da SQA é 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 software deve ser coletada. 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.

17 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.

18 REVISÕES DE SOFTWARE Muitos tipos diferentes de revisões podem ser realizados como parte da engenharia de software. 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.

19 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.

20 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)


Carregar ppt "ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software"

Apresentações semelhantes


Anúncios Google