Gestão de Projectos de SW OO: Métricas, Estimações e Planificações Aula 21 Sumário Gestão de Projectos de SW OO – Processos de SW OO – Métricas e Estimação/Planificação para Projectos de SW OO na literatura.. para a Lacertae Software Estimação e Planificação em Geral 2 já vimos o Modelo Recursivo-Paralelo veremos técnicas e heurísticas de uso na próxima aula teórica.. observações finais opções exemplos de Modelos Empíricos Gestão de Projecto de SW OO – – – – determinar quanto dinheiro, esforço, recursos e tempo requer a construção de um Produto de SW OO Quem faz? – – Gestores de Projectos de SW Engenheiros de SW (Analistas e Arquitectos) 3 compilam as medidas auxiliam nas medições Métricas OO na literatura.. definem e quantidade de um conjunto padrão de elementos de UML, nomeadamente: – – – – – – – use cases classes subsistemas componentes interfaces páginas Web scripts são medidas (ou classificadores) que usamos para medir o esforço requerido ao desenvolvimento do Produto de SW 4 Tipos de Métricas OO - encontradas na literatura Métricas para o Modelo de Desenho OO Métricas Orientadas a Classes – – métricas de Lorenz & Kidd métricas de CK (Chidamber & Kemerer) – MDOO – Métricas para o Desenho OO 5 Métodos ponderados por Classe Árvore de profundidade de Herança Número de Descendentes Acoplamento entre Classes Respostas para uma Classe Carência de Coesão do Métodos Factor de Herança de Métodos Factor de Acoplamento Factor de Polimorfismo Métricas orientadas a operações, métodos ou serviços Métricas para Testes OO Métricas de Lorenz & Kidd - adoptadas pela Lacertae SW número de classes-chave – – é uma indicação do esforço necessário para desenvolver o SW … e da quantidade (potencial) de classes reutilizáveis durante o desenvolvimento do sistema Também 6 chamadas de “Componentes Altamente Independentes” Métricas de Lorenz & Kidd - adoptadas pela Lacertae SW número de classes de suporte – não fazem parte do domínio do problema – mas são necessárias para implementá-lo exemplos: Interfaces Gráficas dos Usuários (GUI) – janelas, botões, caixas de diálogos, etc. Acesso às bases de dados e sua manipulação Acesso a outros programas ou aplicações legadas Estas classes são definidas interactivamente durante o Processo Recursivo-Paralelo 7 Métricas de Lorenz & Kidd - adoptadas pela Lacertae SW número de subsistemas – facilita uma planificação razoável na divisão do trabalho entre os membros da equipa de desenvolvimento Consiste numa agregação de Classes que dão suporte a uma função visível ao usuário final do Sistema 8 Estimações e Planificações OO de Lorenz & Kidd - adoptadas pela Lacertae SW primeiros passos para esta Estimação OO: – decomposição de esforços usando – Classes-chave Classes de Suporte determinar a quantidade de classes-chave é mais uma arte do que uma ciência – o que não exclui o uso de um enfoque sistemático! A Estimação 10 Estimações e Planificações OO de Lorenz & Kidd - adoptadas pela Lacertae SW classificar o tipo de Interface do Produto e desenvolver um Multiplicador para as Classes de Suporte – 11 multiplicar a quantidade de classes-chave pelo Multiplicador para obter uma estimação do número de classes de suporte Interface Multiplicador não gráfica baseada em texto GUI GUI complexa 2 2,25 2,5 3,0 Estimações e Planificações OO de Lorenz & Kidd - adoptadas pela Lacertae SW – multiplicar a quantidade total de Classes (classes-chave + classes de suporte) pelo “número médio de unidades de trabalho (dias-pessoa) por classe” – Lorenz & Kidd sugere entre 15 e 20 dias-pessoa por classe determinar a quantidade de esforço estimada exemplo :: 12 se modelarmos 10 classes-chave :: e utilizarmos GUI, então teremos 25 classes de suporte :: 35 classes * 20 dias-pessoa (máximo) = 750 dias-pessoa Estimação em Geral - observações Estimação requer – – – Riscos inerentes – – – – Complexidade do projecto Tamanho do projecto Grau de definição dos requisitos Maturidade do Processo de Software Agregação de projectos por – – 13 Experiência Boa informação histórica Coragem para confiar em prognósticos – Tamanho de equipa Área de aplicação Complexidade Estimação do Projecto de SW - opções 14 Má ideia deixar a estimação para depois Deve-se basear as estimações em projectos similares já terminados Algumas ferramentas automáticas podem ser muito úteis Utilizar técnicas de decomposição para gerar estimativas de custo e esforço Utilizar modelos empíricos Estimação do Projecto de SW - exemplos de Modelos Empíricos COCOMO (1981) e COCOMO II (1996) 0.91 Modelo de Walston-Felix E=5.2 x KLDC c Análise de regressão E = A + B x (ev) Modelo de Matson, Barnett e Mellichamp – 15 E = 585,7 + 15,12 PF Métricas de línea base = [LDC/pontos de função]/pessoa-mês Métricas de línea base x variáveis de estimação = projecções de custo e esforço VE= (Sopt+4Sm + Spess)/6 Lorenz & Kidd: Métricas de SW OO orientadas a Classes que usaremos para a Lacertae SW próximas aulas teóricas Ferramentas CASE – Processos de SW OO – 17 Noções teórico-práticas.. quando concluir as iterações AOO, DOO e Testes OO..