Escolar Documentos
Profissional Documentos
Cultura Documentos
Agosto/2006
SUMARIO
1 INTRODUO...................................................................................................................................................4 2 UCP - USE CASE POINTS................................................................................................................................4 A)CALCULAR O UUCP(UNADJUSTED USE CASE POINT):............................................................................................5 B)CALCULAR O TCF(TECHNICAL COMPLEXITY FACTOR):............................................................................................6 C)CALCULAR O EF (ENVIRONMENTAL FACTOR)........................................................................................................13 D)CALCULAR O UCP (USE CASE POINTS)...............................................................................................................16 E)ESTIMAR O PROJETO EM HORAS.............................................................................................................................16 3 ESTUDOS DE CASOS (UCP).........................................................................................................................16 A)ESTUDOS DE CASOS APRESENTADOS NO ARTIGO DE GUSTAV KARNER.........................................................................16 B)ESTUDOS DE CASOS APRESENTADOS NO ARTIGO DE VIVIANE HEIMBERG E EVERALDO ARTUR GRAHL................................18 4 CONCLUSO...................................................................................................................................................20 5 REFERNCIAS................................................................................................................................................20
1INTRODUO
O uso do Framework Pinho prope uma especificao mais detalhada do sistema a ser desenvolvido,gerandodestaforma aimpressoerrneaqueoautilizaodeseuspadres aumentamotempodeespecificaodeumsistema,oquenoverdade,oFrameworkdefine os produtos/modelos/materiais de apoio para orientar e auxiliam o trabalho da equipe de desenvolvimentovisandoapadronizaoequalidade. OqueaconteciaantesdaimplantaodoFrameworkeraqueaespecificaodeumsistema limitavasearegrasdenegcio fasedeAnlisesemarealizaodafasedeProjeto,por isso,temseaimpressodequehojeexisteumaconsiderveldemoranaespecificaode sistemas.AquelaprticacomcertezaaumentavaotempodeConstruo,jqueaFasede ProjetoficavaembutidanaConstruo,eprejudicavaaabstraodoreusodecomponentes. Aestimativadetempopararealizar umdeterminadosistemadependedacomplexidadee tamanho do sistema a ser desenvolvido. Esta estimativa pode ser realizada a partir da aplicaodemtricas,comoporexemplo,UCPUseCasePoints. possvel determinar a estimativa do desenvolvimento de um sistemas atravs de base histricadeoutrosdesenvolvimentos.Abasehistricapodeauxiliartambmnadeterminao dondicedeconversodeUCPparahoras. Oprximotpicodestedocumentovisaapresentarcomorealizadooclculoatravsdo mtodoUCPUseCasePoints.
2UCPUSECASEPOINTS
Mtodo criadopor GustavKarner,em1993,paramedirprojetosdesoftwareorientado a objetos.Estemtodopermitemensurarprojetosbaseadonomodelodecasodeusooque permiterealizaraestimativalogonoinciodosprojetos,duranteolevantamentoderequisitos. Almdaavaliaodomodelodecasosdeusosoconsiderados fatoresdecomplexidade tcnica(TCF), cuja finalidade determinar o grau de complexidade do projeto a ser construdo,efatoresambientais(EF),cujafinalidadedeterminaraeficinciadoprojetoeo nveldeexperinciadosprofissionaisrelacionados. Ospassospararealizarestamediosodescritosabaixo:
A)CalcularoUUCP(UnadjustedUseCasePoint):
Relacionareclassificarosatoresenvolvidos,deacordocomonveldecomplexidade representadoabaixo:
Complexidade Simples
Definio Quando o ator representa um sistema externo que acessado atravs de API(Application Programming Interface) Quando o ator representa um sistema externo, acessado atravs de um protocolo de comunicao(por exemplo: TCP/IP) Quando o ator interage com o sistema atravs de uma inteface grfica(GUI)
Peso 1
Mdio
Complexo
Relacionareclassificaroscasosdeusos,deacordocomonveldecomplexidade representadoabaixo:
Complexidade
Definio Quando o caso de uso possui 3 ou menos transaes, incluindo cenrios alternativos, e sua realizao deve acontecer menos de 5 objetos(classes de anlise) Quando o caso de uso possui de 4 a 7 transaes, incluindo cenrios alternativos, e sua realizao deve acontecer com 5 a 10 objetos(classes de anlise) Quando o caso de uso possui mais de 7 transaes, incluindo cenrios alternativos, e sua realizao deve acontecer com mais de 10 objetos(classes de anlise)
Peso
Simples
Mdio
10
Complexo
15
B)CalcularoTCF(TechnicalComplexityFactor):
Atribuir um valor a cada fator numa escala de 0 a 5, onde 0 significa que o fator irrelevantee5significaqueessencial.Seofatornoimportanteenoirrelevante deveseatribuirvalor3.
Cdigo Fator F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 Valor (Fator)
Descrio do fator Sistema distribudo Performance Eficincia para o usurio final (online) Processamento interno complexo Cdigo deve ser reusvel Fcil para instalar Fcil para usar Portvel Fcil para mudar Concorrente Seguro Fornece acesso direto para third parties (sistemas/componentes externos) requerido treinamento do usurio para usar o software
Resultado 0 0 0 0 0 0 0 0 0 0 0 0 0
MultiplicaroValor(Fator)atribudopelorespectivopeso(colunaresultado) Totalizaroresultadodamultiplicao(TFator)
Calcularofatordecomplexidadedeacordocomaseguinteformula: TCF=0.6+(0.01*Tfator)
0()Aaplicaonoauxilianatransfernciadedadosou processamentoentreas CPUsdainstalao. 1 ( ) A aplicao prepara dados para o usurio final processar em outra CPU da instalao.Porexemplo,planilhaseletrnicasougerenciadoresdebancodedadosde PC. 2()Osdadossopreparadosparatransferncia,transferidoseprocessadosemuma outraCPUdainstalao(masNOparaprocessamentopelousuriofinalcomovisto noitem1). 3 ( ) Processamento distribudo e transferncia de dados online apenas em uma direo. 4.()Processamentodistribudoetransfernciadedadosonlineemambasdirees. 5 ( ) As funes de processamento so executadas dinamicamente na CPU mais apropriada.
limite (deadline) do processamento sempre para o prximo dia til. Nenhuma consideraoespecialparautilizaodeCPUfoirequerida. 3()Otempoderespostacrticodurantetodoohorriodeutilizao.Osrequisitos deprazodeprocessamentocomoutrossistemassolimitantes.Nofoinecessrio nenhumprocedimentoespecialparautilizaodeCPU. 4.()Osrequisitosdeperformanceestabelecidospelousuriosorigorososobastante para requerer tarefas de anlise de performance na fase de anlise e projeto da aplicao. 5()Almdodescritonoitem4,ferramentasdeanlisedeperformanceforamusadas nasfasesdeprojeto,desenvolvimentoe/ouimplementaoafimdeproporcionara performanceestabelecidapelousurio. F3 Eficinciaparaousuriofinal(online): Asfunesonlinefornecidasenfatizamum projetodaaplicaovoltadoparaaeficinciadousuriofinal.
Menus Documentao/Helponline Movimentoautomticodocursor MovimentodeTela(scrolling)verticalehorizontal Impressoremota(viatransaesonline) TeclasdeFunoprdefinidas Execuodejobsbatchapartirdetransaesonline Seleodedadosdatelaviamovimentaodocursor Usointensodevdeoreverso,brilhointensificado,sublinhado,coreseoutrosrecursosde vdeo Documentaodetransaesonlineviahardcopy Interfaceparamouse PopUpWindows Omnimopossveldetelasparaexecutarasfunesdonegcio Fcilnavegaoentretelas(porexemplo,atravsdeteclasdefuno) Suportebilnge(suportadoisidiomas,contarcomoquatroitens) Suportemultilinge(suportamaisdedoisidiomas,contarcomoseisitens) 0()Aaplicaonoapresentanenhumdositensacima. 1()Apresentade1a3dositensacima. 2()Apresentade4a5dositensacima.
Processamentoespecialdeauditoriae/ouprocessamentoespecialdesegurana Processamentolgicoextensivo. Processamentomatemticoextensivo. Grandequantidadedeprocessamentodeexcees,resultantedetransaesincompletas quenecessitamdereprocessamento.Porexemplo:transaesincompletasdeATMs causadasporinterrupesdecomunicao,valoresdedadosausentesouvalidaesde erros. Processamentocomplexoparamanipularmltiplaspossibilidadesdeentrada/sada.Por exemplo:mltiplosmeioseindependnciadeequipamentos. 0()Noapresentanenhumdositensacima. 1()Apresentaumdositensacima. 2()Apresentadoisdositensacima. 3()Apresentatrsdositensacima. 4()Apresentaquatrodositensacima. 5()Apresentatodosositensacima.
F5 Cdigo deve ser reusvel A aplicao e o seu cdigo foram especificamente projetados,desenvolvidosesuportadosparaseremreutilizadosemoutrasaplicaes
0()Noapresentacdigoreutilizvel 1()Ocdigoreutilizvelusadosomentedentrodaaplicao. 2()Menosde10%daaplicaofoifeita,levandoseemcontaasuautilizaopor outrasaplicaes 3()10%oumaisdaaplicao foifeita,levandoseemcontaasuautilizao por outrasaplicaes. 4.()Aaplicaofoiprojetadaedocumentadaparafacilitarareutilizaodecdigoe aaplicaocustomizada pelousurioanveldocdigofonte. 5. ()Aaplicaofoiprojetadaedocumentadaparafacilitarareutilizaodecdigo
F6FcilparainstalarIndicaonveldepreparaodeprocedimentoseferramentaspara instalaodosistema 0()Nenhumaconsideraoespecialfoifeitapelousurioenenhumprocedimento especialfoirequeridoinstalao. 1()Nenhumaconsideraoespecialfoifeitapelousurio,masumprocedimento especialfoirequeridoparainstalao. 2()Requisitosdeinstalaoforamfixadospelousurio. 3()Requisitosdeinstalaoforamfixadospelousurioeroteirosdeinstalaoforam preparadosetestados. 4.()Almdodescritonoitem2,ferramentasautomatizadas deinstalaoforam preparadasetestadas. 5. ()Almdodescritonoitem3,ferramentas automatizadas deinstalaoforam preparadasetestadas.
F7Fcilparausar(Facilidadeoperacional) Procedimentosefetivosdeinicializao, backuperecuperaoforamdesenvolvidosetestados.Aaplicaominimizaanecessidadede atividades manuais, tais como montagem de fitas magnticas,manuseio de formulrios e intervenomanualdooperador 0 ( ) Nenhuma considerao especial sobre facilidade operacional, alm dos procedimentosnormaisdebackup,foifeitapelousurio. 1 ( ) Procedimentos eficientes de inicializao, backup e recuperao foram preparados,masaintervenodooperadornecessria.
2 ( ) Procedimentos eficientes de inicializao, backup e recuperao foram preparados,masnenhumainterveno dooperadornecessria(contar como dois itens). 3()Aaplicaominimizaaoperaodemontagemdefitasmagnticas. 4()Aaplicaominimizaanecessidadedemanuseiodeformulrios. 5.()Aaplicaofoiprojetadaparanoprecisarde intervenodooperadornoseu funcionamentonormal.Apenasainicializaoeparadadosistemaficamacargodo operador.Arecuperaoautomticadeerrosumacaractersticadaaplicao.
F8Portvel:Aaplicaofoiespecificamenteprojetada,desenvolvidaesuportadaparaser instaladaemmltiplasplataformas(Windows,Unix,Linux,etc) 0 ( ) Nenhuma solicitao do usurio para considerar a necessidade de instalar a aplicaoemmaisdeumaplataforma 1()Necessidadedeinstalaoemmltiplasplataformasfoilevadaemconsiderao noprojetodosistemaeaaplicaofoiprojetadaparaoperarsomenteemambientes idnticosdehardwareesoftware 2()Necessidadedeinstalaoemmltiplasplataformasfoilevadaemconsiderao noprojetodosistemaeaaplicaofoiprojetadaparaoperarsomenteemambientes similaresdehardwareesoftware 3()Necessidadedeinstalaoemmltiplasplataformasfoilevadaemconsiderao noprojetodosistemaeaaplicaofoiprojetadaparaoperarinclusiveemplataformas diferentes. 4.()Umplanodedocumentaoemanutenofoielaboradoetestadoparasuportara aplicaoemmltiplasplataformaseaaplicaoatendeaositens1e2. 5.()Umplanodedocumentaoemanutenofoielaboradoetestadoparasuportara aplicaoemmltiplasplataformaseaaplicaoatendeaoitem3.
dadosdecontroledonegciosoagrupadosemtabelaspassveisdemanutenopelo usurio. 0 ( ) Nenhum requisito especial do usurio para projetar a aplicao, visando minimizaroufacilitarmudanas. 1 ( ) fornecido recurso da consulta/relatrios flexveis capaz de manipular solicitaes simples de consulta (query\requests). Por exemplo: lgica de and/or aplicadaasomenteumArquivoLgicoInterno(contarcomoumitem). 2 ( ) fornecido recurso de consulta/relatrios flexveis capaz de manipular solicitaesdeconsulta(query\requests)demdiacomplexidade.Porexemplo:lgica deand/oraplicadaamaisdeumArquivoLgicoInterno(contarcomodoisitens). 3 ( ) fornecido recurso de consulta/relatrios flexveis capaz de manipular solicitaes complexas de consulta (query\requests). Por exemplo: combinaes de lgicadeand/oraplicadasaumoumaisArquivosLgicosInternos(contarcomotrs itens). 4()Dadosdecontrolesomantidosemtabelasqueso atualizadaspelousurio atravs deprocessos online e interativos,mas as alteraes ssoefetivadas no prximodiatil. 5 ( ) Dados de controle so mantidos em tabelas que podem ser atualizadas pelo usurio atravs de processos online e interativos e as alteraes so efetivadas imediatamente(contarcomodoisitens)
F10Concorrente:Indicaovolumedeacessosimultneoaaplicao. 0()Noesperadoacessosimultneo 1()Soesperadosacessossimultneosesporadicamente 2()Acessossimultneossoesperados. 3()Acessossimultneossoesperadosdiariamente 4()Muitosacessossimultneosforamfixadospelousurioparaaaplicao,oque foraaexecuodetarefasdeanlisedeperformancenafasedeprojetodaaplicao. 5 ( ) Requer o uso de ferramentas controle de acesso nas fases de projeto desenvolvimentoe/ouimplantao,almdasconsideraesacima.
seguranadaaplicao 1()Necessidadedecontroledeseguranafoilevadaemconsideraonoprojetodo sistema 2()Necessidadedecontroledeseguranafoilevadaemconsideraonoprojetodo sistemaeaaplicaofoiprojetadaparaseracessadasomenteporusuriosautorizados 3()Necessidadedecontroledeseguranafoilevadaemconsideraonoprojetodo sistemaeaaplicaofoiprojetadaparaseracessadasomenteporusuriosautorizados. Oacessosercontroladoeauditado. 4.()Umplanodeseguranafoielaboradoetestadoparasuportarocontroledeacesso aaplicao. 5. () Umplanodeseguranafoielaborado etestadopara suportar ocontrole de acessoaaplicaoeaauditoria.
F13 requerido treinamento do usurio para usar o software: Indica o nvel de facilidadedetreinamentodeusurios 0()Nenhumasolicitaodousurioparaconsideraranecessidadedetreinamento especial 1()Necessidadedetreinamentoespecialfoilevadaemconsideraonoprojetodo sistema 2()Necessidadedetreinamentofoilevadaemconsideraonoprojetodosistemaea aplicaofoiprojetadaparaseracessadacomfacilidadepelosusurios 3()Necessidadedetreinamentoespecialfoilevadoemconsideraonoprojetodo sistemaeaaplicaofoiprojetadaparaserutilizadaporusuriosdediversosnveis 4 5()Umplanodetreinamentofoielaboradoetestadoparafacilitarouso da aplicao
C)CalcularoEF(EnvironmentalFactor)
Cdigo Descrio do fator Fator Familiaridade com o processo de desenvolvimento orientado a objetos F1 adotado. Colaboradores de meio perodo F2 Capacidade de anlise F3 F4 F5 F6 F7 F8 Experincia em desenvolvimento de aplicaes deste gnero Experincia em Orientao a Objetos Motivao Dificuldade na linguagem de programao Requisitos estveis
Valor (Fator)
Resultado 0 0 0 0 0 0 0 0
F4 Experinciaemdesenvolvimentodeaplicaesdeste gnero: Indicaaexperincia comdiferentestiposdeaplicaooucomotipodeaplicaoqueestsendodesenvolvida. 0()Todososmembrosdaequipesonovatos 12()Poucosmembrosdaequipepossuemalgumaexperincia(de1a1ano).Os outrossonovatos. 3()Todososmembrostemmaisde1anodeexperincia 4()Amaioriadaequipetem2anosdeexperincia 5.()Todososmembrossoexperientes
F7Dificuldadenalinguagemdeprogramao: Indicaaexperinciacomferramentas primriasdedesenvolvimentoecomalinguagemdeprogramaoescolhida. 0()Todososmembrosdaequipesoprogramadoresexperientes 1()Amaioriadosmembrosdaequipepossuemmaisde2anosdeexperincia 2()Todososmembrostemmaisde1anodeexperincia 3()Amaioriadaequipetemmaisde1anodeexperincia 4 ( ) poucos membros da equipe tem alguma experincia (1 ano). Os outros so novatos. 5.()Todososmembrosdaequipesonovatos. F8 RequisitosEstveis: Medeograudemudanaderequisitoseinseguranassobreo significadodosrequerimentos. 0()Requisitosmuitoinstveiscommudanasfreqentes 12()Requisitosinstveis.Clientesdemandamalgumasmudanas realizadasem diversosintervalos 34()Estabilidadeglobal.Pequenasmudanassonecessrias 5.()Requisitosestveisaolongododesenvolvimento
D)CalcularoUCP(UseCasePoints)
FinalmentecalcularoUCPutilizandoosclculosobtidosanteriormente: UCP=UUCP*TCF*EF
E)Estimaroprojetoemhoras
Karnersugereaaplicaode20horas/homemporpontodeUCP. Estimativa(horas)=UCP*20;
3ESTUDOSDECASOS(UCP)
NestetpicoserorelatadosalgunsestudosdecasoquedemonstramautilizaodeUCP.
A)EstudosdeCasosapresentadosnoartigodeGustavKarner
UUCP(UnadjustedUseCasePoint)=110
TCF(TechnicalComplexityFactor)=1 EF(EnvironmentalFactor)=0,975
UCP=UUCP*TCF*EF=107.25
ProjetoB:DesenvolvimentodeumprojetodegerenciamentoderedesLAN.Aequipeera composta de pessoas que no tinha nenhuma experincia anterior no processo de desenvolvimentoadotado.
UUCP(UnadjustedUseCasePoint)=510
TCF(TechnicalComplexityFactor)=1 EF(EnvironmentalFactor)=1,175
UCP=UUCP*TCF*EF=599.25
UUCP(UnadjustedUseCasePoint)=160
TCF(TechnicalComplexityFactor)=1 EF(EnvironmentalFactor)=1,175
UUCP(UnadjustedUseCasePoint)=160
UCP=UUCP*TCF*EF=188.0
B)EstudosdeCasosapresentadosnoartigodevivianeheimbergEeveraldoartur grahl.
Esteartigorelataaanlisede3projetos:SistemadeClculoemFolhadePagamento(Projeto 1),SistemaContbil(Projeto2)eosistemadeCartoPonto(Projeto3).Paracadaprojetofoi realizada as fases de concepo e a primeira iterao da fase de elaborao do Processo Unificado.Segueabaixoatabelacomosresultadosdaestimativarealizadaapsaprimeira iteraodafasedeelaborao:
Projetos
Atores
Casosde Uso
FCT
FCA
PCUNA
PCUA
Horas Estimadas
4 6 7
5 8 4
1 1,02 1,03
72 87 64
Paraoclculodashorasestimadasfoiutilizadoondicede20horas/homem.Porm,aps verificarosresultadososmembrosdasequipesdedesenvolvimentoeoscoordenadoresdos projetosacharamqueaestimativaestavamuitoacimadosobtidosemprojetossemelhantes. Os coordenadores identificaram que 20 horas/homem por total de tempo de unidade de PCUA(UCP)eraumnmeromuitoaltoenorepresentavacorretamenteumaboamdiapara todosostiposdetempospornveldecomplexidadedecasosdeuso. Almdisso,ametodologiadedesenvolvimentodesistemasdaempresautilizaumacamada decdigoqueabstraigrandepartedageraodecdigobsicadosseussistemas.Sendo assim, optarampor reduzir aquantidadedehoras/homemparaumamdiade10horas e ajustaramopesosdoscasosdeusoeoresultadofoioseguinte:
Projetos
Atores
Casosde Uso
FCT
FCA
PCUNA
PCUA
Horas Estimadas
4 6 7
5 8 4
1 1,02 1,03
54 76 57
PCUAequivaleaUCP
4CONCLUSO
5REFERNCIAS
KARNER,G.UseCasePoints:resourceestimationforObjectoryprojects.ObjectiveSystems SFAB(copyrightownedbyRational/IBM),1993. HEIMBERG,V;GRAHL,E:EstudodeCasodeAplicaodaMtricadePontosdeCasosde UsonumaEmpresadeSoftware,www.inf.furb.br/seminco/2005/artigos/130vf.pdf. Andrade,EdmiaLeonorPereira.PontosdeCasodeUsoePontosdeFunonagestode estimativa de tamanho de projetos de software orientados a objetos http://www.bfpug.com.br/Artigos/UCP/Tese%20Edmeia.zip