Вы находитесь на странице: 1из 97

PS-GRADUAO LATO SENSU EM TECNOLOGIA DA INFORMAO E ANLISE DE NEGCIOS

IMPLANTAO DE UMA SISTEMTICA DE MTRICAS


A Difcil Arte e E!ti"#r Te"$% $#r# I"$le"e&t#'(% e Si!te"#! e i&f%r"#'(%
Monografia apresentada em

cumprimento s exigncias para obteno de grau no curso de psgraduao lato sensu de especializao em Tecnologia da Informao na Administrao de Negcios

!or" #arlos $im%es

&io de 'aneiro( )* de Maio de +,,-

DEDICATRIA

Ao meu fil.o /ucas 0ue 1 a razo de min.a 2ida( meu porto seguro

AGRADECIMENTOS

Aos

meus

caros

professores

compan.eiros de trabal.o 0ue tanto me apoiaram e me forneceram informa%es para acumular con.ecimento na dif3cil tarefa de estimati2a de sistemas de informao 4m especial a Aguinaldo

Aragon 5ernandes 0ue foi a primeira pessoa a me transmitir informa%es sobre m1tricas

EP)GRAFE
67esen2ol2er sistemas de informao sem procedimentos padronizados e sem um m1todo de estimati2a 1 o mesmo 0ue se a2enturar em um mar tenebroso sem instrumentos de na2egao8 O Abismo da Borda do Mundo: Embora seu pas fosse banhado pelo Atlntico, os portugueses nunca haviam desafiado o Mar Tenebroso, um territrio mitolgico e desconhecido. Os prprios rabes acreditavam ue as !portas! da uele oceano eram guardadas, com a a"uda de um drag#o, pelas !ninfas do $oente!, as %esp&rides, filhas do gigante Atlas. 'isposto a chegar ( )uin& * de onde provinha o ouro ue enri uecera +euta * '. %enri ue decidiu enfrentar os perigos do Atlntico. Os maru"os, de ,agres desesperaram*se, pois acharam ue seus navios iriam despencar no abismo do fim do mundo- a maioria deles acreditava ue a Terra era plana como uma bande"a. $ara al&m desses terrores imaginrios, eles tiveram ue enfrentar uma s&rie de perigos reais- os ventos e as correntes contrrias, as longas calmarias sob o sol inclemente e as s.bitas tempestades. Os mareantes, al&m disso, deparavam estranhos fen/menos meteorolgicos * como o chamado 0fogo de ,#o Telmo 12correntes el&tricas ue atingiam os mastros3 * e com incrveis animais marinhospei4es imensos, enormes polvos, baleias descomunais5. Tais seres deram origem ao mito das sereias e das serpentes marinhas * sempre prontas, na febril imagina6#o dos maru"os, a devorar seus navios. /i2ro de 4duardo 9ueno : 9rasil Terra a ;ista <+=>
4

RESUMO
?ma das maiores dificuldades encontradas no gerenciamento de pro@etos de informAtica 1 saber a dimenso do 0ue estA sendo gerenciado Muitas aplica%es 0ue a princ3pio parecem pe0uenas( 0uando em desen2ol2imento( mostram-se muitas 2ezes maior do 0ue o pre2isto inicialmente e( para alguns casos( torna-se to complexas e grandes( 0ue se perde o controle Al1m do 0ue nem sempre 1 2iA2el se lanar na a2entura de desen2ol2er um aplicati2o( @A 0ue atualmente existem no mercado uma infinidade de produtos prontos ou necessitando de pe0uenas customiza%es A Area de informAtica da grande maioria das empresas( em geral( s consegue retratar custos passados de .ardBare( softBare e people7are( al1m de alguns indicadores relati2os ao ambiente de produo Cutilizao de processador por tempo( taxa de disponibilidade do sistema( etc D A inexistncia de indicadores de desempen.o financeiro( de 0ualidade e de produti2idade 0ue retratem o desen2ol2imento de sistemas de informao dificulta( e muito( a efeti2a gerncia destas ati2idades !roduzir ser2ios de alta 0ualidade com o m3nimo custo poss32el ou se@a( alta produti2idade - se constitui em fator cr3tico de sucesso para o bom desempen.o empresarial No esforo de implantao de uma no2a mentalidade 2oltada para a 0ualidade e produti2idade( no 1 admiss32el o desen2ol2imento de sistemas atra21s de EfeelingF( onde 0uest%es como" 0ual 1 a produti2idade da Area de informAtica( 0ual 1 a capacidade de produo( 0ual con@unto de ferramentas possibilita a maior produti2idade( 0uais so os indicadores de 0ualidade existentes( 0ual camin.o de2o adotar( desen2ol2er ou comprar um pacote e customizA-lo( so simplesmente deixadas de lado ou respondidas sem suporte de uma base 0uantificA2el ?m processo de medio de2e ser implantado na empresa com o ob@eti2o de suportar a anAlise de tendncias de determinados indicadores( 0ue podem subsidiar a%es para re2erso ou sustentao dessas tendnciasG a anAlise de impactos na introduo de no2as tecnologias sobre a 0ualidade e produti2idade( 0ue pode auxiliar na deciso sobre 0uais combina%es de elementos de tecnologia garantem mel.ores resultadosG a anAlise de atributos( 0ue permite a comparao da 0ualidade e
5

produti2idade entre plataformas( metodologias( Areas de aplicao( .abilidades t1cnicas de pessoas e assim sucessi2amente A gerncia( criando os padr%es de medidas para a instalao( fica em posio de monitorar o comportamento dos pro@etos e produtos indi2idualmente( analisar resultados( comparA-los e 2erificar a ade0uabilidade dos respecti2os processos e necessidades de implementar mel.orias

SUMRIO
5ol.a de rosto 7edicatria Agradecimentos 4p3grafe &esumo $umArio Introduo ) !remissas para Medio + 7efinindo um !rograma de M1tricas H 7ificuldades em se Kbter uma 9ase Listrica de Medi%es - A Nuesto #MM : #apabilitO MaturitO Model * Mel.oria do !rocesso de $oftBare Atra21s de Indicadores de Nualidade e !roduti2idade M K #.o0ue #ultural 4n2ol2endo 4stimati2as I Influncia da metodologia de 7esen2ol2imento e Pesto de !ro@etos J ?tilizao de #asos de ?so para 7eterminar o NQmero de !ontos de 5uno = ?tilizao de !ontos de 5uno para 4stimar #asos de Teste ), Mapeamento de #asos de Teste em #asos de ?so e !ontos de 5uno )) Impacto das No2as Tecnologias )+ Perenciamento de !ro@etos de e#ommerce )H 4stimati2a em Ambiente #liente R $er2idor )- !roduti2idade e a Nualidade Aplicada nas 4stimati2as )* Tabela de /inguagens de !rogramao )M #ontratao com 9ase em !ontos de 5uno #onclus%es &eferncias bibliogrAficas Anexo - #onceitos de AnAlise de !ontos de 5uno +J HH HJ --J *I *= I+ III J) J=+ =* =I ) + H * I J ), )H )M +)

INTRODUO
?ma das maiores dificuldades encontradas no gerenciamento de pro@etos de informAtica 1 saber a dimenso do 0ue estA sendo gerenciado Muitas aplica%es 0ue a princ3pio parecem pe0uenas( 0uando em desen2ol2imento( mostram-se muitas 2ezes maior do 0ue o pre2isto inicialmente e( para alguns casos( tornam-se to complexas e grandes( 0ue se perde o controle Al1m do 0ue nem sempre 1 2iA2el se lanar na a2entura de desen2ol2er um aplicati2o( @A 0ue atualmente existem no mercado uma infinidade de produtos prontos ou necessitando de pe0uenas customiza%es ?m sem-nQmero de dQ2idas 2em tona( 0uando se fala em dimensionamento( prazo e custo de sistemas 4stas dQ2idas no so s pertinentes aos gerentes e desen2ol2edores e sim( a todos os en2ol2idos neste processo to nebuloso e complicado de se administrar 7entre elas( pode-se citar algumas( como por exemplo" 5ornecer expectati2as realistas para o usuArio R clienteG A2aliar e medir resultadosG Ter con.ecimento do patrimSnio de softBareG Kbter recon.ecimento relati2o a um bom trabal.oG 4stimati2a de prazo( custo e recursos para desen2ol2er sistema ou customizar pacoteG 7ecidir entre manter x desen2ol2er x comprarG 4stabelecer indicadores para tomada de decisoG !articipar do processo de 0ualidade A Area de informAtica da grande maioria das empresas( em geral( s consegue retratar custos passados de .ardBare( softBare e people7are( al1m de alguns indicadores relati2os ao ambiente de produo Cutilizao de processador por tempo( taxa de disponibilidade do sistema( etc D A inexistncia de indicadores de desempen.o financeiro( 0ualidade e produti2idade 0ue retratem o desen2ol2imento de sistemas de informao dificulta( e muito( a efeti2a gerncia destas ati2idades !roduzir ser2ios de alta 0ualidade com o

m3nimo custo poss32el - ou se@a( alta produti2idade - se constitui em fator cr3tico de sucesso para o bom desempen.o empresarial A gesto do ambiente de softBare no estA 2inculada somente a um pro@eto ou a um produto espec3fico e sim( ao con@unto dos pro@etos e produtos da instalao como um todo T o n32el tAtico de gesto Neste n32el( a preocupao 1 a2aliar a 0ualidade dos processos de plane@amento de pro@etos( de desen2ol2imento de softBare e de gesto dos produtos em utilizao( 2isando atingir patamares cada 2ez mais ele2ados de 0ualidade sob o conceito de mel.oria cont3nua !ara tanto( as medi%es operacionais de2em ser agregadas a fim de permitir" a anAlise de tendncias de determinados indicadores( 0ue podem subsidiar a%es para re2erso ou sustentao dessas tendnciasG a anAlise de impactos na introduo de no2as tecnologias sobre a 0ualidade e produti2idade( 0ue pode auxiliar na deciso sobre 0uais combina%es de elementos de tecnologia garantem mel.ores resultadosG a anAlise de atributos( 0ue permite a comparao da 0ualidade e produti2idade entre plataformas( metodologias( Areas de aplicao( .abilidades t1cnicas de pessoas e assim sucessi2amente ?ma das dimens%es da gesto do softBare 1 a econSmica K esforo de atingir patamares mais e2olu3dos de 0ualidade recai tamb1m sobre a gesto de custos de noconformidade ou mA 0ualidade Ku se@a( 0ualidade aumenta lucrati2idade pela diminuio dos custos de fal.as internas e externas e pelo aumento da satisfao do cliente A gerncia( criando os padr%es de medidas para a instalao( fica em posio de monitorar o comportamento dos pro@etos e produtos indi2idualmente( analisar resultados( comparA-los e 2erificar a ade0uabilidade dos respecti2os processos e necessidades de implementar mel.orias

*+

Pre"i!!#! $#r# # Me i'(%,


!ro2a2elmente uma das tarefas mais cruciais para um gerente de pro@eto se@a a

elaborao de estimati2as de esforo de desen2ol2imento( prazo e custo de um pro@eto de sistemas <H+> !ara suportar a realizao de tal ati2idade torna-se necessArio a adoo de um m1todo de estimati2a de taman.o de sistemas de informao A escol.a da m1trica para auxiliar e suportar as medi%es de softBare de2e le2ar em conta alguns parUmetros( como demonstrado a seguir" !ro2er resultados consistentesG !ermitir sua obteno por no especialistas em informAticaG $er de fAcil aprendizadoG $er compreens32el ao usuArio finalG $er2ir para estimati2asG !ermitir automatizaoG !ossibilitar obter s1ries .istricas T1cnicas de 4stimati2as As t1cnicas de estimati2as podem ser classificadas basicamente( em trs categorias" AnalogiaG Modelos AlgoritmosG AnAlise de 5uncionalidade

*+*+ A&#l%-i# - E!ti"#ti.# $%r E/$eri0&ci#,


4ste m1todo( se 1 0ue pode ser c.amado de m1todo( 1 baseado na experincia de 0uem faz estimati2as Nuanto mais estimati2as feitas( maior 1 o con.ecimento e maior 1 a possibilidade de acerto #omo 2antagens pode-se citar" baseado em experincia passada( aplicA2el para pro@etos com baixo n32el de detal.e e o compromisso do grupo 0ue produziu a estimati2a
10

#omo des2antagens pode-se citar" estA su@eito presso( necessita de e4perts da compan.ia( pode apresentar grande des2io( 1 altamente dependente de experincia passada( no de2e ser utilizado para pro@etos grandes e no produz indicadores

*+1+ M% el% Al-%rit"% 2 COCOMO,


K m1todo #K#KMK C#onstructi2e #ost ModelD foi desen2ol2ido para estimar esforos de desen2ol2imento( prazo e taman.o de e0uipe para um pro@eto de sistemas 4le 1 baseado no nQmero de instru%es fontes CnQmero de lin.as de cdigo D e sup%e 0ue as especifica%es dos re0uisitos no sero alteradas substancialmente aps a fase de !lane@amento e &e0uisitos #omo 2antagens pode-se citar" baseado em experincia passada( fundamentado em frmula matemAtica e pode ser aplicado nas di2ersas fases do ciclo de desen2ol2imento #omo des2antagens pode-se citar" dependente da tecnologia( dependente de experincia passada e no produz indicadores

*+3+ A&4li!e e F5&ci%&#li # e - A&4li!e e P%&t% e F5&'(%,


K !onto de 5uno mede o taman.o do softBare pela 0uantificao de suas funcionalidades externas( baseadas no pro@eto lgico ou a partir do modelo de dados( abrange a funcionalidade espec3fica re0uerida pelo usuArio para o pro@eto A funcionalidade re0uerida diz Vo 0ueV serA Cou 1D entregue para o usuArio #omo 2antagens pode-se citar" a estimati2a 1 feita em funo da 2iso do usuArioG facilidade de aprendizagem e aplicao da t1cnica( independncia de tecnologia( apoiar e acompan.ar a a2aliao de produti2idade e de 0ualidade de pro@etos de softBare( pro2er um fator de comparao de softBares( possibilitar a coleta de dados para obteno de di2ersos indicadores de acompan.amento( aplicabilidade nas di2ersas fases de desen2ol2imento #omo des2antagens pode-se citar" necessita acompan.amento constante das medi%es para gerar os di2ersos indicadores poss32eis( a aplicabilidade nas di2ersas
11

fases re0uer esforo de contagens de pontos de funo para cada fase e re0uer um meio eficiente de armazenamento das informa%es obtidas nas contagens

*+6+ C%"$#r#'(% e&tre M7tric#!,


#ada tipo de medio tem suas 2antagens e des2antagens 5!A e #K#KMK podem ser utilizadas em con@unto( de modo 0ue se obten.a o mel.or de cada uma( conforme as caracter3sticas dese@adas nas etapas do desen2ol2imento A efeti2idade de um m1todo 2ai depender de 0uanto as estimati2as realizadas se aproximam da realidade 4m complemento 1 apresentada uma tabela a seguir com os principais pontos necessArios em uma m1trica <H+>" E!ti"#ti.#! e, 4sforo de desen2ol2imento 4sforo de manuteno !razo 40uipe 4sforo de desen2ol2imento por fase do pro@eto !razo por fase do pro@eto 40uipe por fase do pro@eto !roduti2idade #usto COCOMO $im $im $im $im $im $im $im $im $im FPA $im $im $im $im $im $im $im $im $im

?ma considerao de2e ser feita com relao m1trica A!5 1 0ue o padro definido pelo I5!?P trata somente de medida de taman.o de um sistema de informao em termos de 0uantidade de pontos de funo A 0uesto da produti2idade de2e ser tratada particularmente por cada empresa 0ue decide pela implantao desta m1trica #onsiderao adicional sobre produti2idade e 0ualidade pode ser encontrada no item 6)- A !roduti2idade e a Nualidade Aplicada nas 4stimati2as"8

12

1+

Defi&i& % 5" Pr%-r#"# e M7tric#!,


A primeira pergunta 0ue de2e ser respondida ao apresentar a t1cnica da anAlise

de ponto de funo 1" Nual a moti2ao para a sua utilizaoW T fundamental le2ar em considerao trs principais aspectos 0ue de2em ser a2aliados para respond-la" K contexto de sua aplicao nas organiza%es 0ue mantm pro@etos e opera%es 2oltadas contratao( desen2ol2imento e manuteno de sistemas 4xiste uma anAlise da problemAtica presente nesse contexto K entendimento de como a t1cnica pode a@udar essas organiza%es a identificar e e0uacionar o con@unto de 0uest%es en2ol2idas na soluo das dificuldades inerentes a esses empreendimentos Ao explorar a moti2ao para medir e os ob@etos de medio( c.ega-se concluso 0ue o taman.o 1 umas das propriedades 0ue de2e ser medida Agora 1 necessArio a2aliar a mel.or unidade para medir o taman.o de sistemas A m1trica AnAlise de !ontos de 5uno 1 utilizada como geradora de indicadores para estimati2as de prazos( gerncia de recursos .umanos e elaborao de planos de trabal.o de pro@etos( assim como na a2aliao e acompan.amento do progresso de pro@etos e anAlise da produti2idade de e0uipes A medida do taman.o de sistemas( em con@unto com tempo e custo( fornece estes indicadores( 0ue constituem um sistema de informa%es gerenciais - importante ferramenta para a administrao da organizao A implantao de um programa de m1tricas( fundamentado nos indicadores obtidos atra21s da utilizao da AnAlise de !ontos possibilitar fornecer uma s1rie de informa%es( como por exemplo" Nossa capacidade de responder s solicita%es do usuArio Cproduti2idadeD aumentou HHX No ano passado( liberA2amos )* !ontos de 5uno por Lomem Ms Neste ano( estamos liberando +, !5R LM Nossa capacidade de responder s solicita%es do usuArio Cproduti2idadeD diminuiu +*X No ano passado( liberA2amos +, !5 R LM Neste ano( estamos liberando )* !5R LM !recisamos fazer algo
13

de 5uno irA

K 3ndice de defeitos foi reduzido de )+X para ),X( resultando num aumento de )M(MX do 3ndice de 0ualidade K custo por ponto de funo diminuiu de ),, Y R !5 para J, Y R !5 4ste custo menor gerou um aumento de demanda por parte dos usuArios A preciso de nossas estimati2as mel.orou significati2amente( passando de -*X para )*X de des2ios Cestimado x atualD K ob@eti2o principal da aplicao de medi%es na gesto do pro@eto estA associado aos seguintes aspectos" Atingir o prazo inicialmente pre2istoG Atingir o oramento inicialmente pre2istoG Perao de um produto de softBare de boa 0ualidade( ade0uado ao uso $atisfao do cliente R usuArioG 5ornecimento de informa%es gerncia de desen2ol2imento para 0ue possa mel.orar( continuamente( os processos de plane@amento( desen2ol2imento de softBare e gesto do produtoG Moti2ar e0uipeG 7irecionar trabal.os - pro2er informa%es a tempo de afetar o prprio processoG Identificar oportunidades de mel.orias - medir impacto de t1cnicas e ferramentasG !ro2er a gerncia de indicadores - A2aliar o ambiente de forma( a saber( se estamos no camin.o certo !ara tanto( 1 preciso controlar R monitorar o processo de desen2ol2imento( 2isando manter a produti2idade nos n32eis pre2istos( remo2er o 0uanto antes defeitos introduzidos no produto( reduzindo ou eliminando o esforo de retrabal.o( conse0uentemente mantendo o oramento sob controle K processo de definio de um programa de m1tricas( isto 1( 0uais m1tricas e 0uais informa%es geradas por estas m1tricas sero utilizadas pela empresa( de2e ser baseado nas necessidades de informao de cada n32el organizacional Isto 1 obtido a partir do le2antamento de informa%es @unto as Areas interessadas !ara o tal( pode-se
14

aplicar o m1todo 9asili PNM CPoal R Nuestion R MetricD K diagrama apresentado a seguir ilustra o modelo 9asili

Poal Nuestion Metric

Nuais so as metas Nual 0uesto se dese@a responder Nual M1trica Z Indicador poderA l.e a@udar

15

3+

Dific5l # e! e" !e O8ter 5"# 9#!e :i!t;ric# Me i'<e!,

?ma 2ez estabelecido por 0ue medir( a prxima pergunta 0ue de2e ser respondida 1" K 0ue medirW No caso da Area de sistemas de2em ser a2aliadas no s suas caracter3sticas de produto final( mas tamb1m as caracter3sticas dos processos en2ol2idos em sua concepo e construo 7esta forma primeiro 1 preciso identificar as caracter3sticas rele2antes para a anAlise !ara cada um dos ob@eti2os 0ue se dese@a acompan.ar 1 poss32el estabelecer um con@unto de informa%es 0ue so capazes de a partir do relacionamento entre elas( produzir indicadores para suportar o processo gerencial

3+*+ A C%let# # 9#!e e D# %!,


A definio da coleta da base de dados pode ser considerada uma da deciso mais importante( depois 0ue 1 decidida a implantao da m1trica de AnAlise de !ontos de 5uno 4sta definio estA estreitamente relacionada 0uais sero os indicadores dese@ados #omo exemplo de informa%es 0ue podem ser coletadas para compor os indicadores pode-se ter 2alores estimados e realizados para" .omem .ora( 0uantidade de pontos de funo( custo( defeitos encontrados( defeitos remo2idos( ati2idades 0ue esto sendo mapeadas A coleta pode ser atomizada at1 o ponto ideal entre o Qtil e o desest3mulo 7e2e ser lembrado 0ue normalmente o trabal.o de manter a base de dados atualizada caberA ao responsA2el pela realizao da ati2idade A coleta da base de dados 1 um dos fatores cr3ticos de sucesso na implantao de um programa de m1tricas #orresponde etapa em 0ue( a partir de um plane@amento do 0ue serA coletado( feito na fase de definio de um programa de al1m de caracter3sticas do processo de estimati2a e fatos ocorridos durante a realizao das

16

m1trica( define-se como sero armazenadas as informa%es coletadas Ca0uisio de uma ferramenta( uso de planil.as( desen2ol2imento de um sistema( etc D Neste momento( 1 necessArio 0ue todos os en2ol2idos no processo de coleta este@am moti2ados e conscientes da importUncia do trabal.o( cu@o retorno no serA imediato( pois apesar do pe0ueno acr1scimo de trabal.o( pro2eniente das medi%es e da coleta de dados( ainda no se tem uma massa de dados .istricos m3nima( to necessArio uma utilizao da m1trica A ati2idade de coleta da base de dados tem seu in3cio 0uando 1 transmitida a necessidade de um re0uerimento de negcio( se estenderA ao longo do ciclo de desen2ol2imento e acompan.ar o sistema de informao durante todo o seu ciclo de 2ida at1 sua desati2ao( 0uando sero coletados os Qltimos dados Ao final do processo de desen2ol2imento de2em ser feitas algumas medi%es( para 0ue dem subs3dios ao aperfeioamento continuo dos processos de plane@amento de pro@etos e de desen2ol2imento da instalao 4ssas medi%es iro atualizar o banco de dados de m1tricas e alimentar os indicadores( bem como estabelecer os no2os padr%es da instalao( os 0uais sero utilizados para o plane@amento e desen2ol2imento de no2os pro@etos 4stas medi%es compreendem" ;erificao da exatido das estimati2asG Taman.o do softBare entregueG !roduti2idade do 7esen2ol2imentoG #usto do !5 de 7esen2ol2imentoG #rescimento funcional do softBare durante o desen2ol2imentoG &eutilizao de cdigoG #omplexidade relati2a do softBareG #usto da 0ualidadeG 7istribuio do esforo por faseG 7istribuio do custo por faseG
17

7ensidade e distribuio dos defeitos por fase !ode-se ter os seguintes exemplos de indicadores para clientes e para

executi2os 0ue so resultantes do relacionamento entre as informa%es coletadas" [ndice de Nualidade" IN \ NQmero de 7efeitos R Taman.o do $oftBareG Tempo m1dio de soluo de problemasG N32el de satisfao do clienteG !ontos de funo liberadosG #rescimento de softBareG Taxa de produoG Nualidade do produto liberadoG &an]ing de defeitosG #usto por ponto de funoG #usto de retrabal.oG Taxa de faturamentoG !roduti2idadeG !atrimSnio de $oftBare e In2entArio de $oftBare !ode-se ter os seguintes exemplos de indicadores para Perentes e 40uipe 0ue so resultantes do relacionamento entre as informa%es coletadas" Taxa de !roduti2idade" !5 R !essoa-ms ou !5 R !essoa .oraG !roduti2idade \ Taman.o do $oftBare R 4sforoG 4ficincia na remoo de defeitosG 4stimati2a de 4sforo" 4sforo \ Taman.o do $oftBare R !roduti2idadeG &etrabal.oG Taxa de #usto de $oftBare" Taxa de #usto \ #usto Total R Taman.o do $oftBareG Tendncias de custoG #usto por ambiente" #usto \ Taxa de #usto x Taman.o do $oftBare

18

3+1+ Me i #= M7tric# %5 I& ic# %r, >5#l # Difere&'#?


A diferenciao destes trs termos pode ser mel.or entendia 0uando se descre2e cada uma delas segundo o padro sugerido pelo I444 <+>( <H>( <->" Medir R Medida" A2aliar( comparando com um padro ?m padro ou unidade de mensurao" a extenso( dimenso( capacidade( etc de alguma coisa( especialmente na forma determinada por um padroG o ato ou processo de mensurarG o resultado de uma mensurao Mensurao" K ato ou processo de mensurar ?m nQmero( extenso ou 0uantidade obtido atra21s de medio K ato ou processo de mensurar alguma coisa Tamb1m se refere a um resultado( como um nQmero expressando a extenso ou 2alor obtido atra21s da medio M1trica" ?ma medida 0uantitati2a do grau segundo o 0ual um sistema( componente ou processo possui um dado atributo ?m indicador calculado ou composto( baseado em duas ou mais medidas ?ma medida 0uantificA2el do grau segundo o 0ual um sistema( componente ou processo possui um dado atributo Indicador" ?m dispositi2o ou 2ariA2el ao 0ual pode ser atribu3do um estado pr1-definido( com base nos resultados de um processo( ou na ocorrncia de uma condio espec3fica #omo exemplo( um VflagV ou semAforo ?ma m1trica 0ue pro2 uma 2iso dos processos do desen2ol2imento de softBare e das ati2idades de mel.oria do processo de softBare com respeito ao alcance dos ob@eti2os ?m exemplo de medida seria cinco cent3metros K cent3metro 1 o padroG o cinco identifica 0uantos mQltiplos ou fra%es do padro esto sendo considerados #om o cent3metro( uma pessoa medindo alguma coisa nos 4stados ?nidos 2ai obter a mesma medida 0ue uma pessoa na 4uropa
19

?m exemplo de uma m1trica seria 0ue .ou2e apenas dois erros descobertos pelo usuArio nos primeiros )J meses de operao Isto dA mais informao significati2a do 0ue dizer 0ue o sistema entregue 1 de excelente 0ualidade ?m exemplo de indicador seria um VflagV( um indicador 1 alguma coisa 0ue c.ama a ateno de uma pessoa para uma situao espec3fica ?m outro exemplo de indicador 1 a ati2ao de um detetor de fumaa na sua casaG a ele 1 atribu3do um estado pr1-estabelecido e um alarme soa se o nQmero de part3culas de fumaa no ar excede as condi%es especificadas para o estado segundo o 0ual o detetor foi calibrado 4m termos de softBare( um indicador pode ser um aumento substancial no nQmero de defeitos encontrados na 2erso mais recente do cdigo

20

6+

A >5e!t(% CMM - C#$#8ilit@ M#t5rit@ M% el,


K #MM 1 o modelo mais amplamente aceito para o entendimento do processo

de desen2ol2imento de softBare Tem sido utilizado com sucesso por 2Arias organiza%es na a2aliao de seu processo de softBare( bem como na identificao das Areas-c.a2e onde focalizar as iniciati2as de mel.oria<I> K #MM oferece uma estrutura para o entendimento e mel.oria da eficAcia de uma organizao no desen2ol2imento de softBare T organizado em cinco n32eis de maturidade organizacional( onde cada n32el representa um estAgio e2olucionArio da capacidade do processo

#ada n32el representa um estAgio da maturidade organizacional( descrito em termos de suas V^reas-#.a2e de !rocessosV ?ma ^rea-#.a2e de !rocesso Ctamb1m c.amada _!A - 8e9 $rocess AreaD 1 um grupo de ati2idades relacionadas considerado importante para 0ue uma organizao funcione no n32el apropriado de maturidade do processo Ks ob@eti2os de uma ^rea-#.a2e de !rocesso so alcanados 0uando certas ati2idades so executadas !or exemplo( um dos ob@eti2os da ^rea-#.a2e de !rocesso do N32el +( $lane"amento do $ro"eto de ,oft7are ( 1 V4stimati2as de softBare so
21

documentadas para utilizao no plane@amento e super2iso do pro@eto de softBare V A tabela a seguir( apresenta as ^reas-#.a2e de !rocesso para cada N32el do #MM N.el 2 A BOti"iC# %B !re2eno de 7efeitos Perenciamento da Mudana Tecnolgica Perenciamento da Mudana no !rocesso N.el - 6 Gere&ci# %B Perenciamento Nuantitati2o do !rocesso Perenciamento da Nualidade de $oftBare 5oco no !rocesso Krganizacional 7efinio do !rocesso Krganizacional N.el 2 3 BDefi&i %B !rograma de Treinamento Perenciamento Integrado de $oftBare 4ngen.aria do !roduto de $oftBare #oordenao Intergrupos &e2is%es de !arceiros Perenciamento de &e0uisitos - &M !lane@amento do !ro@eto de $oftBare : !! N.el 2 1 BRe$et.elB Acompan.amento e $uper2iso do !ro@eto de $oftBare - !M# Perncia de $ubcontratao de $oftBare : $AM Medio e AnAlise - MA Parantia da Nualidade de $oftBare : !!NA Perenciamento de #onfigurao de $oftBare : #M N.el 2 * BI&ici#lB Cnen.uma ^rea-#.a2e de !rocessoD

22

Kbser2a-se 0ue o N32el ) no possui ^reas-#.a2e de !rocesso Na 2erdade( o n32el VInicialV representa a ausncia de processos 7iz-se 0ue uma organizao estA funcionando no N32el + 0uando todos os ob@eti2os das ^reas-#.a2es de !rocesso do N32el + foram alcanados A maioria das organiza%es ainda estA buscando o N32el + A principal preocupao do N32el +( o n32el V&epet32elV( 1 a boa prAtica do gerenciamento de pro@etos 4ste n32el focaliza os processos aplicA2eis ao n32el do pro@eto K N32el H( por outro lado( preocupa-se com processos relacionados s ati2idades de engen.aria no Umbito da organizao K N32el - ol.a os processos com uma granularidade mais fina( oferecendo mensurao e feedbac] ao n32el do processo K N32el *( alcanado por uma pe0uena 0uantidade de organiza%es( focaliza a mel.oria cont3nua de uma organizao de classe mundial 7e2ido ao foco do N32el + no gerenciamento de pro@etos( 1 nas ^reas-#.a2e de !rocesso desse n32el 0ue 1 iniciada a aplicao da AnAlise de !ontos de 5uno As ati2idades e ob@eti2os rele2antes para cada ^rea-#.a2e de !rocesso do N32el + C 2ide tabela anteriorD esto em conformidade com o documento #M?R$4I=H-T&-+* do $4I"

6+*+ Gere&ci#"e&t% e ReD5i!it%!,


Ks re0uisitos de sistema alocados ao softBare so controlados( de modo a estabelecer uma baseline para utilizao da gerncia e da engen.aria de softBare K grupo de engen.aria de softBare re2isa os re0uisitos alocados( antes 0ue os mesmos se@am incorporados ao pro@eto de softBare As mudanas nos re0uisitos alocados so re2isadas e incorporadas ao pro@eto de softBare A AnAlise de !ontos de 5uno pode ser utilizada para descre2er e documentar re0uisitos funcionais 4ste ob@eti2o 1 suportado pela anAlise dos re0uisitos( com a finalidade de 0uantificar o taman.o funcional do pro@eto ?ma contagem de pontos de
23

funo na fase de re0uisitos de um pro@eto pode ser utilizada em estimati2as e para fixar uma baseline para gerenciar o aumento do escopo #onforme os re0uisitos mudarem( os pontos de funo podem ser usados para comunicar o taman.o das mudanas relati2as ao taman.o do pro@eto

6+1+ Pl#&eE#"e&t% % Pr%Eet% e S%ftF#re,


4stimati2as de softBare so documentadas para utilizao no plane@amento e super2iso do pro@eto de softBare K plano do pro@eto de softBare 1 documentado 4stimati2as de taman.o dos produtos de softBare e 0uais0uer mudanas nos produtos de softBare so documentadas 4stimati2as do taman.o dos produtos de softBare Cou de mudanas no taman.o dos produtos de softBareD so deri2adas de acordo com um procedimento documentado 4stimati2as de taman.o so obtidas para todos os produtos e ati2idades rele2antes ?m exemplo de medida de taman.o de softBare so os pontos de funo 4stimati2as para o custo e esforo do pro@eto so deri2adas de acordo com um procedimento documentado

6+3+ Ac%"$#&G#"e&t% e S5$er.i!(% % Pr%Eet% e S%ftF#re


&esultados e desempen.os reais so comparados com os planos de softBare Ks taman.os dos produtos de softBare Cou o taman.o das mudanas nos produtosD so acompan.ados e so tomadas as a%es correti2as necessArias 7ados correspondentes a medidas reais e de re-plane@amento do pro@eto de softBare so registrados Nesta ^rea-#.a2e de !rocesso( as contagens de pontos de funo so atualizadas ao longo da 2ida do pro@eto &egistrando( acompan.ando e analisando as mudanas de taman.o ao longo do pro@eto( uma organizao pode mel.orar a eficAcia

24

e a acurAcia de suas estimati2as( mel.orando dessa forma o controle e super2iso do pro@eto

6+6+ Gere&ci#"e&t% e S58c%&tr#t#'(% e S%ftF#re,


K contratado principal acompan.a os resultados reais e desempen.o do subcontratado( em relao aos compromissos assumidos K trabal.o a ser subcontratado 1 definido e plane@ado( de acordo com um procedimento documentado A AnAlise de !ontos de 5uno tem sido amplamente utilizada em situa%es de gerenciamento de subcontratos( com a finalidade de comunicar o taman.o( a2aliar propostas e definir termos contratuais Isto inclui tanto desen2ol2imentos isolados( 0uanto contratos de terceirizao CoutsourcingD 4sta ^rea-#.a2e de !rocesso sugere a utilizao de pontos de funo para estimati2as na fase de re0uisitos e acompan.amento ao longo do pro@eto ?ma contagem final na concluso do pro@eto 1 utilizada para comparar o 0ue foi entregue com o 0ue foi plane@ado( sendo Qtil para a@udar a a2aliar o desempen.o do contratado

6+A+ Gere&ci#"e&t% e C%&fi-5r#'(% e S%ftF#re,


Ks produtos de softBare selecionados so identificados( controlados e disponibilizados As mudanas nos produtos de softBare identificados so controladas As mudanas nas baselines so controladas de acordo com um procedimento documentado Ks !ontos de 5uno desempen.am um papel importante no suporte ao Perenciamento de #onfigurao de $oftBare Nuando os re0uisitos mudam( o taman.o das mudanas de2eria ser 0uantificado e expresso em pontos de funo A documentao dos pontos de funo do pro@eto tamb1m pode ser colocada sob o gerenciamento de configurao( constituindo uma t1cnica para descre2er as mudanas funcionais
25

6+H+ A i"$%rtI&ci# # Ge!t(% e ReD5i!it%!,


A seguir sero apresentados trs grAficos 0ue demonstram o moti2o de se considerar a gesto de re0uisitos como sendo um dos principais fatores de sucesso no desen2ol2imento de sistemas de informao <H,> <5onte" #LAK$ &eports : T.e $tandis. Proup>

Percentual de Fatores de Sucesso

13

Estabelecimento claro dos requisitos

13,9

Envolvimento do usurio

57,2

Suporte da Gerncia Executiva

15,9

utros ! plane"amento apropriado, expectativas real#aitas, marcos do pro"eto atin$%veis, equipe competente, comprometimento, etc&

)alta de *n+orma,-es do usurio

Fatores de Estouro de Prazos

12,' Especi+ica,-es e requisitos incompletos 12,3 .udan,as de especi+ica,-es e requisitos (3,1 11,' utros ! +alta de suporte executivo, incompetncia tecnol/$ica, +alta de recursos, espectativas irreais, ob"etivos con+usos, "anelas de tempo irreais, etc&

26

requisitos incompletos

Fatores de Cancelamento de Projeto


13,1 )alta de envolvimento do usurio

12,0 )alta de recursos

(3,9

11,( utros ! +alta de suporte executivo, expectativas irreais, mudan,as de especi+ica,2o e requisitos, +alta de plane"amento, caracter%sticas desnecessrias, +alta de $erenciamento de 3*, anal+abetismo tecnol/$ico, etc&

#om o intuito de diminuir os problemas relacionados ao pouco en2ol2imento dos usuArios e deficincia dos processos de definio e gerenciamento de re0uisitos( causadores dos impactos negati2os 0ue le2am ao atraso e mesmo ao cancelamento de pro@etos de softBare( torna-se necessArio aumentar a proximidade entre os usuArios e a e0uipe responsA2el pelo sistema 7iminuir esta distUncia significa" Aumentar a interati2idade entre todos a0ueles 0ue esto direta ou indiretamente interessados no pro@eto( por interm1dio de um processo de trabal.o 0ue pre2e@a a maturidade sucessi2a dos re0uisitos ao longo de cada fase do desen2ol2imentoG Aproximar as 2is%es dos usuArios e dos desen2ol2edores com relao aos re0uisitos a serem implementados no sistema

27

A+

MelG%ri#

% Pr%ce!!%

e S%ftF#re Atr#.7!

I& ic# %re! # >5#li # e e Pr% 5ti.i # e,


Apesar dos grandes benef3cios 0ue podem ser obtidos com a utilizao de um programa de m1tricas para o gerenciamento dos pro@etos e produtos de softBare( o fator .umano 1 um item extremamente sens32el 0ue de2e ser le2ado em considerao e 0ue( se negligenciado( pode conduzir ao fracasso tentati2as bem intencionadas de medi%es K princ3pio bAsico 0ue norteia as regras( 0ue de2e orientar o comportamento 1tico da gerncia e das e0uipes de desen2ol2imento( fundamenta-se no 0ue podemos considerar um axioma enunciado por 4dBard 7eming C Out of the +risis( MIT !ress( )=JM D" VJ*X dos problemas 0ue ocorrem nos processos da empresa so de responsabilidade da gernciaV #onse0uentemente( @amais se de2em a2aliar desempen.os indi2iduais e sim enfocar processos e produtos ?m m1todo da 0ualidade utilizado para implementao de mel.oria cont3nua no processo 1 o #iclo !7#A K ! C!lane@arD 1 o !lane@amento da mudana no processo( o 7 C7o - AgirD 1 a execuo da mudana plane@ada( o # C#.ec] Acompan.arD 1 a 2erificao dos resultados obtidos pela ao executada e o A CAct reagirD 1 a deciso de mudar( baseada nos dados analisados

28

4m cada uma destas ati2idades so definidas sub-ati2idades 0ue e produtos 0ue as comp%em" Pl#&eE#r, A-ir, #riao de medidas( padr%es e coleta de dados Metas Kb@eti2os Necessidade de Informa%es 5atores #r3ticos de $ucesso !roblemas e Kportunidades

Ac%"$#&G#r, Acompan.ar o andamento f3sico e financeiro dos pro@etos e ser2ios ;erificao dos pro@etos com des2io de estimati2as de prazos ;erificao dos pro@etos com des2io de estimati2as de custos AnAlise de Impacto Ca2aliar as 2aria%es de 0ualidade( produti2idade e aspectos de custos dos processos de desen2ol2imento e gesto do softBare( em funo de mudanas no ambienteD AnAlise de Tendncias Ccomportamento futuro dos principais atributos do processo de plane@amento de pro@etos( desen2ol2imento de softBare e gesto de produtoD #omparao entre plataformas e tecnologias

Re#-ir, Incenti2ar R !remiar Treinar Alocar R &ealocar &ecursos Modelar o Ambiente de 7esen2ol2imento 4liminar os problemas antes deles te eliminarem
29

A implantao de uma Metodologia 0ue pode ser graficamente apresentada como a figura a seguir( possui 0uatro fases 0ue se interagem continuamente Isto 1( Aps a deciso( definio e Implantao de um processo de medio de softBare( o processo de definio dos indicadores 1 realizado de modo a atender as necessidades atuais de negcio !orem( esta necessidade no pode ser 2ista como uma ati2idade 0ue 1 feita uma Qnica 2ez As necessidade e2oluindo e no2os indicadores preciso ser criados A ?tilizao de dados .istricos para o plane@amento e controle do pro@etos 1 fundamental e a base 1 alimentada continuamente com os dados 0ue 2o sendo extra3dos dos pro@etos em andamento e dos finalizados

1 Implantar Processo de Medio 2 Definir Indicadores

3 Utilizar Dados Histricos para a Gesto da Melhoria do Processo

4 Implantar !es para Promo"er a Melhoria #ont$n%a do Processo de &oft'are

A partir da 9ase Listrica so extra3das informa%es baseadas nos indicadores para suportar o processo gerencial de mel.oria cont3nua !ortanto( os principais ob@eti2os da utilizao dos indicadores propostos so" Mel.orar a 0ualidade do processo de desen2ol2imento de softBareG Aumentar a produti2idade do processo de desen2ol2imento de softBareG Mel.orar a 0ualidade do softBare desen2ol2idoG Auxiliar gerentes a plane@ar e a controlar os pro@etos de softBareG !romo2er a mel.oria cont3nua do processo de softBare
30

!ara implantar a mel.oria cont3nua no processo de desen2ol2imento de softBare( 1 indispensA2el uma gerncia eficaz dos parUmetros 0uantitati2os do processo 0ue resultam em informa%es de controle <Metodologia para Mel.oria do !rocesso - #laudia Lazan C*D> !ortanto( para manter-se um processo de softBare sob controle de2e-se instituir um processo de medio eficaz( 2isando a coleta de dados para os indicadores( os 0uais sero utilizados para manter o processo sob controle ?ma organizao de2e identificar 0uais so as maiores Areas de riscos e focalizar as oportunidades de mel.oria para corrigir ou minimizar os fatores de risco( dando prioridade s mel.orias com base nos seguintes fatores estrat1gicos de sucesso( cr3ticos para a organizao na perspecti2a do negcio" <'KN4$( )==I> &eduo do tempo de entrega para o mercadoG &eduo dos custos do desen2ol2imento e manuteno do softBareG Mel.oria na preciso das estimati2as de custos e cronogramasG ?so otimizado de no2as tecnologiasG ?so eficiente de consultores e contratos de terceirizao A coleta de dados .istricos de desempen.o Ccronogramas( custo( 0ualidade e produti2idadeD de2e ser uma das primeiras a%es dentro do processo de mel.oria cont3nua com a finalidade de obter-se uma base de comparao ?tilizam-se os dados do processo tanto para analisA-lo 0uanto para modificA-lo no sentido de pre2enir problemas e mel.orar a eficincia 4sses dados .istricos daro subs3dios para a criao de indicadores de desempen.o financeiro( 0ualidade e produti2idade 0ue retratem o desen2ol2imento de sistemas de informao No esforo de implantao de uma no2a mentalidade 2oltada para a 0ualidade e produti2idade( no 1 admiss32el o desen2ol2imento de sistemas atra21s de EfeelingF( onde 0uest%es como" 0ual 1 a produti2idade da Area de informAtica( 0ual 1 a capacidade de produo( 0ual con@unto de ferramentas possibilita a maior produti2idade( 0uais so os indicadores de 0ualidade existentes( 0ual camin.o de2o adotar( desen2ol2er ou comprar um pacote e customizA-lo( so simplesmente deixadas de lado ou respondidas sem suporte de uma base 0uantificA2el
31

Medi%es operacionais de2em ser utilizadas a fim de permitir" a anAlise de tendncias de determinados indicadores( 0ue podem subsidiar a%es para re2erso ou sustentao dessas tendnciasG a anAlise de impactos na introduo de no2as tecnologias sobre a 0ualidade e produti2idade( 0ue pode auxiliar na deciso sobre 0uais combina%es de elementos de tecnologia garantem mel.ores resultadosG a anAlise de atributos( 0ue permite a comparao da 0ualidade e produti2idade entre plataformas( metodologias( Areas de aplicao( .abilidades t1cnicas de pessoas e assim sucessi2amente

32

H+

O CG%D5e C5lt5r#l E&.%l.e& % E!ti"#ti.#!,


Nas fases iniciais do pro@eto( como por exemplo( durante o le2antamento de

re0uisitos( ainda no .A o con.ecimento completo das caracter3sticas do produto 0ue permita a apurao de sua futura dimenso Nesse caso 1 necessArio estimar ;Arios modelos de estimati2as foram criados para fornecer m1tricas 0ue permitam atender com menor margem de erro s necessidades de comunicao e informao do pro@eto A anAlise de pontos de funo permite no s medir o taman.o do sistema em termos de funcionalidades fornecidas ao usuArio( mas tamb1m estimar seu taman.o em 0ual0uer fase do seu ciclo de 2ida Cmesmo 0ue os re0uisitos ainda no ten.am sido detal.adosD A manuteno de registros de outros pro@etos semel.antes( com a e2oluo das estimati2as iniciais at1 a medio final( permite um acompan.amento da relao entre a 0uantidade de pontos de funo estimados ou calculados nos 2Arios estAgios de con.ecimento do produto As medidas obtidas nos di2ersos momentos do pro@eto no s tm 2alor 0uando a2aliadas isoladamente( mas tamb1m 0uando relacionadas entre si Ao comparar a e2oluo do taman.o funcional durante a e2oluo de pro@etos passados( pode ser obtido um fator 0ue indi0ue o percentual de crescimento funcional entre essas di2ersas etapas Ao identificar pro@etos passados com caracter3sticas semel.antes ao 0ue se estA plane@ando( 1 poss32el a@ustar as estimati2as realizadas em fases iniciais #ontudo( taman.o em si tem pouco 2alor analisado de forma isolada 4le passa a ser rele2ante 0uando ser2e de base para responder s perguntas referentes a outros aspectos K plane@amento de pro@etos de sistemas en2ol2e e0uacionar um con@unto complexo de elementos( entre eles" Nuais produtos de2em ser desen2ol2idosG !or meio de 0ue ati2idadesG 4n2ol2endo 0uanto de esforoG Nuais profissionais sero alocadasG 7urante 0uanto tempoG Nuais riscos de2em ser identificados e contingnciados
33

7entre os di2ersos paradigmas 0ue a implantao de um programa de m1trica necessita 0uebrar estA a 0uesto da estimati2a de custo K cAlculo dos custos de um pro@eto re0uer o somatrio de um con@unto de custos das 2Arias ati2idades 0ue comp%em o processo de desen2ol2imento de sistemas de informao !ortanto( a ati2idade de padronizao do cAlculo de custos de pro@eto de softBare re0uer uma padronizao pr12ia de processo desen2ol2imento de softBare Al1m( disto 1 necessArio acreditar em um padro 0ue ainda tem uma margem de descon.ecimento por no ainda amadurecimento dentro da empresa

H+*+ A E!ti"#ti.# e C5!t%,


A maioria das organiza%es calcula o custo do softBare a menor( por larga margem K 2erdadeiro custo do softBare 1 a soma de todos os custos durante a 2ida do pro@eto( incluindo-se a3 todos os custos esperados de mel.oria e manuteno 7e fato( o cAlculo real seria o 2alor presente de todos os desen2ol2imentos( mel.orias e manuten%es no decorrer da 2ida do pro@eto 4ste tipo de anAlise demonstra a recompensa de se in2estir na fase inicial da anAlise e pro@eto Nuanto mais se in2estir nas fases iniciais( mais serA economizado na reduo dos custos de manuteno e mel.oria T importante ser capaz de calcular o custo unitArio( a fim de a2aliar o in2estimento inicial e comparA-lo aos gastos futuros K custo unitArio pode ser em .oras R !5 ou Y R !5 Ks aumentos no in2estimento inicial de2eriam reduzir proporcionalmente os custos unitArios das futuras mel.orias e manuten%es A utilizao de !ontos de 5uno para auxiliar na estimati2a de custo( elaborao de cronograma e esforo do pro@eto 1 uma 0uesto de associao entre as seguintes informa%es necessArias ao controle de pro@etos de softBare" Nuantidade de pontos de funo da ati2idadeG 4strutura metodolgica adotada pela empresa Cciclo de desen2ol2imentoDG [ndice de !roduti2idade para a realizao da ati2idadeG ;alor de taxa .ora relati2o ao perfil do profissional 0ue executarA a ati2idadeG
34

A #ombinao destas informa%es possibilita fornecer os nQmeros necessArios para a elaborao do cronograma do pro@eto

H+1+ Pr#C%! e C5!t%! D# %! $el%! P#tr%ci&# %re! e Alt# Ger0&ci# #&te! Me!"% e !er Defi&i % % Pr%8le"#,
A implantao de um processo de estimati2a de2e ser associado a uma mudana cultural do processo de oramento de desen2ol2imento de softBare No 1 poss32el dar preos a um produto sem antes ter uma id1ia de seu escopo e taman.o A alta gerencia de2e estar consciente 0ue para se ter uma id1ia de custo( um trabal.o m3nimo de2e ser realizado para o mapeamento do problema e assim( se reunir um con@unto de informa%es 0ue subsidie os cAlculos de custos e prazos

H+3+ C%"% F#Cer M5 #&'#!,


A implantao de um programa de m1trica de2e ser tratado do mesmo modo da implantao de um sistema de informao Todo o ambiente de trabal.o serA afetado de uma forma ou de outra e uma no2a mentalidade de2erA ser transmitida e assimilada por todos os en2ol2idos 7e2e ser criado um compromisso entre todos os en2ol2idos K m1todo a ser implantado de2e ser sistemAtico e disciplinado para proporcionar transparncia e agilidade no processo de mudana organizacional( reduzindo custos e maximizando os resultados !ara 0ue a mudana acontea( so necessArios alguns re0uisitos e condi%es 7entro de um contexto organizacional( a mudana acontecerA na medida em 0ue H fatores aconteam

C#5!# 4xiste real Necessidade da Mudana

S%l5'(% LA uma Alternati2a #oerente


35

I"$le"e&t#'(% #onduo do !ro@eto de Mudana

T na fase de implementao 0ue muitos !ro@etos de Mudana fracassam( apesar de ser recon.ecido a 6causa8 e de ter identificado a mel.or 6soluo8( a falta de metodologia ade0uada de 6implementao8 conduz ao fracasso de no atingir os resultados esperados !ortanto( algumas ati2idades podem ser plane@adas e executadas de modo a minimizar os riscos de fracasso na implantao" 4laborar um diagnstico claro da situao" /e2antar dados e informa%es com o maior nQmero de pessoas en2ol2idas no processo de mudana 4ntender o !ro@eto e seus ob@eti2os Alin.amento dos Kb@eti2os" A definio do escopo( especificao funcional e o resultado final dese@ado( de2endo ser 0uantificado na medida do poss32el 5ixar 4strat1gia" 4stabelecer a metodologia geral ou plano bAsico para se implementar a mudana 7efinir a pol3tica de utilizao de recursos internos e externos 5ortalecimento da #ultura Krganizacional" K desafio consiste na necessidade de construir uma no2a cultura eRou reforar a cultura existente #omprometimento das !essoas com os Kb@eti2os e 4strat1gia" K sucesso de tais mudanas depende da capacitao e preparao do pessoal( em todos os n32eis( para enfrentar os no2os desafios T preciso ousar( arriscar e ino2ar para 2encer A preparao do pessoal para mudana exige uma abordagem ino2adora 0ue demonstre( atra21s de 2i2ncia( como encarar o risco e desen2ol2er formas ino2adoras de trabal.o Identificar Ati2idades" $ubdi2idir o pro@eto como um todo em Vfases do trabal.oV ( passi2eis de serem gerenciadas e controladas A Vestrutura anal3ticaV de2e ser aplicada ao pro@eto de mudana Identificar &ecursos"

36

7eterminar os &ecursos .umanos dispon32eis para implementar as mudanas( analisando a 0ualificao( tempo de utilizao e 0uantidade re0uerida /e2antar tamb1m necessidades de recursos financeiros( materiais e e0uipamentos especiais Treinamento Ade0uado das !essoas" T necessArio dotar os programas de treinamento de conteQdo e metodologia( embasados em uma filosofia 0ue de2ol2a ao indi23duo a capacidade de pensar( a partir dos resultados da sua prpria experincia Isso implica num processo de aprendizagem 0ue 1 desen2ol2ido al1m da sala de aula( integrando t1cnicas e pensamento gerencial( intuio e intelecto( cincia e bom senso 4stabelecer Tempo para cada Ati2idade" #om base nos recursos( calcular o tempo de execuo de cada ati2idade 4stabelecer calendArio das ati2idades com datas programadas de in3cio e t1rmino &e2er Tudo" A@ustar as necessidades de prazo global com a disponibilidade de recursos( rea2aliar a lgica( refinar o plano 4m todas as fases( o gerenciamento eficaz dos aspectos culturais e .umanos 1 a c.a2e para o sucesso K desafio 1 conseguir integrar a Abordagem T1cnica da Implementao com o 7esen2ol2imento das #ompetncias Lumanas

37

J+

I&fl50&ci#

# Met% %l%-i#

e De!e&.%l.i"e&t% e

Ge!t(% e Pr%Eet%!, J+*+ A >5e!t(% # Met% %l%-i# e De!e&.%l.i"e&t% R4$i %,


Ks profissionais de TI de .o@e esto enfrentando um dilema" por um lado sabem( a partir de penosa experincia( 0ue desen2ol2er sistemas de informao complexos com alta 0ualidade utilizando uma perspecti2a informal( de hac:er( 1 arriscado Mas tamb1m sabem 0ue as abordagens de engen.aria formais e disciplinadas( normalmente associadas I$K-=,,, e ao $4I-#MM( so to burocrAticas e consomem tanto tempo 0ue tornam imposs32el o cumprimento dos prazos cada 2ez mais agressi2os e competiti2os do ambiente e do c.amado Vtempo InternetV !odemos caracterizar as metodologias formais e disciplinadas da engen.aria de softBare como VpesadasV : no apenas em termos do peso da documentao em papel 0ue produzem( mas tamb1m em relao ao grau de esforo gerencial( re2is%es de NA e procedimentos r3gidos 0ue os desen2ol2edores de2em seguir !or outro lado( as abordagens para o desen2ol2imento tais como o V&A7V Cdesen2ol2imento rApido de aplica%esD e a prototipao poderiam ser caracterizadas como Vle2esV : no apenas por0ue tendem a produzir uma 0uantidade m3nima de documentao em papel( mas tamb1m por0ue minimizam o grau de esforo gerencial Infelizmente( muitos dos pro@etos &A7 nos anos =, foram to Vle2esV em sua abordagem metodolgica 0ue os mesmos foram 0uase inexistentesG em retrospecti2a( tais pro@etos fre0`entemente degeneraram para exerc3cios de hac:ing( sem praticamente 0ual0uer documentao #ertamente 1 necessArio um e0uil3brio entre os extremos de no ter nen.uma metodologia e o de ter um excesso de metodologia Tal2ez a metodologia Ve0uilibradaV mais popular .o@e em dia se@a Va!V( conforme explicada por _ent 9ec] em seu li2ro Ve;treme $rogramming e;plainedV CV!rogramao eatrema explicadaVD ?ma outra 1 a metodologia $#&?M criada por _en $c.Baber A maioria dos 2eteranos de softBare estA familiarizada com a filosofia dessas metodologias Vle2esVG com efeito( !eter 7ePrace e /eslie Lulet $ta.l as resumiram .A uma d1cada( em
38

V<ic:ed $roblems, =ighteous ,olutions- A +atalog of Modern ,oft7are Engineering $aradigmsV C!rentice-Lall( )==,D CV!roblemas !er2ersos( $olu%es #orretas" ?m #atAlogo de !aradigmas Modernos de 4ngen.aria de $oftBareVD As metodologias le2es representam uma abordagem consciente para o in2estimento de tempo( din.eiro e recursos nas di2ersas ati2idades associadas ao desen2ol2imento !orerm( 0uanto pode ser considerado excesso de anAlise de re0uisitos( e 0uanto de2em ser considerados insuficientesW ?ma abordagem Vle2eV para os re0uisitos poderia consistir de documentar cada um dos re0uisitos Cnormalmente centenasD associados a um pro@eto de desen2ol2imento com uma Qnica frase sucinta ?ma abordagem Vm1diaV seria documentar cada um com um parAgrafo de texto ?ma abordagem VpesadaV exigiria modelos ?M/ detal.ados( defini%es de elementos de dado e descri%es formais dos Vm1todosV associados a cada ob@eto A escol.a entre uma abordagem le2e ou pesada para os re0uisitos pro2a2elmente sofrerA forte influncia da presso corporati2a relati2a ao V time to mar:etV Ctempo para a entrega do produtoD 7a mesma forma( a taxa de rotati2idade dos empregados 1 um fator" uma das @ustificati2as para a existncia de um processo formal de desen2ol2imento de softBare 1 0ue um documento detal.ado descre2endo os re0uisitos( o design e o cdigo irA diminuir o caos se os principais desen2ol2edores sa3rem no meio de um pro@eto Ao mesmo tempo( se por um lado os sistemas dos anos I, e J, tin.am uma 2ida Qtil esperada de uma ou duas d1cadas( tal2ez uma empresa Vponto-comV este@a disposta a assumir um compromisso formal de 0ue suas aplica%es de e*business existiro durante apenas um ano( para depois serem completamente reescritas $e for esse realmente o caso( e se a aplicao da prxima gerao for completamente diferente da atual( serA 0ue farA sentido seguir uma abordagem pesada( apenas por0ue 1 um pr1-re0uisito para alcanar o n32el H do $4I-#MMW Igualmente( 0uanto formalismo e rigor so apropriados para as fases de design e testeW Nue 0uantidade de documentao 1 apropriada( com relao ao preenc.imento de fol.as de tempo Ctime sheetD( relatrios de progresso( atas de reunio e outras ati2idades normalmente associadas ao gerenciamento de um pro@eto : especialmente para pro@etos 0ue duram apenas uma semanaW 4ssas perguntas sempre
39

foram rele2antes( mas as respostas 0ue sempre aceitamos como estrat1gias corporati2as precisam ser reexaminadas de tempo em tempo( pois os parUmetros de custoRbenef3cio mudam( assim como a tecnologia e os desen2ol2edores de softBare As metodologias le2es tamb1m reexaminam as suposi%es 0ue temos feito( .istoricamente( a respeito de in2estir recursos em anAlise de re0uisitos e na mel.oria de processos 4m )=J)( o li2ro V ,oft7are Engineering EconomicsV CVA 4conomia da 4ngen.aria de $oftBareVD de 9arrO 9oe.m forneceu-nos a surpreendente re2elao de 0ue( se um erro fosse cometido na fase de anAlise de um pro@eto( seria ), 2ezes mais barato identificA-lo durante a essa fase( do 0ue permitir 0ue ele fosse detetado somente na fase de design !or1m( 9oe.m fez uma suposio 0ue pode no ser 2erdadeira na primeira d1cada do no2o milnio" o crescimento dos nQmeros 1 rele2ante somente se for poss32el identificar o defeito na fase do ciclo de 2ida na 0ual ele ocorrer No ambiente de .o@e( .A muitas situa%es nas 0uais isso no 1 poss32el Nuando 9ill Pates sentou-se para formular os re0uisitos para o >nternet E4plorer( tal2ez ele ten.a dito( V5aa-o exatamente como o ?etscape ?avigator( por1m ainda mel.or8 4( tal2ez( Marc Andreesen da ?etscape ten.a pensado" V5arei o ?avigator como o Mosaic( por1m ainda mel.orV Mas o 0ue pensou Tim 9erners ao criar a 2erso inicial da <orld <ide <eb e a primeira 2erso( grosseira( de um bro7serW K 0ue adiantaria para ele escre2er re0uisitos detal.adosW 7e maneira similar( os defensores das metodologias pesadas dizem 0ue( se um defeito for encontrado durante o desen2ol2imento( a culpa no de2eria ser atribu3da ao indi23duo 0ue o criouG ao in21s disso( tal fato de2eria conduzir ao exame do processo 0ue permitiu 0ue o defeito acontecesse !or1m( mais uma 2ez( existe uma suposio fundamental : isto 1( a Qnica razo pela 0ual 2ale a pena in2estir recursos para identificar a fal.a em um processo 1 por0ue pretendemos utilizA-lo no2amente : por0ue nosso prximo pro@eto serA suficientemente parecido com o anterior( de forma 0ue poderemos usar o mesmo processo Agora( as coisas esto mudando to rapidamente( 0ue no .A garantia de 0ue o pro@eto Nb) terA 0ual0uer semel.ana com o pro@eto NG assim sendo( o processo de ontem pode ter de ser substancialmente modificado para ser usado aman. 4nto( tal2ez no 2al.a a pena realizar o esforo
40

para consertar nada 0ue no se@a uma grande fal.a no processo( pois os respecti2os detal.es sero Qteis apenas para um Qnico pro@eto Naturalmente( .A circunstUncias sob as 0uais poderemos continuar a depender dos antigos e fundamentais princ3pios da engen.aria de softBare e 0ue podem @ustificar uma abordagem metodolgica pesada 7e2emos nos perguntar( toda2ia( se as suposi%es sub@acentes a esses princ3pios ainda so 2Alidas !ara muitos dos pro@etos de .o@e( as suposi%es sub@acentes precisam ser modificadas( e as metodologias le2es constituem a mel.or abordagem em termos de eficAcia e custos T importante destacar 0ue o processo de estimati2a re0uer padronizao( re0uer 3ndices de produti2idade aplicados a estes padr%es A metodologia de desen2ol2imento se@a ela para desen2ol2imento rApido( se@a para outro tipo de desen2ol2imento de2e ser padronizada e as informa%es para serem armazenadas na base .istrica de estimati2as de2em ser compat32eis com os m1todos de desen2ol2imento adotados pela empresa

J+1+ I&fl50&ci# % Cicl% e Ki # &# E!ti"#ti.#,


K ambiente atual de desen2ol2imento de softBare 1 uma mir3ade de metodologias de desen2ol2imento( plataformas( configura%es e abordagens centralizadas e descentralizadas Independentemente da metodologia e do ambiente em 0uesto( contudo( o pr1-re0uisito principal para a 0ualidade no desen2ol2imento de sistemas 1 a documentao e o entendimento dos re0uisitos do sistema !eter Morris( em seu li2ro sobre a .istria da gerncia de pro@etos( concluiu 0ue Vos re0uisitos esta2am no topo da lista das causas da falta de controle dos pro@etosV <+> #oncentrando-se esforos para descre2er os re0uisitos dos softBares com casos de uso e medindo estes re0uisitos com !ontos de 5uno( os pro@etos podem ser controlados e gerenciados de maneira muito mais ampla do 0ue so atualmente K aumento do foco nos re0uisitos le2a a testes mais efeti2os dos produtos e resulta em softBare de mel.or 0ualidade( assim como refora muito dos princ3pios resumidos por catts Lump.reO no no2o Team $oftBare !rocess CT$!D <H>
41

J+3+ ReD5i!it%! e S%ftF#re,


Nem todos os re0uisitos do softBare so especificados ou con.ecidos no mesmo n32el ao longo de um pro@eto 7esta forma( eles se en0uadram em uma das trs categorias mostradas adiante" #on.ecidos" &e0uisitos con.ecidos( bAsicos( essenciais( 0ue definem as funcionalidades do negcio 0ue sero suportadas ou executadas pelo softBare Peralmente bem articulados e documentados( tanto nos pro@etos de substituio 0uanto nas mel.orias de sistemas 4stes re0uisitos representam a funcionalidade do sistema existente 0ue serA tamb1m re0uerida no no2o sistema 7escon.ecidos( !re2is32eis" 4stes re0uisitos( assim como os #on.ecidos( so exigncias mandatrias no softBare 4mbora nos estAgios iniciais do pro@eto estes re0uisitos se@am descon.ecidos( a e0uipe de pro@eto sabe 0ue estes re0uisitos tornar-se-o con.ecidos durante o desen2ol2imento 5re0`entemente os re0uisitos deste tipo so rotulados pelo termo em ingls Vscope creepV( Ccrescimento descontrolado do escopoD( e podem montar a algo entre +*X e *,X do taman.o final do softBare desen2ol2ido<H> 4xemplos 0ue normalmente caem dentro desta categoria so relatrios( ou consultas a dados 0ue so pre2istas( mas no completamente definidas 4sta Area dos re0uisitos 1 gerenciA2el atra21s do plane@amento de risco ou de contingncia Adicionalmente( os dados .istricos so fre0`entemente uma ferramenta para pre2er-se a percentagem de scope creep 0ue pode ocorrer 7escon.ecidos( Impre2is32eis" 4ste 1 o mais impre2is32el tipo de re0uisito( por0ue nem mesmo o .istrico pode fornecer informa%es ade0uadas para acomodar o 7escon.ecido( Impre2is32el 4stes re0uisitos fre0`entemente surgem tarde no ciclo de desen2ol2imento( e a gerncia formal de mudanas 1 cr3tica para controlar o seu impacto A categoria 7escon.ecida R Impre2is32el inclui altera%es nos re0uisitos existentes( bem como
42

no2as funcionalidades 0ue foram negligenciadas ou 0ue surgiram aps a fase de definio de re0uisitos 4ste tipo de re0uisito tem o potencial de influenciar no crescimento da espiral de re-trabal.o do pro@eto No momento 0ue o pro@eto atinge a etapa de teste( a percentagem relati2a de re0uisitos con.ecidos e descon.ecidos cresce dramaticamente K desafio das e0uipes de desen2ol2imento 1 maximizar o nQmero e a clareza dos re0uisitos con.ecidos nas etapas iniciais do pro@eto( bem como gerenciar e controlar o impacto dos re0uisitos descon.ecidos 0uando surgirem 5erramentas e metodologias para formalizar os re0uisitos podem a@udar na maximizao do con.ecimento nas etapas iniciais do pro@eto( permitindo uma estimati2a mais acurada do pro@eto ?sando uma analogia com a construo de uma casa( 0uando mais detal.ada e completa for a planta baixa( mais acuradas podero ser as estimati2as do pro@eto Nuando um pro@eto gasta o tempo necessArio para certificarse de 0ue seus re0uisitos esto bem definidos e completos Cambos #on.ecidos e 7escon.ecidos( >mprevisveisD( 1 o mesmo 0ue garantir 0ue a planta baixa este@a completa antes 0ue o modelo final se@a desen.ado e 0ue as funda%es da casa se@am iniciadas Ks softBares de alta 0ualidade surgem da maximizao do nQmero de re0uisitos con.ecidos nas etapas iniciais do pro@eto e da gerncia do impacto dos re0uisitos descon.ecidos 0uando finalmente tornam-se con.ecidos

43

L+

UtiliC#'(% e C#!%! e U!% $#r# Deter"i&#r % NM"er% e P%&t%! e F5&'(%,


?m m1todo para documentao dos re0uisitos do usuArio( utilizado na anAlise

orientada a ob@etos( 1 c.amado Vcasos de usoV Cuse casesD e pode ser aplicado maioria dos pro@etos de desen2ol2imento ?m #aso de ?so resume( em termos do usuArio de negcio( uma Vunidade de trabal.oV lgica e completa 0ue a aplicao pode suportar( sem referncia a como a funo serA implementada Ks casos de uso descre2em a funcionalidade dos re0uisitos do softBare( e traduzem naturalmente o 0ue a maioria dos praticantes considera como o ob@eti2o de uma anAlise orientada a ob@etos T importante notar( contudo( 0ue embora os casos de uso se@am mais comumente associados ao desen2ol2imento orientado a ob@etos( a abordagem KK no 1 pr1-re0uisito para o desen2ol2imento dos casos de uso ?ma das maneiras mais populares de documentar os re0uisitos de softBare cai facilmente dentro do desen2ol2imento de casos de uso Trata-se da I444 $oftBare &e0ueriments $pecification C4specificao de re0uisitos de $oftBare C$&$DD" I444 )H,( largamente usada pelo go2erno e pela indQstria dos 4?A #ada especificao na $&$ de2eria ser ligada ao elemento do pro@eto 0ue a referencia( ao segmento de cdigo 0ue a implementa( e aos casos de teste 0ue o 2erificam( utilizando uma matriz de rastreabilidade de re0uisitos <)I> A importUncia de usar a especificao de re0uisitos de $oftBare C$&$D 1 0ue se descre2e o 0u o softBare irA fazer( sem referncia ao como as fun%es sero implementadas #om a $&$( os casos de uso podem ser claramente documentados e os casos de teste podem ser mapeados para especificar os re0uisitos ?m grupo de cenArios ou casos de uso so desen2ol2idos( para a@udar a identificar os ob@etos e descre2er o comportamento do sistema ?ma 2ez 0ue o #aso de ?so 1 conclu3do( 1 poss32el utilizar o #aso de ?so para obter a interao entre os ob@etos( as mudanas de estado contidas dentro do #aso de ?so( e os re0uisitos funcionais ou de dados contidos no #aso de ?so 4xemplos de casos de uso incluem"
44

5uncionalidades re0ueridas para depositar fundos em uma conta bancAria ;erificar 0ue o limite do carto de cr1dito no foi excedido para um pedido de compra !rocessar uma transao de um carto de cr1dito para uma 2enda 7eterminar 0ual rota de uma lin.a a1rea entre duas cidades tomarA o menor tempo ?ma 2ez 0ue os re0uisitos do sistema con.ecidos e associados aos casos de

uso se@am documentados( o resultado 1 essencialmente uma planta baixa do 0ue o softBare de2e fazer T importante( neste ponto( 0uantificar o taman.o dos re0uisitos da sua planta baixa( usando unidades ob@eti2as de medio de softBare( tais como !ontos de 5uno Muitos modelos de estimati2as de pro@etos( tais como o produto $/IM da N$M de /arrO !utnam( o produto !NM!lus da ?nion !acific Tec.nologies( o _noBledge!/AN da Artemis( o #K#KMKII de 9arrO 9oe.m e o 4stimate !rofessional do $oftBare !roducti2itO #enter( iro aceitar o ponto de funo como uma unidade padro de medida de taman.o de um pro@eto #omo todas estes 2endedores de solu%es e outros especialistas da indQstria iro atestar( mensurar o taman.o dos re0uisitos do usuArio 1 to cr3tico para a gerncia e o controle do pro@eto( 0uanto identificar os re0uisitos ?m #aso de ?so 1 um diAlogo entre um usuArio e o sistema computacional( com o ob@eti2o de satisfazer uma necessidade espec3fica do usuArio ?m #aso de ?so coloca o foco do esforo de desen2ol2imento de softBare na0uilo 0ue o usuArio precisa 0ue se@a feito para 0ue seus ob@eti2os se@am alcanados #asos de uso descre2em como os usuArios interagem com um sistema computacional Normalmente uma tela precisa ser dissecada em transa%es Centradas externas( consultas externas e sa3das externasD Isto 1( 0ual0uer tela espec3fica pode conter uma consulta externa Capresentao de informa%esD( sa3das externas Cdados deri2adosD e entradas externas Catualiza%es de ar0ui2osD Ks casos de uso fornecem as partes @A dissecadas CpassosD ?m passo pode ser uma transao( um elemento de dado ou nen.um dos dois #ada passo precisa ser analisado para determinar se 1 uma transao ou elemento de dado
45

T importante re2er o 2ocabulArio utilizado( procurando pala2ras tais como sal2ar( atualizar( @untar( calcular e assim por diante

L+*+ P%&t%! e F5&'(% $#r# Me&!5r#r % T#"#&G% %! C#!%! e U!%,


Ks !ontos de 5uno mensuram o taman.o da Vplanta baixaV do softBare ou o 0ue o softBare de2e fazer( e so independentes de como o softBare serA desen2ol2ido #omo tal( os !ontos de 5uno so diretamente compat32eis com as abordagens de $&$ e de casos de uso descritos anteriormente ?ma das maiores barreiras para a contagem de !ontos de 5uno - a ausncia de re0uisitos documentados do usuArio - 1 resol2ida com os casos de uso Ks casos de uso apresentam os re0uisitos lgicos dos usuArios num formato completo e de fAcil entendimento( 0ue faz a contagem de !ontos de 5uno ser absor2ida sem problemas ?sando casos de uso( em con@unto com o modelo lgico de 757 ou modelos de ob@etos( tem-se uma rota direta para a contagem de !ontos de 5uno Ks modelos de ob@etos Cou 757( se o modelo de ob@etos no esti2er dispon32elD fornecem um mapeamento dos ob@etos e classes independentes ou dependentes 4sses ob@etos Cou grupos de ob@etos dependentesD mantidos atra21s de ser2ios padronizados Cresumidos por um ou mais casos de usoD so tipicamente contados como Ar0ui2os /gicos Internos CA/ID em !ontos de 5uno Kb@etos e classes 0ue so apenas referenciados e 0ue no so mantidos atra21s de fun%es padronizadas do softBare Ccomo descrito nos casos de usoD tipicamente transformam-se em Ar0ui2os de Interface 4xterna CAI4D( na metodologia de !ontos de 5uno Ks casos de uso fornecem( por si s( os processos e funcionalidades necessArias contagem dos demais componentes da AnAlise de !ontos de 5uno" 4ntradas 4xternas C44D( $a3das 4xternas C$4D e #onsultas 4xternas C#4D 4mbora um #aso de ?so de forma geral corresponda a uma funo lgica em !ontos de 5uno( isto no 1 regra geral Numa situao ideal( de2eria .a2er uma relao um para um entre os casos de uso e as funcionalidades dos !ontos de 5uno(
46

mas( na prAtica( um Qnico #aso de ?so pode descre2er mais do 0ue uma funcionalidade lgica do usuArio As pessoas 0ue utilizam !ontos de 5uno encontraro maior facilidade para contar !ontos de 5uno a partir da documentao de casos de uso( diferentemente do caso das misturas de formas de documentao 0ue costumam ser encontrados K taman.o do pro@eto de softBare em !ontos de 5uno 0uantifica o taman.o dos re0uisitos do usuArio e pode ser usado em con@unto com as 2ariA2eis f3sicas e tecnolgicas( dentro de um modelo de estimati2as( para estimar o esforo( durao( defeitos e outros aspectos do pro@eto de softBare

L+1+ Ri!c%! #% C%&t#r P%&t%! e F5&'(% # P#rtir e C#!%! e U!%,


Ks riscos ao contar pontos de funo a partir de casos de uso so normalmente os mesmos existentes na contagem de especificao de sistemas de informao Isto 1( estA intimamente relacionada com a 0ualidade do le2antamento dos re0uisitos" ?ma transao necessAria no foi identificada em um #aso de ?soG ?ma transao foi erradamente identificada em um #aso de ?soG K nQmero de atributos no estA claramente definido em um #aso de ?soG K nQmero de atributos no pode ser associado a uma entidade

47

N+

UtiliC#'(% e P%&t%! e F5&'(% $#r# E!ti"#r C#!%! e Te!te,


Muitas tentati2as tm sido feitas para estabelecer uma relao entre pontos de

funo e o esforo associado ao desen2ol2imento de softBare Prande parte da dificuldade no estabelecimento desta relao 1 de2ida ao fato de ser examinado apenas o relacionamento entre os pontos de funo e o ciclo de 2ida inteiro do softBare A associao entre pontos de funo e caso de testes de2e passar inicialmente por uma padronizao da ati2idade de testes realizada pela empresa No 1 poss32el a aplicao de 3ndices de produti2idade em ati2idades 0ue no este@am padronizadas

N+*+ Pl#&eE#"e&t%= E!$ecific#'(% e E/ec5'(% %! Te!te!,


Testes no de2em executados aleatoriamente e sim( de uma forma sistemAtica seguindo-se um plano pre2iamente elaborado( 0ue conten.a todas as ati2idades necessArias realizao T imposs32el a aplicao de 3ndices de produti2idade em procedimentos no padronizados <)M> A implantao de um sistema de boa 0ualidade( dentro de um prazo espec3fico( pode ser seriamente pre@udicada caso uma etapa extremamente importante( no se@a assim considerada Nesta etapa so realizados os testes do sistema( onde 1 realmente 2erificado se o sistema faz o 0ue se espera 0ue faa de uma forma correta e eficiente Ks m1todos mais comuns de teste realizados so" 9lac]-box test" Tem como ob@eti2o testar o sistema sob o ponto de 2ista de suas funcionalidade Isto 1( se todas as fun%es necessArias para atender ao usuArio foram implementadasG c.ite-box test" Tamb1m con.ecido como teste estrutural Tem como ob@eti2o 2alidar os dados deri2ados das fun%es do sistemaG !at. test" 4ste teste 2isa 2alidar todos os camin.os de lgica existentes em cada uma das fun%es componentes do sistema Isto 1( se todas as regras de negcio foram implementadas corretamenteG
48

&egression test" Tem como ob@eti2o 2erificar se as corre%es solicitadas foram executadasG Installation test" 4ste teste 1 executado 0uando da instalao do sistema e tem como ob@eti2o 2erificar se o sistema ao ser implantado no apresenta problemas 0uando em funcionamento no ambiente de produo

N+*+*+ Pl#&% e Te!te!,


No plane@amento das ati2idades de testes so considerados os seguintes tpicos" Tipos de testes necessArios" unitArio Cdescobrir e corrigir errosD( de integrao Cinterface entre mdulosD( de sistema C2olume( stress R performance( interface com o usuArio( segurana( interface com outros sistemasD e de aceitao do usuArio Catende aos re0uerimentos( caracter3sticas funcionaisDG 4scopo dos testes( o 0uanto do sistema estarA sendo coberto pelos testes #onsidere o impacto ou a existncia de interface com outros aplicati2os R sistemas e os riscos en2ol2idos #onsidere tamb1m( as caracter3sticas do ambiente de produo Cpor exemplo( necessidade de transmissoDG A2aliar as necessidades de recursos de .ardBare R softBare R .umanos( armazenamento( configurao do processador e rede de comunicaoG 4stimar esforos e custos para execuo dos testes unitArios e do sistemaG 7i2iso do sistema em mdulosG Prau de complexidade das rotinas a serem testadasG !reparao do ambiente de testesG Momento e responsA2eis pelo plane@amento( execuo dos testes e 2erificao dos resultadosG 4n2ol2imento de outros setoresG 5orma de gerao da massa de dadosG 4xistncia de documentao de apoio( como por exemplo( casos de testes anterioresG
49

#rit1rios para a2aliao dos resultados( ou se@a( o 0ue de2erA ser atendido para 0ue se considere um teste satisfatrioG 7ocumentao a ser produzida K resultado desta fase de2e ser um plano completo com todas ati2idades

incluindo estrat1gia( custos( prazos e responsabilidades

N+*+1+ Te!te U&it4ri%,


Nesta fase o foco 1 o correto funcionamento de cada uma das aplica%es 0ue comp%em o sistema de uma forma unitAria( no sendo importante o relacionamento entre fun%es As ati2idades pre2istas para esta fase so" Identificar os programas cr3ticos para testes( baseado em crit1rio como 2olume( performance e importUnciaG Tomar con.ecimento( aplicar e difundir entre os componentes da e0uipe( os padr%es t1cnicos de testesG Integrar o responsA2el pela preparao e execuo dos testes com os pro@etistas do sistema( de forma 0ue se ten.a uma boa 2iso conceitual do sistemaG 4laborar rotinas especiais para construo da massas dados para teste unitArios e do sistema !odendo ser atra21s da extrao de dados do ambiente de produo para o ambiente de desen2ol2imento eRou criando a massa de dados com situa%es espec3ficas para cada caso de testeG 4laborar rotinas especiais de recuperao R restart R commit R rollbac] para os programas 0ue atualizarem a base de dados( com o intuito de garantir a integridade lgica da 9aseG 7efinir procedimentos e elaborar rotinas 0ue possibilitem sal2ar a imagem inicial da base de dados afim de tornar 2iA2el a repetio dos testesG 4laborar Test #ase para cada funo componente do sistema( de modo 0ue todas as regras de negcio possam ser 2alidadas Test #ase pode ser descrito como sendo um con@unto de passos( 0ue ao ser executado( retornarA um resultado prognosticA2el K Test #ase 1 desen.ado para 2erificar a
50

funcionalidade de uma funo de negcio para um cenArio espec3fico 4le de2e descre2er passo a passo como a funo de2e ser testada( contendo inclusi2e" identificao do Test #ase e da funo a ser testada( data de criao e de execuo( autor( executor( resultado esperado e obtido( input necessArio( condio de restrio( fatores de complicao( condi%es a serem testadas( m1todo de 2alidao e se0uncia de execuoG 4n2ol2er 79A e A7 para 0ue auxiliem a construo de acessos otimizados ao 9anco de 7ados T de fundamental importUncia a anAlise dos acessos ao banco( como por exemplo( a2aliao de necessidade de criao R alterao R excluso de 3ndices( alterao R unio R di2iso de tabelas ou at1 mesmo( a@ustes necessArios no ambiente do bancoG Testar exausti2amente cada funo( usando a massa de dados constru3da e os VTest #aseV criadoG &egistrar no VTest #aseV todos os fatos ocorridos nos testes( independente de terem sido bem sucedidos ou noG A2aliar os resultados Cesperado x realizadoDG $olicitar a re2iso do resultado dos testes pelo Prupo de Nualidade A execuo dos testes unitArios 1 um procedimento c3clico Cteste( correo( teste( correo( teste D ?m bom plane@amento( eficincia e dedicao dos responsA2eis pelas corre%es e a@ustes necessArios e a utilizao correta de VTest #aseV( sero fatores cr3ticos de sucesso para se obter ao final desta fase um produto ),,X testado e corrigido Ao final dos testes unitArios de2e-se fazer uma reunio formal para apro2ao dos resultados

N+*+3+ Te!te % Si!te"#,


4sta etapa 2isa testar as fun%es do sistema de forma integrada( simulando o processamento total das rotinas( mdulos e o sistema como um todo Tem como ob@eti2o assegurar a 0ualidade( a funcionalidade e desempen.o da aplicao As ati2idades pre2istas para esta etapa so"
51

A2aliar a possibilidade da participao de pessoas independentes C fora da e0uipe do pro@etoD para a realizao dos testesG A2aliar e 2alidar o plano de testes e o resultado dos testes unitArios #aso se@am necessArios a@ustes e altera%es( executA-las e 2alidA-las com o Perente do !ro@etoG 4laborar Test $cript de modo a grupar Test #ase( para cada uma das se0uncias operacionais 0ue o sistema serA operacionalmente utilizadoG Test $cript descre2e como um con@unto de Test #ase de2e ser ordenado( de modo a representar o encadeamento operacional de cada uma das se0uncias lgicas de negcios 4le de2e conter inclusi2e" identificao do Test $cript( responsA2el pela criao( execuo e 2alidao( data de criao e de execuo( fluxo operacional a ser testado( ob@eti2o( informa%es sobre a operao( identificao dos VTest #aseV en2ol2idos( pr1-re0uisitos( dados de teste( resultado esperado e obtido( forma de 2alidao e documentao em anexo como por exemplo( relatrios emitidosG

$elecionar e preparar pre2iamente os dados de modo 0ue todas as situa%es poss32eis( possam ser testadasG ;erificar se todos os ar0ui2os R tabelas a serem utilizados @A foram criados( carregados e esto dispon32eis Ao utilizar ar0ui2os R tabelas de outros sistemas( 2erificar se o conteQdo atende aos testesG

$olicitar a Area de 79A a criao de acessos conforme os perfis dese@adasG !rocurar testar o sistema em mdulos e exausti2amente utilizando-se dos formulArios de VTest #aseV e VTest $criptV elaboradosG 7ocumentar todas as ocorrncias nos formulArios de VTest #aseV e VTest $criptV( reportando a 0uem de direito ;erificar a aderncia dos resultadosG Kbter o parecer do Prupo de &e2iso do !ro@eto R Prupo de Nualidade sobre os testes de programas cr3ticosG

N+*+6+ Te!te I&te-r# % e Te!te e Aceit#'(%,


52

4sta fase tem como ob@eti2os desen2ol2er as ati2idades relacionadas com o teste integrado e teste de aceitao do sistema #orresponde ao n32el f3sico de concepo para o n32el f3sico de operao A execuo desta fase de2e suceder a apro2ao formal dos testes unitArios e de sistema Isto 1( o teste integrado e de aceitao do sistema s podero ser realizados com as fun%es ),, X implementadas e testadas As ati2idades pre2istas para esta etapa so" 4laborar o plano para teste integrado e teste de aceitao Ks formulArios de Test #ase e Test $cript utilizados( so tamb1m perfeitamente 2Alidos para esta etapaG #aso se@a 2iA2el( estes testes podero ser realizados no prprio local do usuArio de modo a 2erificar adicionalmente( se o sistema opera na0uele ambienteG A2aliar as necessidades de recursos de .ardBare R softBare R .umanos( armazenamento( configurao do processador e rede de comunicaoG 4stimar esforos e custos para execuo dos testesG 7efinir os crit1rios de aceitao do usuArio( do ciclo de testes( descre2er os dados para testes( teste de auditoria( roteiros de testes e infra-estrutura necessAriaG 4laborar a massa de dados completa( 0ue se@a capaz de cobrir todos os casos 0ue comp%em os re0uisitos de negcio do usuArio 4sta massa de dados @A de2e ter sido elaborada com o intuito de atender s necessidades dos testes anterioresG 4laborar o cronograma inicial contemplando todas as ati2idades necessAriasG 4xecutar os mesmos tipos de testes realizados durante o teste do sistema A diferena entre estes dois testes 1 o ob@eti2o( pois no teste do sistema busca-se descobrir defeitos en0uanto 0ue no teste de aceitao( busca-se demonstrar tamb1m 0ue os crit1rios de aceitao foram atendidosG K roteiro de2e tamb1m ser executado le2ando em considerao o 2olume( desempen.o( controle d segurana de acesso( recuperao R contingnciaGG Apro2ar os resultados dos testes de aceitao em reunio formalG

N+*+A+ C%"$r%"eti"e&t% %! E&.%l.i %!,


53

Na execuo da fase de testes o comprometimento de todos os en2ol2idos CusuArio( gerncia( grupo de re2iso de 0ualidade( desen2ol2edor( etc D( 1 fator cr3tico de sucesso para a obteno de um produto de 0ualidade dentro do prazo e custo estabelecido Alguns pontos extras podem ser considerados 0uando do plane@amento( especificao e execuo dos testes" T extremamente incon2eniente relatar o mesmo erro 2Arias 2ezes e 2erificar 0ue a correo no estA sendo realizada conforme solicitada ou 0ue no foi testada corretamente antes de ser disponibilizada K implementador tem obrigao de testar exausti2amente uma correo solicitada antes de entregA-la ao responsA2el pelos testes Isto influencia diretamente no bem estar da e0uipe do pro@eto e nos 3ndices de produti2idades obtidos 4studos e registros .istricos relatam 0ue considerando-se as produti2idades realizadas em um pro@eto de sistema em termos de nQmero de pontos de funo por unidade de tempo( os percentuais de tempo gasto na fases de um pro@eto( podem ser em m1dia assim distribu3dos<)M>" o +X o +)X o *+X o +,X o *X 4laborao 9usiness #ase 7efinio dos &e0uerimentos de Negcios Implementao 53sica das 5un%es Testes Implantao

Kbser2a-se no acima exposto( 0ue o tempo de teste em relao ao tempo total do pro@eto( corresponde em m1dia a +, X Aplicando-se este percentual ao custo total de desen2ol2imento de um pro@eto( desconsiderando-se o custo de correo dos problemas encontrados( nota-se 0ue esta parcela e0ui2ale a uma 0uantia razoA2el de din.eiro Nuando se incorpora os custos relati2os correo dos erros encontrados( a parcela relati2a a fase de testes como um todo( seria somente menor 0ue a de implementao f3sica das fun%es 4m alguns casos( podemos ter algo em torno de )RH do custo de desen2ol2imento do sistema <)M>

54

7ocumente em ata e formulArios espec3ficos todos os passos e fatos ocorridos durante os testes K formalismo adotado no de2e ser considerado como um processo burocrAtico 4xistem 2Arios benef3cios obtidos diretamente com a formalizao( como por exemplo" faz com 0ue as pessoas prestem mais ateno no 0ue estA sendo realizado( possibilita rastreabilidade das condi%es de erro( permite definir indicadores de erros como nQmero de erros por ponto de funo( alem de ser2ir como .istrico para outros pro@etos

!or Qltimo( repetindo uma frase @A dita 2Arias 2ezes neste documento( 6no 1 poss32el a aplicao de 3ndices de produti2idade em ati2idades 0ue no este@am padronizadas8

N+1+ C#!%! e Te!te,


A relao entre pontos de funo e o nQmero de casos de teste 1 muito forte #apers 'ones estima 0ue o nQmero de casos de teste 1 aproximadamente igual ao nQmero de !ontos de 5uno ele2ado a )(+ C!5 )(+D Isto 1( os casos de teste crescem a uma taxa mais rApida do 0ue os pontos de funo 4ste 1 um fato intuiti2o( por0ue conforme um aplicati2o cresce( os interrelacionamentos nele contidos tornam-se mais complexos !or exemplo( se um aplicati2o em desen2ol2imento ti2er ) ,,, pontos de funo( de2ero existir aproximadamente - ,,, casos de teste Kb2iamente( a e0uipe de desen2ol2imento de2eria comear a criar os casos de teste to rapidamente 0uanto poss32el $e a e0uipe esperar at1 0ue a codificao ten.a terminado( pro2a2elmente sero criados muito menos do 0ue - ,,, casos de teste LA um grande benef3cio em estimar o nQmero de casos de teste 4ntender o nQmero de casos de teste le2a anAlise lgica de comparar os casos reais com os esperados $e os casos reais forem em 0uantidade inferior esperada( a cobertura de testes serA inade0uada A cobertura de testes 1 uma indicao direta dos defeitos potenciais e custos futuros com manuteno Nuo maior for a distUncia entre a 0uantidade esperada e a real de casos de teste( maior o potencial de defeitos no detetados durante a respecti2a fase de testes

55

K Qnico camin.o para ele2ar a 0ualidade do softBare em produo 1 se e somente se todo o softBare migrado para a produo for de 0ualidade superior ao softBare atualmente em produo T importante entender tanto os defeitos potenciais do softBare de produo( 0uanto os defeitos potenciais do no2o softBare !ode ser imposs32el estimar o nQmero de defeitos embutidos no softBare atualmente em produo( mas 1 poss32el estimar o potencial de defeitos para cada no2a 2erso do softBare A diferena nas 0uantidades real e estimada dos casos de teste 1 um bom indicador do potencial de defeitos Taxas de produti2idade inconsistentes entre diferentes pro@etos podem ser uma indicao de 0ue no estA sendo seguido um processo padro A produti2idade 1 definida como a razo entradas R sa3das No caso de softBare( a produti2idade 1 definida como a 0uantidade de esforo re0uerida para entregar um certo con@unto de funcionalidades Cmedidas em pontos de funoD

56

*O+ M#$e#"e&t%

e C#!%!

e Te!te e" C#!%!

e U!% e

P%&t%! e F5&'(%,
$e todos os re0uisitos do sistema forem mapeados em casos de teste( e todos os casos de teste forem executados( seria razoA2el supor 0ue o sistema alcanaria os resultados dese@ados 4mbora este ob@eti2o possa ser alcanado atra21s do uso de modelos de Krientao a Kb@etos( a con2erso dos modelos para uma linguagem simples pode reduzir a ambig`idade e a@udar a definir claramente os re0uisitos do sistema Ks casos de uso fornecem tal grupo de documentos( escritos em uma linguagem simples Ks casos de teste podem ser mapeados para componentes da AnAlise de !ontos de 5uno e( atra21s do uso de modelos de estimati2as( uma estimati2a do tempo para os testes pode ser deri2ada Algumas empresas utilizam como medida padro considerar o percentual da funcionalidade 0ue foi testado Cem !5D( di2idido pelo taman.o total do pro@eto $empre 0ue 1 introduzida alguma alterao de escopo no pro@eto( ou 0ue so identificados no2os re0uisitos Cpre2iamente classificados como 'esconhecidos, >mprevisveisD( no2as documenta%es de $&$ e casos de uso de2em ser elaboradas( para facilitar a medio das altera%es em !ontos de 5uno Inserindo o taman.o re2isto do pro@eto em !ontos de 5uno dentro do modelo de estimati2as( o impacto do escopo da alterao em termos de recursos( plane@amento e oramento poderA ser propriamente estimado $e as altera%es de escopo forem subse0`entemente aceitas no pro@eto( os casos de uso( no2os ou re2istos( de2eriam ser escritos( os detal.es dos !5 2erificados( e casos de teste desen2ol2idos para abordarem as funcionalidades no2as ou re2istas A importUncia dos casos de teste para as funcionalidades no2as ou re2istas 1 to cr3tica para a 0ualidade do produto desen2ol2ido 0uanto os casos de teste originais Perenciar as altera%es de softBare desta forma 1 similar maneira como uma construo de um pr1dio 1 gerenciada -- solicita%es de alterao so dimensionadas em termos do seu impacto no pro@eto As modifica%es de recursos e custos so
57

estimadas e ento uma deciso 1 tomada( sobre como e de 0ue forma fazer K sistema de desen2ol2imento de pro@etos resultarA numa maior 0ualidade de softBare 0uando as altera%es introduzidas durante o pro@eto forem plane@adas( estimadas e controladas( e no mais c.egarem com a ordem VfaamV Atra21s de casos de uso( especifica%es de re0uisitos padronizadas( casos de teste e !ontos de 5uno( os pro@etos de softBare podero maximizar o nQmero de re0uisitos Vcon.ecidosV nas etapas iniciais do ciclo de desen2ol2imento A utilizao de casos de uso re0uer 0ue a e0uipe de pro@eto aumente o tempo gasto nos estAgios iniciais do desen2ol2imento do softBare( plane@ando e garantindo 0ue os re0uisitos este@am completos( bem definidos e documentados A contagem de !ontos de 5uno fre0`entemente mostrarA ausncia de clareza nos casos de uso( podendo a@udar a eliminar a ambig`idade onde a mesma se tornar aparente( por0ue a metodologia de !ontos de 5uno 2incula os repositrios de dados Cob@etos( entidadesD com a sua manipulao e uso dentro das fun%es do softBare Ks casos de teste baseados em casos de uso garantem 0ue os testes se@am realizados para cada caso de teste do usuArio e( 0uando os casos de uso forem desen2ol2idos baseados em $&$( os mesmos iro garantir 0ue todos os casos de uso apontaro para os re0uisito originais do usuArio Atra21s da documentao das altera%es medida 0ue elas ocorrerem atra21s de $&$( casos de uso( casos de teste e( ainda( com a atualizao da contagem do pro@eto em !ontos de 5uno( a documentao e o controle do desen2ol2imento do pro@eto tornar-se-o mais fAceis K impacto das altera%es introduzidas posteriormente no ciclo de 2ida do desen2ol2imento pode ser controlado antes 0ue ciclos de retrabal.o se@am alimentados e o 0ue pro@eto deri2e para fora do controle

58

**+ I"$#ct% #! N%.#! Tec&%l%-i#!,


4mbora a funo primAria de todos os aplicati2os de softBare se@a o alcance dos ob@eti2os negociais( tais aplicati2os existem sob todas as formas e taman.os As defini%es do I5!?P necessitam de modifica%es( para 0ue possam ser utilizadas no mundo moderno de .o@e As 7iretrizes !ara #ontagem do I5!?P CI5!?P #ounting PuidelinesD no sofreram modificao por 0uase oito anos Nesse per3odo( o mundo da tecnologia deu um salto frente( en0uanto as &egras !ara #ontagem de !ontos de 5uno permaneceram estAticas T importante ser capaz de adaptar as &egras de #ontagem do I5!?P Cmantendo a conformidade com os padr%es do passadoD ao mundo de .o@e( com seu ritmo rApido e sempre passando por mudanas <)J>

**+*+ Defi&i'<e! MelG%r# #! P#r# P%&t%! e F5&'(%,


T dif3cil aplicar as defini%es do I5!?P s no2as tecnologias 4ssas defini%es tornam-se muito mais claras a partir de algumas simples e poucas altera%es As defini%es seguintes no de2em afetar a contagem de pontos de funo( por1m reduzem a cur2a de aprendizagem na aplicao de pontos de funo a tecnologias no2as e emergentes"

**+*+*+ E&tr# # E/ter&# PEEQ,


Defi&i'(% MelG%r# #, 1 um processo elementar no 0ual dados atra2essam a fronteira de fora para dentro Tais dados podem 2ir de uma tela de entrada de dados( por 2ia eletrSnica ou atra21s de um outro aplicati2o Ks dados podem ser informa%es de controle ou informa%es do negcio No caso dos dados serem informa%es do negcio( sero utilizados para manter um ou mais ar0ui2os lgicos internos $e os dados forem informa%es de controle( no serA necessArio 0ue atualizem um ar0ui2o lgico interno Defi&i'(% % IFPUG 6+O" processam dados ou informa%es de controle procedentes de fora da fronteira do aplicati2o A prpria entrada externa 1 um processo elementar Ks dados processados mantm um ou mais ar0ui2o lgico interno CA/ID As informa%es de controle processadas podem ou no manter um ar0ui2o lgico interno CA/ID
59

A definio do I5!?P diz Vde fora da fronteira do aplicati2oV #omo a mesma definio afirma 0ue Vos dados processados mant1m um ou mais A/I8( fica claro 0ue a informao 2em de fora para dentro da fronteira Isto 1 importante por uma s1rie de raz%es 5ica claro( a partir da definio mel.orada( 0ue 2alores calculados armazenados so elementos de dados para a entrada externa( mas 2alores calculados no armazenados no so elementos de dados para a entrada externa Isto 1 2erdade por0ue o 2alor calculado 0ue no 1 armazenado no atra2essou a fronteira Cde fora para dentroD e no mant1m um A/I 4m um ambiente P?I ou KK 1 comum 0ue a informao se mo2a de uma @anela para a prxima K mo2imento de dados em si no 1 considerado uma entrada externa( pois no atra2essou a fronteira da aplicao Cde fora para dentroD e no mant1m um A/I

**+*+1+ S# #! E/ter&#! PSEQ,


Defi&i'(% MelG%r# #, um processo elementar no 0ual dados deri2ados passam atra21s da fronteira( de dentro para fora Ks dados criam relatrios ou ar0ui2os de sa3da( 0ue so en2iados a outros aplicati2os 4sses relatrios e ar0ui2os so criados a partir de um ou mais ar0ui2os lgicos internos eRou ar0ui2os de interface externa 7ados deri2ados so dados cu@o processamento 2ai al1m da recuperao e edio direta de informa%es de ar0ui2os lgicos internos ou ar0ui2os de interface externa $o o resultado de algoritmos eRou cAlculos 7ados deri2ados ocorrem 0uando um ou mais elementos so combinados com uma frmula( de modo a gerar ou deri2ar um ou mais elementos de dados adicionais ?m algoritmo 1 definido como um procedimento mecUnico para executar um dado cAlculo ou resol2er um problema utilizando uma s1rie de passos Defi&i'(% IFPUG 6+O, ?ma $a3da 4xterna C$4D 1 um processo elementar 0ue gera dados ou informa%es de controle( en2iados para fora da fronteira do aplicati2o K manual I5!?P - , no fornece uma definio para dados deri2ados( nem diz onde a informao esta2a antes de ser en2iada para fora da fronteira do aplicati2o
60

$e a informao 1 en2iada para fora da fronteira( 1 seguro dizer 0ue ela esta2a dentro da fronteira #omo a informao esta2a dentro da fronteira( ela de2e estar contida em um ar0ui2o lgico interno CA/ID ou ar0ui2o de interface externa CAI4D

**+*+3+ C%&!5lt#! E/ter&#! PCEQ,


Defi&i'(% MelG%r# #, 1 um processo elementar com componentes de entrada e sa3da( 0ue resulta na recuperao de dados de um ou mais ar0ui2os lgicos internos eRou ar0ui2os de interface externa A informao recuperada 1 en2iada para fora da fronteira do aplicati2o K processo de entrada no atualiza nen.um Ar0ui2o /gico Interno e o lado de sa3da no cont1m dados deri2ados Defi&i'(% IFPUG 6+O, 1 um processo elementar constitu3do por uma combinao entrada-sa3da 0ue resulta na recuperao de dados K lado de sa3da no cont1m dados deri2ados Nen.um ar0ui2o lgico interno 1 mantido no processamento A 7efinio do I5!?P no 1 clara por uma s1rie de raz%es A definio do I5!?P diz 6resulta na recuperao de dados8 $e 1 este o caso( os dados de2em ser recuperados de algum lugar dentro da fronteira do aplicati2o K Qnico lugar onde os dados podem residir 1 um A/I ou AI4 Neste caso( a definio de2eria dizer explicitamente 6de um A/I ou AI48 A 7efinio I5!?P no declara explicitamente 0ue a informao de2e ser en2iada para fora da fronteira da aplicao Ccomo no caso de uma $4D Isto 1 importante para KK( por0ue os ob@etos se comunicam uns com os outros Apenas 0uando um ob@eto en2ia alguma coisa para fora da fronteira 1 0ue ele pode ser considerado uma consulta externa Adicionalmente( o manual I5!?P no faz distino clara entre uma $4 e uma #4 T comum nos ambientes KK e P?I 0ue uma $4 ten.a um lado de entrada K Qnico fator 0ue permite distinguir uma da outra 1 0ue uma #4 no pode ter dados deri2ados $e este 1 o caso( uma $4 obrigatoriamente possui dados deri2ados Cseno 2ai ser uma #4D

61

**+*+6+ ArD5i.% L;-ic% I&ter&% PALIQ


Defi&i'(% MelG%r# #, um grupo lgico de dados relacionados( identificA2el pelo usuArio( 0ue reside inteiramente dentro da fronteira do aplicati2o e 1 mantido atra21s de 4ntradas 4xternas Defi&i'(% IFPUG, 1 um grupo lgico de dados relacionados( identificA2el pelo usuArio( ou informa%es de controle mantidas dentro da fronteira do aplicati2o A diferena primAria estA nas Qltimas pala2ras da definio A diferena 1 a expanso do 0ue se 0uer dizer com 6mantidas8 A Qnica coisa 0ue mant1m um ar0ui2o lgico interno 1 uma 4ntrada 4xterna

**+*+A+ ArD5i.% e I&terf#ce E/ter&# PAIEQ


Defi&i'(% MelG%r# #, um grupo lgico de dados relacionados( identificA2el pelo usuArio( 0ue 1 utilizado apenas para referncia Ks dados residem inteiramente fora do aplicati2o e so mantidos por um outro aplicati2o K Ar0ui2o de Interface 4xterna 1 um Ar0ui2o /gico Interno para outro aplicati2o Defi&i'(% IFPUG, 1 um grupo de dados relacionados( identificA2el pelo usuArio( ou informa%es de controle( referenciados pelo aplicati2o( por1m mantidos dentro da fronteira de um outro aplicati2o Isto significa 0ue um AI4 contado para um aplicati2o de2e ser um A/I para outro aplicati2o No tem diferena significati2a nas defini%es

**+1+ E&te& e& % A$lic#'<e! I&ter&etRI&tr#&et,


A grande maioria dos sites da Beb cont1m nen.um ou muito poucos pontos de funo A maioria dos sites nada mais so do 0ue fol.etos online Isto 1( nen.um ar0ui2o 1 mantido e o conteQdo das pAginas no 1 o resultado da leitura de um ar0ui2o !or outro lado( .A aplica%es InternetRIntranet 0ue oferecem funcionalidade ligada ao negcio e precisam ser consideradas #ada 2ez mais organiza%es esto
62

utilizando aplica%es Internet para implementar funcionalidade essencial do negcio A utilizao de pontos de funo com este tipo de aplicati2o apresenta alguns problemas espec3ficos K primeiro deles 1 a fronteira K segundo 1 a identificao das transa%es( dos ar0ui2os lgicos internos eRou ar0ui2os de interface externa A fronteira para um aplicati2o Internet 1 definida de maneira semel.ante utilizada para aplicati2os tradicionais No caso de aplicati2os tradicionais( a fronteira no 1 desen.ada simplesmente ao redor da interface com o usuArio ou de um grupo de telas( mas do aplicati2o inteiro #om fre0`ncia os aplicati2os Internet so apenas extens%es de aplicati2os existentes LA uma tendncia a se 6criar8 um aplicati2o para a extenso Internet( mas esta abordagem no 1 correta Transa%es Centradas externas( sa3das externas( consultas externasD seguem as mesmas regras bAsicas utilizadas em aplicati2os con2encionais $e uma entrada externa no for uma entrada de controle( ento de2erA atualizar um ar0ui2o lgico interno ?m exemplo de uma entrada externa seria algo como 6submeter formulArios8 Ks formulArios submetidos podem ser um texto .tml atualizado com informa%es !or exemplo( eu ti2e uma s1rie de pes0uisas em meu site na Beb A cada resposta( a pes0uisa sur2eO .tm era atualizada 4ste 1 um exemplo de uma entrada externa As informa%es atra2essaram a fronteira de fora para dentro e um ar0ui2o lgico interno foi mantido Alguns aplicati2os permitem a atualizao online de ar0ui2os temporArios Tais ar0ui2os temporArios so utilizados para atualizar ar0ui2os permanentes 4mbora a entrada externa este@a atualizando um ar0ui2o temporArio( este ar0ui2o temporArio 1 logicamente o mesmo 0ue o ar0ui2o permanente Isto significa 0ue o ar0ui2o temporArio 1 uma imagem espel.o ou subcon@unto do ar0ui2o permanente 7a mesma forma 0ue uma consulta externa( uma sa3da externa pode ter e com fre0`ncia tem um lado de entrada As informa%es so lidas de um ar0ui2o lgico interno ou de um ar0ui2o de interface externa 7a mesma forma 0ue em uma sa3da externa( as informa%es em uma consulta externa precisam ser lidas de ar0ui2os lgicos internos ou ar0ui2os de interface externa
63

$ites da Beb desen2ol2idos com a utilizao de 5ront!age e outras ferramentas de .tml podem ou no conter funcionalidade A c.a2e 1 entender onde as informa%es residem e como so processadas A grande maioria dos sites Beb nada mais so do 0ue apenas menus e texto

**+3+ A$lic#ti.%! GUI,


7a mesma forma 0ue os aplicati2os tradicionais( os aplicati2os P?I apresentam as informa%es de duas maneiras( como #onsultas 4xternas ou como $a3das 4xternas ?ma consulta externa 1 uma combinao entrada-sa3da 0ue resulta na recuperao de informa%es de um ou mais ar0ui2os K lado de sa3da no cont1m dados deri2ados e nen.uma concluso 1 tirada !or exemplo( um usuArio pode 0uerer 2isualizar o Qltimo pedido de um cliente K nome do cliente seria introduzido como o crit1rio de pes0uisa( sendo ento mostrado o Qltimo pedido Neste caso( o lado de sa3da no cont1m dados deri2ados e nen.uma concluso 1 tirada !or outro lado( uma $a3da 4xterna cont1m dados deri2ados As informa%es so processadas com a utilizao de algoritmos e algum tipo de concluso 1 apresentado ?m erro comum 1 contar toda a parte online como #4 e toda a parte en2iada ao papel como $4 Tanto #4 0uanto $4 podem ser mostrados online ou em .ard copO ?tilizando a definio estrita de elemento de dado constante do Manual de !rAticas de #ontagem do I5!?P( teremos 6?m 4lemento de 7ado 1 um campo no recursi2o( identificA2el pelo usuArio8 Infelizmente esta definio no pro2 suficiente orientao na contagem de aplicati2os P?I Na 2erdade( o Manual de !rAticas de #ontagem do I5!?P no oferece detal.es a respeito de 9ot%es de &Adio( #aixas de ;erificao( #aixas de /istagem( #aixas de #ombinao e assim por diante Apesar disso( um elemento de dado 1 uma informao 0ue 1 armazenada em um Ar0ui2o /gico Interno( ou utilizada para c.amar uma transao

64

$a3das externas podem transmitir informa%es textuais( grAficas ou eletrSnicas A2alia-se uma sa3da externa combinando-se o nQmero de tipos de ar0ui2os referenciados e o nQmero de tipos de elementos de dados Qnicos Cno recursi2osD 4lementos grAficos so contados da mesma maneira 0ue as $4 textuais( isto 1( o elemento grAfico 1 a2aliado com base no nQmero de T47 CTipos de 4lementos de 7adosD e no nQmero de &TA C&eferncias a Tipos de Ar0ui2osD Na 2erdade( informa%es recursi2as so facilmente identificA2eis em um elemento grAfico( sendo s 2ezes mais dif3ceis de 2isualizar em um relatrio textual #onsultas 4xternas so muito comuns em aplicati2os P?I #onforme explicado anteriormente( #4 no cont1m dados deri2ados ou calculados ?ma caixa de listagem dinUmica Cdrop doBn boxD 1 um exemplo de #onsulta 4xterna T simplesmente uma leitura de um ar0ui2o( como no caso de uma caixa de listagem oferecendo uma lista de nomes de pa3ses A caixa de listagem seria contada como uma #4( caso os nomes dos pa3ses esti2essem contidos em um ar0ui2o lgico interno( ou em um ar0ui2o de interface externa ?ma consulta serial 1 uma consulta seguida por outra !or exemplo( o usuArio pode escol.er um nome de pa3s de uma caixa de listagem Cprimeira #4D( o 0ual pode ser usado como entrada para uma segunda #4( 0ue traz os detal.es do pa3s selecionado 4m um menu dinUmico( como( por exemplo( o do cord( so mostrados os Qltimos ar0ui2os 0ue foram abertos !ode-se facilmente concluir 0ue esta informao estA sendo lida de algum tipo de ar0ui2o interno !or essa razo( a informao 1 dinUmica K menu seria contado como uma consulta externa 4mbora o Manual do I5!?P diga explicitamente 0ue menus no so contados( neste caso fica claro 0ue o menu 1 dinUmico e se modifica A distino real 1 se o menu 1 dinUmico ou estAtico( isto 1( se o conteQdo da tela ou relatrio 1 dinUmico Clido de algum ar0ui2oD( ou estAtico ?ma 4ntrada 4xterna 1 o m1todo atra21s do 0ual as informa%es em um A/I so mantidas Cinclu3das( alteradas ou exclu3dasD Ks aplicati2os P?I costumam ter 4ntradas 4xternas precedidas por consultas seriais ?m usuArio pode selecionar um
65

nome de cliente de um listbox C)e #4D( sendo o nome utilizado como entrada para a +e #4( a 0ual retorna endereo( telefone( #4! e outras informa%es A partir deste ponto( o usuArio pode incluir( alterar ou excluir as informa%es do cliente CH 44D Neste caso( esta Qnica tela representaria + #4 e H 44 4ntradas de controle alteram o comportamento de um aplicati2o ou o conteQdo de um relatrio Na tela de controle 6#riar &elatrio8( o usuArio pode selecionar 0uais relatrios de2ero ser produzidos 4sta tela possui di2ersos tipos de elementos de dados" caixa de 2erificao( elemento grAfico( dimens%es( elementos( sub-itens e teclas de ao Nota-se 0ue o usuArio pode escol.er cada relatrio indi2idualmente 7e fato( cada relatrio 1 um ob@eto K relatrio gerado 1 uma combinao de di2ersos relatrios Cou ob@etosD #ada ob@eto tem 2Arios atributos #onsidera-se um aplicati2o escrito para um Qnico idioma T pro2A2el 0ue os cabeal.os de relatrios e descri%es textuais este@am todos codificados internamente nos programas( isto 1( o usuArio no consegue alterar dinamicamente os cabeal.os ou o texto Agora( considerando-se um aplicati2o 0ue ten.a sido desen2ol2ido com a pre2iso de mQltiplos idiomas Ks cabeal.os dos relatrios e as descri%es textuais sero todos lidos de ar0ui2os $e as sa3das externas esti2erem dispon32eis em mQltiplos idiomas( 2Arias coisas precisam ser consideradas !rimeiro pro2a2elmente de2erA .a2er alguma entrada de controle 0ue permitirA ao usuArio selecionar dinamicamente o idioma $egundo( .A uma &TA adicional( 0ue cont1m o texto no idioma selecionado Terceiro( o ar0ui2o interno lgico correspondente a este idioma 1 mantido atra21s de uma entrada externa Nuarto( .A mais elementos de dado no relatrio $e uma sa3da externa esti2er dispon32el em mais de um idioma( ento a mesma no serA considerada uma sa3da externa Qnica( mas serA mais complexa Cmais T47 e mais &TAD 9ot%es de &Adio so tratados como tipos de elementos de dado 4m um grupo de bot%es de rAdio( o usuArio tem a opo de selecionar somente um boto de rAdio de cada 2ez( de modo 0ue um Qnico tipo de elemento de dado 1 contado para todos os
66

bot%es de rAdio contidos no grupo inteiro Na criao do relatrio 6Bebtrends8( os bot%es de rAdio 6+ 78 e 6H 78 representam apenas um Qnico elemento de dado 9ot%es de comando podem especificar uma ao de incluso( alterao( excluso ou consulta 7e acordo com as regras de contagem do I5!?P( cada boto de comando seria contado como um Tipo de 4lemento de 7ado CT47D correspondente ao por ele comandada !or exemplo( um simples aplicati2o para acompan.ar 7istribuidores poderia ter campos para Nome do 7istribuidor( 4ndereo( #idade( 4stado( #4!( Telefone e 5ax Isto representaria sete elementos de dado CI T47D e o boto de comando de incluso representaria o oita2o elemento de dado &esumindo( a entrada externa de incluso representa uma entrada externa com oito elementos de dado( a entrada externa de alterao representa outra entrada externa com oito elementos de dado CI campos mais o boto de comando de alteraoD e a entrada externa de excluso representa a Qltima entrada externa( com oito elementos de dado CI campos mais o boto de comando de exclusoD A apresentao de uma imagem grAfica 1 simplesmente mais um elemento de dado ?m aplicati2o de esto0ue pode conter dados a respeito de peas !ode conter nome da pea( fornecedor( taman.o( peso e incluir uma imagem es0uemAtica da mesma 4sta imagem 1 tratada como um outro elemento de dado ?m outro exemplo seria um mapa K mapa pode ser 60uente8( isto 1( conforme o mouse 1 mo2ido sobre o mapa( diferentes nomes de cidades so mostrados $e o usuArio clicar sobre um ponto espec3fico do mapa( aparecero detal.es a respeito da cidade selecionada $e os detal.es acerca de cada cidade esti2erem contidos em um ar0ui2o lgico interno( ou em um ar0ui2o de interface externa( os detal.es podero ser considerados uma consulta externa Muitos aplicati2os P?I tm um bOte de som anexado Isto representa um elemento de dado K nQmero de notas tocadas 1 simplesmente informao recursi2a $e o taman.o do bOte de som aumentar( ainda assim continuarA representando um Qnico elemento de dado $e o Lino Nacional for tocado durante dois ou 0uatro segundos( ainda assim teremos apenas um elemento de dado Nuanto mais tempo o Lino tocar( mais 6informao recursi2a8 estarA presente
67

?ma imagem fotogrAfica 1 um outro exemplo de elemento de dado ?m aplicati2o de recursos .umanos pode mostrar o nome do empregado( data de admisso( etc ( bem como uma fotografia do empregado A fotografia serA tratada da mesma forma 0ue o nome ou a data de admisso T uma outra informao a respeito do empregado A fotografia 1 armazenada e mantida como 0ual0uer outra informao a seu respeito LA trs tipos de mensagens geradas em uma aplicao P?I" Mensagens de 4rro( Mensagens de #onfirmao e Mensagens de Notificao ?ma mensagem de erro e uma mensagem de confirmao indicam 0ue um erro aconteceu( ou 0ue um processo foi ou serA completado ?ma mensagem do tipo 6!or fa2or informe o #4!8 seria um exemplo de mensagem de erro ?ma mensagem do tipo 6#onfirma a excluso do clienteW8 1 um exemplo de mensagem de confirmao Nen.um desses tipos de mensagem 1 tratado como uma $a3da 4xterna Qnica $o tratados como elementos de dado para a transao apropriada !or outro lado( uma mensagem de notificao 1 uma mensagem do negcio T a base para o processamento e para 0ue uma concluso se@a obtida !or exemplo( 2oc pode tentar retirar de um caixa automAtico mais din.eiro do 0ue o dispon32el em sua conta( recebendo a temida mensagem 6$aldo insuficiente para esta transao8 Isto 1 o resultado obtido a partir de informa%es lidas de um ar0ui2o a respeito de seu saldo atual( com uma concluso delas decorrente ?ma mensagem de notificao 1 tratada como uma $a3da 4xterna Mensagens de Notificao podem ser resultantes de processamento no 2isto pelo usuArio $e uma mensagem for criada para en2io a um pager em um dado momento( isso funcionarA como um alarme( isto 1( a .ora corrente serA comparada com a .ora pre2ista para a mensagem e( 0uando ambas forem iguais( a mensagem serA en2iada A mensagem de pager tem um Qnico elemento de dado( o texto da mensagem

**+6+ Orie&t#'(% # O8Eet%,


68

Na 2iso orientada a ob@etos dos sistemas de softBare existe uma Qnica entidade( c.amada ob@eto( a 0ual representa tanto os dados 0uanto os procedimentos Ks ob@etos podem ser manipulados da mesma forma 0ue os dados #ontudo( assim como os procedimentos( os ob@etos tamb1m podem descre2er manipula%es ?m ob@eto 1 uma coleo de dados Catributos e propriedadesD e lgica funcional Cm1todosD Ks dados definem o estado do ob@eto e os m1todos( o seu comportamento LA dois tipos de m1todos" primeiro( os m1todos de interface( os 0uais oferecem um meio de comunicao com o ob@etoG segundo( os m1todos internos( 0ue criam comportamentos para o ob@eto( mas no so acess32eis de fora do mesmo K m1todo de interface pro2 uma forma clara e definida para comunicao com o ob@eto K m1todo interno precisa ser con.ecido apenas pelo pro@etista do ob@eto Ks usuArios do ob@eto precisam con.ecer A!4NA$ os m1todos de interface !ontos de 5uno medem softBare atra21s da 0uantificao da funcionalidade entregue ao usuArio( com base principalmente no desen.o lgico K termo usuArio final ou usuArio 1 fre0`entemente utilizado sem 0ue se especifi0ue de 0uem se trata No caso a0ui considerado( o usuArio 1 um usuArio sofisticado( algu1m 0ue entende o sistema de um ponto de 2ista funcional e 0ue pro2a2elmente fornece os re0uisitos ou efetua o teste de aceitao !ontos de 5uno tornam poss32el a mensurao do taman.o dos sistemas de informa%es de acordo com o 0ue o usuArio 2 e com o 0ue interage 4sta definio 1 semel.ante de m1todo de interface anteriormente apresentada Todos os m1todos internos existem para dar suporte a m1todos de interface Ks m1todos internos no so um fim em si( mas mecanismos 0ue apoiam o m1todo de interface em sua tarefa de entregar informa%es ao usuArio ?m m1todo 1 simplesmente a ao causada por uma mensagem M1todos so as coisas 0ue um ob@eto pode fazer M1todos operam sobre os dados contidos no ob@eto( modificando-os ou consultando-os Atributos nada mais so do 0ue caracter3sticas de um ob@eto #omo os ob@etos so definidosW ?m ob@eto 1 definido atra21s de sua classe( a 0ual determina tudo a seu respeito Kb@etos so instUncias de uma classe Tudo o 0ue
69

2oc precisa fazer 1 criar uma subclasse da classe original 4sta no2a classe .erda todas as mensagens existentes e( dessa forma( .erda todo o comportamento da classe original A classe original 1 c.amada a classe me( ou superclasse da no2a classe ?m pouco mais de @argo : diz-se 0ue uma subclasse 1 uma especializao da superclasse e( por outro lado( 0ue a superclasse 1 uma generalizao de suas subclasses Tudo isto 1 de fato independente da contagem de pontos de funo K importante 1 dirigir a ateno para a0uilo 0ue cada ob@eto realmente faz Ks ob@etos se comunicam uns com os outros atra21s de troca de mensagens ?ma mensagem cont1m um nome 0ue identifica seu destino( podendo conter tamb1m alguns argumentos ou parUmetros A mensagem( 0uando recebida( causa a execuo do m1todo apropriado no ob@eto de destino Na sua forma mais simples( uma mensagem 1 o mesmo 0ue uma c.amada de funo ou procedimento no sentido tradicional( uma 2ez 0ue o efeito l30uido 1 o mesmo Muitas 2ezes o ob@eto 0ue en2ia a mensagem 1 c.amado de ser2idor e o ob@eto 0ue recebe a mensagem 1 c.amado de cliente ?ma mensagem preparada e en2iada ao cliente geralmente 2ai se manifestar como $a3da 4xterna ou #onsulta 4xterna ?ma mensagem preparada e en2iada do cliente ao ser2idor 1 geralmente uma 4ntrada 4xterna ?ma mensagem 1 uma solicitao para 0ue um ob@eto execute uma se0`ncia de a%es atra21s de um ou mais m1todos c.amados ?m m1todo 1 uma unidade de lgica funcional contida em um ob@eto 7e acordo com os padr%es do I5!?P( uma transao de2e possuir lgica de processamento Qnica e 0ue represente a menor unidade de ati2idade significati2a para o usuArio do negcio #omo um m1todo 1 uma unidade de lgica funcional contida em um ob@eto( 1 bastante semel.ante definio de uma transao : de acordo com as &egras de #ontagem do I5!?P Nas aplica%es KK( somente dados persistentes so considerados Ar0ui2os /gicos Internos e no os dados transientes 7ados transientes so 2Alidos somente dentro de um programa ou transao( sendo perdidos 0uando o programa ou transao termina Na programao tradicional( este caso seria semel.ante ao de um ar0ui2o temporArio Ks dados persistentes so armazenados fora do programa e sobre2i2em ao seu t1rmino
70

7ados persistentes so armazenados em 9ancos de 7ados &elacionais ou 9ancos de 7ados KK #om fre0`ncia( os dados contidos em terceira forma normal representaro um ar0ui2o lgico interno A terceira forma normal procura remo2er 0uais0uer dependncias entre os atributos no c.a2es !ara ser considerado um ar0ui2o lgico interno CA/ID( o ar0ui2o Cou tabelaD de2e ser um agrupamento lgico de dados( mantido ou modificado atra21s de processos elementares Cm1todosD

71

*1+ Gere&ci#"e&t% e Pr%Eet%! e eC%""erce,


Nuais as diferenas entre o gerenciamento de pro@etos con2encionais de TI e um pro@eto de e#ommerceW K 0ue mudaW Algu1m sabeW Ks pro@etos de e-#ommerce possuem algumas particularidades no comuns nos t3picos pro@eto de sistemas de informa%es A flexibilidade( agilidade e rapidez no desen2ol2imento so fundamentais para o sucesso do pro@eto !or1m( essas trs caracter3sticas influenciam significantemente o processo padronizado de desen2ol2imento de sistemas e por conse0`ncia direta( dificulta a aplicao de uma m1trica para estimati2a de taman.o de sistemas 5ato 1 0ue" Ks pro@etos so mais cr3ticos para o negcio Cprazos mais curtos( erros mais caros( mais fAcil perder o empregoDG Ks pro@etos so mais 2is32eis Co desen2ol2imento de sistemas saiu da cozin.a e foi para o salo do restaurante( sendo dada maior importUncia ao con.ecimento do negcio em relao t1cnica( com no2a nfase no VestiloV empresarialDG A disponibilidade 1 muito importante Co ob@eti2o 1 ter ==(====X de disponibilidade( os Vseis no2esVDG $egurana - 7isruption Kf $er2ice( ou 0uebra no ser2io( algo a ser e2itado a todo o custoDG $implifi0ue os processos de negcio 0ue impactem o clienteG Manten.a uma 2iso de HM, graus do relacionamento com o clienteG 4scalabilidade - posso crescerW 'ac] 7uggal( da Inacom #orporation e da ?ni2ersitO of Lartford( escre2eu em seu li2ro 6e-!M !aradox8 Co paradoxo do e-Perenciamento de !ro@etosD <+,> 0ue a sucesso no desen2ol2imento de pro@etos de e-#ommerce depende dos seguintes fatores" #iclos de 2ida curtos para os pro@etosG Abordagem V!reparar( Apontar( 5ogoVG !oucos recursos capacitadosG
72

Necessidade de 2elocidadeG Mudanas de escopo - no negcio( na tecnologia( nos concorrentesG !ro@etos de alto riscoG Interdependncia entre pro@etos e conse0`ente dificuldade no gerenciamentoG !rocesso dirigido pelo negcio e pelos clientesG 7esen2ol2imento de soluo para o 0ue for necessArio( com a tecnologia existente K gerente de pro@etos de TI par a fazer frente ao no2o e arriscado mundo do

e#ommerce necessita pensar nos fatores 0ue determinam o desen2ol2imento dos sistemas e desen2ol2er um modelo ade0uado a suas necessidades( conduzindo a flexibilidade e a padronizao a um ponto timo 0ue um no pre@udi0ue o outro !ara o tal( alguns tpicos de2em ser le2ados em considerao" /embre 0ue o cacife do @ogo aumentou Cficou mais fAcil perder o empregoDG #on.ea o negcio de seus clientesG !ense na @ornada( no apenas no destino imediato( mas al1m deleG !ense al1m do dia da implantao C1 0uando seus problemas apareceroDG 4stilo e metodologia so importantes Cno abra moDG #olaborao 1 fundamental Cpense VcomV o cliente e no VparaVDG A 2elocidade 1 mais importante do 0ue a perfeioG #ada cliente 1 o cara mais exigente do mundoG 4scre2a tudo o 0ue fizer Cmanten.a o controleD #omo conse0`ncia direta desta no2a abordagem de desen2ol2imento( os pro@etos tero taman.os e prazos menores e atendero problemas espec3ficos de negcios

73

*3+ E!ti"#ti.# e" A"8ie&te Clie&te R Ser.i %r,


!ara 0ue se possa entender mel.or o 0ue uma aplicao clienteRser2idor( 1 necessArio ficar claro 0ue um aplicati2o #lienteR$er2idor 1 constitu3do por componentes indi2iduais e autSnomos 0ue funcionam cooperati2amente( de modo a atender( con@untamente( os re0uisitos de negcio expressos pelo usuArio ?tilizando um protocolo de comunicao padro( o #liente solicita ser2ios e o $er2idor os proporciona aos #lientes !ortanto( um aplicati2o #lienteR$er2idor 1 constitu3do pelos seguintes componentes" Perenciamento de 7ados" armazenamento e recuperao de dados( de acordo com o definido pelas regras de negcio !or exemplo( para efetuar uma atualizao nos dados dos empregados( o componente de gerenciamento de dados cuida do armazenamento dos dados do empregado Aplicati2o" interao entre o gerenciamento de dados e a apresentao( de acordo com o definido pelas regras de negcio !or exemplo( para executar uma atualizao de dados de empregado( o componente aplicati2o cuida da 2alidao dos dados do empregado Apresentao" interao com o ambiente( de acordo com o definido pelas regras de negcio !or exemplo( para executar uma atualizao nos dados do empregado( o componente de apresentao cuida da entrada dos dados do empregado K usuArio de um aplicati2o 1 definido como a pessoa 0ue entende o propsito de negcio do aplicati2o e a relao negocial do aplicati2o com os outros aplicati2os( assim como a interface do aplicati2o com o dom3nio do usuArio K usuArio tamb1m pode ser 0ual0uer outra pessoa ou coisa 0ue se comuni0ue ou intera@a com o aplicati2o a 0ual0uer momento ;oltando para o conceito de AnAlise de !onto de 5uno( as primeiras ati2idades a serem realizadas em um processo de contagem so" estabelecimento das fronteiras do sistema( como identificar as fun%es de dados e as fun%es transacionais Cnos termos da A!5D dentro do escopo da contagem

74

5ato 1 0ue a contagem de ponto de funo no a@ustada s considera as caracter3sticas lgicas dos sistemas( no le2ando em considerao os fatores t1cnicos 0ue definiram como sero fisicamente implementadas as fun%es 4m uma sistemas cliente R ser2idor as fun%es de gerenciamento de dados e os componentes do aplicati2o residem completamente no $er2idor Ks componentes da apresentao residem inteiramente CremotaD ou parcialmente Cdistribu3daD no #liente( mas so apresentados ao usuArio como um todo K componente aplicati2o encontra-se di2idido entre o #liente e o $er2idor( geralmente por raz%es t1cnicas Todas as partes do componente aplicati2o de2em funcionar como um todo( a fim de atender as defini%es das regras de negcio Ks componentes da apresentao residem no #liente e os componentes de gerenciamento de dados residem no $er2idor Ks componentes do aplicati2o e da apresentao residem totalmente no #liente No gerenciamento remoto de dados( o componente de gerenciamento de dados reside inteiramente no $er2idor No caso de base de dados distribu3da( o componente de gerenciamento de dados 1 di2idido entre o $er2idor e o #liente Ao determinar a fronteira do aplicati2o( especialmente ao lidar com no2as tecnologias( 1 importante 2er o aplicati2o do ponto de 2ista da soluo do negcio( ao in21s da soluo t1cnica A soluo t1cnica no de2e ter efeito sobre a fronteira do aplicati2o !rotocolos e passagem de mensagens entre mQltiplas camadas em uma soluo t1cnica multi-camada no afetam a 2iso 0ue o usuArio tem do negcio 0ue o aplicati2o pretende suportar No 1 necessArio 0ue todos os componentes de um aplicati2o residam na mesma plataforma de .ardBare Cisto 1( #liente ou $er2idorD 7o ponto de 2ista do negcio( a fronteira de um aplicati2o #lienteR$er2idor consiste de todos os componentes 0ue atendem o re0uisito do negcio( independentemente da implementao f3sica #oncentre-se exclusi2amente nos aspectos negociais do aplicati2o ao determinar a fronteira do mesmo $e o propsito do negcio for o desen2ol2imento e a comercializao dos componentes t1cnicos utilizados no ambiente #lienteR$er2idor( ento para efeito de medio interna o negcio pode"
75

Medir o componente t1cnico como um aplicati2o( e #onsiderar outros componentes t1cnicos como usuArios do aplicati2o Ao contar os componentes separados do aplicati2o #lienteR$er2idor( 1

importante recon.ecer 0ue a funcionalidade pro2ida foi incorporada ao aplicati2o do usuArio final e 0ue essa capacidade serA contada por ocasio da contagem desse aplicati2o 7essa maneira( os resultados da contagem do componente separado no sero somados contagem do aplicati2o do usuArio( pois estar3amos inflacionando a funcionalidade entregue( com base em uma implementao t1cnica 7e2e ser definida uma carteira de aplicati2os independente( especificamente para os componentes #lienteR$er2idor K ob@eti2o da contagem de pontos de funo pode ser determinar o nQmero de pontos de funo para um ou mais componentes do aplicati2o #R$ No caso em 0ue todos os componentes do aplicati2o #R$ este@am no escopo da contagem( o escopo da contagem serA dado pela fronteira do aplicati2o( se no existirem outras fun%es Cpor exemplo( con2ersoD( mel.orias ou mudanas pertinentes ao escopo da contagem #aso um ou mais componentes - mas no todos este@am no escopo da contagem Cpor exemplo( se a inteno da contagem for o desen2ol2imento de um pacote de gerenciamento de dadosD( somente as fun%es 0ue esti2erem dentro deste escopo espec3fico de2ero ser contadas ?ma 2ez 0ue a fronteira da aplicao e o escopo da contagem ten.am sido determinados( as regras definidas na A!5 podem ser aplicadas para identificar as fun%es de dados e as transacionais !or Qltimo( as mensagens 0ue passam entre o cliente e o ser2idor no de2em ser contadas como fun%es separadas Tais mensagens so consideradas parte da soluo t1cnica

76

*6+ Pr% 5ti.i # e e # >5#li # e A$lic# # &#! E!ti"#ti.#!,


No processo de estimati2a a partir da 2iso do usuArio( 1 fator cr3tico de sucesso a correta definio do 0ue 1 uma funo transacional e o 0ue 1 parte integrante desta funo #lassificar partes como sendo uma funo isolada pode causar des2ios considerA2eis no taman.o do sistema $endo assim( se aplicarmos os 3ndices de produti2idade sobre o taman.o do sistema( os des2ios sero considera2elmente grandes( principalmente pelo fato de 0ue a produti2idade m1dia aplicada 1 resultado de uma s1rie .istrica 0ue considera a funo transacional como um todo e no como partes<)H>

Camada de $ados

Camada de Ne !c"o

Camada #"sual
6r$umentos de 5esquisa

;iso do ?suArio

)uncionalidade

5ro$rama 7E8
4esposta da 5esquisa

A camada 2isual( ou interface ceb( pode ser 2ista como a necessidade de implementao de uma camada de interao 2isual entre o usuArio e a camada de negcio !ara o usuArio( a interface ceb no 1 2ista como uma funcionalidade( pois estA totalmente integrada funo transacional completa( como( por exemplo( consultar cliente A camada 2isual no pode ser classificada por si s( segundo os conceitos da m1trica anAlise de pontos de funo( como uma das fun%es transacionais Cinput( output( 0uerOD !ortanto( a camada no de2e fazer parte da lista de fun%es
77

transacionais a serem 0uantificados para se determinar o taman.o de uma sistema em termos pontos de funo Ao 0uantificarmos as caracter3sticas t1cnicas relacionadas interface ceb( 0ue influencia o fator de a@uste da 0uantidade de pontos de funo( o percentual encontrado referente a estas caracter3sticas no seria significati2amente grande a ponto de influenciar no crescimento do taman.o do sistema !or1m( a implementao f3sica desta caracter3stica re0uer um esforo em termos de .oras significantemente grande para a implementao desta camada 2isual ?m padro de m1trica pode ser considerada aplicA2el em termos de estimati2a de .oras 0uando produz um des2io da ordem de +,X entre o estimado e o realizado 4sforo em .oras para a implementao f3sica de fun%es A m1trica anAlise de ponto de funo 1 destinada a 0uantificar o taman.o de um sistema e no para estimar as .oras necessArias para o desen2ol2imento !ara tal( um outro fator torna-se necessArio ser con.ecido" 0uanto tempo 1 preciso para implementar um determinado nQmero de pontos de funo Isto 1( 0ual 1 o 3ndice de produti2idade A aplicao de 3ndices de produti2idade ao taman.o de um sistema( expresso em nQmero de ponto de funo( no faz parte do escopo da m1trica anAlise de pontos de funo Ao aplicarmos 3ndices de produti2idade para a implementao f3sica das fun%es 0uantificadas pela m1trica( passamos a tratar o sistema com uma 2iso influenciada pelas tecnologias a serem utilizadas $e forem utilizados dos mesmos conceitos da anAlise de pontos de funo( poder3amos dizer 0ue camada 2isual pode ser 2ista como uma 6consulta simples8( 0ue recupera dados de um Qnico ar0ui2o lgico e apresenta ao usuArio ou 0ue recebe dados do usuArio e gra2a em um Qnico ar0ui2o lgico $endo assim( pode-se determinar o nQmero de pontos de funo associado programao ceb e( tendo o 3ndice de produti2idade espec3fico para este tipo de ambiente( poder3amos determinar o tempo necessArio para a implementao

78

!oderia-se considerar 0ue cada funcionalidade transacional a ser implementada na camada de negcio CfuncionalD demandaria a implementao de aproximadamente uma interface ceb na camada 2isual A interface ceb( 0uando implementada em uma linguagem de programao diferente da utilizada na camada de negcio Cregras de negcio da funcionalidadeD( re0uer a aplicao de 3ndices de produti2idade distintos !or exemplo( se a camada de negcio for implementada em #K9K/ e a camada 2isual for implementada em uma linguagem espec3fica para ambiente ceb( teremos dois 3ndices de produti2idade a serem aplicados A partir do le2antamento dos re0uisitos de negcio obtidos da 2iso do usuArio do sistema do usuArio( a 0uantificao do sistema 1 feita com o aux3lio da m1trica anAlise de ponto de funo As seguintes 0uest%es podem ser le2antadas 0uando da definio da 0uantidade de .oras necessArias implementao f3sica de sistemas" A aplicao de 3ndice de produti2idade no estA no escopo desta m1trica A 2iso do usuArio do sistema no contempla a implementao f3sica do sistema A aplicao de 3ndices de produti2idade 1 totalmente dependente da metodologia e dos aspectos tecnolgicos en2ol2idos no desen2ol2imento de sistemas A obteno do tempo necessArio para a implementao de interface ceb re0uer a aplicao de 3ndices de produti2idade espec3ficos A 0uesto da definio do tempo para implementao da camada 2isual Cinterface cebD pode ser tratada sob os seguintes aspectos( entre outros" Aplicao de 3ndice de produti2idade espec3fico( 0ue considera a funo transacional online como um todo( sobre a 0uantidade de pontos de funo obtidos para a funo transacional on-line Isto nos possibilitaria obter o tempo necessArio para a implementao f3sica da funo transacional Aplicao de 3ndice de produti2idade espec3fico para a camada 2isual sobre a 0uantidade de pontos de funo originalmente obtida para a funo transacional on-line

79

correspondente Isto nos permitiria obter o tempo necessArio para a implementao f3sica da camada 2isual Cinterface cebD T poss32el considerar 0ue cada funo transacional on-line demandaria a implementao de aproximadamente uma interface ceb #onforme o desen.o apresentado anteriormente( a camada 2isual estaria acessandoRatualizando um Qnico ar0ui2o lgico geradoRacessado pela camada de negcio !ortanto( poder3amos apro2eitar os conceitos da m1trica anAlise de pontos de funo e definir 0ue esta interface ceb poderia ser classificada como uma 60uerO8 de baixa complexidade Aplicando-se o 3ndice de produti2idade espec3fico para a camada 2isual sobre a 0uantidade de pontos de funo obtidos( c.egar3amos ao tempo necessArio para a implementao f3sica da camada 2isual Cinterface cebD !ara os trs casos citados acima( os 3ndices .istricos de produti2idade de2em ter sido coletados e tratados em concordUncia com a opo escol.ida !ara finalizar( a coleta e aplicao de 3ndice de produti2idade re0uer padronizao !ortanto( a aplicao dos conceitos e defini%es da m1trica anAlise de pontos de funo de2e seguir um padro comum de entendimento( em concordUncia com os crit1rios estabelecidos pela m1trica( para 0ue a classificao e contagem no se@am feitas a partir de interpretao prpria

80

*A+ T#8el# e Li&-5#-e&! e Pr%-r#"#'(%,


Muitas pessoas e organiza%es utilizam a Tabela de /inguagens de !rogramao da ( $oftBare !roducti2itO &esearc. - $!&( como guia para a estimati2a de pontos de funo a partir da contagem das lin.as de cdigo fonte C$/K#D de um sistema #onforme os n32eis das linguagens aumentam( menos comandos so necessArios para codificar um !onto de 5uno !or exemplo( #K9K/ 1 uma linguagem de n32el H e re0uer cerca de ),* comandos por !onto de 5uno Ks n32eis num1ricos de 2Arias linguagens oferecem um atal.o con2eniente para a con2erso de taman.o de uma linguagem para outra !or exemplo( se uma aplicao re0uer ),,, comandos de #K9K/ Cno comentAriosD( 0ue 1 do n32el H( ento seriam necessArios apenas *,, comandos em uma linguagem de n32el M Ctal como NAT?&A/D e apenas +*, comandos em uma linguagem de n32el )+ Ctal como K9'4#TI;4 #D #onforme pode ser 2ista( o nQmero m1dio de comandos re0uerido 1 proporcional ao n32el da linguagem A correlao entre o n32el de uma linguagem e a produti2idade do desen2ol2imento no 1 linear !ara a maioria dos grandes pro@etos de softBare( a codificao representa apenas aproximadamente H, por cento do esforo total de desen2ol2imento de sistemas de informao Tomando-se como exemplo um programa 0ue foi escrito em uma linguagem cu@a produti2idade 1 o dobro da de uma outra 0ual0uer K esforo de codificao pode ser reduzido em *, por cento Toda2ia( o pro@eto total pode mel.orar em apenas )* por cento( uma 2ez 0ue a codificao representa2a apenas H, por cento do esforo total Mesmo com a suposta pe0uena reduo no esforo de codificao( 0uando se transportar estes nQmeros para uma escala de pro@eto com todas as ati2idades a serem executadas( temos uma diferena considerA2el 0ue de2e ser le2ada em conta 0uando da seleo de uma linguagem de programao( a economia de prazo e custo pode significar muito
81

Kutro fator 0ue no pode ser es0uecido 1 o 0ue diz respeito manuteno da aplicao T lgico 0ue 0uanto mais lin.a de cdigo possui uma aplicao( mais dif3cil 1 a compreenso do 0ue estA codificado( mais tempo 1 gasto em sua manuteno( maior serA o custo de manuteno e maior serA a possibilidade de erros de execuo A tabela a seguir demonstra como a linguagem de programao pode influenciar nos prazos e nos custos de desen2ol2imento de sistemas de informao <BBB spr comRproductsRfunction .tm>

Acti.it@ &e0uirement 7esign #oding IntegrationRTest ?ser 7ocumentation ManagementR$upport Total Total #osts #ost !er $ource /ine /ines !er !erson Mont. #ost !er 5 ! 5 ! !er !erson Mont.

A!!e"8ler Ker!i%& P*O=OOO Li&e!Q + Mont.s H Mont.s ), Mont.s * Mont.s + Mont.s H Mont.s +* Mont.s Y)+*(,,, Y)+ *, -,, Y-()MM MI )+

F%rtr#& Ker!i%& P3=OOO Li&e!Q + Mont.s H Mont.s H Mont.s H Mont.s + Mont.s + Mont.s )* Mont.s YI*(,,, Y+* ,, +,, Y+(*,, ,, + , , -I -+ , -) -), CY*,(,,,D Y)+ *, -+,, CY)(MMM MID b,J Differe&ce

Taxas de produti2idade econSmicas mais acuradas podem ser obtidas atra21s do exame da m1dia mensal das taxas de produo( em !ontos de 5uno( associadas aos di2ersos n32eis de linguagem A Tabela a seguir mostra como o n32el da linguagem afeta a produti2idade <BBB spr comRproductsRfunction .tm> L#&-5#-e Le.el
82

A.er#-e S%5rce St#te"e&t! Per

F5&cti%& P%i&t ),H+RA5 )st Peneration default +nd Peneration default Hrd Peneration default -t. Peneration default +, ) H )M )M H+, ),I J, +,

A Area de TI de uma empresa terA dois camin.os bAsicos para montar uma relao entre 0uantidade de lin.as de cdigo e o nQmero de pontos de funo" K primeiro seria adotar uma tabela de con2erso ad0uirida do mercado e ir fazendo a@ustes at1 obter um n32el de acerto considerado satisfatrio ou $elecionar uma 0uantidade significati2a de fun%es implementadas nas linguagens de programao comumente utilizada na empresa e montar uma tabela prpria !ara o segundo caso( tem-se os seguintes passos a serem seguidos" $elecionar uma 0uantidade significati2a de fun%es implementadas nas linguagens de programao comumente utilizada na empresaG &ealizar a contagem de lin.as de cdigo de cada uma das fun%esG &ealizar a contagem de pontos de funo de cada uma das fun%esG Montar uma tabela de relacionamentoG Acompan.ar e realizar os a@ustes necessArios na tabela conforme as aplica%es so desen2ol2idas e entregues

*H+ C%&tr#t#'(% c%" 9#!e e" P%&t%! e F5&'(%,


K fato de parte ou todo trabal.o de en2ol2ido no desen2ol2imento e manuteno de sistemas estar terceirizado no elimina a necessidade de medio( muito pelo contrArio Tanto no corpo de con.ecimento em gerncia de pro@etos C!M9K_D do !ro@ect Management institute C!MID 0uanto no #apabilitO MaturitO Model C#MMD do $oftBare 4ngineering Institute C$4ID a aplicao de m1tricas 1 um
83

aspecto determinante no relacionamento entre a empresa 0ue contrata e a empresa contratada ?ma forma muito popular de contratao de ser2ios de desen2ol2imento de sistemas 1 a0uela denominada( nos 4stados ?nidos( bodO s.op Clo@a de corposD No 9rasil utiliza-se a expresso locao de mo-de-obra Na operao tipo bodO s.op( uma empresa fornecedora aloca um profissional a uma empresa cliente( cobrando por isso um 2alor mensal 4ssa 1 uma operao com um risco muito baixo para o locador( pois no caso do profissional alocado no atender ao pretendido pelo cliente( o 0ue se faz 1 simplesmente substitu3-lo K risco dos pro@etos no 1 compartil.ado pelo locador de mo-de-obra( 0ue no precisa participar do pesadelo 0ue costuma ser o gerenciamento dos pro@etos de TI #laro 0ue .A solu%es intermediArias( nas 0uais o fornecedor di2ide o gerenciamento dos resultados com o cliente( mas essas no podem ser consideradas estritamente como bodO s.op No bodO s.op propriamente dito( no existe o comprometimento do fornecedor de mo-de-obra com os resultados !or essa razo( 1 natural 0ue as empresas bus0uem solu%es alternati2as para a contratao do desen2ol2imento de sistemas !ara minimizar os problemas citados anteriormente( algumas grandes empresas resol2eram partir para a contratao do desen2ol2imento de sistemas baseado em m1tricas de softBare Nessas contrata%es( o ob@eto produzido atra21s do contrato programa( sistema( documento( etc - 1 0uantificado e pago atra21s de alguma medida ob@eti2a( realizada sobre o prprio ob@eto gerado Teoricamente essa 1 uma soluo ideal( pois o 0ue estA sendo pago 1 o resultado( ao in21s dos recursos ou insumos utilizados na sua gerao K problema dessa abordagem passa a ser a escol.a( a medio e a interpretao da m1trica a ser utilizada na 0uantificao dos ser2ios contratados No caso do desen2ol2imento de sistemas( o principal item 0ue se busca medir 1 o softBare produzido atra21s do respecti2o contrato LA contratos espec3ficos para o desen2ol2imento de um Qnico sistema( bem como outros destinados ao desen2ol2imento e manuteno de di2ersos sistemas( programas e outros artefatos
84

4ste Qltimo tipo de contrato 1 por 2ezes denominado Vguarda-c.u2aV( por abrigar uma grande 2ariedade de ser2ios As medidas mais utilizadas para a medio de softBare( tanto no mundo acadmico 0uanto na indQstria( so as lin.as de cdigo e os pontos de funo As lin.as de cdigo possuem a grande 2antagem da medio automAtica( atra21s de programas de computador Tal no 1 poss32el com os pontos de funo( embora algumas ferramentas bus0uem realizar essa tarefa( com graus 2ariA2eis de acerto !or outro lado( 1 dif3cil estimar lin.as de cdigo no in3cio de um pro@eto( 0uando ainda no se tem definida a ar0uiteturaG al1m disso( a 0uantidade de lin.as de cdigo 2aria com a linguagem utilizada e( o 0ue 1 pior( com o prprio estilo de programao da e0uipe 4ssas dificuldades tm contribu3do para a crescente disseminao dos pontos de funo( regulamentados e periodicamente atualizados pelo International 5unction !oint ?sers Proup CI5!?PD( organizao sem fins lucrati2os sediada nos 4stados ?nidos Ks pontos de funo permitem medir a funcionalidade de um sistema independentemente da t1cnica utilizada em sua implementao 7essa maneira( os pontos de funo so independentes da linguagem de programao e da plataforma utilizada 5uncionam como a medida de um im2el em metros 0uadrados" um apartamento de ),, metros 0uadrados terA os mesmos ),, metros 0uadrados( este@a em Manaus ou em !orto Alegre( em um bairro da periferia ou na regio mais cara( constru3do com materiais de primeira lin.a ou com os mais baratos( finamente decorado ou 2azio Igualmente( um sistema com *,, pontos de funo terA esse mesmo taman.o( se@a ele implementado atra21s de #K9K/R#I#$ e 79+ no mainframe( em 7elp.i com Kracle em uma ar0uitetura de H camadas( ou como uma aplicao Beb utilizando 'a2a( $olaris e $Obase Ao medir um aplicati2o utilizando pontos de funo( os elementos considerados so componentes 2is32eis e recon.ecidos pelo usuArio( tais como ar0ui2os lgicos( transa%es de entrada e de sa3da e consultas efetuadas A 2iso lgica e centrada no ponto de 2ista do usuArio garante a independncia com relao implementao Na contagem de pontos de funo( 1 necessArio exercitar o processo
85

de abstrao utilizado para identificar os componentes contA2eis no modelo do sistema( conforme descrito pelo usuArio ou registrado na documentao existente A fim de garantir 0ue todos os contadores de pontos de funo utilizem o mesmo procedimento padro( o I5!?P oferece a certificao profissional Atra21s dela( tanto o prprio profissional 0uanto as empresas contratantes podem certificar-se de 0ue as contagens estaro sendo efetuadas corretamente ?ma 2ez determinado o taman.o funcional do sistema( o prximo passo 1 dispor de um m1todo para obter o custo do ser2io de desen2ol2imento a partir do taman.o em pontos de funo ?ma sa3da simples( mas no recomendA2el( 1 estabelecer um custo fixo para cada ponto de funo gerado( isto 1( um preo por ponto de funo Acontece 0ue o custo de um ponto de funo 2ai 2ariar segundo di2ersos fatores( dificultando o estabelecimento de um preo Qnico por !5 Na analogia anterior( o ponto de funo e0ui2aleria ao metro 0uadrado( en0uanto o preo por ponto de funo e0ui2aleria ao preo por metro 0uadrado 5ica fAcil 2er 0ue no 1 poss32el estabelecer um Qnico preo por metro 0uadrado para todos os tipos de im2eis( independentemente da localizao e do acabamento utilizado 7a mesma maneira( no podemos ter um Qnico preo por ponto de funo para todos os sistemas( independentemente da plataforma( linguagem( etc 4sses so fatores 0ue iro afetar a produti2idade da e0uipe de desen2ol2edores K esforo despendido em um ser2io de desen2ol2imento 1 o nQmero de .oras gasto para realizA-lo( o 0ual pode ser dado por" 4 \ 5 x T( onde 4 1 o esforo em .oras( 5 o taman.o em pontos de funo e T a taxa de entrega em .oras gastas por ponto de funo A taxa de entrega 1 o in2erso da produti2idade #on.ecido o nQmero de .oras 4( o custo pode ser obtido multiplicando-se 4 pelo 2alor unitArio da .ora" # \ 4 x L( onde # 1 o custo do ser2io( 4 1 o esforo e L 1 o 2alor unitArio da .ora ;emos ento 0ue( al1m do taman.o do sistema em pontos de funo( precisamos con.ecer a taxa de entrega e o 2alor unitArio da .ora( para 0ue possamos ter o custo K taman.o em pontos de funo pode ser determinado por um contador de pontos de funo experiente K 2alor da .ora 1 con.ecido do mercado( mesmo por0ue @A 1 intensamente utilizado nos contratos do tipo bodO s.op &esta con.ecer a taxa de
86

entrega( 0ue reflete a produti2idade Nuais empresas brasileiras con.ecem sua prpria produti2idadeW !arece 0ue poucas No .A estat3sticas con.ecidas para a taxa de entrega C.oras por ponto de funoD ou para a produti2idade Cpontos de funo por pessoa por msD das empresas brasileiras 0ue produzem aplicati2os 2oltados para negcios !oucas empresas mantm algum tipo de programa de m1tricas e( 0uando o fazem( nem todas utilizam uma medida padro 0ue permita compara%es com outras empresas( o principal benef3cio na utilizao dos pontos de funo do I5!?P Nesse contexto( faz-se necessArio o estabelecimento de programas de m1tricas( 0ue permitam aos clientes e fornecedores con.ecerem sua prpria produti2idade !or 0ue uma empresa cliente dese@aria con.ecer sua prpria produti2idadeW No bastaria con.ecer a produti2idade das mel.ores empresas do mundo e exigir esse mesmo n32el dos fornecedoresW Tal2ez sim( no caso da a0uisio de uma mercadoria( ou de um ser2io totalmente independente do ambiente do cliente Mas tal no 1 o caso No desen2ol2imento de sistemas( as demoras( dificuldades e indefini%es dos usuArios podero afetar fortemente a fase de concepo ou anAliseG os processos internos e tecnologia utilizados pela Area de TI do cliente podero( por sua 2ez( impactar bastante a fase de elaborao ou pro@etoG os procedimentos de aceitao e a forma adotada para o gerenciamento das mudanas de escopo direcionaro os riscos da fase de construo ou programaoG finalmente( a localizao geogrAfica e o cronograma dos usuArios iro determinar o tempo para a transio ou implantao do sistema !ara 0ue uma empresa possa exigir( realisticamente( uma determinada produti2idade de um fornecedor( 1 preciso 0ue ela tome como ponto de partida a sua prpria produti2idade( buscando mel.orias sucessi2as ao longo da parceria resultante da contratao K con.ecimento da prpria produti2idade 1( neste caso( o principal ob@eti2o do programa de m1tricas a ser implantado T muito comum as pessoas buscarem nQmeros de terceiros( 0ue possam substituir as medi%es acima indicadas 4ste autor recebe( regularmente( uma razoA2el 0uantidade de mensagens de colegas 0ue buscam o nQmero mAgico As perguntas mais comuns so do tipo V4m 0uantas .oras se faz um ponto de funo( em um
87

ambiente clienteRser2idor( usando ;9 com $N/ $er2erWV( ou VNuantos pontos de funo faz um programador #K9K/ por msWV T claro 0ue tais nQmeros existem( nas estat3sticas internacionais K problema 1" eles se aplicam ao seu casoW LA uma grande probabilidade de 0ue no A 2ariabilidade do processo de desen2ol2imento de sistemas 1 muito grande 7iferentes empresas 2o utilizar diferentes metodologias Muitas empresas no utilizam( consistentemente( 0ual0uer metodologia( embora 0uase todas dispon.am de alguma Nuanto uma metodologia padro 1 utilizada( os pro@etos por sua 2ez so diferentes entre si Mesmo 0uando os pro@etos so comparA2eis( muitas 2ezes as e0uipes 1 0ue no so &esumindo( o fenSmeno 0ue se dese@a estudar( o desen2ol2imento de sistemas( 1 to 2ariA2el 0ue desafia a definio $e( ainda assim( aceitarmos 0ue todos 0ue escre2em sobre desen2ol2imento de sistemas esto tratando da mesma coisa( teremos 0ue considerar a 0uesto das medi%es !ara obter a produti2idade( 1 preciso medir o taman.o e o esforo despendido A medida dos pontos de funo pode ser razoa2elmente precisa( se forem utilizados contadores experientes !or outro lado( os crit1rios para registro do tempo despendido podem 2ariar bastante $e no .ou2er um padro para isso( no teremos como saber 0uem e o 0u foi medido !or exemplo" foi medido o tempo gasto pelos administradores de dados neste pro@etoW 5oi considerado o tempo do pessoal de suporteW K pro@eto foi medido desde a primeira reunio realizada para tratar do mesmoW K antepro@eto foi considerado nas medi%esW K treinamento ao usuArio foi inclu3doW Aps o aceite final do usuArio ainda .ou2e alguma ati2idade registradaW 7e2eria ter .a2idoW T mais importante ter um Qnico crit1rio( consistente( do 0ue ficar discutido se determinado tipo de ati2idade de2e ou no entrar no cSmputo das .oras despendidas no pro@eto #omo conse0`ncia da grande 2ariabilidade do fenSmeno e das respecti2as estrat1gias de medida diferenciadas( as estat3sticas internacionais sobre produti2idade tamb1m 2ariam muito Isso pode ser 2erificado atra21s da comparao entre os dados pro2enientes de trs respeitadas fontes de dados sobre as ati2idades de TI" o International $oftBare 9enc.mar]ing $tandards Proup CI$9$PD( #apers 'ones e LoBard &ubin #omparando a produti2idade do desen2ol2imento( medida em pontos
88

de funo por pessoa por ms( 2eremos 0ue o banco de dados do I$9$P registra cerca de )= !5( #apers 'ones indica I(* !5 e LoBard &ubin c.ega a H(M !5 Isso significa uma 2ariao de 0uase + 2ezes entre &ubin e 'ones( e de 0uase * 2ezes entre &ubin e o I$9$P Nual desses 1 o caso da sua empresaW Ku serA algum outroW Ks dados citados so de )==J T ine2itA2el a decepo da0ueles 0ue esperam do processo de mensurao de softBare alguma frmula mAgica ou re2elao m3stica 4xatamente como 0uando tratamos de metodologias de desen2ol2imento( ferramentas #A$4 ou t1cnicas de modelagem( no .A uma soluo bril.ante 0ue resol2a todos os problemas #omo dizem os americanos( Vt.ere is no sil2er bulletV Cno existe a bala de prataD A contratao de softBare com a utilizao de m1tricas passa( primeiro( pela implantao de um programa de mensurao( tamb1m c.amado programa de m1tricas As estat3sticas internacionais so Qteis( sim" como a@uda para a 2alidao de nossas prprias m1tricas e para posicionamento de nosso processo em relao s demais organiza%es A implantao de um programa de m1tricas re0uer um esforo espec3fico da organizao K pro@eto pode ser efetuado em J passos( resumidamente descrito a seguir" )D 7ocumentar o processo de desen2ol2imento atualmente utilizado e padronizA-lo Csem buscar a realizao de mel.orias( mas to somente a estabilizao do processoDG +D 4stabelecer os ob@eti2os do programa de m1tricas Cem nosso caso( determinar a produti2idadeDG HD 7efinir as m1tricas necessArias ao alcance dos ob@eti2os pretendidos Cpor exemplo" taman.o funcional em pontos de funo( esforo em .oras( 0ualidade em densidade de erros( etc DG -D Identificar os dados a serem coletados Cpor exemplo" .oras trabal.adas de cada t1cnico en2ol2ido( taman.o funcional de cada uma das solicita%es de alterao do sistema( erros identificados e suas categorias( etc DG
89

*D 7efinir o processo de coleta de dados Cidentificar os pontos de coleta( periodicidades( formulArios ou sistema de coleta( etc DG MD Kbter ferramentas Cconstruir eRou ad0uirir as ferramentas 0ue permitam implementar o processo de coleta anteriormente definidoDG ID #riar um banco de dados de m1tricas Cimplementar um repositrio 0ue possa abrigar( de forma organizada e acess32el( todos os dados 0ue 2iro a ser coletadosDG JD 7efinir um mecanismo de feedbac] Cuma maneira 0ue permita e0uipe de m1tricas receber feedbac] de todos os participantes do processoD 4xistem 2Arias outras formas de se conduzir o processo de implantao de um programa deste tipo K importante 1 o comprometimento da gerncia e a clara definio dos ob@eti2os do programa( de modo a garantir 0ue as m1tricas geradas se@am a0uelas necessArias e efeti2amente utilizadas ?ma 2ez implantado o programa de m1tricas( a organizao comearA a obter dados de produti2idade 4m uma organizao imatura( ainda no n32el ) da classificao #MM( 1 pro2A2el 0ue a produti2idade 2arie de forma errAtica refletindo( 1 claro( o fenSmeno 0ue estA sendo medido Pradati2amente( serA poss32el separar os pro@etos por plataforma( ramo de negcio( localizao geogrAfica( perfil da e0uipe e outros fatores 0ue este@am influenciando os resultados K tratamento de categorias separadas tenderA a reduzir a 2ariabilidade Aps a estabilizao dos fatores mais influentes( serA poss32el estabelecer uma produti2idade m1dia para cada categoria definida 4sse serA o ponto de partida para a obteno de mel.orias @unto aos fornecedores !or exemplo( uma empresa poderia firmar um contrato com um fornecedor( tendo como al2o um aumento de produti2idade de +*X no primeiro ano e de ),X no segundo Ceste 1 apenas um exemplo( 2alores reais s podem ser determinados mediante cuidadosa anAlise por parte do cliente e do fornecedorD A contratao do desen2ol2imento de sistemas com a utilizao de pontos de funo Cou outra m1tricaD no pode ser realizada exclusi2amente com base em dados de terceiros( ainda 0ue publicados em respeitA2eis fontes internacionais Antes da contratao( e imprescind32el a implantao de um programa de m1tricas( 0ue permita
90

ao cliente estabilizar seu processo de desen2ol2imento e con.ecer sua prpria produti2idade #om base nesse con.ecimento( mel.orias podero ser buscadas e obtidas @unto ao mercado Prande a@uda pode ser conseguida atra21s da troca de experincias com empresas assemel.adas( tanto para contratantes 0uanto para contratados As mel.ores prAticas de contratao s podem ser conseguidas com o concurso de ambas as partes( em um clima do tipo Vgan.a-gan.aV Tal ambiente no pode ser obtido durante o calor de uma concorrncia ou negociao espec3fica #om o intuito de dar ense@o a tal modo de interao( o 9razilian 5unction !oint ?sers Proup C95!?PD instituiu um #omit com a misso de buscar as mel.ores formas de contratao para o desen2ol2imento de sistemas( ade0uadas aos grandes contratantes e exe0`32eis para os grandes contratados

91

CONCLUSO
No esforo de implantao de uma no2a mentalidade 2oltada para a 0ualidade e produti2idade( no 1 admiss32el o desen2ol2imento de sistemas atra21s de EfeelingF( onde 0uest%es como" 0ual 1 a produti2idade da Area de informAtica( 0ual 1 a capacidade de produo( 0ual con@unto de ferramentas possibilita a maior produti2idade( 0uais so os indicadores de 0ualidade existentes( 0ual camin.o de2o adotar( desen2ol2er ou comprar um pacote e customizA-lo( so simplesmente deixadas de lado ou respondidas sem suporte de uma base 0uantificA2el A implantao de um procedimento de m1trica possibilita fornecer informa%es gerenciais para definio de indicadores 0ue suportaro uma s1rie de ati2idades essenciais para a gerncia eficaz de sistemas de informa%es como" a anAlise de tendnciasG anAlise de impactos na introduo de no2as tecnologias sobre a 0ualidade e produti2idade( 0ue pode auxiliar na deciso sobre 0uais combina%es de elementos de tecnologia garantem mel.ores resultadosG a anAlise de atributos( 0ue permite a comparao da 0ualidade e produti2idade entre plataformas( metodologias( Areas de aplicao( .abilidades t1cnicas de pessoas e assim sucessi2amente A gerncia( criando os padr%es de medidas para a instalao( fica em posio de monitorar o comportamento dos pro@etos e produtos indi2idualmente( analisar resultados( comparA-los e 2erificar a ade0uabilidade dos respecti2os processos e necessidades de implementar mel.orias A gesto eficiente dos re0uisitos 1 um dos principais fatores de sucesso no desen2ol2imento de sistemas de informao #omo 1 dito popularmente 6lixo 0ue entra 1 lixo 0ue sai8( no existe uma frmula mAgica 0ue transforma uma especificao de mA 0ualidade em uma especificao de excelente 0ualidade f gesto dos re0uisitos de2e possuir mecanismos 0ue permitem identificar se todos os re0uisitos necessArios ao negcio foram le2antados e mapeados Isto 1( se todos os re0uisitos 0ue esto dentro da fronteira do sistema foram identificados e se estA correta a real fronteira do sistema A simples desconsiderao ou es0uecimento de
92

um re0uisito pode at1 tornar o pro@eto in2iA2el No li2ro 6Pesto de $on.os8 de Amir _lin] <HH> 1 citado um episdio sobre o es0uecimento de um item de custo extremamente baixo e aparentemente sem importUncia( 0ue poderia ter in2iabilizado a 2ia@em de ) ano pela AntArtica" 6Nuando esta2a para deixar o cais em direo ao continente gelado sem escalas( um pessoa no cais me pediu fsforos para acender o cigarro e descobri 0ue no tin.a caixa de fsforo a bordo 8 A implantao de um programa de m1tricas re0uer um esforo espec3fico da organizao &e0uer um compromisso muito forte em enfrentar todos as dificuldades 0ue surgem durante esta longa tra@etria sem fim No existe espao para acomodao( sempre estA se reno2ando e apreendendo com as no2as informa%es 0ue so coletadas A implantao de um pro@eto de m1tricas 2oltada para a 0ualidade( pode ser efetuada em J passos( como descrito resumidamente a seguir" )D 7ocumentar o processo de desen2ol2imento atualmente utilizado e padronizA-lo Csem buscar a realizao de mel.orias( mas to somente a estabilizao do processoDG +D 4stabelecer os ob@eti2os do programa de m1tricas Cem nosso caso( determinar a produti2idadeDG HD 7efinir as m1tricas necessArias ao alcance dos ob@eti2os pretendidos Cpor exemplo" taman.o funcional em pontos de funo( esforo em .oras( 0ualidade em densidade de erros( etc DG -D Identificar os dados a serem coletados Cpor exemplo" .oras trabal.adas de cada t1cnico en2ol2ido( taman.o funcional de cada uma das solicita%es de alterao do sistema( erros identificados e suas categorias( etc DG *D 7efinir o processo de coleta de dados Cidentificar os pontos de coleta( periodicidades( formulArios ou sistema de coleta( etc DG MD Kbter ferramentas Cconstruir eRou ad0uirir as ferramentas 0ue permitam implementar o processo de coleta anteriormente definidoDG ID #riar um banco de dados de m1tricas Cimplementar um repositrio 0ue possa abrigar( de forma organizada e acess32el( todos os dados 0ue 2iro a ser coletadosDG
93

JD 7efinir um mecanismo de feedbac] Cuma maneira 0ue permita e0uipe de m1tricas receber feedbac] de todos os participantes do processoD 4xistem 2Arias outras formas de se conduzir o processo de implantao de um programa deste tipo K importante 1 o comprometimento da gerncia e a clara definio dos ob@eti2os do programa( de modo a garantir 0ue as m1tricas geradas se@am a0uelas necessArias e efeti2amente utilizadas ?ma 2ez implantado o programa de m1tricas( a organizao comearA a obter dados de produti2idade 4m uma organizao imatura( ainda no n32el ) da classificao #MM( 1 pro2A2el 0ue a produti2idade 2arie de forma errAtica refletindo( 1 claro( o fenSmeno 0ue estA sendo medido Pradati2amente( serA poss32el separar os pro@etos por plataforma( ramo de negcio( localizao geogrAfica( perfil da e0uipe e outros fatores 0ue este@am influenciando os resultados K tratamento de categorias separadas tenderA a reduzir a 2ariabilidade Aps a estabilizao dos fatores mais influentes( serA poss32el estabelecer uma produti2idade m1dia para cada categoria definida 4sse serA o ponto de partida para a obteno de mel.orias @unto aos fornecedores

94

REFERSNCIA 9I9LIOGRFICA,
) + H * M I J = $istemAtica M1trica( Nualidade e produti2idade" #arlos $im%es - Artigo publicado na 7e2elopersg Magazine( setembro de )=== I444 $tandard PlossarO of $oftBare 4ngineering TerminologO( I444 $td I+= )=JH I444 $tandard PlossarO of $oftBare 4ngineering TerminologO( I444 $td M), )+ )==, 4ngineering an 4ffecti2e Measurement !rogram #ourse Notes( )==Perncia da Mel.oria do !rocesso de $oftBare atra21s de Indicadores da Nualidade e !roduti2idade - #laudia Lazan #ustomizando o Modelo $c-#MM - por &a]es. $.ri2asta2a e 7r Pular L Mal]ani publicado em $oftBare NualitO( @ul.o de +,,, !ontos de 5uno e o $4I-#MM - 7a2id /ipton - NR! Management Proup NA$$#KM - .ttp"RRBBB nasscom orgR( VIT NualitOV( 7ez )=== /instone( Larold A e MurraO Turoff C)=I*D( eds 7elp.i Met.od" Tec.ni0ues and Applications( &eading( MA" Addison-cesleO !ublis.ing #ompanO( ?$A ), A Tabela de /inguagens de !rogramao da $!& - T #apers 'ones( $oftBare !roducti2itO &esearc. 119 NA$$#KM - .ttp"RRBBB nasscom orgR( VIT NualitOV( 7ez )=== )+ /instone( Larold A e MurraO Turoff C)=I*D( eds 7elp.i Met.od" Tec.ni0ues and Applications( &eading( MA" Addison-cesleO !ublis.ing #ompanO( ?$A )H AnAlise de !ontos de 5uno e [ndices de !roduti2idade : #arlos $im%es : Artigo publicado no 95!?P em +,,H )- Medida( M1trica ou Indicador" Nual a 7iferenaW - 9rOce &agland( $oftBare Tec.nologO $upport #enter )* 4ngineering an 4ffecti2e Measurement !rogram #ourse Notes( )==)M !lane@amento( 4specificao e 4xecuo dos Testes : #arlos $im%es : 7e2elopersF Magazine )=== )I I444 $oftBare &e0ueriments $pecification C4specificao de re0uisitos de $oftBare C$&$DD" I444 )H, )J Impacto das no2as tecnologias na #ontagem de !ontos de 5uno - Mauricio Aguiar
95

)= A MAgica do Perenciamento de !ro@etos de e#ommerce - Mauricio Aguiar( #5!$ publicado na 7e2eloperFs Magazine( @un.o de +,,, +, e-!M !aradox - 'ac] 7uggal( - Inacom #orporation e ?ni2ersitO of Lartford +) 'ones( #apers T - 4stimating $oftBare #osts - McPraB-Lill( )==J ++ &ubin $Ostems( Inc - IT !erformance Trends g== - Meta Proup( )=== +H International $oftBare 9enc.mar]ing $tandards Proup - T.e 9enc.mar] &elease * - I$9$P( )==J +- .ttp"RRBBB spr comR - $oftBare !roducti2itO &esearc. - 4mpresa de #apers 'ones +* .ttp"RRBBB .rubin comR - &ubin $Ostems( Inc - 4mpresa de LoBard &ubin +M .ttp"RRBBB ifpug orgR - International 5unction !oint ?sers Proup - $ite do I5!?P 279 .ttp"RRBBB bfpug com brR - 9razilian 5unction !oint ?sers Proup +J #ontratando o 7esen2ol2imento com 9ase em M1tricas : Artigo de Mauricio Aguiar += 9rasil Terra a ;ista : A A2entura do 7escobrimento : 4duardo 9ueno H, !ro@eto d 4ngen.aria de $oftBare : Teste de $oftBare : TraOa.Q & Moreira 5il.o d 4merson &ios H) AnAlise de !ontos de 5uno : #arlos 4duardo ;az0uez( Puil.erme $i0ueira $im%es( &enato mac.ado Albert H+ Perncia de !ro@etos de $istemas : Aguinaldo Aragon 5ernandes d 'os1 /uiz #arlos _ugler HH Pesto de $on.os - Amir _lin]

96

ANETO

97

Вам также может понравиться