Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

28
Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software

Transcript of Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Page 1: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Análise e Projeto de Sistemas III

Aula 3 – Qualidade de Software

Page 2: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Aula de hoje...

Qualidade de software O que é um padrão Como surge um padrão Para que serve um padrão O que é um padrão de processo O que é um padrão de produto Noções sobre a Norma ISO-9126 Noções sobre o CMMI

Page 3: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Qualidade – definição(?)

“O produto desenvolvido deve cumprir sua especificação”

Como especificar certas características de software, como facilidade de manutenção?

É fácil escrever uma especificação completa de software?

Page 4: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Qualidade...

Qualidade não ocorre por acaso Ela deve ser planejada e construída sobre

este planejamento Papel do gerente:

Definir padrões e procedimentos Verificar se estes padrões e procedimentos

estão sendo seguidos Promover uma “cultura de qualidade”

(envolver a equipe)

Page 5: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Planejamento e controle

Planejamento de qualidade: deve começar no estágio inicial do desenvolvimento Quais as qualidades desejadas do produto? Como estas qualidades serão avaliadas? Resulta no plano de qualidade

Planejar

Agir Executar

Monitorar

Page 6: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrões de qualidade

O que é um padrão? Dois grupos de padrões:

Padrões de processo conjunto de práticas que uma organização deve

realizar Padrões de produto

Conjunto de características que um produto deve ter

Page 7: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrões de qualidade

Por que utilizar um padrão? Reunião das melhores práticas Infra-estrutura pronta para o controle de

qualidade Ajudam em termos de continuidade

Page 8: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrões de qualidade

Os desenvolvedores gostam de padrões? Burocráticos e irrelevantes Tediosos Desnecessários

E o gerente... Fazer compreender porque o padrão está

sendo usado Revisar e modificar os padrões Fornecer ferramentas

Page 9: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrão de produto

Norma ISO 9126 International Standardization Organization www.iso.org Definição de qualidade:

A totalidade das características de um produto de software que lhe confere a capacidade de satisfazer as necessidades explícitas e implícitas

Page 10: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Norma ISO 9126 - NBR 13596

6 características que um software deve ter: Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade Portabilidade

Page 11: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Norma ISO 9126 - NBR 13596

Funcionalidade: Conjunto de atributos que evidenciam a existência de um conjunto de funções e suas propriedades

Adequação Presença de um conjunto de funções e suas propriedades especificadas

Acurácia Geração de resultados ou efeitos corretos ou conforme acordados

Interoperabilidade Capacidade de interagir com sistemas especificados

Conformidade Estar de acordo com normas, regulamentos, leis relacionadas à aplicação

Segurança de acesso Evitar acesso não autorizado a programas e dados

Page 12: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Norma ISO 9126 - NBR 13596

Confiabilidade: capacidade de manter o nível de desempenho sob condições estabelecidas durante um período estabelecido

Maturidade Atributos do software que evidenciam a freqüência de falhas por defeitos

Tolerância a falhas Capacidade de manter nível de desempenho especificado nos casos de falhas

Recuperabilidade Capacidade de reestabelecer nível de desempenho e recuperar dados diretamente afetados, em caso de falha, e o tempo de esforço para tal

Page 13: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Norma ISO 9126 - NBR 13596

Usabilidade: capacidade para uso

Inteligibilidade Atributos do software que evidenciam o esforço do usuário para reconhecer o conceito lógico e sua aplicabilidade

Apreensibilidade Esforço do usuário para apreender sua aplicação

Operacionabilidade Esforço do usuário para operação e controle de sua operação

Page 14: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Norma ISO 9126 - NBR 13596

Eficiência: relacionamento entre o nível de desempenho do software e a quantidade de recursos usados, sob condições estabelecidas.

Comportamento em relação ao tempo

Tempo de resposta, tempo de processamento e velocidade na execução de suas funções

Comportamento em relação aos recursos

Quantidade de recursos usados e a duração do seu uso na execução de suas funções

Page 15: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Norma ISO 9126 - NBR 13596

Portabilidade: capacidade do software em ser transferido de um ambiente para outro.

Adaptabilidade Capacidade de ser adaptado a ambientes diferentes especificados, sem a necessidade de aplicação de outras ações ou meios além daqueles fornecidos para esta finalidade

Capacidade para ser instalado

Atributos do software que evidenciam o esforço para sua instalação num ambiente especificado

Conformidade Atributos do software que o tornam consoante com padrões ou convenções relacionados à portabilidade.

Capacidade para substituir

Capacidade e esforço para substituir um outro software, no ambiente estabelecido para este outro software

Page 16: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Norma ISO 9126 - NBR 13596

Manutenibilidade: esforço necessário para fazer modificações

Analisabilidade Esforço necessário para diagnosticar deficiências ou causas de falhas, ou para identificar partes a serem modificadas

Modificabilidade Atributos do software que evidenciam o esforço para modificá-lo, remover seus defeitos ou adaptá-lo a mudanças ambientais

Estabilidade Riscos de efeitos inesperados ocasionados por modificações

Testabilidade Esforço necessário para validar o software modificado

Page 17: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrão de Processo - CMMI

CMMI – Capability Maturity Model Integration Modelo desenvolvido pelo Instituto de

Engenharia de Software (Universidade Carnegie Mellon)

Avalia o grau de maturidade de uma organização no processo de produção de software

Pode ser utilizado: Clientes: avaliar produtos adquiridos Fornecedores:

Page 18: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrão de Processo - CMMI

CMM até 2002 CMMI a partir daí Descreve princípios e práticas organizados

em níveis de maturidade Nível de maturidade: estágio evolutivo

Imaturo maduro

Page 19: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrão de Processo - CMMI

Níveis

Page 20: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrão de Processo - CMMI

Nível 1 - Inicial Processo é informal Não há práticas de gestão estabelecidas Planejamento ineficiente ou abandonado durante

a execução Produto de sucesso depende do heroísmo das

pessoas ou da “sorte”

Page 21: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrão de Processo - CMMI

Nível 2 - Gerenciado Projeto é planejado Resultados de projetos anteriores podem ser

repetidos O projeto é acompanhado e desvios são

analisados e corrigidos Requisitos são gerenciados

Page 22: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

CMMI – Nível 2 - Gerenciado

Áreas de processos

Gerência de requisitos

Planejamento de projeto

Controle e monitoramento de projeto

Gerência de acordo com fornecedores

Medição e análise (fornecer informação para gerência)

Garantia de qualidade do processo e produto

Gerência de configuração (manter a integridade do projeto)

Page 23: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrão de Processo - CMMI

Nível 3 - Definido Processo é padrão Cada projeto adapta o processo padrão para

suas necessidades Programa de treinamento é implementado em

toda a organização

Page 24: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

CMMI – Nível 3 - Definido

Áreas de processos

Desenvolvimento de requisitos

Integração do produto

Verificação

Validação

Foco no processo da organização

Definição de processo organizacional

Treinamento da organização

Gerência de risco

Page 25: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrão de Processo - CMMI

Nível 4 – Gerenciado quantitativamente Qualidade e desempenho do processo são

entendidos em termos estatísticos Resultados das medições são armazenados e

servem como base para projetos futuros

Page 26: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

CMMI – Nível 4 – Quantitativamente Gerenciado

Áreas-chave de processo

Desempenho dos Processos da Organização

Estabelecer e manter o entendimento quantitativo do desempenho dos processos padrões da organização, dando suporte à qualidade e ao controle da efetividade dos seus processos

Gerência quantitativa de Projeto

Estabelecer a gerência quantitativa de projeto para melhorar a qualidade e o desempenho

Page 27: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

Padrão de Processo - CMMI

Nível 5 – Em otimização A organização inteira está voltada para melhoria

do processo Introdução de inovações Busca de melhoria de forma pró-ativa,

prevenindo a ocorrência de falhas Novas práticas são experimentadas de forma

controlada, para melhorar a qualidade e produtividade

Page 28: Análise e Projeto de Sistemas III Aula 3 – Qualidade de Software.

CMMI – Nível 5 – Em otimização

Áreas-chave de processo Finalidade

Desenvolvimento e Inovação Organizacional

Inovar e desenvolver melhorias de forma incremental que permitam medir o desempenho de seus processos e tecnologias.

Análise e Resolução de Causa

Identificar as causas dos defeitos e problemas e tomar decisões para prevenir que esses não aconteçam no futuro.