Qualidade de software

31
Qualidade de Software Álvaro Oliveira 1 ; Bruno Neves 2 1 - [email protected] 2- [email protected] UNIVERSIDADE ESTADUAL DO CEARÁ – UECE PRÓ-REITORIA DE PÓS-GRADUAÇÃO E PESQUISA - PROPGPq CENTRO DE CIÊNCIAS E TECNOLOGIA – CCT Mestrado Acadêmico em Ciência da Computação - MACC Engenharia de Software Prof. Dr. Paulo Henrique Mendes Maia

Transcript of Qualidade de software

Qualidade de SoftwareÁlvaro Oliveira1; Bruno Neves2

1 - [email protected] [email protected]

UNIVERSIDADE ESTADUAL DO CEARÁ – UECEPRÓ-REITORIA DE PÓS-GRADUAÇÃO E PESQUISA - PROPGPq

CENTRO DE CIÊNCIAS E TECNOLOGIA – CCTMestrado Acadêmico em Ciência da Computação - MACC

Engenharia de SoftwareProf. Dr. Paulo Henrique Mendes Maia

Crise de Software● Foram descobetos no ano de 1960;● No desenvolvimento de um grande sistema;● Continuaram a incomodar durante todo o seculo xx.

2

Crise do Software - Problemas● Cronogramas não observados.● Projetos abandonados.● Módulos que não operam corretamente quando combinados.● Programas que não fazem exatamente o que era esperado.● Sistemas tão difíceis de usar que são descartados.● Sistemas que simplesmente param de funcionar.

3

E hoje?

4

Como definir Qualidade?● Qualidade é um termo que pode ter diferentes interpretações;

● Existem muitas definições de qualidade propostas na literatura com

diferentes pontos de vista;

● Visão popular pode ser diferente do seu uso profissional.

5

Exemplo: Carro

O que um determinado produto apresenta para considerarmos

que o mesmo tem qualidade?

6

Exemplo: Carro● Diversos aspectos são levados em conta:

No caso de um automóvel, fatores como conforto, segurança,

desempenho, beleza e $$ têm estreita relação com a qualidade.

7

Normas e Modelos para Qualidade● ISO 9126 - Norma para qualidade de produtos de software

● ISO 12119 - Norma para qualidade de pacotes de software

● ISO 12207 - Processos de ciclo de vida do software.

● NBR ISO 9003:2004 -Diretrizes para aplicação da norma ISO 9001

ao desenvolvimento, fornecimento e manutenção de software.

● CMMI- Capability Maturity Model Integration. Modelo do SEI que

estende o CMM para avaliação de processos de software.

8

Conceito de QualidadeSegundo a atual norma brasileira sobre o assunto (NBR ISO 8402), qualidade é:

“A totalidade das características de uma entidade

que lhe confere a capacidade de satisfazer

às necessidades explícitas e implícitas”

9

Qualidade de Software - Motivação● O principal objetivo da Engenharia de Software (ES) é ajudar a produzir

software de qualidade;● Empresas que desenvolvem software de qualidade são mais

competitivas;● Empresas que utilizam software de alta qualidade podem, em geral,

oferecer um melhor serviço a um preço mais competitivo.

10

Definição de Qualidade de Software“Conjunto de características a serem

satisfeitas em um determinado grau, de modo que o software satisfaça às necessidades de seus usuários”

11

Princípios Básicos da Qualidade

12

Redução de custo da Qualidade

Satisfação do cliente

Controle do projeto

Melhoria continua dos processos

O que o Cliente Deseja?● Atendimento aos requisitos especificados● Defeito zero● Alto desempenho● Baixo custo● Desenvolvimento rápido● Facilidade de uso● Eficiência nos serviços associados● Inovação

13

Gerenciamento da qualidade● Nível organizacional

○ Framework;○ Padrões de processos organizacionais;○ Definir os processos de desenvolvimento de software;

■ Incluindo os requisitos de sistema, projeto e código.● Nível de projeto

○ Aplicação de processos de qualidades;○ Saídas conformes aos padrões do projeto;○ Estabelecimento do plano de qualidade.

14

Plano de qualidade

● Introdução ao produto● Planos de produto● Descrições de processo● Metas de Qualidade● Riscos e Gerenciamentos de riscos

15

Deve estabelecer as qualidades desejadas para o software e descrever como elas devem ser avaliadas.

Importante Saber

16

Plano de qualidade, você deve tentar mantê-los o mais

breve possível.

Garantia X Controle

Qualidade17

Garantia da Qualidade● Tenta produzir software com uma baixa taxa de defeitos;● Natureza proativa (Estar no controle)● Definição de procedimentos, padrões, treinamentos.● Gerência e melhoria de processo.

18

Controle da Qualidade● Evita que produtos defeituosos sejam entregues aos

clientes;● Natureza reativa (Estar sob controle)● Objetiva monitoração de processo, e detecção e correção

de defeitos.● Ex: Inspeções, ensaios e testes.

19

Revisões e Inspeções● Atividades de controle de qualidade que examinam software e sua

documentação em busca de possíveis erros ou inconformidades com os padrões previamente escolhidos.

20

Isto envolve:● Examinar o software:

○ Sua documentação;○ os registros do processo para descobrir erros e omissões;○ verificar se os padrões de qualidade foram seguidos

O Processo de RevisãoDivide-se em Três: Atividades pré-revisão, Reunião de Revisão e Atividades pós-revisão.

21

Inspeções de Programa● As inspeções de programa são'revisões em pares'em que os membros da

equipe colaboram para encontrar bugs no programa que está sendo desenvolvido.

● As inspeções podem fazer parte dos processos de verificação e validação de software.

● Elas complementam os testes.● Se usa um checklist de erros comuns de programação para ajudar na

busca por bugs.

22

Um checklist de inspeção

23

Medições e métricas

Fonte: Sommerville,9ª Edição24

99 % é bom?● Visão Clássica de Qualidade● Equivale a 3,8 sigma.

O que isso significa?

Supondo que 5 mil cirurgias sejam realizadas num hospital por semana.

50 operações por semana seriam incorretas !

25

99% é bom?

Tabela de Conversão do Nível SIGMA

Porcentagem de Acerto Defeitos por Milhão de Oportunidades (DPMO)

SIGMA

31% 690.000 1 sigma

69,2% 308.537 2 sigma

93,3% 66.807 3 sigma

99,4% 6.210 4 sigma

99,977% 233 5 sigma

99,99966% 3,4 6 sigma

26

Histórico do Seis SIGMACriado em 1980 pela Motorola

Popularizou-se por ser utilizado com sucesso em empresas como a General Eletric e a Allied Signal.

Sigma é uma letra grega que é usada para representar o desvio padrão da média. Quanto maior o desvio padrão, maior a imprevisibilidade.

27

O que é o Seis SIGMA?Conjunto de práticas para otimizar o desempenho dos processos, eliminando os defeitos e colocando-os em consonância com o padrão da empresa.

Sua escala é usada para medir o nível de qualidade de um processo através de uma relação entre o número de defeitos por milhão e o nível SIGMA.

O objetivo é chegar próximo de “zero” defeito.

28

Seis SIGMA e o DMAIC● D - Definir (Define)

○ define-se com precisão o escopo do projeto

● M- Medir (Measure)○ determina-se a localização ou foco do problema

● A- Analisar (Analyze)○ determinam-se as causas de cada problema prioritário

● I - Melhorar (Improve)○ propõem-se, avaliam-se e implementam-se soluções para cada problema prioritário

● C - Controlar (Control)○ garante-se que o alcance da meta seja mantido no longo prazo

29

O reino perdido

30

Eventos sobre Qualidade de Software

1. International Quality Software Conference - QSIC

2. Simpósio Brasileiro de Qualidade de Software – SBQS

31