lecture 4 :: as métricas para o processo e projeto de sw

21
Prof. Doutor Rogério Patrício Chagas do Nascimento Professor Associado do Departamento de Computação (DCOMP)/UFS Assessor do Reitor para Cidades Inteligentes, Diretor Científico da EATIS.org [email protected] GpES Grupo de Pesquisa em Engenharia de Software Métricas para o Processo e o Projeto de SW Lecture 4

Upload: rogerio-p-c-do-nascimento

Post on 24-Jan-2018

85 views

Category:

Education


5 download

TRANSCRIPT

Prof. Doutor

Rogério Patrício Chagas do Nascimento

Professor Associado do Departamento de Computação (DCOMP)/UFS

Assessor do Reitor para Cidades Inteligentes, Diretor Científico da EATIS.org

[email protected]

GpESGrupo de Pesquisa em Engenharia de Software

Métricas para o Processo e o Projeto de SWLecture 4

2

Sumário

▪ Introdução– O quê é?

– Quem faz?

– Porquê é importante?

– Qual é o produto?

– Como saber se está bem feita?

▪ Medidas, métricas e indicadores

3

Introdução (I)

▪ O quê é?– Medidas quantitativas que permitem ter uma visão aprofundada da eficácia do

processo e dos projetos.

– Reúnem-se e analisam-se dados básicos de qualidade e produtividade que permitem detectar melhorias e áreas problema

▪ quando comparados com dados anteriores

▪ Quem faz?– Os Engenheiros de SW (Analistas, Arquitetos..) reúnem as medidas

– Os Gestores administrativos analisam os dados

4

Introdução (II)

▪ Porquê é importante?– Se não medirmos, só poderemos avaliar com subjetividade

– Não se pode melhorar o que não é medido

▪ Qual o produto?– Conjunto de métricas de software e plano de medição

▪ que proporcionam uma visão do Processo e do Projeto de SW

▪ Como fazer bem?– Com um plano de medição e métricas simples, porém consistentes

5

Medida, Medição e Métrica- no Contexto da Engenharia de SW

Definição Exemplo

Medida Valor quantitativo da extensão, quantidade, dimensões, capacidade ou tamanho de algum atributo do processo ou produto de software

nº de erros detectados na revisão de um módulo de sw, quantidade de classes-chave

Medição Ato de determinar uma medida investigação de um nº de revisões de módulos para recompilar medidas do nº de erros encontrados em cada revisão

Métrica Medida quantitativa do grau de posse de um atributo dado por parte de um sistema, componente ou processo

Média de erros detectados por revisão ou nº de erros encontrados por pessoa e hora em revisões

6

Indicadores

▪ Um indicador é uma métrica ou conjunto de métricas que proporcionam uma visão aprofundada – do processo

– do projeto

– ou do produto de software

▪ Um indicador permite ajustar o produto, o projeto ou o processo para melhorar as coisas

7

Indicadores: Processo e Projeto de SW

▪ Os indicadores de processo permitem avaliar– o modelo de processo– as tarefas – e produtos de trabalho (tabelas, diagramas, documentos..)

▪ São recolhidos a partir de todos os projetos durante algum tempo

▪ Os indicadores de projeto permitem:– Avaliar o estado do projeto– Monitorizar riscos potenciais– Detectar áreas problemas– Ajustar o fluxo e tarefas– Avaliar o controle de qualidade da equipe de trabalho

▪ Muitas vezes, as mesmas métricas de software servem para ambos indicadores

8

▪ Domínios– Processo

– Projeto

– Produto

Métricas de Software

9

▪ A eficácia do processo é determinada a partir de medidas como:– Nº erros detectados antes da entrega– Defeitos informados aos utilizadores– Produtos de trabalho entregues– Quantidade de esforço humano e tempo consumido

▪ Métricas privadas– Dados individuais

▪ índices de defeitos▪ defeitos x módulo▪ erros detectados durante o desenvolvimento

▪ Métricas públicas– Dados públicos

▪ defeitos x função (ou Classe)▪ erros encontrados em revisões formais e linhas de código▪ pontos de função x módulo

Métricas do Processo de SW

10

Métricas do Projeto de SW

▪ As métricas do processo são estratégias, as do projeto, táticas

▪ Com o avanço do projeto, as medidas de tempo e esforço são comparadas com as estimativas para fazer ajustes

▪ Do trabalho técnico surgem outras medidas como:– índices de produção

– e erros

▪ As métricas do projeto servem para:– Planejar o desenvolvimento

– Avaliar a qualidade dos produtos

11

Medições do Produto

▪ Diretas (+ fáceis de medir)– Linhas de código, velocidade execução, tamanho em memória, defeitos

reportados, quantidade de classes

▪ Indiretas (+ difíceis de medir)– Funcionalidade

– Qualidade

– Complexidade

– Eficiência

– Confiabilidade

– Facilidade de uso

– Flexibilidade

12

Métricas de Software Orientadas ao Tamanho

Um exemplo do que vocês NÃO irão usar!

Pois não é OO…

13

Métricas de Software Orientadas ao Tamanho

▪ Erros por KLDC (milhares de linhas de código)

▪ Defeitos por KLDC

▪ Custo por KLDC

▪ Páginas de documentação por KLDC

▪ LDC por pessoa-mês

▪ Custo por página de documentação

projeto LDC Esforço Custo Pag. Doc Erros Defeitos

Alfa 12100 24 168 365 134 29

Beta 27200 62 440 1224 321 86

Gamma 20200 43 314 1050 256 64

... ... ... ... ... ... ...

14

Métricas de Software Orientadas à Função

Um exemplo do que vocês NÃO irão usar!

Pois não é utilizada para OO…

15

Métricas de Software Orientadas à Função

Ponto de Função Soma Simples Médio Complexo Total

Nº Entradas utilizador 3 4 6

Nº Saídas utilizador 4 5 7

Nº consultas 3 4 6

Nº ficheiros 7 10 15

Nº interfaces 5 7 10

Total Geral

PF = total x [0,65 + 0,01 x 6(Fi)]

Fi = Valores de ajuste (0-5): necessidade de cópias de segurança, necessidade de comunicação de dados, importância do performance, complexidade do processamento interno, necessidade de suportar várias instalações

16

Integração das Métricas nasFases de Engenharia de SW

processo

projeto

produto

Recolha de dados

Cálculo De métricas

Avaliação De métricas

medidas

métricas

indicadores

Tarefas para serem adicionadas ao Plano de Projeto utilizado...

17

Métrica para Organizações Pequenas- Exemplo

▪ Objetivo– “redução do tempo na avaliação e implementação nas solicitações de

mudanças”

▪ Métricas:– Tempo para completar o pedido

– Esforço (horas-pessoa) para a avaliação

– Tempo entre a avaliação e a atribuição da ordem de câmbio ao pessoal

– Esforço (horas-pessoa) para a realização do câmbio

– Erros descobertos durante o trabalho

– Defeitos descobertos depois da entrega

18

Sucesso nas Métricas - Dicas

▪ Comece pequeno

▪ Explique o por que das medições

▪ Compartilhe dados

▪ Defina procedimentos

▪ Busque tendências no mercado

19

O que NÃO deve acontecer!

1. Falta de compromisso da gestão;

2. Medir muito, muito cedo;

3. Medir pouco, muito tarde;

4. Medir os elementos errados;

5. Definições de métricas imprecisas;

6. Coletar dados que não serão usados;

7. Falta de comunicação e treinamento sobre as métricas adoptadas; e

8. Interpretar os resultados erroneamente.

NUNCA utilizem os resultados para

Avaliar, Punir ou Premiar o rendimento individual!

20

Seção Extra- Métricas de Software Orientadas a Objeto

▪ (Radjenovic et al., 2013), em uma revisão sistemática realizada, osautores identificaram que métricas orientadas a objetos foramusadas aproximadamente duas vezes mais (49%) que as métricastradicionais (27%) e métricas de processo (24%). Eles afirmam aindaque o conjunto de métricas CK (Chidamber e Kemerer) (Chidamberand Kemerer, 1994) é o mais popular entre as métricas orientadas aobjetos, por serem bem difundidas no meio acadêmico efrequentemente utilizadas em estudos.

Métrica CK é uma métrica que mede a complexidade do projeto em

relação ao seu impacto sobre atributos de qualidade como usabilidade,

facilidade de manutenção, funcionalidade e confiabilidade.

Bons caminhos!

Obrigado pela atenção! Thanks for listening! Merci pour votre attention!

[email protected]

@Patricium