Author
stefany-da-fonseca-aveiro
View
218
Download
0
Embed Size (px)
Métricas e Estimativas em processo de produção de Software
Métricas e estimativasem processos de
Produção de software
Luigi Silva Motawww.luigi.pro.br
Métricas e Estimativas em processo de produção de Software
Estrutura do curso:
Porque Medir (Motivação)
Tamanho X Esforço - (Estimativas)
Modelos Funcionais (APF & Cia)
Modelos Paramétricos (COCOMO & Cia)
Estimativas a partir do tamanho (O que fazer com os números)
Métricas, Estimativas e MDS (Esforço por fases do processo de
produção de software)
Resultados aplicados ao gerenciamento de projetos de
software - (Usando, registrando e aprendendo)
Programa
Métricas e Estimativas em processo de produção de Software
Porque Medir
Não se consegue controlar aquilo que não se consegue medir
(Tom de Marco)
Não se consegue medir aquilo que não se consegue perceber objetivamente
(Autor Desconhecido)
Métricas e Estimativas em processo de produção de Software
Porque MedirAs métricas permitem que um processo ou produto do ciclo de desenvolvimento de um sistema informatizado seja analisado da mesma forma que um objeto físico pode ser caracterizado pelo seu tamanho, cor ou peso
Para: Dimensionar Delimitar Materializar Entender ...
E S T I M A R
Métricas e Estimativas em processo de produção de Software
Existem várias métricas disponíveis
Efetivamente, qualquer forma de quantificar pode ser considerada como uma métrica. No entanto padrões de medição se tornam necessários para que a métrica se torne útil como elemento de dimensionamento, de estimativa e de comparação
Medir é dimensionar uma realidadeou uma abstração relevante da
realidade.
Métricas e Estimativas em processo de produção de Software
Qt
QtSala
Serviços
BCozinha
10m
6mM
edi
r
Estimar
Requisitos Funcionais
+
Acabamento ?Jardins ?
... ???
OutrosRequisitos
Esforço
Custos
MateriaisConstrução(programação)
GerenciaisAnalistas
..... !!!!
Planejar / Planejar / GerirGerir
Cliente + Arquiteto
Medidade Tamanho
5 2,5 2,5
3221
3
Engenheiro
Especialistas
Métricas e Estimativas em processo de produção de Software
O que medir ? Como medir ?•Linhas de código?•Número de programas, de classes, de objetos, de...?•Como avaliar as complexidades dos elementos que serão usados na medição?
O que se busca na medição de um software?
A dificuldade está em medir algo de características intelectuais e de difícil dimensionamento.
Mas
Dimensionar o seu tamanho para estimar o esforço do trabalho necessário
para a sua fabricação.
Métricas e Estimativas em processo de produção de Software
Componentes Básicos
Métricas
Estrutura Organizacional
Métodos
Processos
Padrões
Ferramentas
Métricas e Estimativas em processo de produção de Software
Métricas
O que esperar de um processo de medição
A prática da métrica deve obter um conjunto básico de valores, também chamado de métricas primitivas.
Tamanho
Esforço
Duração
Equipe
Produtividade
Taxa de entrega
Taxa de defeitos
Margem de erro
.......
Métricas primitivas subsidiam
métricas compostas
.......
Métricas e Estimativas em processo de produção de Software
Métricas
Métricas X Planejamento e acompanhamento X Alocação de recursos
Estimativas
A Integração entre:
Dimensiona o processo de desenvolvimento de software(e seus custos envolvidos)
Métricas e Estimativas em processo de produção de Software
Métricas - Modelo de atuação sugerido
Unidade Central
Unidade LocalUnidade Local Unidade Local
Contato métricas/projeto
Contato métricas/projeto
Contato métricas/projeto
Define padrões <=
Confecciona métricas corporativas <==> Analisa e compara a organização
=> FeedBack
=> Treinamento operacional=> Suporte e atendimento => Base de dados Histórica=> Casos avançados
=> Coleta de métricas => Submete as métricas a homologação nas unidades Locais=> Apura realizado=> Reporta resultados
=> Homologa métricas coletadas
Métricas e Estimativas em processo de produção de Software
Escopo
TempoRecursos
CustosFuncionalidades
Identificadas
PrazosEquipe
Quanto ?
Tamanho
Que subsidiam o planejamento efetivo de um projeto, a fim de viabiliza-lo
GESTÕES
Métricas e Estimativas em processo de produção de Software
Esforço
Tamanho
.
..
. ...
. ..
......
.
Tamanho X Esforço Prazo, Equipe, Custo
Métricas e Estimativas em processo de produção de Software
Medir e Estimar
Tomadas de decisões, em níveis gerenciais;Subsidiam:
Avaliações, em níveis operacionais.
São atividades que consomem tempo na geração de númerosprecisos e significantes.
Métricas e Estimativas em processo de produção de Software
Auxiliando no planejamento e controle do processo de desenvolvimento de software.
Aumentando a expectativa de sucesso de um projeto.
Métricas e Estimativas em processo de produção de Software
CMM
PMI
MDS
Métricas
Requisitos
Processode
Desenvolvimentode
Software
Estimativas
Métricas e Estimativas em processo de produção de Software
Pontos de controle em processos de produção de software
Estimativas
Ma r
g em
de
err o
Tempo
Requisitos
Análise
Protótipo
Entrega
A
ntep
roje
t o
Métricas e Estimativas em processo de produção de Software
Gestão de Integração
Gestão de Escopo
Gestão de Tempo
Gestão de Recursos
Gestão de Custos Gestão de Qualidade
Gestão Ambiental
Gestão de Pessoal
Gestão de Comunicações Gestão de Riscos
Gestão de Suprimento
Gerenciar o Projeto
Planejar
Executar Verificar
Agir
Métrica
Métricas e Estimativas em processo de produção de Software
Métricas & Estimativas
Tamanho
Prazo
Esforço
Equipe Custo
Projeto
Métricas e Estimativas em processo de produção de Software
Modelos de Estimativas
Baseados em Analogias
Baseados em Atividades
Relações simples de estimativas
Modelos paramétricos de estimativas
Opiniões de especialistas e Bases Históricas
WBS
Produtividade
COCOMO,SLIMKnowledge Plan
Esforço = Produtividade x Tamanho
Esforço = C x TamanhoE x Fatores multiplicadores
Fatores de performancenão lineares
Constante Fatores de performance llineares
Métricas e Estimativas em processo de produção de Software
Modelos Funcionais
Funcionalidade
Uma Função
Um Serviço
Uma Capacidade
Algo Visto, Tangível, com sentido tanto para usuários quanto para desenvolvedores
Que trabalhando em conjunto produzemum determinado resultado
Métricas e Estimativas em processo de produção de Software
APF & Cia
APF - Análise de Pontos por Função
UCP - Use Case Point
EFPA - Enhancement Function Points - NESMA
FFPA - Full Function Points - COSMIC
MK II - Function Point Analysis - UKSMA
Métricas e Estimativas em processo de produção de Software
IntroduçãoAnálise de Ponto de Função
Técnica de métrica que estabelece o tamanho de softwarea partir das funcionalidades definidas pelo
usuários, eindependente de aspectos de implementação tecnológica.
IFPUG - International Function Point User Group
Organização sem fins lucrativos, dirigida por associados, com objetivo de incentivar e
incrementar o uso da técnicaAPF e outras metodologias de métrica.
Métricas e Estimativas em processo de produção de Software
O sistema sob a ótica do usuárioVisão do UsuárioRepresenta uma descrição formal do negócio, descrito na sua própria linguagem. Desta forma é uma descrição das Funcionalidades conforme são vistas ou reconhecidas por ele.
Entradas Saídas
Arquivos
Arquivos
É um conjunto de entradas e saídas, além de arquivos que cumprem uma determinada função de armazenagem
Sistema
Métricas e Estimativas em processo de produção de Software
1979 - Allan Albrecht, (IBM)
1984 - Criação do IFPUG e estabelecimento do Counting Practices Manual (CPM) - (www.ifpug.org)
1998 - Criação do BFPUG - (www.bfpug.com.br)
1999 - Publicação da Release 4.1.1 do CPM
Histórico:
Métricas e Estimativas em processo de produção de Software
Objetivos e conceitos básicosMedir o software através da quantificação da funcionalidade solicitada e adquirida pelo cliente tendo como base primária sua visão lógica sobre o negócio;
Medir o desenvolvimento e a manutenção de software independentemente da tecnologia utilizada na sua implementação;
Obter uma medida consistente para o desenvolvimento e manutenção de software entre projetos e organizações diferentes.
Métricas e Estimativas em processo de produção de Software
• Independente de tecnologia• Unidade de medida padrão para software• Técnica de estimativa e métrica de software• Simples o suficiente para:
Assim, a medida torna-se:
•Ser compreensível por não-técnicos
•Usada para estimar um projeto antes mesmo dele iniciar
•Ser utilizável desde o início do projeto
•Ser uma medida de comparação entre projetos e empresas
•Facilita negociações de escopo e abrangência de projetos
•Homogeneíza o diálogo cliente/desenvolvedor
Métricas e Estimativas em processo de produção de Software
Ainda como benefícios do uso da métrica APF temos:
Subsidia estimativas futuras - (bases históricas)Subsidia confecção de cronogramasPermite o estabelecimento e acompanhamento de indicadores de desenvolvimento de software no contexto de FábricaExige qualidade de outras área importantes do ciclo de desenvolvimento de softwareApoia atividades de gerência de projetosApoia atividades de melhoria contínua da qualidade
Métricas e Estimativas em processo de produção de Software
Análise por Pontos de Função - O Processo de contagem na sua totalidade
APF
Funções de Dados Funções Transacionais
ALIs AIEs EEs CEs SEs
PF não ajustados (PFb)
Determinar Fator de ajuste (FA)
PFajustados = PFb X FA
Reusabilidade
Performance
Interface.........
Funções distribuídasVolume de transações
Processamento Complexo
.........
Classificaçãode
Complexidade
Pontuação
Classificaçãode
Complexidade
Pontuação
Métricas e Estimativas em processo de produção de Software
AIEEE
SE
CE
Aplicativo
Outros Aplicativos
SE
EE
CE
ALI AIE
Métricas e Estimativas em processo de produção de Software
É definido o tipo de contagem:Novos ProjetosUtilizado para dimensionar o tamanho de um projeto novo de desenvolvimento, medido em PF (pontos por função) Inclui conversão
de dadosProjetos de MelhoriaUtilizado para cálculo de manutenção em uma aplicação já existente. Medeinclusões, alterações e exclusões de funções (dados ou transações)
Inclui conversão de dadosAplicaçõesUtilizado para dimensionar o tamanho real de uma aplicação já construída.
NÃONÃO inclui conversão de dados
Definindo os propósitos de uma contagemEstimar esforço para: Desenvolver novo sistema ou evoluir um já existente ?Contar a base instalada de aplicativos ?
Comparar funcionalidades entre pacotes de aplicativos ?
Aplicativo Conversão(implantação)
Aplicativo
Aplicativo CV
Evoluir um aplicativo já existente ?
Métricas e Estimativas em processo de produção de Software
EscopoDefine as funções que serão incluídas em uma contagem em particular.
O escopo define um conjunto (ou subconjunto) do software sendo medidoO propósito de uma contagem influencia na determinação de seu escopoIdentifica quais funcionalidades serão incluídas na contagem assim como provê respostas relevantes aos problemas sob investigação
Pode incluir mais de uma aplicação
Desta forma:
Métricas e Estimativas em processo de produção de Software
FronteiraÉ como uma membrana que separa o usuário e o sistema sendo contado
Separa o que é interno e externo a uma aplicação sendo contada. Assim, confina os dados lógicos que são mantidos pela aplicação e auxilia na identificação dos dados lógicos que são referenciados mas não mantidos por ela. É uma interface conceitual sendo definida pela visão do usuário (separações funcionais, isto é, o que o usuário pode perceber e descrever) e não por considerações tecnológicas.
Age como uma membrana por onde passam (fluem) dados processados pelasfuncionalidades (transações)Pode incluir mais de uma aplicação
Desta forma a Fronteira:
No caso de manutenções evolutivas, a fronteira deve ser posicionada de forma coe-rente com a fronteira estabelecida para o sistema original.
A Fronteira pode envolver várias aplicações ou vários módulos de uma mesma aplicação, dependendo do escopo definido para a contagem
Métricas e Estimativas em processo de produção de Software
Exemplo 1Suponha a seguinte situação:Uma determinada loja de materiais de construção possui um sistema de cadastro de clientes, utilizado para vários fins, inclusive para emissão de malas diretas promocionais. Uma nova forma de venda que permite o cadastramento de pedidos através de uma central telefônica de atendimentos está sendo inaugurada. O operador, ao receber um pedido de fornecimento, procede o seu cadastramento em um sistema de cadastro de solicitações. Este sistema também está disponível para o pessoal responsável por separar o material de cada pedido e embalá-lo adequadamente para ser entregue. Para fazer um pedido pela central telefônica é necessário fazer um cadastramento prévio na própria loja. Uma hora antes do final de cada expediente (matutino e vespertino) o pessoal da área de cobrança, emite as devidas faturas enviando-as ao pessoal da área de entrega. As entregas serão realizadas no próximo período.Segundo esta configuração de processos temos, segundo a visão do usuário, a seguinte configuração de fronteiras para as aplicações citadas:
Métricas e Estimativas em processo de produção de Software
Exemplo 1Suponha a seguinte situação:Uma determinada loja de materiais de construção possui um sistema de cadastro de clientes, utilizado para vários fins, inclusive para emissão de malas diretas promocionais. Uma nova forma de venda que permite o cadastramento de pedidos através de uma central telefônica de atendimentos está sendo inaugurada. O operador, ao receber um pedido de fornecimento, procede o seu cadastramento em um sistema de cadastro de solicitações. Este sistema também está disponível para o pessoal responsável por separar o material de cada pedido e embalá-lo adequadamente para ser entregue. Para fazer um pedido pela central telefônica é necessário fazer um cadastramento prévio na própria loja. Uma hora antes do final de cada expediente (matutino e vespertino) o pessoal da área de cobrança, emite as devidas faturas enviando-as ao pessoal da área de entrega. As entregas serão realizadas no próximo período.Segundo esta configuração de processos temos, segundo a visão do usuário, a seguinte configuração de fronteiras para as aplicações citadas:
ClientesPedidos
Faturamento
UsuárioSetor de Cadastro
de Clientes
UsuárioSetor de Cadastro
de Pedidos
UsuárioSetor de
FaturamentoFaturamento referencia
dados de clientes cadastradosFaturamento referencia
dados de pedidos cadastrados
Fatura
Lista de material
Setor de Entregas
Métricas e Estimativas em processo de produção de Software
Exemplo 2
Objetivo da contagem:
Escopo:
Tipo de contagem: Aplicação
A empresa “HPT” possui um sistema informatizado que administra os seus gastos externos (Contas a pagar). Este sistema encontra-se implementado em produção e faz interface com outros aplicativos da empresa. De forma particularmente importante, este sistema faz interface com o sistema de Folha de pagamentos de funcionários. No sistema da folha de pagamentos são referenciados dados sobre os encargos a serem pagos pela empresa, sobre os salários praticados para seus funcionários. Deseja-se identificar o tamanho em pontos por função do sistema de Contas a pagar e um levantamento de suas funcionalidades para subsidiar futuras comparações.
Identificar o tamanho de um sistema já existente, implementado e em produção
As funções que compõem o sistema de contas a pagar
Métricas e Estimativas em processo de produção de Software
Contas a
Pagar
Folha de
Pagamento
Usuário
Usuário
Usuário
Usuário
Usuário
O usuário do Sistema de Folha de Pagamento pesquisa algumas informações de rubricas contábeis contidas no sistema de Contas a pagar.Em que contagem está inserida esta função transacional ?
O sistema de contas a pagar referencia dados relativos a Encargos de funcionários, a serem pagos pela empresa
E se o objetivo fosse identificar o tamanho de todas as aplicações que administram quaisquer pagamentos (internos e externos). Como ficaria a o escopo e a fronteira da contagem ?
Métricas e Estimativas em processo de produção de Software
Tipos de Funções
Funções de dados:
Funções transacionais:
Funções de dados relacionam-se com o armazenamento lógico de dados e sua disponibilização para atualizações, referências e recuperações. Funções de tipos de dados representam as funcionalidades providas aos usuários para satisfazer as exigências de dados internos e externos.
Sistemas são usualmente desenvolvidos para automatizar processos e tarefas. As tarefas que são automatizadas podem ser identificadas como funções transacionais. Elas representam as funcionalidades providas aos usuários pelo processamento de dados efetuado pela aplicação
(ALIs e AIES)
(EEs, CEs, SEs)
Métricas e Estimativas em processo de produção de Software
DICAS:Escopo
Reveja o propósito da contagem para auxiliar na determinação do escopo;
Ao identificar o escopo de uma contagem de aplicação (isto é, funcionalidades suportadas pelo time de manutenção), incluir todas as funções correntes em produção e usadas pelos usuários
Métricas e Estimativas em processo de produção de Software
DICAS:Fronteira
Usar as especificações externas para obter um fluxo do sistema e desenhar a fronteira ao redor dele para salientar quais as partes são internas e quais são externas à aplicação (Diagramas de contexto e Use Case, são particularmente úteis neste caso)
Observar como os grupos de dados estão sendo mantidos
Identificar áreas funcionais associando suas propriedades (Ex.: entidades ou processos elementares)
Observar os dados medidos e associados a uma aplicação. Outros dados tais como: esforço, custo e erros terão suas fronteiras coincidentes com a da APF.
Métricas e Estimativas em processo de produção de Software
DICASFronteira
O posicionamento da fronteira da aplicação entre o software sobre investigação pode ser subjetiva. Em algumas ocasiões pode ser difícil delinear onde uma aplicação termina e onde oura começa. Nestes casos tente posicionar a fronteira através de uma perspectiva de negócio ao invés de basea-la em considerações técnicas ou físicas.
O posicionamento da fronteira de uma contagem é um passo crítico e importante causando impacto em toda a análise.