07 medições e métricas de sw

73
Engenharia de Software II Planejamento e Gerenciamento de Projetos

Upload: matthew-mccoy

Post on 18-Aug-2015

231 views

Category:

Documents


1 download

DESCRIPTION

07 Medições e Métricas de Sw

TRANSCRIPT

Engenharia de Software IIPlanejamento e Gerenciamento de Projetos ObjetivoFornecer uma estrutura que possibilite ao gerente fazer estimativas razoveis de recursos, custos e prazos. Essas estimativas so realizadas dentro de um plano de tempo limitado ao incio de um projeto de softare e devem ser regularmente atualizadas ! medida que o projeto progride.Para se obter uma boa estimativa algumas atividades devem ser cumpridas, abai"o esto algumas delas# Escopo, Recursos, Reusabilidade. EscopoEstabelecer um escopo de projeto que seja claro e compreensvel tanto em nvel t$cnico como administrativo. % escopo do softare descreve a fun&o, o desempen'o, as restri&(es, as interfaces e a confiabilidade. Recursos)ada recurso $ especificado segundo quatro caractersticas# descri&o do recurso, uma declara&o da disponibilidade, tempo cronol*gico em que o recurso ser e"igido por quanto tempo o recurso ser aplicado. Recursos (II) Recursos u!anos% planejador come&a a avaliar o escopo e a selecionar as 'abilidades e"igidas para concluir o desenvolvimento. +anto os postos organizacionais ,por e"emplo, gerente, engen'eiro de softare, etc.- como as especialidades ,por e"emplo, telecomunica&(es, banco de dados, etc.- Para projetos relativamente pequenos, uma .nica pessoa pode e"ecutar todas as etapas de engen'aria de softare consultando especialistas quando necessrio. Recursos (III) Recursos de ardware+r/s categorias de 'ardare devem ser consideradas durante o planejamento do projeto# o 'ardare de desenvolvimento, o 'ardare de produ&o outros elementos de 'ardare do novo sistema. Recursos (I") Recursos de Software)01E2 )omputer20ided 1oftare engineering#ferramentas de planejamento de 134 ferramentas de gerenciamento de projetos4 ferramentas de apoio4 ferramentas de anlise e projeto4 ferramentas de programa&o4 ferramentas de integra&o e testes4 ferramentas de constru&o de prot*tipos ferramentas de manuten&o4 ferramentas de frameor5.. Reusabilidade6euso dos blocos de constru&o do softare.7uas regras quando o softare reusvel for utilizado como recurso# 1e o softare e"istente cumprir os requisitos, adquira2o. ,% custo de aquisi&o de um softare e"istente quase sempre ser menor do que o custo para desenvolver um softare equivalente- 1e o softare e"istente e"igir 8alguma modifica&o9 antes que possa ser adequadamente integrado ao sistema, proceda cautelosamente. ,% custo para modificar um softare e"istente !s vezes pode ser maior do que o custo para desenvolver um softare equivalente- Engenharia de Software II:E73;erifica se o n.mero de erros est muito grande para o taman'o do programa, etc. #onceitos+ipos de :edidas#:edidas 7iretas# )usto do softare, tempo gasto para produ&o, n.mero de lin'as de c*digo produzidas, velocidade de e"ecu&o, taman'o da mem*ria ocupado pelo softare, n.mero de erros em um espa&o de tempo.:edidas 3ndiretas# qualidade de softare, usabilidade do softare, manutenibilidade, funcionalidade, efici/ncia e confiabilidade. $%tricas Orientadas a &a!anho1o m$tricas diretas, mais simples, geralmente se baseiam em n.mero de lin'as de c*digos ,?%) @ ?ines of )ode ou A?%)-. $%tricas Orientadas a &a!anho>antagens# fceis de serem obtidas, e"iste uma vasta bibliografia7esvantagens# % n.mero de ?%) depende da linguagem de programa&oprogramas bem projetados, pequenos, sero injustamente classificados como improdutivoslinguagens no procedimentais no podem ser avaliadas por estas medidasno se pode utilizar essas m$tricas para fazer estimativas na fase de planejamento. $%tricas Orientadas a &a!anhoProjeto Esforo R$ KLOC Pg. docum. Erros Pessoas Tempo (meses)01 24 500 12,1 365 29 3 802 45 1000 20,5 1020 86 5 903 40 2500 10,8 870 64 4 1004 60 2000 17,8 900 34 6 10Produtividade B A?%)Cesfor&oDualidade BErrosCA?%))usto B 6ECA?%)7ocumenta&o B PgsCA?%) Esti!ativas e! 'rojeto de Software1oftare 2 Elemento mais caro.Erros de estimativa# diferen&a entre lucro e prejuzo.Estimativa no $ e"ata# variveis podem afetar o custo final do softare @ 'umanas, t$cnicas, ambientais, polticas...Fsar t$cnicas oferece estimativas com riscos aceitveis.3deal 2 atrasar a estimativa at$ um ponto tardio do desenvolvimentoFsar t$cnicas de decomposi&o Engenharia de Software IIPontos de Fun&o 'ontos de (un)*o0bordagem das fun&(es e caractersticas de um sistema sob o ponto de vista do que ele faz para o usurio, num enfoque empresarial e no t$cnico. 'ontos de (un)*o%bjetivos#:edi&o de Funcionalidade de 1istemas de acordo com a perspectiva do usurio)ompara&o da produtividade entre ambientes de desenvolvimento)ria&o de uma unidade padro de medida de softare:el'oria de estimativas de projetos de desenvolvimento de sistemas 'ontos de (un)*o>antagens+ranspar/ncia para o usurio finalPermite estimativas de tempo, recursos e custos desde o incio do ciclo de desenvolvimento, mesmo sem ter todas as informa&(es necessrias sobre o sistema.:el'orar a qualidade dos contratos de terceiriza&o 'ontos de (un)*o + EtapasG.3dentifica&o das fun&(es do sistema.H.)lassifica&o de cada fun&o quanto ! comple"idade funcional relativa como# simples, m$dia ou comple"a.I.)lculo dos pontos de fun&o brutos atrav$s da aplica&o dos pesos de acordo com a tabela especficaJ.0valia&o das GJ caractersticas gerais do sistemaK.7etermina&o do Fator de 0justeL.)lculo dos pontos de fun&o ajustados. 'ontos de (un)*o &ipos de (un),es0rquivo ?*gico 3nterno0rquivo de 3nterface E"ternoEntradas1adas)onsulta -r.uivos /0gicos Internos (-/I))orresponde ao Grupo ?*gico de 7ados e de 3nforma&(es de )ontrole, mantido dentro da aplica&o, que satisfaz os requerimentos do usurio.)asos +picosManco de 7ados,cada arquivo l*gico 2 viso usurio-+abelas do usurio0rquivos de dados e"tra M70rquivos de :ensagens0rquivos de documenta&o %n2line ,Nelp-0rquivos de )ontrole CParOmetros -r.uivo de Interface E1terna (-IE)Grupo ?*gico de dados ou parOmetros que $ transferido de uma aplica&o para outra.)asos +picosManco de 7ados compartil'ado0rquivo de parOmetros compartil'ado0?3 de outra aplica&o acessado somente para leitura pela aplica&o medida. -/I e -IE 23vel de #o!ple1idadeTipos deRegistro Lgico1 - 19 20 - 50 51 +1S SM 2-5S MC 6 +M CCC!pos de "dos EntradasProcessos para Entradade7ados:anuten&o de 0rquivo ?*gico 3nterno inclusoe"clusoaltera&o)asos +picos+eladeentradadedados ,opera&(es de incluso,e"cluso, altera&o de registros-Entrada em :odo Matc' ,uma para cada fun&o de manuten&o- Entradas 23vel de #o!ple1idade#r$%i&osRe'ere(cidos1 - 4 5 - 15 16 + 0-1S SM 2S MC 3 +M CCC!pos de "dos Sa3das1ada de dados1ada de informa&(es de controle para o usurio Sa3das 23vel de #o!ple1idade#r$%i&osRe'ere(cidos1 - 5 6 - 19 20 + 0-1S SM 2-3S MC 4 +M CCC!pos de "dos #onsultas% processamento l*gico no cont$m nen'uma f*rmula matemtica ou clculo, ou cria dados derivados% comportamento do sistema no $ alterado.1eu nvel de comple"idade $ o maior valor entre entrada e sada #onsultas 23vel de #o!ple1idade#r$%i&osRe'ere(cidos1 - 4 5 - 15 16 + 0-1S SM 2S MC 3 +M CCC!pos de "dos1 - 56 - 1920 + 0-1S SM 2-3S MC 4 +M CC)*+,T-,T+,T #4lculo dos 'ontos de (un)*o0plica2se um peso sobre os valores obtidos e ento se ter os Pontos de Fun&o Mrutos ,PFM-Tipos de.%(/0esS M C 1*TR#"# 3 4 6 S#2"# 4 5 7 #R34 L-54)*T4 7 1015+1S-S)*T1R.#C1 5710C-*S,LT#34 6 -juste dos 'ontos de (un)*o0valiaroimpactode cadaumadas quatorze caractersticas atribuindo para cada caracterstica umpeso dePaK.)alcular o nvel de influ/ncia atrav$s da soma dos pesosdecadauma das caractersticas.)alcularofatordeajusteapartir da equa&o Fator B ,Q3 R P,PG- S P,LK.0scaractersticasgeraisdosistema podem influir no seu taman'o de 2IKT a SIKT. -juste dos 'ontos de (un)*o #aracter3sticas (I))omunica&o de 7adosFun&(es 7istribudas7esempen'o)arga de )onfigura&o>olume de +ransa&(esEntrada de dados on2lineEfici/ncia do Fsurio Final0tualiza&o on2line -juste dos 'ontos de (un)*o #aracter3sticas (II)Processamento )omple"o6eutiliza&oFacilidade de 3mplanta&oFacilidade %peracional:.ltiplos ?ocaisFacilidade de :udan&as -juste dos 'ontos de (un)*oQvel de 3nflu/ncia ,Q3- B 1oma dos Qveis de 3nflu/ncia ,GJ caractersiticas-Fator de 0juste ,F0- B P,LKS ,P,PG R Q3-Pontos de Fun&o ,PF- B F0 R PFM 'rodutividade da E.uipe (I)Pode ser medida pela quantidade de 'oras que $ gasta para disponibilizar uma certa quantidade de pontos de fun&o.Por e"emplo# GLP ' C GP Pfs B GL Ns C PF6ecorremos a registros 'ist*ricos para determinar o esfor&o despendido ,em 'oras 2 pessoa-)alculamos a produtividade obtida ,emNora C PF - 'rodutividade da E.uipe (II)Estabelecemos as produtividades m$dias obtidas para os diversos ambientes de desenvolvimento ,equipe, recursos de apoio, linguagem, etc.-, que sero adotadas como padro para as estimativas de sistemas a desenvolver.0ocadastrarcadanovoprojeto,as caractersticasinformadasnoseuregistro, deveroserutilizadasparaau"iliarasele&o da produtividade esperada. 'rodutividade da E.uipe (III)Fatores Due 3nfluenciam 0 Produtividade de Fm Projeto3ne"peri/ncia da equipeGerenciamento ineficiente do projeto6equerimentos instveis Falta de metodologia de desenvolvimento+aman'o do Projeto -n4lise de Recursos e 'ra5os a partir do c4lculo -n4lise de Recursos e 'ra5os a partir do c4lculo de 'ontos de (un)*ode 'ontos de (un)*o-n4lise de Recursos e 'ra5os a partir do c4lculo -n4lise de Recursos e 'ra5os a partir do c4lculo de 'ontos de (un)*ode 'ontos de (un)*o)onsiderando2se a seguinte proje&o#IProdutividade para modelagem B L FP C Nomem2m/sIProdutividade para implementa&o B J FP C Nomem2m/sI6ecursos efetivos para modelagem B J 'omens2m/sI6ecursos efetivos para implementa&o B K 'omens2m/sIFP0 B +otal de Pontos de Fun&o 0justado. Esti!ativa de pra5o a partir do c4lculo de 'ontos de (un)*oEsti!ativa de pra5o a partir do c4lculo de 'ontos de (un)*o:odelo Essencial BFP0U HKT VVVFP Qecessidade de Nomens2m/sB VVVVCL VVVN: PrazoB VVVVCJ VVV:W1:odelo de 3mplementa&oBFP0U HPTVVVFP Qecessidade de Nomens2m/sB CL VVVN:PrazoBVVVVC J VVV:W1 'ra5os a partir do c4lculo de 'ontos de (un)*o'ra5os a partir do c4lculo de 'ontos de (un)*o3mplementa&oBFP0U JKT VVVVFP+Qecessidade de Nomens2m/sB VVVVCJVVVVN:PrazoB VVVVCKVVVV :W1Prazo total estimado para modelagem , VVV S VVV -VVV :esesPrazo total estimado para implementa&o VVV :esesPrazo total estimado VVV :eses Engenharia de Software II6econcilia&o entre 7iferentes 0bordagens Reconcilia)*o E"iste um banco de dados ,D1: 7atabase- com HKXY projetos concludos com seus Pontos de Fun&o calculados e com suas linguagens de programa&o. % projeto trabal'a com HZX linguagens de um total de LJK linguagens armazenadas no banco de dados ,sem projetos com linguagens mistas-)om isso, foi gerada uma tabela como guia de converso dos pontos de fun&o para lin'as de c*digo)om o progresso do Engen'eiro no processo de desenvolvimento, ele mesmo pode criar o seu fator de converso. &abela de Reconcilia)*o (I)QSM SLOC/FP DataMdia Mediana Baixo AltoAccess 35 38 15 47Ada 154 - 104 205Advantae 38 38 38 38APS 8! 83 20 184ASP!" !# 32 127Asse$%le&'' 1(# 15( 86 320C '' 148 1)4 9 704C** '' !) 53 29 178C+ 5" 5" 51 66Cli,,e& 38 39 27 ()COBOL '' (3 (( 8 400Cool-.en//0F 38 31 10 18)C1l,&it 51 - 2 2DBase /// 2 - - 2DBase /3 5# - 2 20as4t&ieve* 33 34 25 410xcel 4( 46 31 !3Foc1s 43 4# 32 56FO565A7 2 2 - -FoxP&o 3# 35 25 3586ML'' 43 4# 35 53Lin1ae$ &abela de Reconcilia)*o (II)QSM SLOC/FP DataMdia Mediana Baixo Alto/deal !! 5# 34 203/0F/Cool-.en 38 31 10 180/n9o&$ix 4# 31 24 57:#00 !1 5) 50 100:ava'' !) 5" 14 97:avaSc&i,t'' 5! 54 44 65:CL'' !) 48 21 115:SP 5" 2 - -Lot1s 7otes #1 ## 15 25Mantis (1 #( 22 250Ma,,e& 118 81 16 2457at1&al !) 5# 22 141O&acle'' 38 #" 4 122O&acle Dev #;/FO5MS 41/4# 3) 21/23 100Pac%ase 44 48 26 60Peo,leSo9t 33 3# 30 40Pe&l !) 2 - -PL/1'' 5" 58 22 92PL/SQL 4! 31 14 110Po'' 35 32 17 55SQL'' 3" 35 15 1433BSc&i,t'' 45 34 27 503is1al Basic'' 5) 4# 14 2763PF "! "5 92 101?e% Sc&i,ts 44 15 9 114Lin1ae$ #onclus,es da Reconcilia)*o%s pontos por fun&o e lin'as de c*digo foram considerados previs(es relativamente precisas do esfor&o e custo do desenvolvimento. Por$m, para que se possa usar estas m$tricas, uma lin'a bsica de informa&o 'ist*rica deve ser estabelecida. Engenharia de Software II)%)%:% ,)onstructive )ost :odel- Introdu)*o% m$todo )%)%:% foi desenvolvido por Marr[ Moe'm, para estimar esfor&o, prazo, custo e taman'o da equipe para um projeto de softare.% m$todo foi derivado de um data set que compreendia LI projetos cobrindo reas como# neg*cios, controle, cientfica, suporte e sistema operacional. #lassifica),es do #O#O$O:odelos#)%)%:% Msico)%)%:% 3ntermedirio)%)%:% 0van&ado+ipos de Projeto%rgOnico7ifuso6estrito $odelos (I))%)%:% Msicomodelo esttico de valor simples que computa o esfor&o ,e custo- de desenvolvimento de softare como uma fun&o do taman'o de programa e"presso em lin'a de c*digo estimadas.)%)%:% 3ntermediriocomputa o esfor&o de desenvolvimento de softare como uma fun&o do taman'o do programa e de um conjunto de 8direcionadores de custo9 que incluem avalia&(es subjetivas do produto, do 'ardare, do pessoal e dos atributos do projeto. $odelos (II))%)%:% 0van&adoincorpora todas as caractersticas da verso intermediria, com uma avalia&o do impacto dos direcionadores de custo sobre cada passo ,anlise, projeto, etc.- do processo de engen'aria de softare. &ipos de 'rojeto:odelo %rgOnico ,ou convencional-projetos de softare simples, relativamente pequenos, nos quais pequenas equipes com boa e"peri/ncia em aplica&(es trabal'am num conjunto de requisitos no to rgidos. %utras caractersticas# ambiente estvel de desenvolvimento, algoritmos simples, pr/mio relativamente bai"o para t$rmino antes do prazo, taman'o relativamente pequeno, projetos na fai"a de KP.PPP lin'as de c*digo. &ipos de 'rojeto:odelo 1emidestacado ,ou difuso-projeto de softare intermedirio ,em taman'o e comple"idade- onde a equipe mescla grande e pouca e"peri/ncia com aplica&(es, grande e pouca e"peri/ncia com a tecnologia, o taman'o dos softare varia at$ IPP.PPP lin'as de c*digo.:odelo embutido ,ou restrito-um projeto que deve ser desenvolvido dentro de um conjunto rgido de restri&(es operacionais, de 'ardare e de softare. Esti!ativas co! o #O#O$O $odelo 64sicoG-7eterminar o :odo do Projeto ,%rgOnico, 7ifuso ou 6estrito-H-7eterminar o Q.mero de ?in'as de c*digo. Esta $ uma das limita&(es do m$todo, pois como, no incio do projeto, saberemos quantas lin'as de c*digo sero produzidas\ 0lternativa 2 6econcilia&o.I-0plicar a Estimativa de ?%) na equa&o do Esfor&o -plica)*o da Esti!ativa de /O# (I):odelo Esfor&o%rgOnico PC:BH,J ,A?%)- ] G,PK7ifuso PC:BI,P ,A?%)- ] G,GH6estrito PC:BI,L ,A?%)- ] G,HP -plica)*o da Esti!ativa de /O# (II)Estimativa do Prazo%rgOnico PrazoBH,K ,PC:-] P,IZ7ifuso PrazoBH,K ,PC:- ] P,IK6estrito PrazoBH,K ,PC:- ] P,IH -plica)*o da Esti!ativa de /O# (III)Estimativa de quantidade de PessoalPessoas B PC: C Prazo Engenharia de Software II)%)%:% 33 Introdu)*o)%)%:%2 GXZP)%)%:% 33 @ HPPP)%)%:% H $ um modelo de tr/s nveis#Qvel inicial de prototipa&oEstimativas baseadas em pontos de objetos e f*rmula simplesQvel inicial de projetoEstimativas baseadas em pontos de fun&o ,FP- que so traduzidas para lin'as2de2c*digo ,?%)-Qvel p*s2arquiteturaFtiliza lin'as2de2c*digo e atributos de produtividade 23vel Inicial de 'rototipa)*o (I)Permite estimativas de prototipa&o com reusoFso de ferramentas )01E e linguagens de quarta gera&oF*rmula#P: B , Q%P ^ ,G 2 TreusoCGPP - - C P6%7P: @ esfor&o em pessoa2m/sQ%P @ n.mero de pontos de objetosP6%7 @ produtividade 23vel Inicial de 'rototipa)*o (I)>alores de produtividade# 23vel Inicial de 'rojeto (I)Estimativas neste nvel so feitas quando os requisitos esto definidosF*rmula#P: B 0 ^ +aman'oM ^ : S P:m, onde#: B PE61 ^ 6)PU ^ 6F1E ^ P73F ^ P6EU ^F)3? ^ 1)E7P:m B ,01?%) ^ ,0+CGPP-- C 0+P6%70 B H.K @ podendo ser ajustadoM varia de G.G a G.HJ dependendo de %riginalidade, fle"ibilidade, riscos e maturidade. 23vel Inicial de 'rojeto (II) >alores de G ,bai"o- a L ,alto- para6)PU @ confiabilidade e comple"idade do produto6F1E @ reuso requeridoP73F @ dificuldade de plataformaP6EU @ e"periencia do pessoalPE61 @ capacidade do pesoal1)E7 @ prazo requeridoF)3? @ recursos de suporteP: $ p esfor&o requerido para a gera&oautomtica de c*digo 23vel '0s+-r.uitetura:esma f*rmula anterior>alor de taman'o ajustado @ mais precisoE1?%) B 01?%) ^ ,00 S 1F SP.J7: S P.I):SP.I3:-CGPP Engenharia de Software II)6%Q%G60:0;_% Introdu)*o0 cronograma&o do projeto de softare $ uma atividade que distribui o esfor&o estimado pela dura&o planejada do projeto.% cronograma evolui com o tempo.7urante os primeiros estgios de planejamento, um cronograma macrosc*pico $ desenvolvido.3dentifica as principais atividades de arcabou&o e as fun&(es do produto a que se aplicam.` medida que o projeto evolui, cada entrada nocronograma macrosc*pico $ refinada em um cronograma detal'ado.+arefas de softare especficas so cronogramadas. 'rinc3pios 64sicos da #ronogra!a)*o (I))ompartimentaliza&o% projeto deve ser decomposto em um certo n.mero de tarefas e atividades gerenciveis.3nterdepend/ncia0 interdepend/ncia entre cada atividade, a&o ou tarefa deve ser determinada.0lgumas atividades devem ocorrer em seqa/ncia, outras podem ocorrer em paralelo. 'rinc3pios 64sicos da #ronogra!a)*o (II)0tribui&o de tempo0 cada tarefa deve ser atribudo um certo n.mero de unidades de trabal'o ,e"# pessoa2dia-.0 cada tarefa devem ser atribudas datas de incio e t$rmino, que so fun&(es das interdepend/ncias e do trabal'o.>alida&o do esfor&o% gerente de projeto deve garantir que no mais do que o n.mero disponvel de pessoas seja cronogramado em um determinado momento. 'rinc3pios 64sicos da #ronogra!a)*o (III)6esponsabilidades definidas)ada tarefa deve ser atribuda a um membro especfico da equipe.6esultados definidos)ada tarefa deve ter um resultado definido, normalmente um produto de trabal'o.:arcos de refer/ncia definidosFm marco de refer/ncia $ atingido quando um ou mais produtos do trabal'o tiverem sido revisados quanto ! qualidade. Rela)*o 'essoal e Esfor)o (I):ito comum# 8se ficarmos atrasados podemos sempre agregar mais programadores e recuperar o atraso9.Qormalmente isso causa atrasos ainda maiores.Duem treina os novos programadores so os que estavam fazendo o trabal'o.0umenta a comple"idade de comunica&o. Rela)*o 'essoal e Esfor)o (II))urva Putnam2Qorden26a[leig' 7istribui)*o de Esfor)o6egra JP2HP2JPJPT do esfor&o $ reservado para a anlise e projeto iniciais.HPT do esfor&o $ reservado para a codifica&o.JPT do esfor&o $ reservado para o teste final.Essa distribui&o deve ser usada apenas como diretriz.0lguns acreditam que mais de JPT do esfor&o deve ser gasto na anlise e projeto.Proponentes do desenvolvimento gil alegam que a maior parte do esfor&o deve ser usada na codifica&o.