Métricas de Reuso Jorge Mascena Paulo Maciel Pós-graduação em Ciência da Computação Centro de Informática -UFPE.

Slides:



Advertisements
Apresentações semelhantes
Igor Cavalcanti Ramos José Francisco Pereira {icr2,
Advertisements

Qualidade de Software Aula 4
ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software
Engenharia de Software Qualidade de Software Uma abordagem conceitual André Luis Zanon São Carlos SP – UFSCAR 2010 Engenharia de Software – UFSCAR.
Gerência de Projetos Wesley Peron Seno Introdução
Teste de Software.
Prototipação de Software
Acompanhamento do progresso de projetos
> Fases de Engenharia de SW > Gestão de Projectos de SW
Tópicos Motivação para teste Por que algumas empresas não testam
Aula 8 Engenharia de Manutenção FMEA
Como fazer Engenharia de Software sem dinheiro!!!
Walter de Abreu Cybis Maio, 2003
FERRAMENTAS PARA ANÁLISE DE RISCO
Avaliação de Sistemas Operacionais
Processo Desenvolvimento de Software Tradicional
Adaptando um Processo de Desenvolvimento de Software para Análise de Cobertura de Código Prof. Alexandre Marcos Lins de Vasconcelos 06/out/2007.
Reutilização de Software
Reutilização de Software
Carlos Alberto de Freitas Pereira Júnior
FERRAMENTA PARA ANÁLISE DE IMPACTO BASEADO EM RASTREABILIDADE DE
Gerencia de Projeto OO Aspectos Avançados em Engenharia de Software Aula 5 Fernanda Campos DCC/UFJF.
TSDD Teste de segurança durante o desenvolvimento.
Gestão de Defeitos Vanilson Burégio.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Engenharia de Software
Competência: Compreender as métricas de Software
UFRPE – Modelos de Qualidade Teresa Maciel
Uma visão geral Grupo: Alexandre Henrique Vieira Soares
Pontifícia Universidade Católica de Campinas
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
RUPinho Qualidade de Software
Engenharia de Software
Em busca de uma Ontologia para Governança de BPM
Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
Cap 4 – Métricas do Processo e Projeto de Software
Cap 2 – Processo de Software
Melhoria de Processos de Software
Linguagem de Programação II
Prof. Alexandre Vasconcelos
Saulo Lopes da Silva Oliveira
Modelos de Maturidade de Processos de Software
METODOLOGIA DA PESQUISA CIENTÍFICA
Controle Estatístico de Qualidade Robert Samohyl, PhD.
Documentação de Software
A PESQUISA E SUAS CLASSIFICAÇÕES
Teste de Software: Manual sim, amador, jamais! André Dias.
Gestão de Projetos de Software
Engenharia de Software
Projeto Piloto do LabPS Teste do Flip
Universidade Salvador - UNIFACS 4ª Jornada UNIFACS de Iniciação Científica - 4 ª JUIC Salvador, 18 a 20 de Outubro de Métricas para análise de complexidade.
ABC reuso Reengenharia Primeiras conclusões. ABC reuso Análise do Código Fonte Arquitetura em Camadas Fachada (SIAlocacaoPlus) Negócio (Cadastros) Persistência.
Engenharia de Software
Frameworks e Componentes Daniel Fernando Pavelec.
Profª Eliane Costa Santana
Qualidade de Produtos de Software
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
VII Encontro CIn sobre Qualidade, Processos e Gestão de Software Thierry Araujo Avaliação dos resultados do projeto SmartSim e perspectivas para.
TÉCNICAS DE ESTIMATIVAS
Introdução a Informática
MAPS: Um Modelo de Adaptação de Processos de Software Ciro Carneiro Coelho Orientador Prof. Hermano Perrelli de Moura.
Gerenciamento de riscos
QUALIDADE DE SOFTWARE Prof. Carlos Augusto da Costa Carvalho.
PROJETO SPICE ISO Integrantes: Erickson Balzaneli
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Introdução a Métricas de Software Tópicos Avançados em Engenharia de Software III Danielle Dias e Cristine Gusmão / UFPE-PE.
AULA 04 PRODUÇÃO DE CONHECIMENTO. Um desafio empresarial crítico com o qual nossos clientes se defrontam é a necessidade de melhorar significativamente.
Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação.
Técnicas de Avaliação de Interfaces Prof. Jorge Cavalcanti.
Cronograma Sistemas de Informação 1º termo – 3º período.
Transcrição da apresentação:

Métricas de Reuso Jorge Mascena Paulo Maciel Pós-graduação em Ciência da Computação Centro de Informática -UFPE

Agenda Engenharia de Reuso Métricas de Reuso Exemplo Conclusões Trabalhos futuros

Engenharia de Reuso Sub-área da engenharia de software relacionada ao reaproveitamento de ativos no desenvolvimento de novas soluções Inúmeras definições na literatura Relativamente nova e imatura Poucos casos de sucesso na indústria de software (HP, Motorola…)

Engenharia de Reuso Várias classificações para o reuso Objeto Documentação Modelos Processo Arquitetura Código  Caixa preta  Caixa branca  Adaptativo

Engenharia de Reuso Várias classificações para o reuso Método Planejado Ad hoc Abordagem Generativa (geradores de código) Composicional (CBD) Domínio Vertical (e.g. linhas de negócios: saúde, finanças…) Horizontal (e.g. infraestrutura: persistência, segurança…)

Engenharia de Reuso Benefícios Aumento de produtividade Trabalhe mais rápido, economize 5%  automação, ambientes, ferramentas Trabalhe mais inteligentemente, economize 17%  melhore o(s) processo(s)  evite/reduza tarefas de pouco valor Evite o trabalho… e economize 47%  Reuse! Maior qualidade -> menos bugs! Menor custo Menor necessidade de manutenção

Engenharia de Reuso Se é tão bom, por que não é mais difundido? Falta de cultura de reuso Falta de padronização Questões de propriedade ainda em aberto Rastreabilidade de reuso deficiente Repositórios ineficientes Custo e precisão de busca Medições inapropriadas

Métricas de Reuso “Não se pode gerenciar o que não se pode medir” Métricas para software ainda é algo recente Métricas de reuso está na fronteira entre dois campos a serem explorados: Métricas de SW Reuso

Métricas de Reuso Questões Quanto foi reusado? Quanta economia ($) isso representou? Quanto foi gasto para se reusar? Qual o impacto na qualidade do que foi produzido? => Qual o esforço para produzir com reuso para reuso

Métricas de Reuso - Coleta de Dados Formas de Levantamento Ferramentas de análise código (e.g Java NCSS) Ferramentas de reportagem de esforço Planilhas financeiras Ferramentas de reportagem de erro (e.g Bugzilla) Formulários de opinião

Métricas de Reuso - Métodos de Análise Métodos quantitativos Correlação com métricas de qualidade Erros por linhas de codigo Correlação com métricas de esforço Número de linhas de código Tempo gasto e número de pessoas necessárias Correlação com dados econômicos Custo para reuso Economia com reuso

Métricas de Reuso - Métodos de Análise Métodos qualitativos Percepção dos desenvolvedores Balizamento de informações quantitativas por julgamento

Métricas de Reuso - Classificações Métricas Econômicas RCA - Custo evitado com reuso RVA - Valor agregado pelo reuso

Métricas de Reuso - Classificações Métricas Técnicas Percentual de reuso Linhas reusadas pelo total de linhas Nível de reuso Partes reusadas pelo total de partes Frequência de reuso Referências a partes reusadas pelo total de referências

Métricas de Reuso - Classificações Métricas Técnicas Frequência e tamanho de reuso Tamanho expandido total menos tamanho real pelo tamanho expandido total Razao de reuso Similar a percentual de reuso, considerando partes parcialmente reusadas Densidade de reuso Partes reusadas pelo tamanho total

Exemplo Part 1 (50 LOC) Part 4 (10 LOC) Part 2 (40 LOC) Part 5 (100 LOC) Part 6 (50 LOC) Part 3 (20 LOC) ReusedNew

Exemplo Percentual de reuso  LOC(reused parts) = LOC(part 5) + LOC(part 6) = 150  LOC(new parts) = LOC(part 1) + LOC(part2) + LOC(part3) + LOC(part4) = 120 Reuse Percent(Sample App) = (150 / ( )) * 100 = 55.6% Frequência de reuso Refs(internal reused parts) = Refs(part 2) = 2 Refs(external reused parts) = Refs(parts 5 and 6) = 3 Refs(all parts) = Refs(parts 1, 2, 3, 4, 5 and 6) = 6 Internal Reuse Frequency = Refs(internal reused parts) / Refs(all parts) = 0.33 External Reuse Frequency = Refs(external reused parts) / Refs(all parts) = 0.5 Total Reuse Frequency = Internal Reuse Frequency + External Reuse Frequency = 0.83

Conclusões O campo de métricas de reuso ainda tem muito o que avançar. Uso sistemático de tais métricas na indústria ainda é tímido. Métricas econômicas existentes são baseadas em dados discutíveis. Métricas técnicas existentes não são abrangentes o suficiente.

Trabalhos futuros Definição de novas métricas técnicas. Combinação de novas métricas com métricas já existentes. Aplicação do conjunto estabelecido na indústria de forma sistemática para um levantamento abrangente da situação atual de reuso no Brasil.