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

Preview:

Citation preview

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

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?

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)

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

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

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

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

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

Norma ISO 9126 - NBR 13596

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

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

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

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

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

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

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

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:

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

Padrão de Processo - CMMI

Níveis

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”

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

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)

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

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

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

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

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

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.

Recommended