• Nenhum resultado encontrado

QS 1 Fundamentos

N/A
N/A
Protected

Academic year: 2021

Share "QS 1 Fundamentos"

Copied!
23
0
0

Texto

(1)

Fundamentos

Prof. Davi Viana dos Santos

Gestão da Qualidade de Software

• Introdução a qualidade

– Princípios Básicos – Benefícios

– Breve histórico

• Qualidade de Software

• 5 erros da Qualidade de software

• Visões da Qualidade de Software

• Custo da Qualidade de Software

• Fator Humano da Qualidade de Software

Agenda

2 Fundamentos de Qualidade de Software

(2)

3 Fundamentos de Qualidade de Software

Refletindo...

O que é um carro de QUALIDADE?

Exemplo retirado de “Guerra, Ana. Slidesde Curso. Disponível em :

http://www.ic.unicamp.br/~eliane/Cursos/SeminariosPos-2009/AnaGuerra-Qualidade.pdf

Princípios básicos da qualidade

1. Tentar prevenir defeitos ao invés de consertá-los

2. Ter a certeza que os defeitos que foram

encontrados, sejam corrigidos o mais rápido

possível

3. Estabelecer e eliminar as causas, bem como os

sintomas dos defeitos

4. Auditar o trabalho de acordo com padrões e

procedimentos previamente estabelecidos

(3)

5 Fundamentos de Qualidade de Software

Benefícios da Qualidade

Para o fornecedor do produto (1/2):

– Maior produtividade

– Maior precisão nas estimativas – Redução de defeitos no produto – Aumento da confiabilidade do produto – Menos esforço de re-trabalho

6 Fundamentos de Qualidade de Software

Benefícios da Qualidade

Para o fornecedor do produto (2/2):

– Menos horas extras de trabalho

– Redução do tempo para atender o mercado

– Redução de custo de desenvolvimento e manutenção – Maior competitividade

(4)

7 Fundamentos de Qualidade de Software

Benefícios da Qualidade

Para o contratante:

– Definição de critérios para seleção e descredenciamento de fornecedores

– Criação de processos de acompanhamento do progresso e desempenho dos fornecedores em todas as etapas – Definição de critérios para avaliação e aceitação dos

produtos entregues pelo fornecedor

Breve Histórico da Qualidade

Relatos da qualidade no egito antigo

– Medida de comprimento: cúbito

Grande Marco: Revolução Industrial

– Desencadeou um processo de melhoria contínua

1920: Controle Estatístico da Produção

1940: Organizações ligadas à Qualidade

– ASQC, ABNT, ISO – Destaque ao Japão

(5)

9 Fundamentos de Qualidade de Software

Breve Histórico da Qualidade

1968: Crise do Software e relatório do Comitê de

Ciência da OTAN

– 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 exatamente o que era esperado – Programas tão difíceis de usar que são descartados – Programas que simplesmente param de funcionar

Quais são os problemas enfrentados hoje?

10 Fundamentos de Qualidade de Software

Algumas particularidades do software:

Exemplo retirado de “Guerra, Ana. Slides de Curso. Disponível em :

http://www.ic.unicamp.br/~eliane/Cursos/SeminariosPos-2009/AnaGuerra-Qualidade.pdf

É uma construção infinitamente maleável

Não existe produção em série

Não se desgasta nem se modifica com o uso

O custo final é de projeto e desenvolvimento

Produto extremamente complexo

(6)

11 Fundamentos de Qualidade de Software

Algumas particularidades do software:

Exemplo retirado de “Guerra, Ana. Slides de Curso. Disponível em :

http://www.ic.unicamp.br/~eliane/Cursos/SeminariosPos-2009/AnaGuerra-Qualidade.pdf

É uma construção infinitamente maleável

Não existe produção em série

Não se desgasta nem se modifica com o uso

O custo final é de projeto e desenvolvimento

Produto extremamente complexo

O que é um software de qualidade para você?

A Engenharia de Software tem como objetivo criar

produtos confiáveis e eficientes

– Gerenciar a qualidade de software é importante para atingir esses objetivos

(7)

No contexto da Engenharia de Software é o grau

no qual um sistema, componente ou processo

satisfaz os requisitos específicos e as necessidades

e expectativas do cliente ou usuário

[IEEE, 1990]

Qualidade de Software

13 Fundamentos de Qualidade de Software

Outras definições:

– Garantir que especificações explícitas e necessidades implícitas estejam presentes no produto, por meio da definição e normatização de processos de desenvolvimento[Guerra e Colombo, 2009]

– Conformidade[Rezende, 2005]:

• A requisitos funcionais e de desempenho explicitamente declarados

• A padrões de desenvolvimento claramente documentados • A características implícitas que são esperadas de todo

software ou sistema profissionalmente desenvolvido • Atendimento aos padrões de uma norma e dos

clientes/usuários

Qualidade de Software

14 Fundamentos de Qualidade de Software

(8)

15 Fundamentos de Qualidade de Software

Se eu tivesse revisado as atas de reunião com o cliente?

Se eu tivesse inspecionado os

requisitos e os casos de uso? Se eu tivesse avaliado a execução do processo de desenvolvimento? Se eu tivesse revisado

o código?

Qualidade de Software

(9)

• Desenvolvedores se preocupam com qualidade de

software depois que o código foi gerado

[PRESSMAN, 2006]

Qualidade de Software

17 Fundamentos de Qualidade de Software

Quando devemos nos preocupar com a gestão da qualidade de software?

• Desenvolvedores se preocupam com qualidade de

software depois que o código foi gerado

[PRESSMAN, 2006]

Qualidade de Software

18 Fundamentos de Qualidade de Software

É uma atividade guarda-chuva e deve ser aplicada em todo o processo de

(10)

• Elabore uma forma de comparar dois programas

para saber qual deles tem mais qualidade

Exercício

19 Fundamentos de Qualidade de Software

• Apresentação das respostas 

Exercício

(11)

• 1º: Qualidade de software significa "ótimo", ou

"luxo", ou "brilhante", ou "de grande valor"

5 erros da Qualidade de Software

21 Fundamentos de Qualidade de Software

A palavra ”qualidade”, muitas vezes, é usada em expressões do tipo: “boa qualidade”, “má qualidade” e até “qualidade de vida”.

Mas, cada um que a ouve atribui um significado para o que seja “qualidade de vida”. É preciso definir “qualidade de vida” em termos específicos, tais como: renda familiar; saúde; controle de poluição; programas políticos e quaisquer outros itens que possam ser medidos

Retirado de: “GUERRA, Ana Cervigni; COLOMBO, Regina Maria Thienne. Tecnologia da Informação: qualidade de produto de software. Brasilia: PBQP, 2009. 429p.”

• 2º:

Qualidade

é

intangível,

portanto

não

mensurável.

5 erros da Qualidade de Software

22 Fundamentos de Qualidade de Software

Na verdade, qualidade é precisamente mensurável por meio da mais antiga e respeitada medida, o dinheiro.

Ignorar esse fato tem levado gerentes a perder muito dinheiro. A qualidade é medida pelo “custo da qualidade”, que é a despesa, ou “custo da não conformidade”, que é o custo de fazer coisas erradas.

Retirado de: “GUERRA, Ana Cervigni; COLOMBO, Regina Maria Thienne. Tecnologia da Informação: qualidade de produto de software. Brasilia: PBQP, 2009. 429p.”

(12)

• 3º: As desculpas dos gerentes para não fazer nada, em relação à qualidade de seus produtos, é que "seu negócio é diferente" e que a "ciência" da qualidade não os ajudaria a fazer o que já fazem, e de forma ainda melhor

5 erros da Qualidade de Software

23 Fundamentos de Qualidade de Software

Eles ainda não compreenderam o real significado de “qualidade” e continuam acreditando que ela significa “luxo”. Nesses casos, é importante explicar o real significado de “qualidade” e que é sempre mais barato fazer certo na primeira vez.

Retirado de: “GUERRA, Ana Cervigni; COLOMBO, Regina Maria Thienne. Tecnologia da Informação: qualidade de produto de software. Brasilia: PBQP, 2009. 429p.”

• 4º: Os problemas de qualidade são originados por trabalhadores, principalmente aqueles que trabalham diretamente na área de produção.

5 erros da Qualidade de Software

Os funcionários da produção de uma fábrica são acusados de provocar os problemas. Na realidade eles pouco contribuem para a prevenção, ou não, de defeitos, pois todo planejamento e criação

(13)

• 5º: Qualidade é responsabilidade do departamento da qualidade.

5 erros da Qualidade de Software

25 Fundamentos de Qualidade de Software

O departamento da qualidade tem como atribuição:

1. Medir a conformidade de acordo com o que foi previamente determinado;

2. Reportar os resultados das medidas de forma clara e objetiva;

3. Liderar uma atitude positiva da empresa, na busca da melhoria da qualidade;

4. Prover e capacitar os funcionários com ferramentas que podem auxiliar na melhoria da qualidade. Porém, o departamento da qualidade “não deve” executar o trabalho, pois, caso o faça, a empresa nunca mudará sua conduta

Retirado de: “GUERRA, Ana Cervigni; COLOMBO, Regina Maria Thienne. Tecnologia da Informação: qualidade de produto de software. Brasilia: PBQP, 2009. 429p.”

• Qualidade do Produto

– Controle de Qualidade

• Qualidade do Processo

– Garantia da Qualidade

• Qualidade do Serviço

– Provido pela TI

Visões da Qualidade de Software

26 Fundamentos de Qualidade de Software

(14)

• Qualidade do Produto

– Controle de Qualidade

• Qualidade do Processo

– Garantia da Qualidade

• Qualidade do Serviço

– Provido pela TI

Visões da Qualidade de Software

27 Fundamentos de Qualidade de Software

• Critérios da qualidade de software

(ISO/IEC9126-1)

– Usabilidade • É fácil de usar? – Funcionalidade • Satisfaz as necessidades? – Confiabilidade • É imune as falhas?

Qualidade do Produto

(15)

• Critérios da qualidade de software

(ISO/IEC9126-1) – Eficiência • É rápido e enxuto? – Manutenibilidade • É Fácil de modificar? – Portabilidade

• É fácil utilizar em outro ambiente?

Qualidade do Produto

29 Fundamentos de Qualidade de Software

• CMMI

– Áreas de Processos

• Ex.: Planejamento do Projeto, Garantia da Qualidade do processo e do Produto...

– Representações

• Contínua e por Estágios (5 Níveis)

• MPS.BR

– Processos

• Ex.: Gerência de Projetos, Gerência de Requisitos, Garantia da Qualidade...

– 7 níveis

Qualidade do Processo

30 Fundamentos de Qualidade de Software

(16)

31 Fundamentos de Qualidade de Software

Retirado de: “Campos , Fábio Martinho; TestExpert. Qualidade, Qualidade de Software e Garantia da Qualidade de Software São as Mesmas Coisas ?. Disponível em: http://testexpert.com.br/?q=node/669”

Garantia da Qualidade Controle de Qualidade Garante que o processo é definido e

apropriado

As atividades focam na descoberta de defeitos em itens específicos

Metodologia e padrões de desenvolvimento são exemplos de garantia da qualidade

Um exemplo de controle da qualidade poderia ser: "Os requisitos definidos são os requisitos certos?"

É orientada a processo É orientado a produto É orientada a prevenção É orientado a detecção Foco em monitoração e melhoria de

processo

Inspeções e garantia de que o produto de trabalho atenda aos requisitos especificados As atividades são focadas no inicio das fases

no ciclo de vida de desenvolvimento de software

As atividades são focadas no final das fases no ciclo de vida de desenvolvimento de software

Garante que você está fazendo certo as coisas e da maneira correta

Garante que os resultados do seu trabalho são os esperados conforme requisitos

• É necessário um planejamento adequado para que a

qualidade de software seja atingida, conforme a

definição de qualidade que deverá ser alcançada.

– São necessários modelos, padrões, procedimentos e técnicas para atingir essas metas de qualidade propostas. – Todas as etapas do ciclo de vida de engenharia de

software devem ser contempladas com atividades que visam garantir a qualidade tanto do processo quanto do produto.

(17)

• Para estudantes de computação?

• Para profissionais da Indústria?

Qualidade e Bugs

33 Fundamentos de Qualidade de Software

Qualidade = não ter bugs?

• O dilema gerencial

– Um programa edição de texto

– Falhas apareciam apenas sob certas condições, como trabalhar em textos muito longos

– O fabricante explicou para um cliente insatisfeito que menos de 1% dos clientes tiveram o problema

– Alterar o código implicaria mudanças profundas e poderia introduzir novos problemas – um risco muito grande – Em nome dos 99% de clientes satisfeiros o gerente tinha

razão em não corrigir o programa

Alguns exemplos (para PENSAR)

34 Fundamentos de Qualidade de Software

(18)

• A importância Relativa

– Vários jogos de computador possuem imperfeições no tratamento de colisão entre sólidos

– Objetos atravessam paredes

– Isso impede os usuários continuarem se divertindo? – Isso impede a recomendação desses produtos?

Alguns exemplos (para PENSAR)

35 Fundamentos de Qualidade de Software

• Precisa decidir o que significa qualidade

• Não é um assunto que possa ser tratado como

dogmas

– "Não cometerás erro de programação"

• Adote uma perspectiva técnica e considere alguns

fatores

– Tamanho e complexidade do software – Número de pessoas envolvidas no projeto

(19)

• Formas do software adquirir qualidade:

– Uma construção que utilize processos maduros e bem definidos

– Identificação e resolução dos problemas do software, antes que ele seja entregue aos usuários

– Estabilização pós-implantação do software

• Possibilidade de alguns ciclos desgastantes de ocorrência de falhas, identificação e correção de defeitos,

• Com a liberação de novas versões da aplicação.

Custo da Qualidade de Software

37 Fundamentos de Qualidade de Software

A cada uma dessas alternativas, está associado um custo específico.

Custo da Qualidade de Software

38 Fundamentos de Qualidade de Software

(20)

• Custo de Prevenção

– É um investimento realizado para se evitar erros e fazer o trabalho certo na primeira tentativa.

– É um investimento com retorno a médio ou longo prazo e que contempla:

• Criação de métodos e procedimentos • Melhoria de processos

• Capacitação dos profissionais • A aquisição de ferramentas • Planejamento da qualidade.

– Esse custo ocorre antes da criação do produto.

Custo da Qualidade de Software

39 Fundamentos de Qualidade de Software

• Custo de Avaliação

– Esse custo refere-se ao que é gasto em procedimentos de verificação e em testes dos produtos de software para identificação de defeitos

– Após a sua construção e antes que sejam disponibilizados para uso ou implantados em produção.

– Contempla tanto produtos intermediários, como documentos de requisitos, modelos de dados ou especificações, como também o produto de software

(21)

• Custo de Falhas

– Envolve todos os custos associados a produtos defeituosos, que já foram entregues aos usuários ou disponibilizados em produção e que geraram algum tipo de falha.

– Esses custos referem-se ao retrabalho para reparação de produtos defeituosos, ou a prejuízos decorrentes das falhas no software.

• Falhas Interas e Externas

– Incluem-se nesta categoria, também os custos associados à manutenção de um Help Desk.

Custo da Qualidade de Software

41 Fundamentos de Qualidade de Software

• Fator 1: Organização do Trabalho

– Boas relações Informais entre os desenvolvedores – Liderança adequada

– Fazer o grupo compartilhar a responsabilidade de definir os objetivos do software

– Utilizar metodologias, métodos e técnicas para organização do trabalho

• MPS.BR, CMMI, XP, Scrum.

Fatores Humanos da Qualidade de Software

42 Fundamentos de Qualidade de Software

(22)

• Fator 2: Comunicação

– Auxilia a garantir que todos os envolvidos tenham em mente a construção da mesma e única solução

• Compreensão sobre o que se está trabalhando – Comunicação Formal:

• Reuniões, E-mails formais, comunicadores empresariais

– Comunicação Informal

• Troca de ideias e comentários no ambiente de trabalho – Pode revelar posturas e atitudes

• Positivas ou Negativas

Fatores Humanos da Qualidade de Software

43 Fundamentos de Qualidade de Software

• Fator 3: Individualismo

– Apesar do esforço conjunto para fazer um projeto, a solução ocorre basicamente dentro da mente de um desenvolvedor

– Alguns desenvolvedores sentem-se ofendidos com a ideia de mudarem seus hábitos em favor de padrões de uma equipe

– Relação de possessão entre o desenvolvedor e o produto • Defeitos no software podem ser interpretados como

(23)

• Livro: Qualidade de Software. André Koscianski e

Michel dos Santos Soares

• Livro: Engenharia de Software: Fundamentos,

Métodos e Padrões. Wilson Pádua

• Web:

http://basedetestedesoftware.blogspot.com.br/2010

/05/o-custo-da-qualidade-de-software.html

Referências

45 Fundamentos de Qualidade de Software

Fundamentos – Parte A

Prof. Davi Viana dos Santos

Referências

Documentos relacionados

 Descreve a arquitetura de processos de ciclo de vida de software mas não especifica os detalhes de como implementar ou realizar as atividades e tarefas incluídas nos processo..

Qual a percepção do usuário em relação à qualidade dos serviços de testes de software, quando adotada fábrica de testes no ciclo de desenvolvimento1. Para tanto, foi delineado

FUNTEP - Fundo Nacional de Formação Técnica e Profissional IBGE - Instituto Brasileiro de Geografia e Estatística IDH - Índice de Desenvolvimento Humano IDORT - Instituto

Realizei ainda uma comparação entre os jogadores mais utilizados da equipa em relação ao número de passes certos e errados, recuperações e perdas de bola e remates à baliza e fora,

Para ABIPA (2012), o MDF é um material que apresenta excelente estabilidade dimensional, pertence ao grupo de painéis de madeira reconstituída, caracterizada pela sigla Medium

Esse ritual de coroação e destronamento exerceu sobre o pensamento artístico especial influência, caracterizada num “tipo destronante” de imagens, ambivalentes e não

Os resultados obtidos dos cimentos utilizados para ensaios obtiveram-se alte- rações nos resultados a resistência à compressão aos 28 dias compreendendo-se que durante

O conflito aparece da diferenciação, da alteridade, e com isso, a Escola tem que buscar perceber dentro dessa diferença existente nos vários grupos sociais, uma forma de buscar