27
Douglas Diego INESUL- ANÁPOLIS 1

Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Douglas Diego

INESUL- ANÁPOLISINESUL- ANÁPOLIS

1

Page 2: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Agenda

� O que é Qualidade?

� O que é Qualidade de Software?

� Qualidade do Produto e do Processo� Qualidade do Produto e do Processo

� Normas e Organismos Normativos

� Qualidade de Software e Processos Relacionados

2

Page 3: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

O que é Qualidade?� O que um determinado produto apresenta para

considerarmos que o mesmo tem qualidade?

Ex.: Carro

� Qualidade é um conceito relativo. Diversos aspectos são levados em conta. No caso de um automóvel, fatores como conforto, segurança, desempenho, beleza e custo têm estreita relação com a qualidade.

3

Page 4: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

O que é Qualidade?

� Qualidade está fortemente relacionada à conformidade com os requisitos.

� O que é “conformidade em relação a requisitos”? observado x especificado.

� Pode haver problemas na observação.

� Pode haver problemas na especificação.

4

Page 5: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

O que é Qualidade?� Qualidade diz respeito à satisfação do cliente.

� Requisitos são especificados por pessoas e com o objetivo de satisfazer outras pessoas.objetivo de satisfazer outras pessoas.� Uma especificação depende das escolhas feitas (clientes

alvo).

� Pode haver problemas na especificação.

5

Page 6: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Breve Histórico da Qualidade� Relatos Históricos de 4.000 anos atrás no Egito.

� Marco Importante: Revolução Industrial

� 1920: Controle Estatístico da Produção

� 1940: Surgimento de vários organismos ligados à qualidadequalidade� ASQC (American Society for Quality Control)

� ABNT (Associação Brasileira de Normas Técnicas)

� ISO (International Standardization Organization)

� Ainda década de 1940: Japão destaca-se.

� Década de 1970: Qualidade de Software

6

Page 7: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

O que é Qualidade de Software?

� Conferência da NATO (1968) – Crise de Software

� Problemas detectados:� 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.

� Passados 40 anos, o que mudou?

7

Page 8: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

O que é Qualidade de Software?

� Qualidade em geral:� é um conceito relativo.

� está fortemente relacionada à conformidade com requisitos.requisitos.

� diz respeito à satisfação do cliente.

� Como isso se manifesta em software?

8

Page 9: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Desenvolvimento de Software

� O aspecto não repetitivo do desenvolvimento de software torna essa atividade difícil e, em boa medida, imprevisível.

� Delimitar o escopo de um sistema não é trivial.� Delimitar o escopo de um sistema não é trivial.

� A volatilidade dos requisitos é lugar comum no desenvolvimento de software.

9

Page 10: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Fatores que afetam o Desenvolvimento de

Software e influenciam a Qualidade

� Tamanho e complexidade do software;

� Número de pessoas envolvidas no projeto;

� Métodos, técnicas e ferramentas utilizadas;� Métodos, técnicas e ferramentas utilizadas;

� Custo x benefício do sistema;

� Custos associados à existência de erros;

� Custos associados à detecção e remoção de erros; etc.

10

Page 11: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

O que é 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

Usuários

Finais

Desenvolvedores

Usuários

Indiretos

Page 12: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Qualidade do Produto x

Qualidade do Processo de Software

� Qualidade do produto de software não se atinge de forma espontânea.

� A qualidade do produto depende fortemente da � A qualidade do produto depende fortemente da qualidade do processo de desenvolvimento.

12

Page 13: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

O que é Processo de Software?� Processos de Software devem estabelecer:

� atividades a serem realizadas durante o processo, sua estrutura e organização (decomposição e precedência), incluindo a definição de um modelo de ciclo de vida quando pertinente (ex.: processo de desenvolvimento);quando pertinente (ex.: processo de desenvolvimento);

� artefatos requeridos e produzidos por cada uma das atividades do processo;

� procedimentos (métodos, técnicas, roteiros e padrões) a serem adotados na realização das atividades;

� recursos necessários (humanos, hardware e software) para a realização das atividades.

13

Page 14: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Qualidade do Processo de Software

� Um bom processo não garante que os produtos produzidos são de boa qualidade, mas é um indicativo de que a organização é capaz de produzir bons de que a organização é capaz de produzir bons produtos.

14

Page 15: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Motivação para a busca da Qualidade do

Processo de Software

� Aumento da qualidade do produto.

� Diminuição do retrabalho.

Maior produtividade.� Maior produtividade.

� Redução do tempo para atender o mercado (time to market).

� Maior competitividade.

� Maior precisão nas estimativas.

15

Page 16: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Como definir um processo?� Apoio de Normas e Modelos de Qualidade de

Processos de Software.

16

Page 17: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Normas e Organismos Normativos

� Normas internacionais de qualidade são criadas notrabalho voluntário de especialistas do mundo todo.

� Essas normas tornaram-se a base para especificarprodutos, organizar o fornecimento de serviços e atéprodutos, organizar o fornecimento de serviços e atémesmo para a elaboração de legislação em váriospaíses.

17

Page 18: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Padrões de Facto

� Muitas vezes padrões surgem espontaneamente, apartir de uma necessidade ou como uma soluçãoamplamente adotada quando comparada a outrasalternativas.

� Padrões de facto são padrões aplicados na prática,mas que não foram formalizados como umregulamento.

� Podem ser criados involuntariamente ou por razõescomerciais.

18

Page 19: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Padrões de Jure

� São criados de maneira formal, regulamentada.

� São escritos seguindo regulamentos e aprovados porinstituições reconhecidas publicamente comocapacitadas para tal (ex., ISO, IEEE etc).capacitadas para tal (ex., ISO, IEEE etc).

19

Page 20: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Uso de Padrões � Adequação x Certificação.

� Adequação: deve preceder a certificação e consiste emcolocar em prática, total ou parcialmente, aquilo queé proposto no padrão.

� Certificação: Envolve a participação de um organismo� Certificação: Envolve a participação de um organismoou empresa externa que possa atestar que a empresacandidata segue efetivamente o padrão.

20

Page 21: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Qualidade e Processos Relacionados

Documentação Gerência de Configuraçãode Software

21

Qualidade de Software

Verificação e Validação

Page 22: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Documentação e Gerência de Configuração

� Artefatos registram a evolução do software para que sejam criadas as bases para o desenvolvimento, utilização e manutenção efetivos.

� Artefatos devem retratar fielmente o software, de � Artefatos devem retratar fielmente o software, de modo que as atividades de avaliação e modificação possam ser realizadas sem maiores transtornos.

� Artefatos evidenciam a evolução do projeto. Mas é muito importante registrar modificações que ocorrem nos mesmos, de modo a se ter um histórico da evolução, o que é feito por meio da Gerência de Configuração de Software (GCS).

22

Page 23: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Gerência de Configuração

� Permite manter o controle da evolução dos artefatos de software, além de ajudar a cumprir metas de garantia da qualidade.

� Envolve, dentre outros:� Envolve, dentre outros:� a identificação de itens de configuração de software, � controle de alterações, � registro e apresentação da situação dos itens e das

solicitações de alteração, � garantia da consistência dos itens alterados, � controle de versão, armazenamento, manipulação e

distribuição de itens.

23

Page 24: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Qualidade e Processos Relacionados

Documentação Gerência de Configuraçãode Software

24

Qualidade de Software

Verificação e Validação

Page 25: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Verificação e Validação

� Verificação: assegurar que o software, ou determinada função do mesmo, está sendo desenvolvido corretamente, o que inclui verificar se os métodos e processos estão sendo aplicados adequadamente.processos estão sendo aplicados adequadamente.

� Validação: assegurar que o software que está sendo desenvolvido é o software correto.

25

Page 26: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Análise Estática e Análise Dinâmica

� Análise Estática: não envolve a execução propriamente dita do produto. Pode e deve ser aplicada em qualquer artefato intermediário. Ex.: Revisões técnicas, inspeção de código.de código.

� Análise Dinâmica: envolve a execução do produto. Ex.: Testes.

26

Page 27: Douglas Diego INESUL-ANÁPOLIS · 10. O que é Qualidade de Software? ... capacitadaspara tal(ex.,ISO,IEEE etc). 19. Uso de Padrões AdequaçãoxCertificação. ... (GCS). 22. Gerência

Exercícios

1. Explique com suas palavras o que é Qualidade?

2. O que é Qualidade de Software?

3. Mostre as diferenças entre Qualidade do Produto e do Processo.do Processo.

4. Padrões de Facto e de Jure explique sobre eles.

5. Pesquise sobre Normas e Organismos Normativos e dê 3 exemplos.

6. Fale sobre Qualidade de Software e os Processos Relacionados a qualidade.

27