padrões de qualidade e métricas de softwareaeciocosta.com.br/wp-content/uploads/fg/engenharia de...

29
Padrões de Qualidade e Métricas de Software Aécio Costa

Upload: truongkhanh

Post on 18-Nov-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Padrões de Qualidade e Métricas de Software

Aécio Costa

Padrões de Qualidade e Métricas de Software

Qual o Principal objetivo da Engenharia de Software?

Padrões de Qualidade e Métricas de Software

O principal objetivo da Engenharia de Software (ES) éajudar a produzir software de qualidade;

Empresas que desenvolvem software de qualidade sãomais competitivas;

Empresas que tem qualidade em seus processospodem, em geral, oferecer um melhor serviço a um preçomais competitivo.

Padrões de Qualidade e Métricas de Software

E o que é Qualidade?

“Propriedade, atributo ou condição das coisas ou das pessoascapaz de distingui-las das outras e de lhes determinar anatureza”

(Aurélio)

Qualidade é estar em conformidade com os requisitos dos clientes;

Qualidade é antecipar e satisfazer os desejos dos clientes.

Padrões de Qualidade e Métricas de Software

A Garantia da Qualidade tem a finalidade de assegurar queo processo planejado (o processo em si e o produto) éimplementado.

Existem visões da qualidade de Software:

Usuário Desenvolvedor Organização

Padrões de Qualidade e Métricas de Software

UsuárioFacilidade de Uso, Desempenho, Confiabilidade dos Resultados, Preço do Software, etc.

DesenvolvedorTaxa de defeitos, Facilidade de Manutenção e Conformidade em relação aos Requisitos de Usuários, etc

OrganizaçãoCumprimento de Prazo, Boa Previsão de Custo, Boa Produtividade

Padrões de Qualidade e Métricas de SoftwarePadrões de Qualidade

Padrões de produto:Se aplicam ao produto de software em desenvolvimento.Incluem padrões de documentos, como a estrutura de umdocumento de requisitos até como uma linguagem deprogramação deve ser usada.

Padrões de processo: Definem os processos que devem ser seguidos durante odesenvolvimento de software.

Padrões de Qualidade e Métricas de SoftwarePadrões de Qualidade – Qual a Importância?

São baseados no conhecimento sobre as melhores e maisapropriadas práticas para a empresa;

O conhecimento freqüentemente é adquirido somente apósum grande número de tentativas e erros;

Ajudam a empresa a evitar a repetição de erros cometidos nopassado;

Fornecem frameworks conceituais para que o processo degarantia da qualidade seja assegurado.

Padrões de Qualidade e Métricas de SoftwareQuais os padrões de Qualidades existentes?

SPICE (Software Process Improvement & Capability dErtemination)

CMMI (Capability Maturity Model Integration)

MPS.BR

...

Padrões de Qualidade e Métricas de Software

Métricas de Software

Padrões de Qualidade e Métricas de Software

“Métricas de Software” é um assunto discutido há mais de20 anos na engenharia de software...

...e no entanto não é verificada sua utilização, na prática,pela grande maioria dos projetos de construção desoftware!

Padrões de Qualidade e Métricas de Software

Pesquisas realizadas em empresas de software indicam quemais da metade de grandes projetos de software se deparamcom algum tipo de atraso, excesso de custo ou prazo ou algumfracasso na execução quando implantado.

Falta de controle dos projetos!!

Padrões de Qualidade e Métricas de Software

“Não se pode gerenciar o que não se pode medir”.

Tom De Marco

Padrões de Qualidade e Métricas de SoftwareE o que são métricas?

Uma métrica é a medição de um atributo (propriedades oucaracterísticas ) de uma determinada entidade (produto, processo ourecursos).

Tamanho do produto de software (ex: Número de Linhas de código); Número de pessoas necessárias para implementar um caso de uso; Número de defeitos encontrados por fase de desenvolvimento; Esforço para a realização de uma tarefa; Tempo para a realização de uma tarefa; Custo para a realização de uma tarefa; Grau de satisfação do cliente (ex: adequação do produto ao propósito,

conformidade do produto com a especificação.

Padrões de Qualidade e Métricas de SoftwarePor que medir software?

Entender e aperfeiçoar o processo de desenvolvimento; Melhorar a gerência de projetos e o relacionamento com clientes; Reduzir frustrações e pressões de cronograma; Gerenciar contratos de software; Indicar a qualidade de um produto de software; Avaliar a produtividade do processo; Avaliar os benefícios (em termos de produtividade e qualidade) de

novos métodos e ferramentas de engenharia de software; Avaliar retorno de investimento; Melhorar a exatidão das estimativas; Embasar solicitações de novas ferramentas e treinamento.

Padrões de Qualidade e Métricas de Software

Uma métrica deve ser: Válida: quantifica o que queremos medir Confiável: produz os mesmos resultados dadas as mesmas

condições Prática: barata, fácil de computar e fácil de interpretar

Padrões de Qualidade e Métricas de Software

Categorização de Métricas

Métricas diretas (fundamentais ou básicas) Medida realizada em termos de atributos observados

(usualmente determinada pela contagem) Ex.: custo, esforço, Número linhas de código, capacidade

de memória, Número de diagramas, etc. Métricas indiretas (derivadas) Medidas obtidas a partir de outras métricas Ex.: complexidade, eficiência, confiabilidade, facilidade de

manutenção

Padrões de Qualidade e Métricas de Software

Outras Categorizações de Métricas

Métricas orientadas a tamanho Métricas orientadas por função Métricas de produtividade Métricas de qualidade Métricas técnicas

Padrões de Qualidade e Métricas de Software

Os dois principais métodos utilizados para dimensionar um software são:

Análise por Ponto de Função (APF) Pontos por caso de Uso (UCP)

Padrões de Qualidade e Métricas de Software

Pontos por caso de Uso (UCP)

Elaborado por Gustav Karner no ano de 1993;

Procura avaliar o sistema através da análise da forma como osusuários utilizarão o sistema, a complexidade das tarefasrequisitadas, bem como um estudo dos passos para efetuarcada atividade.

Padrões de Qualidade e Métricas de Software

O método UCP tem como característica a possibilidadede mensurar o sistema na fase de levantamento de requisitos doprojeto utilizando os documentos feitos na mesma como basepara fazer o calculo dimensional.

Padrões de Qualidade e Métricas de SoftwareRelacionar os atores de acordo com nível de complexidade

representado na tabela. (Atores)

Padrões de Qualidade e Métricas de SoftwareRelacionar e classificar os casos de usos de acordo com acomplexidade abaixo. (Casos de Uso)

Padrões de Qualidade e Métricas de Software

Estimativas de Software

Padrões de Qualidade e Métricas de Software

É difícil conhecer se é possível desenvolver o produto desejado pelo cliente antes de conhecer os detalhes do projeto.

Padrões de Qualidade e Métricas de Software

Por que é tão difícil estimar?

Desenvolvimento é um processo gradual de refinamento Incerteza da natureza do produto contribui para a incerteza

da estimativa; Requisitos e escopo mudam; Defeitos são encontrados e demandam retrabalho; Produtividade varia.

Padrões de Qualidade e Métricas de Software

O Processo de estimar é dividido em 4 Tipos:

1. Estimar o tamanho do produto2. Estimar o esforço3. Estimar o prazo4. Fornecer estimativas dentro de uma faixa permitida e

refinar essa faixa à medida que o projeto progride

Padrões de Qualidade e Métricas de SoftwareTipos de Estimativas

Tamanho Quantidade de software a ser produzida Ex.: Linhas de código, Número de pontos de função,

Número de requisitos, pontos de casos de uso

Esforço Derivado da estimativa de tamanho Ex. dividindo a estimativa de tamanho por produtividade

produz-se o esforço

Padrões de Qualidade e Métricas de SoftwareTipos de Estimativas

Prazo Geralmente são dirigidos a datas fornecidas pelo Cliente

Qualidade Medidas de resultados Ex. defeitos por fase, esforço de mudanças