qualidade do software

47
Qualidade do Software Wagner Zaparoli [email protected]

Upload: wagner-zaparoli

Post on 21-Jan-2017

209 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Qualidade do Software

Qualidade do Software

Wagner Zaparoli

[email protected]

Page 2: Qualidade do Software

Qualidade do Software 2

Agenda

• Parte 1 – Conceitos Gerais

•Conceito de Qualidade de Software.

• Visões da Qualidade.

• Variáveis da Qualidade.

• Processo de Software.

• Modelos de Processos.

• Parte 2 – Guia de Avaliação

• Qualidade nas Fases do Processo.

• Qualidade na Gestão.

Page 3: Qualidade do Software

Qualidade do Software 3

Parte1 – Conceitos Gerais

Page 4: Qualidade do Software

Qualidade do Software 4

Conjunto de atributos de software que devem ser satisfeitos de modo que o software atenda

às necessidades dos usuários.

O que é Qualidade de Software?

Relacionada aos requisitos

Relacionada à falta de conformidade

Pode ser medida, controlada e gerenciada

Page 5: Qualidade do Software

Qualidade do Software 5

Diferentes Visões da Qualidade

Usuário

Facilidade de uso, Desempenho, Confiabilidade dos Resultados,

Preço do Software, etc...

Desenvolvedor

Taxa de Defeitos, Facilidade de Manutenção e Conformidade em

relação aos Requisitos dos Usuários, etc...

Organização

Cumprimento de Prazo, Boa Previsão de Custo, Boa

Produtividade

Page 6: Qualidade do Software

Qualidade do Software 6

Drops da Qualidade

Eficácia

Produtividade

Segurança

Satisfação

Adequação

Acurácia

Interoperabili-dade

Conformidade

Inteligibilida-de

Apreendibili-dade

Operacionali-dade

Atratividade

Maturidade

Tolerância a falhas

Recuperabili-dade

Manutenabili-dade

Testabilidade

EstabilidadeModificabi-lidade

Analisabili-dade

Page 7: Qualidade do Software

Qualidade do Software 7

Quadro Resumo da Qualidade*

Qualidade em Uso

Funcionalidade

Usabilidade

Confiabilidade

Eficiência

Manutenabilidade

Portabilidade

* ISO 9126

Page 8: Qualidade do Software

Qualidade do Software 8

O software deve ser capaz de permitir que usuários atinjam com eficácia, produtividade, segurança e

satisfação metas específicas

Qualidade em Uso

Quadro Resumo da Qualidade

Page 9: Qualidade do Software

Qualidade do Software 9

Confiabilidade

O software deve manter um nível de desempenho quando usado em condições específicas

Quadro Resumo da Qualidade

Page 10: Qualidade do Software

Qualidade do Software 10

Funcionalidade

O software deve prover funções que atendam necessidades explícitas e implícitas, quando utilizado

sob condições específicas

Quadro Resumo da Qualidade

Page 11: Qualidade do Software

Qualidade do Software 11

Portabilidade

Quando for o caso, o software deve ser transferível de um ambiente para outro especificado

Quadro Resumo da Qualidade

Page 12: Qualidade do Software

Qualidade do Software 12

Eficiência

O software deve apresentar desempenho apropriado, relativo à quantidade de recursos usados, sob

condições especificadas

Quadro Resumo da Qualidade

Page 13: Qualidade do Software

Qualidade do Software 13

Usabilidade

O software deve ser capaz de ser compreendido, apreendido e operado pelo usuário alvo

Quadro Resumo da Qualidade

Page 14: Qualidade do Software

Qualidade do Software 14

Manutenabilidade

O software deve permitir modificações como correções, melhorias ou adaptações, devido a mudanças no ambiente e nos seus requisitos ou especificações

funcionais

Quadro Resumo da Qualidade

Page 15: Qualidade do Software

Qualidade do Software 15

SoftwareProcesso

Qualidade de Software

Qualidade do Processo

Software como Resultado

Page 16: Qualidade do Software

Conjunto de atividades, métodos, práticas e tecnologias que as pessoas utilizam para desenvolver e manter software e produtos

relacionados

Qualidade do Software 16

Processo de Software - Definição

Page 17: Qualidade do Software

• Ad hoc – Improvisado• Fortemente dependente dos profissionais• Indisciplinado

Qualidade do Software 17

Processo de Software - Imaturo

• Pouca produtividade• Qualidade de difícil previsão• Alto custo de manutenção• Risco na adoção de novas tecnologias

Page 18: Qualidade do Software

• Processo conhecido por todos• Apoio visível da alta administração• Auditagem da fidelidade ao processo• Medidas do produto e do processo• Adoção disciplinada de tecnologias

Qualidade do Software 18

Processo de Software - Maduro

• Papéis e responsabilidades claramente definidos• Acompanhamento da qualidade do produto e da satisfação do cliente• Expectativas para custos, cronograma, funcionalidade e qualidade do produto é usualmente alcançado

Page 19: Qualidade do Software

Sem Controle• Improvisado

• Não Seguido

• Depende dos profissionais

• Baixa visão do progresso e

da qualidade

• Arriscado do ponto de vista

de uso de novas tecnologias

Qualidade do Software 19

Processo de Software – Dimensão Controle

Com Controle • Coerente; o trabalho é

efetivamente concluído

• Apoio da alta administração.

• Permite a medição do produto

e do processo

• Uso disciplinado da

tecnologia

Page 20: Qualidade do Software

Benefícios• Linguagem comum

• Processos e procedimentos

desenvolvidos com sugestões da

comunidade de software

• Estrutura para se priorizar as

ações

• Auxilia comparações com

diversas organizações

Qualidade do Software 20

Processo de Software – Modelos de Qualidade

Riscos• Modelos são simplificações

• Modelos podem não ser

abrangentes

• Interpretações e adaptações

• Bom senso e visão

Page 21: Qualidade do Software

Qualidade do Software 21

Processo de Software – Modelos de Qualidade

Page 22: Qualidade do Software

Qualidade do Software 22

Processo de Software – Modelos de Qualidade

• Framework que descreve os elementos chaves de um

processo de software eficaz.

• Um caminho de melhoramento evolucionário (5 níveis de

maturidade) para as organizações mudarem de um

processo imaturo para um processo maduro e disciplinado.

Page 23: Qualidade do Software

Qualidade do Software 23

Processo de Software – Modelos de Qualidade

• Designa um grupo de normas técnicas que estabelecem

um modelo de gestão da qualidade para organizações em

geral.

• ISO/IEC 9126 é uma norma ISO para qualidade de

produto de software baseado em três componentes:

Processo, Produto e Qualidade em Uso.

Page 24: Qualidade do Software

Qualidade do Software 24

Processo de Software – Modelos de Qualidade

• Modelo brasileiro de referência para melhoria do processo

de software baseado nos padrões ISO.

• Possui 7 níveis de maturidade onde são analisados os

processos fundamentais, os processos organizacionais, e

os processos de apoio.

Page 25: Qualidade do Software

Qualidade do Software 25

Parte2 – Guia de Avaliação

Page 26: Qualidade do Software

Qualidade do Software 26

Procedimentos Gerenciais

Procedimentos Operacionais

Processo

ATIVIDADES

RESPONSÁVÉIS

ENTREGÁVEIS

POLÍTICAS

SEGURANÇA

POLÍTICAS

ARQUITETURAIS

POLÍTICAS DE DADOS

DIRETRIZES LEGAIS

PMBOK

CMMI

/

ISO

ITIL

Page 27: Qualidade do Software

Pós-desenvolvimento

Desenvolvimento

Pré-desenvolvimento

Qualidade do Software 27

Processo Padrão de Desenvolvimento

Estudo Preliminar

ProjetoAnáliseConcepção

ConstruçãoTeste/Docum. Homologação Implantação

Planejamento

Manutenção

GESTÃO

Page 28: Qualidade do Software

Qualidade do Software 28

Resultado do Processo

Software

Page 29: Qualidade do Software

Qualidade do Software 29

Qualidade no Pré-desenvolvimento

Estudo Preliminar

• As necessidades funcionais estão identificadas e entendidas por todos os

participantes do processo?

• As necessidades não funcionais (software, hardware, infra-estrutura, etc.)

estão identificadas e entendidas por todos os participantes do processo?

• As necessidades de recursos humanos foram estimadas de acordo com as

necessidades identificadas acima?

• O tempo de esforço foi estimado de acordo com as necessidades

identificadas acima?

• Os potenciais riscos foram claramente identificados, conjuntamente com as

respectivas ações de mitigação e planos contingenciais?

• Os benefícios do projeto foram relacionados?

• O custo foi estimado e está em consonância com os itens anteriores?

• A análise da relação custo/benefício foi realizada?

• O cliente e demais participantes aprovaram o projeto e estão de acordo com

as informações contidas neste estudo?

• Se aprovado o projeto, existem ressalvas que impactam a sua continuidade?

Page 30: Qualidade do Software

Qualidade do Software 30

Qualidade no Desenvolvimento

Planejamento

• Os membros da equipe estão definidos?

• O papel de cada membro está claramente entendido?

• O cronograma do projeto foi elaborado, contendo as

atividades, tempo de realização e responsável pela

realização?

• O ambiente de desenvolvimento foi definido,

disponibilizado e testado de acordo com as

informações contidas no estudo preliminar aprovado?

Page 31: Qualidade do Software

Qualidade do Software 31

Qualidade no Desenvolvimento

Concepção

• Os requisitos foram especificados de acordo com os padrões

estabelecidos em metodologia vigente?

• Os requisitos estão sincronizados com as necessidades funcionais

e não funcionais definidas no estudo preliminar?

• O modelo de dados conceitual foi elaborado e está em

conformidade com os requisitos especificados?

• O modelo conceitual da arquitetura foi elaborado e está em

conformidade com os requisitos especificados?

• Os requisitos foram inspecionados por uma equipe de qualidade?

• O usuário aprovou formalmente os requisitos e demais artefatos da

etapa?

Page 32: Qualidade do Software

Qualidade do Software 32

Qualidade no Desenvolvimento

Análise

• O diagrama de casos de uso foi elaborado de acordo com os padrões estabelecidos

em metodologia vigente?

• Os casos de uso de negócio foram especificados de acordo com os padrões

estabelecidos em metodologia vigente?

• Os casos de uso de negócio estão relacionados a um ou mais requisitos?

• As integrações foram especificadas de acordo com os padrões estabelecidos em

metodologia vigente?

• O tratamento de erros foi elaborado de acordo com os padrões estabelecidos em

metodologia vigente e atende às funcionalidades mapeadas nos casos de uso?

• O modelo de dados lógico foi elaborado de acordo com os padrões estabelecidos

em metodologia vigente e atende às funcionalidades mapeadas nos casos de uso?

• O diagrama de classes foi elaborado de acordo com os padrões estabelecidos em

metodologia vigente e atende às funcionalidades mapeadas nos casos de uso?

• Os artefatos dessa etapa foram inspecionados por uma equipe de qualidade?

• O usuário aprovou formalmente os artefatos da etapa?

Page 33: Qualidade do Software

Qualidade do Software 33

Qualidade no Desenvolvimento

Projeto

• As classes foram especificadas de acordo com os padrões estabelecidos em

metodologia vigente?

• Os métodos e atributos foram especificados de acordo com os padrões

estabelecidos em metodologia vigente e estão em conformidade com a especificação

das classes?

• O modelo de dados físico foi elaborado de acordo com os padrões estabelecidos em

metodologia vigente e atende às funcionalidades mapeadas nos casos de uso?

• A arquitetura foi especificada de acordo com os padrões estabelecidos em

metodologia vigente e atende às funcionalidades e demais características mapeadas

nos artefatos já produzidos (em especial os requisitos)?

• A especificação de telas e relatórios foi elaborada de acordo com os padrões

estabelecidos em metodologia vigente e atende às funcionalidades mapeadas nos

casos de uso?

• O testes de construção foram elaborados de acordo com os padrões estabelecidos

em metodologia vigente e atendem às funcionalidades mapeadas nos casos de uso?

• Os artefatos dessa etapa foram inspecionados por uma equipe de qualidade?

• O usuário aprovou formalmente os artefatos da etapa?

Page 34: Qualidade do Software

Qualidade do Software 34

Qualidade no Desenvolvimento

Construção

• A estrutura física do banco de dados foi criada e testada?

• A carga inicial para testes foi realizada e testada?

• Os componentes de negócio foram construídos e testados

adequadamente?

• O testes de integração/sistema foram elaborados de acordo

com os padrões estabelecidos em metodologia vigente e

atendem às funcionalidades mapeadas nos requisitos?

• Os artefatos dessa etapa foram inspecionados por uma

equipe de qualidade?

Page 35: Qualidade do Software

Qualidade do Software 35

Qualidade no Desenvolvimento

Testes/Docum.

• Os testes de integração/sistema foram executados

adequadamente?

• Os manuais (documentação) foram elaborados e

disponibilizados aos usuários e demais participantes?

• Os testes de homologação foram elaborados de acordo com

os padrões estabelecidos em metodologia vigente e atendem

às funcionalidades mapeadas nos requisitos e casos de uso?

• Os artefatos dessa etapa foram inspecionados por uma

equipe de qualidade?

Page 36: Qualidade do Software

Qualidade do Software 36

Qualidade no Desenvolvimento

Homologação

• Os testes de homologação foram executados

adequadamente?

• O teste de aceitação foi realizado adequadamente?

• O plano de implantação foi elaborado de acordo com os

padrões estabelecidos em metodologia vigente?

• O treinamento foi realizado adequadamente?

• A infra-estrutura de produção foi preparada

adequadamente?

• Os artefatos dessa etapa foram inspecionados por uma

equipe de qualidade?

Page 37: Qualidade do Software

Qualidade do Software 37

Qualidade no Desenvolvimento

Implantação

• As rotinas de produção foram montadas adequadamente?

• As cargas devidas foram realizadas?

• A inspeção das cargas foi realizada por equipe de

qualidade?

• Os testes de produção foram realizados adequadamente?

• O aceite final foi formalizado?

• O formulário de “lições aprendidas” foi preenchido?

• A acompanhamento da produção foi ou está sendo

realizado?

Page 38: Qualidade do Software

Qualidade do Software 38

Qualidade no Pós-desenvolvimento

Manutenção

• Os requisitos de manutenção foram elicitados?

• As necessidades, riscos e impactos foram definidos

adequadamente?

• O estudo de viabilidade foi realizado?

• A execução manutenção foi planejada?

• A execução da manutenção foi realizada?

• Os testes de manutenção foram realizados?

• Os testes de aceitação foram realizados?

• O produto foi colocar em produção?

• A acompanhamento da produção foi ou está sendo

realizado?

Page 39: Qualidade do Software

Qualidade do Software 39

Qualidade na Gestão

INICIAÇÃO

EXECUÇÃO

FINALIZAÇÃO

SUPORTE

ADMINISTRAÇÃO

Desenvolvimento doProjeto

Apoio ao Desenvolvimento

Page 40: Qualidade do Software

Qualidade do Software 40

Atividades de Controle do Progresso

• O que deve ser feito (objetivos do projeto);

• Como deve ser feito (ferramentas, atividades, padrões, etc.);

• Quem deve fazer (responsável pela execução das atividades);

• Quando deve ser feito (posicionamento na sequência do projeto);

• Que resultados são esperados (produtos a serem gerados);

• Quais indicadores e medições a serem verificados e realizados;

• Quais os pontos de controle/inspeção;

• Quais critérios de entrada para cada atividade;

• Quais critérios de saída para cada atividade;

• Qual o relacionamento entre as atividades (para frente e para trás).

Page 41: Qualidade do Software

Qualidade do Software 41

Atividades de Controle de Testes/Homologação

• Testes• Planejar os testes;

• Elaborar os casos de testes;

• Executar os casos de testes;

• Registrar os testes;

• Homologação• Planejar a homologação (datas, recursos, responsáveis envolvidos, etc.);

• Comunicar aos envolvidos sobre o início do processo com antecedência;

• Monitorar o andamento do processo e comunicar possíveis desvios e respectivo

término;

Page 42: Qualidade do Software

Qualidade do Software 42

Atividades de Controle de Entrega

• Entrega dos artefatos para inspeção;

• Entrega dos artefatos para validação do cliente;

• Entrega do produto para homologação;

• Entrega do produto para aceitação (cliente);

• Entrega do produto para produção.

Page 43: Qualidade do Software

Qualidade do Software 43

Atividades de Controle do Escopo

• Escopo do Produto: trata das funcionalidades que

caracterizam os produtos ou serviços oferecidos pela

implementação de um projeto;

• Escopo do Projeto: trata do trabalho e dos artefatos criados

para contemplar as funcionalidades dos produtos/serviços.

Page 44: Qualidade do Software

Qualidade do Software 44

Atividades de Controle de Riscos

• Identificação e Análise: tem como objetivo conhecer os riscos e tratá-los de acordo com as

necessidades do projeto;

• Processo:

• Definição da probabilidade da ocorrência do risco e respectivos impactos;

• Definição da estratégia de mitigação do risco;

• Definição do plano de contingência do risco;

• Reavaliação dos Riscos: tem como objetivo identificar novos riscos e revisar o escopo dos

riscos já identificados no transcorrer do projeto;

• Monitoramento dos Riscos: tem por objetivo antever a ocorrência de um risco ou identificar a

sua ocorrência tão logo aconteça.

Page 45: Qualidade do Software

Qualidade do Software 45

Atividades de Controle de Recursos/Custos

• Recurso: qualquer necessidade de um projeto relacionada à infra-estrutura, software, hardware, recursos humanos e documentais.

• Custo: todo investimento ou despesa que a companhia terá durante o ciclo de vida de um projeto.

• Monitoramento

Motivos • Mudanças de escopo ocorridas durante o desenvolvimento.• Estimativas superdimensionadas ou sub-dimensionadas.• Perda do escopo (alta rotatividade da equipe, terceiro não cumpriu o prazo, má gestão, infra-estrutura não disponível, etc.).

Atividades• Identificar o mais cedo possível prováveis causas.• Analisar impactos na ocorrência de um ou mais motivos.• Pensar nas soluções e comunicar os responsáveis e parceiros.• Na necessidade, elaborar e submeter à aprovação um Paper complementar.

Page 46: Qualidade do Software

Qualidade do Software 46

Sugestões Bibliográficas

Paulk, M. et All; The Capapability Maturity Model: Guidelines for Improving the Software Process;

Software Engineering Institute/CMU; Addison-Wesley, 1995.

• Sanders, J.; Curran, E.; Software Quality; Addison-Wesley, 1994.

• Paulk M. et All; Techinical Report/CMU/SEI-93-TR-025; Key Pratices of the Capability Maturity

Model for Software, Version 1.1; Software Engineering Institute/CMU, 1993.

• Santos, A. D.; CMM – Capability Maturity Model; Apostila: Faculdade de Engenharia

Elétrica/UNICAMP, 2000.

• Paula Filho, W. P.; Engenharia de Software: Fundamentos, Métodos e Padrões; LTC Editora,

2001.

• Sommerville, I.; Software Engineering, 6th Edition, Adison-Wesley, 2001.

• Couto, A. B.; CMMI – Integração dos Modelos de Capacitação e Maturidade de Sistemas; Editora

Ciência Moderna, 2007.

• IEEE Computer Society; Swebok – Guide to the Software Engineering Body of Knowledge; USA,

2004.

Page 47: Qualidade do Software

Wagner Zaparoli

[email protected]

Qualidade do Software