Métricas do processo e projeto de software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Documentos relacionados
Métricas de processo e projeto de software

Engenharia de Software II

Gerência e Planejamento de Projeto. SCE Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002

Engenharia de Software II

Métricas de processo e projeto de software

Aula 05 - ES - Métricas de Software

Estimativas e Métricas Engenharia de Software

Medidas de Esforço de Desenvolvimento de Software

Plano de Projeto. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

FATORES E MÉTRICAS DE QUALIDADE

Planejamento de Projeto de Software: Estimativas de Esforço e Custo

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Métricas de Software

Projeto e Desenvolvimento de Software

Engenharia de Software II

Métricas de processo e projeto de software

Engenharia de Software II

3 Medição de Software

Planejamento de Projeto de Software: Estimativas de Esforço e Custo

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Introdução À Engenharia De Software Com Foco No RUP: Rational Unified Process

PSP: Personal Software Process. PSP- Personal Software Process. PSP: Personal Software Process. PSP: Personal Software Process

Métricas de Complexidade

Normas ISO:

Requisitos de Sistemas

Estimativa de Esforço. Estimativas de Software. Subjetividade da Estimativa. Incerteza de Estimativa. Técnicas de Estimativas

Engenharia de Software

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Engenharia de Software

Qualidade de software. Prof. Emiliano Monteiro

ENGENHARIA DE SOFTWARE

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

Capítulo 20 - Manutenção de Software. Os Fatores de Qualidade de Software focalizam três aspectos importantes do Software Produto: (ISO 9126)

Manutenção Leitura: Sommerville; Pressman

Engenharia de Software II

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados. Evolução de Software

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

AVALIAÇÃO DE PRODUTOS DE SOFTWARE

ENGENHARIA DE SOFTWARE. Introdução

Medidas de Esforço de Desenvolvimento de Software

Engenharia de Software

Engenharia de Software

Engenharia de Software I

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

Aula 04. Medições e Métricas de Software. Professor: José Alexandre Macedo versão: 1.0

Crise do Software. Crise de tecnologia - hardware caminha mais rápido que o software

Engenharia de Software II

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados. Medição de Sofware

Medição, Estimativas e Gerenciamento de Projetos de Software

Manutenção de Software

Engenharia de Software II

Organização para Realização de Teste de Software

Engenharia de Software II

Engenharia de Software

Gerência de Projetos e Manutenção de Software Aula 4 Planejamento de Projetos (Estimativas) Andréa Magalhães Magdaleno 2017.

Gestão Negócios OBJETIVO NESTA AULA. Gestão eficaz - Aula 18

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

Processos de software

Lista de Exercícios 02: Revisão

Engenharia de Requisitos

Gerência da Melhoria do Processo de S oftware através de Indicadores da Qualidade e P rodutividade. Software Measurement & IT Project Management

Processo de Desenvolvimento. Edjandir Corrêa Costa

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

PSP Personal Software Process. Maria Cláudia F. P. Emer

Análise e Projeto Orientado a Objetos

AVALIAÇÃO DA QUALIDADE DO PROCESSO DE MANUTENÇÃO DE SOFTWARE UTILIZANDO A NORMA NBR ISO/IEC 12207

Disciplina que reúne metodologias, métodos e ferramentas a serem utilizados, desde a percepção do problema até o momento em que o sistema

Estimativa por Use Case Point (UCP)

Agenda da Aula. Melhoria do Processo de Software. Por que melhorar o processo? De onde veio a idéia? Qualidade do Produto. Qualidade de Software

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

GERENCIAMENTO DA QUALIDADE DO PROJETO

Qualidade de Software Aula 8 / 2010

Leitura: Cap : Sommerville; cap20: Pressman

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação

Ferramentas CASE. CASE fornece ao engenheiro de software a habilidade de automatizar atividades manuais e de aperfeiçoar o conhecimento de engenharia.

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES

Gerenciamento Objetivo de Projetos com PSM

ANÁLISE DE PONTOS DE FUNÇÃO E SUA IMPORTÂNCIA PARA PROJETOS DE DESENVOLVIMENTO DE SOFTWARE

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

GQS Medidas. André Luís Duarte. exatasfepi.com.br

- Prototipação Iterativa - Observação Direta

Fábrica de Software Instituto de Informática Universidade Federal de Goiás. Plano de Medição

Processo de Desenvolvimento de Software

Gestão de Testes e Defeitos. Malba Jacob Prudente

Prof. Luiz A. Nascimento

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

Conceitos Iniciais. Gestão, Gerente e as Organizações

ISO/IEC Prof. Alexandre Luís Franco

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA FASE DE PROJETO

QUALIDADE DE SOFTWARE

Requisitos de Software

Desenvolvido pelo Software Engineering Institute-SEI em 1992 Possui representação por estágios (5 níveis)e contínua (6 níveis)

3. Engenharia dos requisitos de software

21/09/2012. Elicitação de Requisitos. Projeto de Interface Homem- Máquina. Prof. Esp. MBA Heuber G. F. Lima. Técnicas etipos de Requisitos

Desenvolvimento de Projetos

Medições e métricas de software

Qualidade de Software. Profª Rafaella Matos

Transcrição:

Métricas do processo e projeto de software Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Métricas e Medidas Medição é fundamentais em qualquer engenharia Quando se consegue medir sobre alguma coisa e expressa em números, se conhece de que se fala. Se não é possível expressar em números seu conhecimento é escasso e insatisfatório. Permite entender melhor os atributos de modelo Avaliar qualidade do produto

Métricas e Medidas A ES não possui medidas como outras engenharias Massa, volume, velocidade... A ES tem medidas indiretas Aplicadas para assistir o calculo de estimativas, controle de qualidade, avaliação de produtividade e controle de projeto.

Medidas e Métricas Medição: Coleta de um dado (numero de erros descobertos na revisão de um módulo) medição Medida: Coleta de um dado ou coleção de dados (Número de módulos que foram revisados são investigados para coletar o número de erros encontrados em cada revisão) medida Métrica: Relata a medida individual de certa forma (A média de erros encontrados por revisão ou a média do número de erros encontrados por pessoahora empregada nas revisões )

Métricas no processo e no projeto Medidas permitem ao gerente de software Avaliar o estado de um projeto em andamento Acompanhar os riscos potenciais Descobrir áreas problemáticas Ajustar o fluxo de trabalho Avaliar a capacidade da equipe de controlar a qualidade dos produtos Segundo Tom Gilb Métricas de software permitem que você saiba quando rir e quando chorar

Métricas no processo e no projeto Objetivo das métricas e medidas é MELHORAR o processo de software e a qualidade do software... Forma de melhorar usando medidas e métricas? 1.Medir atributos específicos do processo 2.Desenvolver métricas 3.Usar as métricas

Métricas no processo e no projeto Pontos que influenciam a qualidade e a performance organizacional 3Ps... Capacidade e motivação da equipe Complexidade do produto Processo e ferramentas Métricas Privadas (Personal Software Process PSP) Privadas para equipe, mas não para todos os membros da equipe Taxa de defeitos (por individuo) Taxa de defeitos (por módulo) Erros encontrados durante o desenvolvimento Públicas Relatório de defeitos para as funções principais Erros encontrados durante as revisões técnicas formais Linhas de código ou pontos por função por módulo ou função

Métricas Privadas (Personal Software Process PSP) Privadas para equipe, mas não para todos os membros da equipe Taxa de defeitos (por individuo) Taxa de defeitos (por módulo) Erros encontrados durante o desenvolvimento Públicas Relatório de defeitos para as funções principais Erros encontrados durante as revisões técnicas formais Linhas de código ou pontos por função por módulo ou função

Métricas no processo e no projeto Muito úteis no trabalho da organização e eleva o nível de maturidade do processo de software Etiqueta da métrica de software Use bom senso e sensibilidade para interpretar os dados Forneça feedback as pessoas que fornecem as métricas Não use métrica para avaliar indivíduos Estabeleça metas claras e métricas para alcançá-las Nunca use métricas para ameaçar indivíduos ou equipe Dados de métrica de áreas problemáticas não devem ser consideradas negativas e sim um indicador para melhoria do processo Não fiquei obcecado com uma única métrica em detrimento de outras importantes

Métricas no processo e no projeto Métricas São analisadas e avaliadas pelos gerentes de software Se não fazemos medições, o julgamento é feito apenas em avaliações subjetivas Com medições, tendências podem ser detectadas, melhores estimativas podem ser feitas e aperfeiçoadas São coletadas no decorrer de todo projeto e durante longos períodos

Análise de falhas Métricas são aperfeiçoadas com o tempo Deriva no uso de de aproximações rigorosas como Statistical Software Process Improvement (SSPI), usa analise de falha de software Análise de falha Os erros e defeitos são categorizados pelo origem O custo de correção do erro o defeito é registrado Os erros e defeitos são contados e ordenados em ordem dependente O custo total de cada categoria é computado Os dados resultantes são analisadas para descobrir a categoria com maior custo para a organização Planeja-se como modificar o processo para tentar eliminar os erros e defeitos mais custosos.

Análise de falhas 8 causas de defeito Causa de defeitos segundo Grady

Análise de falhas missing ambigüidade Defeitos de especificação Erro na resposta Cliente da informação errada Erro na pergunta Usar informação ultrapassada Incorreção Câmbios Gráfico espinha de peixe Mostrando as causas de uma classe de defeito

Categorias de defeitos e falhas

Métricas usadas Erros descobertos antes da entrega Defeitos entregues ao usuário final Produtos de trabalho entregue (produtividade) Esforço humano despendido Tempo gasto Cumprimento de cronograma

Métricas de projeto (aplicações) Métricas de processo Finalidade estratégica Métricas de projeto Tática Usada para adaptar o fluxo de trabalho e as atividades técnicas Estimativas de esforço e tempo Métricas de projetos anteriores são usadas como base Gerente usa esses dados para monitorar e controlar o progresso

Trabalho Técnico: métricas Taxa de produção Horas de revisão Pontos por função Linhas de código entregue Erros descobertos Influenciam a qualidade do software Influencia a abordagem de Teste

Métricas de Projeto: objetivos Usadas para minimizar o cronograma de desenvolvimento Ajuste necessários para evitar: atrasos Problemas Riscos em potencial Avaliar sua qualidade do produto durante sua evolução Defeitos são minimizados Retrabalho reduzido

Medidas de Software No mundo físico as medidas são divididas em : Diretas Processo Custo Esforço Produto Linhas de código Velocidade de execução Tamanho de memória Defeitos relatados Indiretas Funcionalidade Qualidade Complexidade Eficiência Confiabilidade Manutenibilidade

Medição de Software Métricas Orientadas Tamanho LOC (Line of Code) ou Função FP (Pontos por função) Objetos C Usos

Métrica Orientada a Tamanho Derivada da normalização de medidas de qualidade e/ou produtividade Projeto LOC Esforço x$(000) Pág. Doc Erros Defeitos Pessoas Alpha 12100 24 168 365 134 29 3 Beta 27200 62 440 1224 321 86 5 Gamma 20200 43 314 1050 256 64 6 Alpha 12100 Linhas de código Desenvolvido com 24 pessoas/meses Custo $168000 365 páginas de documentos 134 erros registrados 29 defeitos depois de liberado

Métrica Orientada a Tamanho Métricas que podem ser usadas Erros por KLOC Defeitos por KLOC $ por LOC PPDoc por KLOC Erros/pessoa-mês LOC/pessoa-mês $/PPDoc

Métrica Orientada a Tamanho Vantagens e Problemas? Defensores Artefato de todo projeto Muitos modelos usam LOC e KLOC Grande volume de literatura Contra Depende da LP Estimativa Não se sabe ainda o tamanho do código

Métrica Orientada a Função Medida de Funcionalidade Pontos por função (Function point FP)

Métrica Orientada a Função Pontos por função : É uma medida de dimensionamento do software através da funcionalidade implementada em um sistema, sob o ponto de vista do usuário. Medida qualitativa calculada através de medidas quantitativas

Métrica Orientada a Função Número entradas externas Número de saídas externas Número de consultas externas Número de arquivos Número de interfases externas

Métrica Orientada a Função FP = count-total X (0.65 + 0.01 X Sum(Fi) Fi fatores de ajuste de complexidade = 1...14

Fatores de Ajuste de Complexidade 1. O sistema requer salvamento (backup) ev recuperação (recovery)? 2. Comunicações de dados especializados são necessários para transferir informação para ou da aplicação? 3. Existem funções de processamento distribuído? 4. O desempenho é crítico? 5. O sistema será executado em um ambiente operacional existente, intensamente utilizado? 6. O sistema requer entrada de dados on-line? 7. A entrada de dados on-line exige que a transação de entrada seja construída por meio de várias telas ou operações? 8. Os ILFs são atualizados on-line? 9. As entradas, saídas, arquivos ou consultas são complexos? 10. O processamento interno é complexo?

Escala de Resposta 0 - Nenhuma influência 1- Influencia Mínima 2-Influencia Moderada 3- Influencia Média 4 - Influencia Significativa 5 - Grande influencia Calculadora de pontos por função http://blog.daltux.com/2008/04/calculadora-de-pontos-por-funcao/

Métrica Orientada a Função Defensores Independente de LP Dados conhecidos no início do projeto Contra Requer alguma mágica pois os cálculos são baseados em dados subjetivos

Reconciliando as métricas LOC e FP depende da linguagem e da qualidade o design Albretch e Gaffney propõem uma medida tosca para relacionar LOC e FP Linguagem de Programação LOC/FP em média assem bly 320 C 128 C obol 105 Fortran 105 P as cal 90 A da 70 OOL 30 4Gls 20 Geradores de código 15 P lanilhas eletrônicas 6 Linguagens gráficas (icons) 4

Métrica Orientada a Objeto Números de scripts de cenário (análogo ao caso de uso) Seqüência de passos que descreve a interação com o usuário e a aplicação Número de classes-chave Componentes altamente independente Número de classes de apoio Necessárias para implementar o sistema, não relacionada ao domínio da aplicação Classe de acesso a BD, classes de calculo Numero médio de classes de apoio por classechave Número de subsistemas

Métrica Orientada a Casos de Uso Descrito no início do projeto Descreve as funções Independente de LP Diretamente ao tamanho da aplicação em LOC e número de caso de teste

Métrica de Software Medidas são usadas para derivar em métricas de produtividade. Deve ser comparadas as métricas entre grupos? LOC/pessoa-mês FP/pessoa-mês O gerente deve apressar as pessoas baseados nestas métricas?

Métrica de Software Cinco fatores importantes que influenciam a produtividade Fator humano Tamanho e experiência Fator associado ao problema Complexidade e câmbios no desenho das restrições e requerimentos Fator de processo Técnica de analise e desenho, linguagem e ferramenta CASE e técnicas de revisão Fator do produto - Confiabilidade e desempenho do sistema Fator de recursos

Métrica de Qualidade de Software Principal meta da ES Produzir sistemas de alta qualidade e um espaço de tempo que satisfaça uma necessidade do mercado Métodos + ferramentas Principais métricas utilizadas Medir erros e defeitos Outros Erros por hora de revisão Erros descobertos por hora de teste

Medidas de qualidade Correção Manutenibilidade Integridade Usabilidade

Medidas de qualidade (Correção) É o grau em que o software desempenha sua necessária função métrica comum defeitos/kloc

Medidas de qualidade (Manutenibilidade) É a facilidade que um programa pode ser corrigido caso encontre erro, adaptado ou aperfeiçoado Atividade de ES que mais consome esforço Não é possível de medir diretamente MTTC (mean-time-to-change)

Medidas de qualidade (Integridade) Mede a capacidade do sistema em resistir a ataques à sua segurança Programas Dados Documentos Ataque e a probabilidade de um ataque ocorrer Segurança É a probabilidade de um ataque ser repelido Integridade = sum(1-ataquex(1-segurança))

Medidas de qualidade (Usabilidade) Se um programa que não é fácil de usar, está fadado ao fracasso, mesmo se as funções são valiosas

Eficiência de remoção de defeitos (DRE) Métrica de qualidade DRE = E /(E + D) E número de erros encontrados antes da liberação do software D número de defeitos encontrados antes da liberação DRE i =E i /(E i +E i+1 )

Integração de Métricas no processo de Software A maioria dos desenvolvedores não medem Muitos tem pouca vontade de começar PROBLEMA CULTURAL Por que precisamos fazer isso?, perguntou um atarefado gerente e um profissional sobrecarregado...

Integração de Métricas no processo de Software Por que é tão importante medir o processo de ES e o produto (software) que ele produz? Resposta óbvia Se não medimos, não haverá forma real de determinar se estamos melhorando Se não estivermos melhorando, estamos perdidos Usar a medição torna mais fácil o gerenciamento Estimativas Sistemas de alta qualidade Entregar produtos dentro do prazo Referencial do projeto

Usando métricas Usar métricas de projetos anteriores Mas...devemos usar se: 1. Os dados são precisos 2. Coletar os dados do máximo possível de projetos 3. Medições consistentes. Ex. linha de código implementada de forma consistente em todos os projetos 4 Aplicações análogas SI com processamento batch (lote) Aplicação embutida de tempo real

Processo de coleta e métrica

Métricas para pequenas Organizações Use métricas simples Tempo (horas ou dias) Desde o pedido até que a avaliação seja feita Esforço (pessoa-horas) Esforço para modificação Erros descobertos durante a modificação Etc..