Você está na página 1de 65

Rodrigo Oliveira Spnola

rodrigo.devmedia@gmail.com
Doutor e Mestre em Engenharia de Software pela COPPE/UFRJ. Realizou seu Ps-Doutorado na
University of Maryland Baltimore County e Centro Fraunhofer nos Estados Unidos. Atualmente
Professor Titular do Programa de Ps-Graduao em Sistemas e Computao da Universidade
Salvador - UNIFACS.

Marco Antnio Pereira Arajo


maraujo@devmedia.com.br
68 Edio - 2014
Doutor e Mestre em Engenharia de Sistemas e Computao pela COPPE/UFRJ, Especialista em
Corpo Editorial Mtodos Estatsticos Computacionais e Bacharel em Matemtica com Habilitao em Infor-
mtica pela UFJF.
Editor
Rodrigo Oliveira Spnola Eduardo Oliveira Spnola
eduspinola@gmail.com
Colaboradores
Colaborador das revistas Engenharia de Software Magazine, Java Magazine e SQL Magazine.
Marco Antnio Pereira Arajo
Eduardo Oliveira Spnola bacharel em Cincia da Computao pela Universidade Salvador (UNIFACS).
Nicolli Souza Rios Alves

Consultora Tcnica
Daniella Costa
Nicolli Souza Rios Alves
nicolli.devmedia@gmail.com
Jornalista Responsvel Bacharel em Cincia da Computao na Universidade Salvador (UNIFACS), Mestranda em Sistemas
Kaline Dolabella - JP24185 e Computao no Programa de Ps-Graduao em Sistemas e Computao da UNIFACS na linha de
Na Web Engenharia de Software. editora da Engenharia de Software Magazine.
http://www.devmedia.com.br/revista-engenharia-de-software-magazine

Atendimento ao Leitor Fale com o Editor!


A DevMedia conta com um departamento exclusivo para o atendimento ao leitor. muito importante para a equipe saber o que voc est achando da revista: que tipo de artigo voc

Se voc tiver algum problema no recebimento do seu exemplar ou precisar de algum gostaria de ler, que artigo voc mais gostou e qual artigo voc menos gostou. Fique a vontade para

esclarecimento sobre assinaturas, exemplares anteriores, endereo de bancas de entrar em contato com os editores e dar a sua sugesto!

jornal, entre outros, entre em contato com: Se voc estiver interessado em publicar um artigo na revista ou no site ES Magazine,
entre em contato com os editores, informando o ttulo e mini-resumo do tema que voc gostaria
www.devmedia.com.br/central
(21) 3382-5038 de publicar.

Publicidade
Para informaes sobre veiculao de anncio na revista ou no site entre em
contato com:
publicidade@devmedia.com.br
Sumrio
Artigo no estilo Mentoring

06 Agile Development: Problemas e Solues no Scrum


[ Eduardo Antonio Cecilio Fernandes ]

Contedo sobre Boas Prticas

14 Groupware: Modelo de comunicao para projetos distribudos


[ Leonardo Sanches dos Santos e Alexandre LErario ]

Artigo no estilo Curso, Artigo no estilo Prtico

20 Use Case Point: Estimativas de Projeto Parte 3


[ Anderson Pinheiro Balbo, Wilson Vendramel e Maria Beatriz Felgar de Toledo ]

Contedo sobre Novidades

40 UML: A evoluo do diagrama de Caso de Uso 2.0


[ Daniel Paz de Arajo ]
Feedback
eu
s
D

Contedo sobre Boas Prticas

sobre e
46 Teste de Software: Avaliando a eficincia da equipe
[ Clia Negrini ]
s
ta
edio

Contedo sobre Boas Prticas


D seu feedback sobre esta edio!
52 BPMN e a Modelagem de Processos de Negcio
[ Edson A. Oliveira Junior, Maicon Giovane Pazin, Felipe Pereira Perez e Jaime William Dias ]
A Engenharia de Software Magazine tem que ser
feita ao seu gosto.
Para isso, precisamos saber o que voc, leitor, acha
Contedo sobre Boas Prticas da revista!

58 A engenharia de software na era Big Data www.devmedia.com.br/esmag/feedback


[ Digenes Firmiano ]
Edio 05 - Engenharia de Software Magazine 5
Agilidade

Nesta seo voc encontra artigos voltados para as prticas e mtodos geis.

Agile Development: Problemas e Solues


no Scrum
Como lidar com cada um dos ritos e papis do Scrum

Cenrio:
Processos de desenvolvimento de software em
cascata possuem conhecidos problemas, tais
como: entregas tardias com pouco feedback
Este artigo do tipo mentoring do cliente, excessiva quantidade de documen-
saiba mais: www.devmedia.com.br/ tao, foco demasiado em processos, entre
mentoring-saibamais outros. Scrum uma metodologia que, como
um de seus objetivos, enfrenta os problemas
citados, proporcionando entregas constantes
e iterativas, documentando-se apenas o estri-
tamente necessrio, focando no produto e nas

S
crum um framework para desen- pessoas que o desenvolvem, etc. Contudo, o
volvimento de produtos. Nesse Scrum no fcil de ser implementado, prin-
artigo, o foco ser no desenvol- cipalmente em times que esto acostumados
vimento de software. interessante com processo em cascata. Esse artigo d algu-
notar a denominao de Scrum como mas dicas, em cada etapa do framework, para
framework e no processo. Isso porque, que sua adoo seja feita de forma mais tran-
essa metodologia diz o que fazer, mas quila, evitando-se alguns erros comuns quando
no como. Por exemplo, as entregas se adota o Scrum.
devem ser incrementais e interativas
a cada Sprint, provendo real valor ao
cliente. Note que no explicado como Scrum vem como resposta aos proble-
Eduardo Antonio C. Fernandes
eduardofernandes@yahoo.com.br
se do essas entregas incrementais, qual mas que processos em cascata geram.
br.linkedin.com/in/eduardoacfernandes/ o tamanho do incremento por produto, Os processos em cascata focam na
Graduou-se em Egenharia de Computao e alm de no se definir o que valor para definio de processos para o sucesso
trabalha com desenvolvimento de software o cliente. Todos esses elementos so do desenvolvimento de software. Alm
desde ento. Atualmente, trabalha no Instituto deixados em aberto, para que cada Time disso, a entrega do produto feita aps
de Pesquisas Eldorado, atuando como Lider
tcnico, Aquiteto e desenvolvedor de software,
aplique o que achar mais conveniente longas fases de anlise e desenvolvi-
principalmente utilizando Java e Microsoft .NET. para esses conceitos. mento, tendo-se feedback do cliente

6 Engenharia de Software Magazine - Agile Development: Problemas e Solues no Scrum


agilidade

meses depois do incio do projeto. Alm


disso, mudanas so encaradas como
problemas, pois qualquer modificao
no produto ocasiona onerosa anlise e
alterao em documentaes, at que ela
seja efetivamente aplicada ao produto.
Finalmente uma ampla documentao
vem aliada ao software, pois se acredita
que isso gere real valor ao produto.
Por outro lado, Scrum foca estritamente
no produto, sendo associado um proces-
so muito leve a ser seguido. Tambm,
entregas so feitas de forma iterativa e
contnua. Isso possibilita que o cliente
utilize o produto desde o incio do Figura 1. Viso geral do Scrum
desenvolvimento, provendo feedback
constante. Feedback outro ponto importante: eles so bem Alguns duram uma ou duas semanas, outros um ms.
vindos e esperados, sendo sempre acomodados no Sprint se- O tamanho dele descoberto, literalmente por tentativa e erro.
guinte, caso necessrio. Documentao outro ponto chave: O Time deve testar vrios tamanhos de Sprint e escolher o ideal.
Scrum no exige documentao e sim, novamente, foco no O importante que, depois de um tempo, ele tenha um tama-
produto e por isso deve-se produzir o mnimo necessrio de nho constante, j que o Sprint dita o ritmo de desenvolvimento;
artefatos. e um ritmo constante d dinamismo ao desenvolvimento.
Uma questo interessante a seguinte: Se o Scrum to
bom e simples de entender, por que difcil de ser aplica- Reunio Diria
do?. Primeiramente, porque seus principais conceitos so Reunio de durao mxima de quinze minutos onde cada
quase que opostos ao que o desenvolvedor est acostumado membro do Time deve responder a trs perguntas:
com processos em cascata. Por exemplo, a ideia de o Time ser 1. O que desenvolvi desde a ltima reunio at agora?
responsvel pelo produto e no pessoas serem responsveis 2. O que planejo fazer at a prxima Reunio Diria?
individualmente por tarefas vai contra mo do que desenvol- 3. Tenho algum impedimento?
vedores esto acostumados. Tambm, entregas curtas, intera-
tivas, com valor e mesmo assim incompletas ou simplificadas Respondendo a essas questes, o Time ter uma viso do
geram bastante discordncia, pois isso novamente contraria a progresso do Sprint, bem como a quantidade e gravidade dos
metodologia empregada em processos em cascata. Finalmente, impedimentos. importante ater-se aos quinze minutos e
Scrum foca em pessoas e no em processos e, como bem se deixar eventuais discusses para depois. Isso ser tratado com
sabe, relaes pessoais, mesmo que de trabalho, podem ser mais detalhes em tpicos seguintes.
bastante complicadas.
A seguir dada uma breve descrio de cada etapa e papel do Reunio de Planejamento
Scrum, para que o leitor menos familiarizado com o framework Onde se inicia o Sprint, o Product Owner mostra a meta e as
possa entend-lo um pouco melhor. Entretanto, o foco do estrias para o Time. O Time ento negocia tal meta com o Pro-
artigo so os conselhos a serem aplicados em cada fase dessa duct Owner. Aps isso, o Time estima as estrias e as divide em
metodologia, discutidos depois da apresentao dos mesmos. tarefas. Caso o Time perceba que a meta est muito agressiva,
Finalmente uma discusso feita sobre aspectos do Scrum. uma nova negociao com o Product Onwer feita a fim de
combinar algo factvel.
Scrum
Nessa seo feita uma breve descrio de cada etapa do Reunio de Reviso do Sprint
Scrum, bem como os papis desempenhados, para contextu- Nessa reunio o Time faz uma demonstrao das funciona-
alizar o leitor. Observe a Figura 1: ela representa alguns dos lidades desenvolvidas no Sprint atual para o Product Owner e
principais conceitos utilizados no Scrum e como eles esto eventualmente para o cliente. Ento, o Product Owner aceita ou
associados. rejeita o produto entregue no Sprint. Tambm dado valioso
feedback ao Time sobre o que foi desenvolvido e sugestes para
Sprint melhorias em Sprints futuros.
Sprint o ciclo de desenvolvimento e entregas do Scrum.
Nele feito o planejamento, desenvolvimento, testes, entrega Reunio de Retrospectiva
e reviso do processo utilizado. O tamanho do Sprint varia de Aqui o Time, junto com o ScrumMaster, discutem o que pode
projeto para projeto, de Time para Time. ser melhorado em relao ao desenvolvimento do produto.

Edio 68 - Engenharia de Software Magazine 7


Aqui se discute tudo, processos, testes, relacionamento com Provavelmente, muitos dos problemas acima j foram en-
o cliente e entre membros da equipe. A ideia que sempre frentados pelo leitor que utiliza Scrum. Aqui so dados alguns
se busque e implemente melhorias na prtica de desenvol- conselhos para que essa cerimnia seja feita da maneira mais
vimento de software. proveitosa possvel, evitando os problemas mencionados e
outros no citados.
Papis Na primeira parte da reunio, onde o Product Owner apre-
O Scrum possui apenas trs papis a serem desempenhados: senta a meta e estrias, algo que deve ficar claro : o que, em
ScrumMaster: Pessoa responsvel por garantir que o termos de funcionalidades que agregam valor, quer-se atingir
Time execute o Scrum de forma adequada, bem como resolver para o prximo Sprint. No basta listar estrias e dizer que as
impedimentos. mesmas so as metas, tem-se que criar uma meta que mostre o
Product Owner: Pessoa responsvel entender o produto, bem que o cliente ter de real valor ao seu sistema. Veja o exemplo
como planejar releases e Sprints para que o software em questo na Figura 2 de uma boa meta, juntamente com suas estrias
seja implementado com sucesso. O Product Owner tem um profundo priorizadas.
conhecimento sobre o negcio no qual o produto atua e d todo o Nesse exemplo obviamente so mostradas meta e estrias
suporte ao Time, explicando exatamente o que deve ser desenvol- bastante modestas, j que provavelmente mais estrias ca-
vido. Quaisquer decises de escopo, prazo e priorizao recaem beriam no Sprint. Note que a meta no d muitos detalhes
sobre o Product Owner. do que ser implementado. Com ela, o Time conhece o que
Time: Grupo de pessoas responsvel efetivamente por importante a ser desenvolvido para o Sprint que se inicia. Por
desenvolver o produto. Aqui se tem Arquitetos, DBAs, Desen- tanto, caso o Time no consiga, por exemplo, implementar a
volvedores, Testadores, etc. estria de Enviar o relatrio por e-mail, o Product Owner
ainda assim poderia aprovar o Sprint, j que a meta todavia
Ritos do Scrum: problemas e solues fora considerada atingida.
Aqui so discutidos, para cada cerimnia do Scrum, alguns dos Agora, na Figura 3 observe um exemplo de uma meta
principais problemas, bem como algumas formas resolv-los. ruim e estrias escritas de forma que no agreguem valor ao
produto.
Reunio de Planejamento Note no exemplo que a meta lista com muitos detalhes
Como mencionado anteriormente, a Reunio de Planejamento o que deve ser desenvolvido no produto. Logo, no uma
onde se inicia o Sprint. Essa uma cerimnia em que alguns meta e sim uma listagem de itens. O problema de se utilizar
cuidados devem ser tomados: uma meta muito descritiva que o Time no tem a noo do
1. Por ser uma reunio de apresentao e posterior discusso, que importante para o cliente, em outras palavras, no se
tem-se que ficar atento para que a mesma no se torne muito tem o senso de que ser agregado de importante ao produto.
longa; no mximo um dia. Portanto, logo aps a descrio da meta, importante tam-
2. Times imaturos tendem a aceitar as metas sugeridas pelo bm dizer ao Time como a mesma impacta positivamente
Product Owner, sem realmente verificar se ela atingvel. o cliente.
Deve-se ter muito cuidado para no subestimar o trabalho Veja as estrias mostradas para a segunda meta, na Figura 3:
necessrio, principalmente porque durante a apresentao independentemente elas no adicionam funcionalidades ao
da meta, as tarefas ainda no foram quebradas e talvez sua sistema. Implementar apenas uma tela ou regras de negcio
complexidade ainda no seja clara. no geram algo til para o cliente. Uma estria deve ser uma
3. O Product Onwer no deixa clara a prioridade das estrias, o funcionalidade completa, mesmo que seja algo mais simples
que consequentemente faz com que o Time no as implemente do que o objetivo final da mesma, mas seja algo que j possa
na ordem correta. Caso ele no se atente a isso, ScrumMaster ser usado pelo cliente. Na verdade, as estrias descritas para
deve alert-lo. a segunda meta so timos exemplos de tarefas para uma
4. A segunda parte da reunio, onde se quebram as estrias em estria maior. Por exemplo, as estrias 1, 2 e 3 da Figura 3
atividades, pode ser excessivamente demorada, pois algumas poderiam ser tarefas de uma estria de criao de Cadastro
pessoas tendem a esmiuar atividades mais do que o necessrio. de Produtos, da Figura 2.
O Time deve acordar na definio do detalhamento mximo de Como mencionado anteriormente, alguns times subestimam
cada atividade. E j respondendo a pergunta que vem na cabea o tamanho das tarefas, ou ainda, aceitam o que o Product
do leitor: sim, esse detalhamento um conceito bastante abstrato Owner prope por pura presso. de suma importncia que,
e difcil de acordar, mas com a prtica isso se torna fcil. para evitar isso, o Time entenda bem o que requisitado nas
5. Alguns membros do Time participam pouco da reunio ou funcionalidades. Ele deve questionar o Product Owner at ter
no prestam ateno, esperando que posteriormente outros total entendimento das estrias. O Product Owner, por sua
membros os auxiliem nas suas atividades. O ScrumMaster, vez, deve exigir o melhor do Time, sendo seu trabalho fazer
mas principalmente o Time, deve estimular cada membro com que o Time desenvolva o mximo possvel em um tempo
a participar ativamente da reunio para tudo fique claro razovel. Em resumo, uma boa negociao deve ser feita para
para todos. acordar-se uma meta de tamanho exato para o Sprint. Isso s

8 Engenharia de Software Magazine - Agile Development: Problemas e Solues no Scrum


agilidade

se alcana com experincia; o Time e o Note a importncia das discusses haja impedimentos, membros do Time
Product Owner erraro por alguns Sprints nessas estimativas. Aqui fica claro se possam ajudar uns aos outros. Ainda, o
at encontrar a medida exata. todo o Time entendeu com clareza o ScrumMaster pode resolver impedimen-
Em relao segunda parte da Reunio que deve ser desenvolvido. Depois das tos nos casos em que a equipe no possa
de Planejamento, quando se quebram as estimativas, caso a equipe perceba que se ajudar (fora da Reunio Diria).
estrias em atividades, deve-se atentar concordou com uma meta no factvel, A principal dificuldade que os times
a algumas coisas para que a reunio ter- ela deve chamar o Product Owner e rene- encontram nessa cerimnia ater-se
mine em um tempo razovel. Para cada gociar a meta. estritamente ao seu propsito, que :
estria e atividades, deve-se j propor a relatar o que foi feito at agora, o que
soluo para as mesmas e quebr-las em Reunio Diria ser feito at a prxima Reunio Diria e
tarefas que durem mais ou menos um Como explicado anteriormente, a Reu- se existe algum impedimento. Essa reu-
dia. Muitas vezes, ocorrem discusses nio Diria tem o objetivo de que, cada nio deve durar no mximo 15 minutos.
longas a fim de se determinar a melhor membro da equipe, saiba exatamente Nesse rito, as pessoas no resistem
soluo para cada estria. Para evitar como anda o andamento do Sprint e, caso tentao e comeam a discutir seus
isso, devem-se anotar as solues suge-
ridas, quebrar a tarefa em atividades e
postergar tais discusses. Com algumas
solues em mos, as pessoas respons-
veis pelas tarefas podem estudar melhor
o problema e propor o melhor caminho,
durante a fase de desenvolvimento.
A descrio das tarefas algo impor-
tante. Muitas vezes, as mesmas so
descritas sem muitos detalhes, o que
posteriormente dificulta o entendimento
das atividades, pois a pessoa que traba-
lhar na tarefa no se lembrar de todos
os detalhes. Por tanto, o Time deve expe-
rimentar vrios formatos e tamanhos de
tarefas at que encontre o tamanho ideal
para as mesmas. Figura 2. Meta adequada
As estimativas, geralmente so feitas
usando Scrum Planning Poker. Tal me-
todologia, resumidamente, consiste no
seguinte: cada membro da equipe fica
com um baralho de cartas que seguem
a sequncia de Fibonacci (1, 3, 5, 8, 13,
21, 34, 55,...). Uma estria base usada
como referncia para todo o desenvolvi-
mento do produto. Para ela, um nmero
(tamanho) da sequncia de Fibonacci
utilizado. Logo, quando se estima
cada estria cada membro deve pensar:
O quo maior ou menor a estria atual
em relao base? Caso a estria base
tenha o valor de 8 e a estria atual seja
desenvolvida em metade do tempo, 5
deve ser o valor escolhido. Caso a est-
ria atual necessite de quatro vezes mais
tempo, o valor 21 deve ser escolhido.
Para cada estria as ser estimada, as
pessoas mostram, como num jogo de
Pquer, o valor que acha correto, e caso
haja discrepncia, o Time discute at
chegar a um acordo. Figura 3. Meta inadequada

Edio 68 - Engenharia de Software Magazine 9


problemas e dar solues sobre questes do projeto, no per- muitos, comear por tarefas de prioridade menor. Portanto,
cebendo que isso no o objetivo desse encontro. Essas discus- algumas atividades de menor prioridade eventualmente sero
ses fazem que as Reunies Dirias passem de 15 minutos para terminadas antes de tarefas de maior prioridade. Ou ainda,
uma hora, onerando bastante a performance do Time, j que atividades de maior prioridade no esto terminadas ao passo
muito tempo despendido. Portanto, de suma importncia que vrias tarefas de menor prioridade j esto comeadas.
que se execute tal reunio estritamente como ela concebida, Perceba o principal benefcio de se terminar tarefas com prio-
e fica a cargo do ScrumMaster doutrinar o Time para que isso ridade maior: caso o Sprint falhe e a questo de prioridade seja
ocorra. O melhor conselho para que o ScrumMaster consiga atendida, as estrias de maior prioridade j estaro terminadas,
tal objetivo o seguinte: seja rgido, interrompa sempre que o que significa que o cliente receber o que lhe de mais valor,
o foco da reunio for desviado, at que o Time se acostume. mesmo que no receba tudo. Por outro lado, caso as prioridades
Talvez leve um pouco de tempo, mas com insistncia a reunio no sejam atendidas e o Sprint falhe, o mesmo pode terminar
flui corretamente. com todas as estrias comeadas, mas nenhuma terminada,
A Figura 4 bastante ilustrativa, em como se executar uma portanto sem nada a ser entregue ao cliente final.
Reunio Diria. Veja que as pessoas esto em p, focadas no A Figura 5 mostra um exemplo do quadro de atividades de
quadro de atividades. Isso ajuda bastante o foco nas tarefas em Scrum. Note que as atividades so ordenadas por prioridade.
questo e, o fato de ficar em p, faz com que o Time tenha von- Tal apelo visual ajuda bastante o Time a organizar-se para
tade de terminar mais rpido, para voltar a suas cadeiras. implementar tarefas de maior prioridade antes de comear
as demais.

Figura 4. Reunio Diria

Sprint
Na execuo do Sprint, alguns cuidados devem ser toma-
dos. O problema mais comum a necessidade de insero de
estrias ou funcionalidades novas no meio do Sprint. Muitas
vezes, Product Owners so pressionados por clientes ou gerentes
de projeto a colocar funcionalidades, consideradas emergen-
ciais, para a prxima entrega. O Time deve ter autonomia de
rejeitar tais funcionalidades, caso elas modifiquem a meta e
arrisquem o sucesso do Sprint. Caso isso no seja permitido Figura 5. Quadro de atividades
pela empresa, ento o sucesso do Scrum estar em perigo, pois
se sua metodologia no pode ser seguida corretamente, talvez Apesar do Scrum no abordar esse assunto especificamente,
esse no seja o melhor modelo a ser adotado (lembre-se que o algo importantssimo que sempre fica de lado a questo de
Scrum no a bala de prata que resolve todos os problemas testes. muito comum para desenvolvedores de software
e no utiliz-lo no significa fracasso). Por outro lado, caso o postergar testes, sempre que possvel. Contudo, importante
pedido do Product Owner seja razovel, algo que no signifique lembrar que as entregas de cada Sprint devem ser passveis
a mudana de meta e no resulte na falha do Sprint, o Time deve de utilizao pelo cliente, ou seja, devem estar bem testadas e
atend-lo. Perceba que, caso novas funcionalidades realmente funcionais. Em outras palavras, deve-se evitar entregar est-
sejam emergenciais e necessrias, o Sprint deve ser cancelado e rias no testadas e, ao final do projeto, fazer alguns Sprints de
uma nova Reunio de Planejamento necessita ser agendada para Testes. O motivo simples: at se chegar nesses Sprints de Testes,
o comeo de um novo Sprint. o produto no poder ser utilizado pelo cliente, o que coloca
Outro erro comum que ocorre a no priorizao das ativi- por terra todo o conceito de entregas iterativas. Entregas s so
dades. natural para cada membro do Time, executar as ativi- entregas caso possam ser utilizadas pelo cliente, caso contrrio,
dades que seja mais proficiente. Isso geralmente significa, para so apenas prottipos detalhados sem valor agregado.

10 Engenharia de Software Magazine - Agile Development: Problemas e Solues no Scrum


agilidade

Reunio de Reviso do Sprint de outros times, contar histrias pessoais, enfim, discutir qual-
Essa cerimnia a que menos se encontram problemas, pois quer outro assunto que no seja o projeto. Portanto, o Time deve
algo que o Time j est acostumado a fazer em outras meto- se esforar para focar no assunto em questo fazendo com que
dologias. Aqui, como dito anteriormente, o Time apresenta ao a reunio efetivamente tenha resultado e no dure toda uma
Product Owner o que foi implementado para alcanar a meta. manh ou tarde, com poucas questes relevantes discutidas.
Nessa reunio, deve-se focar no Sprint atual, ou seja, nem o Alm disso, importante estimular que todos os membros da
Produt Owner, nem o Time devem discutir funcionalidades equipe falem. Mesmo que seja algo redundante, todos devem
anteriores. Alm disso, perfeitamente aceitvel uma entrega dar sua opinio. Isso melhora a integrao entre a equipe e
com bugs, desde que os mesmos no impeam a utilizao muitas vezes pessoas mais tmidas expem pontos de vista
do sistema. Aqui, crucial a honestidade do Product Owner bastante interessantes e diferenciados, pois falam pouco e
em relao ao que pensa sobre o que foi entregue. Nessa observam mais.
reunio, o Time recebe feedbacks e deve aceit-los de forma Outro bom conselho: quando se aponta um problema, deve-
no pessoal, lembrando que a crtica ao produto e no aos se sugerir uma soluo. S reclamar, como todos sabem, no
membros da equipe. uma reunio que deve ser levada com adianta. Portanto, sempre quando uma crtica for trazida,
seriedade, mesmo que o Product Onwer tenha acompanhado importante que a mesma pessoa traga uma possvel soluo.
todo o desenvolvimento durante o Sprint. Um fato interessante Isso traz dois benefcios: primeiramente, j se tem algo para
que nessa cerimnia, rotineiramente dvidas e questiona- comear a resolver o problema e segundo, o Time v cada um
mentos aparecem, os quais dificilmente seriam notados se o dos seus pares de uma forma muito mais amistosa, pois se
escopo completo do que foi desenvolvido no Sprint, no fosse trazendo a soluo, a pessoa que a trouxe cria para si a imagem
apresentado diante do Time e do Product Owner. Uma obser- de algum que quer ajudar a resolver os problemas.
vao interessante: sempre que possvel, conveniente trazer Algo interessante que acontece em times maduros a apa-
o representante do cliente para assistir essa reunio. Isso faz rente falta de necessidades de melhorias. Algumas vezes,
com que o Time receba feedback imediato do cliente final, depois de certo tempo de trabalho, o Time no sugere mais
alm de aproxim-los, devido a estarem no mesmo ambiente melhorias, pois cr que j est num ritmo bom e nada mais
interagindo, algo que sempre gera frutos positivos. pode ser aprimorado. Isso um engano. muito difcil, para
Algo que deve merecer ateno na Reunio de Reviso do no dizer impossvel, estar em um grau de desenvolvimento
Sprint a maneira que feedbacks so dados. importante que que no haja espao para aperfeioamentos.
o Product Owner direcione os comentrios para o Time e no
para a pessoal que implementou a funcionalidade criticada.
O mesmo vale para elogios: todo o Time deve ser elogiado e
no uma pessoa em particular. Isso d ao Time a sensao, que
verdadeira, de que todos so responsveis pelo fracasso ou
sucesso do Sprint e, num contexto mais geral, do produto. Alm
do mais, isso evita que membros da equipe tenham problemas
pessoais com o Product Owner, e vice e versa.

Reunio de Retrospectiva
Essa reunio, sem dvida, a que gera as mais acaloradas
discusses. Portanto, deve-se tomar bastante cuidado para que
desavenas entre membros do Time no ocorram. Logo, alguns
conselhos so mostrados a seguir para que essa cerimnia
ocorra da maneira mais tranquila possvel. O ScrumMaster
a pessoa mais indicada para conduzir a reunio da melhor
forma possvel.
Primeiramente, como na Reunio de Reviso do Sprint, sempre
que possvel, ao fazer-se uma crtica, no direcion-la a um
membro da equipe. Crticas devem ser feitas ao Time todo,
pois o Time responsvel pelo produto. Quando se menciona
nomes, a discusso se torna pessoal, o que mina o objetivo
da reunio, que o melhoramento contnuo do processo de
desenvolvimento.
Outro ponto o seguinte: o foco da discusso deve ser o
projeto. Quando reunies em que o objetivo , entre outros,
apontar defeitos, muitas vezes o tpico principal da conversa
desviado; membros do Time comeam a reclamar da empresa,

Edio 68 - Engenharia de Software Magazine 11


Deve-se verificar se algumas metas comuns a desenvolvi- mais prioritria e apenas depois, partir para a prxima. Isso
mento gil j foram atingidas, tais como: testes automatizados, no natural para profissionais em geral, pois durante todas
poucos bugs, integrao continua, cdigo com boa qualidade, as suas vidas, pessoas so doutrinadas a trabalharem sozinhas
etc. Poucos times chegam a executar todas as boas prticas em atividades completas, ou mesmo que trabalhem em grupo,
citadas. Para os que conseguem, a hora de pensar fora da dividem suas atividades de maneira a terem algo de tamanho
caixa e sugerir atividades que melhorem ainda mais o que aceitvel, sem o desafio de priorizao de estrias.
j est bom. Na Figura 2 veja o exemplo da primeira estria: Como usu-
rio desejo cadastrar e editar produtos.. Para um Time de duas
Papis no Scrum e principais desafios pessoas, a diviso de tal estria seria algo trivial. Por exemplo,
Nesse tpico so discutidos os principais desafios de cada um dos desenvolvedores criaria a interface com o usurio e
papel exercido no Scrum. outro a camada de negcios. Contudo, imagine agora cinco
desenvolvedores. O desafio maior. O primeiro pensamento
Product Owner : existe pouca tarefa para muitas pessoas, portanto o Time
O principal desafio do Product Owner entender o produto. poderia decidir comear mais estrias. Muitas vezes, essa a
Tarefa que no tem nada de trivial. Imagine-se na situao melhor soluo, pois, nesse exemplo, se fosse um Time de nove
de criar algo que no existe. Nessa simples sentena, esse pessoas, certamente no seria possvel quebrar essa estria
o desafio do Product Owner. Para que isso seja possvel, aqui atividades suficientes para tantas pessoas. Entretanto, ser
vo alguns conselhos. que no possvel quebr-la para cinco pessoas? A resposta
Primeiramente, estude muito sobre o produto a ser criado. V a essa questo depende da arquitetura e da criatividade dos
alm do papel de um Analista de Requisitos. O negcio em torno desenvolvedores. Um software desenvolvido em MVC (Model
do produto a ser desenvolvido precisa ser entendido. O que tal View Controller) poderia ter duas pessoas responsveis pela
produto trar de ganho deve ficar perfeitamente claro. Em outras tela: uma para o design e outra pelas interaes com Javascript,
palavras, o Product Owner precisa se tornar temporariamente uma pessoa desenvolvendo o Controller e mais duas na camada
especialista no negcio referente ao que ser criado. de persistncia e negcios que, se tivessem baixo acoplamento
Alm disso, uma estratgia de priorizao e Time to Market ( poderiam ser divididos.
o intervalo de tempo, desde a concepo at a disponibilidade Outro enorme desafio para os times a questo de testes.
de venda de um produto. Esse conceito importante onde Processos em cascata viciam desenvolvedores a deixarem
produtos so considerados obsoletos rapidamente) devem ser testes para o final do desenvolvimento. preciso reeducar
traados. de suma importncia que as primeiras funcionali- o Time a sempre testar e entregar produtos estveis e de boa
dades do produto sejam as que mais tragam valor ao negcio qualidade a cada Sprint. Para se alcanar isso no h segredo:
do cliente. Perceba como isto est intimamente ligado com a deve-se insistir nessa meta, at que a mesma seja alcanada.
questo de priorizao, que sempre enfatizada no Scrum. Isso no acontecer no primeiro Sprint, mas o Time deve lutar
Alm disso, um produto tem seu tempo certo para ser lanado, para uma melhora constante at que tal prtica seja natural.
ou o cliente perder mercado para a concorrncia, da vem a
importncia do Time to Market. ScrumMaster
Outro desafio fundamental para o Product Onwer a co- Esse, sem dvida, o papel mais complicado do Scrum,
municao. Quem atuar nesse papel deve comunicar-se ade- basicamente porque o ScrumMaster no possui autoridade
quadamente, tanto com o cliente, como com a equipe tcnica alguma sobre o Time. Ele deve persuadir a equipe a utilizar
que desenvolve o produto. Isso significa participar de dois essa metodologia sem nenhuma imposio ou poder. Tal ar-
mundos distintos: o do cliente que conhece apenas jarges de gumentao para desenvolvedores no acostumados a isso
negcio do meio onde atua, e do Time de desenvolvimento, que longa e penosa. A grande maioria deles s v valor no Scrum
possui um linguajar extremamente tcnico. Por esse motivo, depois de alguns meses utilizando o framework. Durante esse
profissionais que atuam nesse papel geralmente originam de perodo, o ScrumMaster deve ter muita pacincia e tenacidade
uma carreira relacionada a desenvolvimento de software, j para lidar com inseguranas e questionamentos do Time.
que esto aptos para entender o mundo dos clientes e esto Outro desafio, que infelizmente, no depende apenas do
acostumados a lidar com times tcnicos. ScrumMaster a resoluo de impedimentos. Muitas empre-
sas no do autonomia para que a pessoa que desempenha
Time esse papel possa de fato, por exemplo, interagir com clientes
O Time engloba toda a equipe tcnica, responsvel pelo desen- ou com a gerncia da empresa onde trabalha, para resolver
volvimento do produto. Fazer parte de um Time de Scrum no impedimentos. A entra a criatividade: o ScrumMaster deve
nada simples, principalmente para quem vem do mundo de ser habilidoso para persuadir outras pessoas a lhe ajudarem.
metodologias em cascata. Profissionais, em geral, no apenas Por exemplo, ele deve convencer o Product Owner a conversar
do ramo de desenvolvimento de software, tem o hbito de de- com o cliente a fim de resolver alguma pendncia (suponha
senvolverem atividades completas, do incio ao fim. No Scrum, pendncias de requisitos para a finalizao de uma estria).
isso muda bastante. O Time tem como o objetivo acabar estria Ou ainda, ele deve ter um bom relacionamento com outras

12 Engenharia de Software Magazine - Agile Development: Problemas e Solues no Scrum


agilidade

reas para conseguir, por exemplo, recursos materiais para diminua sua performance pois obrigado a interagir com c-
terminar uma estria (por exemplo, PCs com entradas seriais digo de m qualidade. Portanto, o Time deve se conscientizar e
para comunicao com mquinas antigas). garantir uma boa qualidade, tanto do produto, como do cdigo.
Alm disso, ScrumMaster deve ter profundo conhecimento O ScrumMaster pode ajudar bastante nisso, mostrando ao Time
do Scrum para direcionar o Time de modo a segui-lo correta- as vantagens de se codificar com qualidade.
mente. Um concelho importante : no faa o Time adaptar-se
ao Scrum no primeiro Sprint. saudvel que o Time adapte-se Testes automatizados
ao framework paulatinamente, para que se acostume a ele e o Testes automatizados, de maneira alguma so obrigatrios
processo transitrio seja o menos traumtico possvel. Reuni- para o sucesso de um projeto. Principalmente se o mesmo for de
es de Retrospectiva so sempre interessantes para introduzir curta durao. Contudo, para a criao de produtos que tero
novos passos e conceitos a serem seguidos no Scrum. uma longa vida e sero extensos, recomenda-se fortemente
a criao dos mesmos. O tempo dispendido na sua criao e
Scrum e uma soluo definitiva manuteno ganho durante testes de regresso que so feitos
Muito se discute se Scrum a soluo para todos os proble- automaticamente pelos testes.
mas de processos em cascata. A resposta simples: no. Scrum Veja o seguinte cenrio: imagine um produto onde, caso
resolve vrios problemas, como o encorajamento a mudana, a as funcionalidades atuais quebrem algo desenvolvido
valorizao do indivduo em relao a processos, entre outras anteriormente, o desenvolvedor seja imediatamente avisado
questes mencionadas aqui. Contudo, alguns problemas ainda de tal problema. Nesse mesmo produto, no so necessrios
permanecem. testes de regresso nem a preocupao com funcionalidades j
Estimativas um problema sem soluo ainda. Apesar desenvolvidas que atualmente esto em funcionamento. Esse
das estimativas por pontos no Scrum, aps uma calibrao por produto, necessariamente possui testes automatizados.
vrios Sprints, mostrar bom resultados, ainda se tem o srio Entretanto, no se engane pensando que testes automatizados
problema de entender-se e estimar um projeto de mdio a longo so a bala de prata para problemas de testes de produtos.
prazo. Mesmo atividades simples so mal estimadas, at hoje. Mesmo com eles, ainda podem existir erros oriundos de novas
Em outras palavras, no Scrum se consegue estimar estrias a funcionalidades que no foram detectados pelos testes automa-
serem desenvolvidas no perodo de um Sprint, mas ainda no tizados. Contudo, a frequncia destes ser bem menor.
se consegue estimar com exatido um projeto qualquer, com Scrum, sem dvida alguma, resolve inmeros problemas de
durao de um ano, por exemplo. processos em cascata. Contudo, desenvolvimento de software
Lidar com pessoas ainda um desafio, e provavelmente o ser, ainda continua uma atividade complexa e com muitos desa-
por muitos anos. O Scrum ainda piora esse problema, pois fios. Por fim, observe que o Scrum deve ser encarado como um
tira totalmente o foco de processo e o coloca em pessoas. framework que ajuda o desenvolvimento de software, mas
Scrum, apesar de fcil de entender, um processo dificlimo apenas uma metodologia. O sucesso do produto criado est
de seguir, como discutido em tpicos anteriores. nas mos do Time que trabalha nele.

Qualidade do cdigo Links:


Em processos em cascata, a qualidade do cdigo era bem
controlada se o projeto possusse um arquiteto com bons Manifesto gil
conhecimentos e autoridade. Com Scrum, como o Time res- http://agilemanifesto.org/
ponsvel pelo produto e pelo cdigo, no se permitido ter
uma pessoa com autoridade para forar membros da equipe Voc gostou deste artigo?
a codificarem com qualidade. Com frequncia, boa parte do
Time no se importa com a qualidade do cdigo. Isso gera
D seu voto em www.devmedia.com.br/esmag/feedback
problemas enormes no futuro, pois, com a necessidade de
manuteno contnua e com o dinamismo muito grande dos Ajude-nos a manter a qualidade da revista!
Sprints, cdigo mal estruturado comea fazer com que o Time

Edio 68 - Engenharia de Software Magazine 13


Planejamento e Gerncia
Nesta seo voc encontra artigos voltados para o planejamento
e gerncia de seus projetos de software.

Groupware: Modelo de comunicao para


projetos distribudos
Um estudo utilizando ferramentas de groupware

Fique por dentro:


Para se ter qualidade em um processo de de-
senvolvimento de software com equipes geo-
graficamente distribudas necessrio ter uma
comunicao eficaz entre os envolvidos, a fim
Leonardo Sanches dos Santos Jos Augusto Fabri de que haja a compreenso mtua na troca de
Mestrando em Computao Aplicada pela Possui graduao em Tecnologia em Processa-
mensagens. Deste modo, este artigo tem como
Universidade Tecnolgica Federal do Paran na mento de Dados pela Fundao Educacional do
subrea de Engenharia de Software, atuando Municpio de Assis (1997), mestrado em Cincia objetivo propor um modelo de comunicao cria-
na linha de pesquisa de qualidade no processo da Computao pela Universidade Federal de do com base em um estudo de caso aplicado em
de desenvolvimento de software com equipes So Carlos (1999) e Doutorado em Engenharia uma empresa de desenvolvimento de software, o
geograficamente distribudas, especialista em de Produo pela Escola Politcnica da Univer- qual contribuiu para o aumento da produtividade
Anlise, Projeto e Gerncia de Sistemas com sidade de So Paulo. Atualmente professor
de desenvolvimento da empresa e na qualidade
nfase em Inteligncia em Negcios pela Uni- adjunto da Universidade Tecnolgica Federal
versidade Estadual de Londrina e graduado em do Paran. Atua nos seguintes temas da com- de disseminao e armazenamento das infor-
Anlise e Desenvolvimento de Sistemas pela putao: Engenharia de Software, Processo de maes. Portanto, este artigo pode ser aplicvel
Universidade Tecnolgica Federal do Paran. Produo de Software e Fbrica de Software. a todas as empresas que desejam melhorar a
Profissionalmente, atua como Gerente de Pro- qualidade do fluxo de repasse de requisitos ou in-
jetos na empresa BlueOri, especializada em e-
formaes de seus projetos, que tenham dificul-
commerce para mdias e grandes empresas.
dades ou perdas de informaes dentro do fluxo

A
o longo dos ltimos anos, vem de comunicao existente e para as organizaes
se tornando comum encontrar que no possuem experincia com a utilizao de
Alexandre LErario empresas motivadas a aderir ao ferramentas de groupware para a realizao de
Possui graduao em Tecnologia em Processa- modo de desenvolvimento de software trocas de mensagens entre equipes de desenvol-
mento de Dados pela Fundao Educacional do
Municpio de Assis (1998), mestrado em Cincia
com equipes distribudas, ou seja, lo- vimento distribudas.
da Computao pela Universidade Federal de calizadas geograficamente distantes,
So Carlos (2001) e doutorado em Engenharia estando estas dispersas at mesmo entre
da Produo pela Poli/USP (2009). Atualmente continentes. adquirirem profissionais mais especiali-
professor da Universidade Tecnolgica Federal Este tipo de modalidade vem ganhan- zados, conquistar uma presena globali-
do Paran. Tem experincia na rea de Cincia
da Computao, com nfase em desenvolvi-
do foras devido aos interesses das orga- zada, alm de poder estar mais prxima
mento distribudo de Software. nizaes em reduzir custos de projetos, de seus clientes em modo geral.

14 Engenharia de Software Magazine - Groupware: Modelo de comunicao para projetos distribudos


planejamento

Neste contexto, os projetos realizados necessitam de comu- Os participantes envolvidos nesta pesquisa foram os prprios
nicao entre stakeholders (envolvidos ou afetados por um colaboradores da empresa, os quais possuem diferentes nveis
projeto ou por seus resultados, seja uma pessoa, grupo ou de conhecimento e funes dentro da organizao, sendo
organizao) fisicamente distantes para compreender como desenvolvedores, testadores, gerentes de projetos, diretores
as tarefas devem ser executadas e quais objetivos devero ser executivos, designers e recepcionista.
alcanados. Deste modo, a comunicao consome recursos para As informaes do estudo de caso foram coletadas por
troca de informaes a fim de promover a compreenso mtua, meio de formulrios individuais em formato de planilha
item essencial no gerenciamento de qualquer projeto. disponibiliza em um servidor na nuvem, onde o responsvel
Ainda nesta perspectiva, com o intuito de diminuir custos e pela aplicao do estudo possua acesso em tempo real das
facilitar a comunicao entre as pessoas dispersas no espao e informaes preenchidas pelos participantes, podendo desta
tempo, as equipes utilizam-se das ferramentas de groupware forma monitorar se todos os membros envolvidos estavam
que so mediadas por computador para a realizao da comu- preenchendo os dados de forma adequada e corrigi-los se
nicao e gerenciamento das trocas de mensagens. Groupware necessrio.
a tecnologia baseada em mdia digital que possibilita suporte A aplicao do estudo de caso em forma de questionrio teve
as pessoas organizadas em grupos que podem variar em ta- como objetivo facilitar a compreenso e o preenchimento das
manho, composio e local de trabalho. informaes durante a rotina de trabalho dos participantes.
O objetivo deste artigo apresentar um modelo de comu-
nicao para projetos distribudos de software com auxlio Cenrio
de ferramentas de groupware, gerado a partir de um estudo O estudo de caso deste artigo foi realizado em uma empre-
de caso, aplicado em uma empresa de desenvolvimento de sa de desenvolvimento de software, atuante no mercado
software contida dentro de um cenrio de Desenvolvimento aproximadamente seis anos e especializada em e-commerce
Distribudo de Software (DDS). e aplicaes Web.
O estudo de caso surgiu com o propsito de levantar os A empresa citada utiliza mtodos geis Scrum e o modelo
principais pontos falhos na comunicao dentro do processo Kanban no processo de desenvolvimento dos softwares. O
de desenvolvimento empregado pela empresa e minimizar Scrum framework baseado em pequenas iteraes, que
a constante interrupo das equipes com o fluxo de comuni- possui fases dinmicas e menos burocrticas em relao aos
cao, o que aumentaria consequentemente a produtividade modelos de qualidade tradicionais. J o Kanban um modelo
de entrega dos projetos. Para tanto, dados foram coletados e que fornece ainda mais transparncia ao processo e ao fluxo
analisados de forma quantitativa e qualitativa para obter uma que est sendo executado, o que possibilita a visualizao
viso da frequncia e eficcia da comunicao. Finalmente, clara dos gargalos, filas, variabilidade e desperdcios das
um modelo de comunicao foi implantado com o objetivo de atividades, este modelo se resume em visualizar processos,
minimizar a sobrecarga de informaes incrementadas ao pr- limitar o trabalho em andamento definido do ingls como
prio processo de comunicao, aumentando a produtividade WIP (Work In Progress) e gerenciamento do lead-time (tempo
de desenvolvimento e o nvel de qualidade na comunicao e que a atividade leva para passar por todas as fases, desde a
disseminao das informaes. concepo at a entrega).
A organizao atua em um cenrio de Desenvolvimento Dis-
Os principais pontos falhos do processo tribudo de Software composto por quatro partes distintas:
Foi necessria a realizao de um estudo para identificar se Clientes de perfil A (clientes que possuem setor de Tecno-
as informaes geradas no processo de desenvolvimento dos logia da Informao (TI) na empresa, ou seja, participam da
produtos estavam sendo armazenadas e disponibilizadas a construo do produto, inclusive da codificao);
todos os envolvidos de forma eficiente e segura, sem que haja Clientes de perfil B (clientes convencionais que no pos-
centralizao de informaes em determinados membros. suem setor de TI na empresa, participam apenas da gerncia
Alm de utilizar os dados coletados no estudo de caso como de requisitos);
base para a criao do modelo de comunicao que ser propos- Equipe de desenvolvimento que atua de forma remota (sem
to neste artigo, o qual define um fluxo padro de comunicao local fixo, trabalha de qualquer ambiente que haja os requisitos
para organizaes imersas em ambientes de DDS. mnimos para exercer suas funes);
O objetivo do estudo de caso foi mapear o fluxo de comuni- Equipe de desenvolvimento que trabalha na sede da
cao realizado entre as equipes dispersas em um cenrio de organizao.
DDS, com o intuito de coletar dados das trocas de informaes
realizadas, a fim de identificar os problemas existentes no cen- Porm, apesar das equipes estarem geograficamente dis-
rio atual e mapear os meios de comunicao mais utilizados. tantes, a unio do trabalho das partes essencial para a
O estudo foi executado por meio de um monitoramento rea- construo do produto final. A Figura 1 mostra o contexto
lizado em um perodo aproximado de um ms, considerando no qual o estudo de caso foi aplicado e como ocorre o fluxo
deste perodo apenas os dias teis de acordo com o calendrio da comunicao e o armazenamento das informaes entre
e horrios comerciais do Brasil, nos quais haviam expediente. as partes envolvidas.

Edio 68 - Engenharia de Software Magazine 15


de ferramentas de groupware, que so meios de comunicao
online que possibilitam trocas de informaes por meio de
mensagens instantneas, chamadas de udio e vdeo como,
por exemplo: Messenger, Skype, Google Hangouts entre
outros similares.

Figura 1. Cenrio do processo de Desenvolvimento Distribudo de


Software da empresa estudada

Pode-se observar a partir das setas 1, 2 e 3 que a interao


de todas as partes se centraliza na empresa X, de forma que
ela recepciona as informaes e gerencia o repasse e o arma-
zenamento do que foi comunicado de acordo com o processo
de desenvolvimento adotado no projeto.
Os artefatos gerados durante o processo de construo do
software so armazenados em um servidor hospedado na
nuvem (servidores compartilhados e interligados por meio da
Figura 2. Fluxo de comunicao entre os envolvidos
Internet) pelas partes que participam do processo de constru-
o do software como se pode observar nas setas 4, 5 e 6 da
Figura 1. As conversas formais so realizadas por meio de chamadas de
udio e vdeo e documentadas por meio do correio eletrnico
Fluxo de comunicao entre os envolvidos no projeto (e-mail) entre os envolvidos no assunto que esteve em pauta. J
As trocas de informaes entre as equipes dispersas ocorrem as conversas informais so realizadas por meio de mensagens
de forma aleatria entre os envolvidos, de modo que as infor- instantneas e caso haja necessidade de documentar alguma
maes no so centralizadas em um membro especfico da informao relevante extrada da conversa documentado por
empresa, o qual seria responsvel por gerenciar a coleta e o e-mail mantendo em cpia os interessados.
repasse das informaes. Desta forma, os clientes se comuni- Porm, apesar de ocorrer o armazenamento de parte das
cam diretamente com os desenvolvedores para solicitao de informaes obtidas na interao entre as equipes geogra-
novas demandas, esclarecimentos de dvidas e acompanha- ficamente distantes, a maneira como estas informaes so
mento do projeto. armazenadas dificulta muito a compreenso dos membros do
A Figura 2 mostra como o fluxo de comunicao ocorre entre projeto, pelo fato de serem persistidas na maior parte das vezes
os envolvidos no processo de desenvolvimento do software. de forma resumida e abstrata devido rotina de trabalho e
Pode se observar que os clientes tm acesso direto aos de- sobrecarga destes colaboradores exercendo mltiplas funes
senvolvedores e demais colaboradores da empresa, tanto os que fogem de suas obrigaes reais.
clientes de perfil A, quanto os de perfil B. Com este fluxo
de comunicao as informaes se dividem entre vrios cola- Dados coletados
boradores, de acordo com o que exibido na Figura 2 com as A execuo do estudo de caso teve aproximadamente um ms
setas de 1 a 4. Deste modo, a empresa depende de todos estes de durao, porm logo na segunda semana pode-se notar que
colaboradores para descentralizar as informaes retidas a eles as informaes armazenadas comearam a se repetir frequen-
e dissemin-las aos demais membros, porm esta prtica nem temente com relao aos meios de comunicaes e ferramentas
sempre pode acontecer, seja por indisciplina, por urgncia ou utilizadas para a realizao das trocas de mensagens, portanto
pelo fato do colaborar no possuir qualificaes necessrias devido ocorrncia repetitiva de informaes nos formulrios
para realizar mltiplas funes. preenchidos pelos participantes, possvel relatar que se o
A comunicao entre as equipes dispersas ocorre por meio estudo de caso se prolongasse por mais tempo os resultados
de ligaes telefnicas e reunies distribudas com auxlio no sofreriam mudanas radicais.

16 Engenharia de Software Magazine - Groupware: Modelo de comunicao para projetos distribudos


planejamento

De acordo com os dados coletados nos formulrios preen- a partir do fluxo de comunicao no servidor que de acesso
chidos pelos colaboradores, os meios de comunicao mais livre a todos os envolvidos no projeto.
utilizados nas trocas de mensagens entre as equipes foram: Com os resultados mostrados nessa ltima figura, pode-se
Chamada de voz via ferramentas de comunicao online, as concluir que menos da metade de todo o fluxo de comunicao
mais utilizadas foram: Skype e Google Talk. gerado neste cenrio armazenado fisicamente (informaes
Chat, por meio de ferramentas de mensagens instantneas, armazenadas em alguma forma, seja em documentos armaze-
as mais utilizadas foram: Skype e Slack; nados na mquina local, repositrios virtuais ou servidor) para
Correio Eletrnico (e-mail); serem disponibilizados para os demais colaboradores.
Ligao via telefone fixo e celulares;
Vdeo Conferncia, por meio de ferramentas de comunicao
de udio e vdeo, a mais utilizada foi: Google Hangouts.

Os dados coletados na pesquisa totalizaram em 806 ocorrn-


cias, divididas em:
131 ocorrncias por chamada de voz;
384 ocorrncias via chat (mensagens instantneas);
266 ocorrncias via e-mail;
10 ocorrncias com ligaes via telefone fixo e celular;
15 ocorrncias relacionadas a vdeo conferncias;

A Figura 3 mostra estatisticamente as ocorrncias mapeadas


durante o fluxo de comunicao das equipes dispersas.
Figura 4. Fluxo de comunicao entre a empresa e as equipes dispersas

Figura 5. Armazenamento de informaes decorrente do fluxo de


comunicao
Figura 3. Meios de comunicao utilizados no fluxo de comunicao
Modelo de comunicao
Alm dos meios de comunicao, foi mapeado o fluxo de O modelo de comunicao proposto foi desenvolvido com
comunicao realizado entre a empresa e as equipes dispersas, base no estudo de caso, tanto por meio da anlise dos dados
em que foram levantados os seguintes nmeros: quantitativos, quanto qualitativos. A estrutura criada teve
630 ocorrncias referentes a comunicao entre os clientes como base o cenrio diversificado da empresa em que foi reali-
de perfil A e a empresa; zada a pesquisa, alm da utilizao de algumas caractersticas
101 ocorrncias referentes a comunicao entre os clientes do framework Scrum para a criao dos papis existentes no
de perfil B e a empresa; modelo.
75 ocorrncias referentes a comunicao entre a equipe Os objetivos do modelo so maximizar o foco e produtivi-
remota e a empresa. dade da equipe de desenvolvimento, evitando que ela seja
constantemente interrompida e que exera outras funes
A Figura 4 exibe, de acordo com as ocorrncias coletadas, os que vo alm da sua principal que desenvolver software e
fluxos de comunicao mais frequentes. aumentar a qualidade da comunicao e da disseminao das
Outras informaes relevantes puderam ser analisadas e informaes entre os envolvidos estejam eles dispersos ou no,
definidas no estudo de caso realizado. A Figura 5 mostra a pro- alm de evitar a centralizao de informaes em membros
poro de dados que foram gerados e armazenados fisicamente especficos.

Edio 68 - Engenharia de Software Magazine 17


Com o intuito de alcanar os objetivos, o modelo apresenta Resultados
um papel chamado de Internal Product Owner, onde gran- Baseado no cenrio diversificado da empresa, em que
de parte das caractersticas foi herdada do papel de Product as equipes possuem diferentes nveis de conhecimento
Owner existente no Scrum, salvo algumas excees que foram e papis dentro dos projetos, alm da diferena geogr-
acrescentadas. Esta funo tem como objetivo intermediar fica das equipes, o nvel de compreenso das atividades
as trocas de informaes que ocorriam entre os clientes e os e consistncias das informaes devem ser mantidos
desenvolvedores. Deste modo, este papel ter as seguintes constantemente.
caractersticas: Com a aplicao do modelo de comunicao, pode-se
Manter contato direto com os clientes, a fim de coletar todas observar de forma qualitativa que a equipe de desenvolvi-
as informaes reportadas por eles; mento da empresa e a equipe remota tiveram um ganho em
Disseminar as informaes coletadas para os envolvidos relao ao foco e a produtividade na entrega das atividades,
que necessitem das mesmas por meio das ferramentas de alm da melhoria dos escopos das atividades e distribuio
groupware; de informaes por possuir um profissional focado em
Documentar as informaes relevantes e torn-las pblicas gerenciar a comunicao e a gesto do conhecimento entre
para todos os envolvidos por meio de algum repositrio que as equipes dispersas.
ambos tenham acesso; Aps a implantao do modelo, foi executado novamente o
Gerenciar o backlog (lista de requisitos priorizadas) do estudo de caso por perodo igual execuo anterior e os re-
projeto; sultados quantitativos totalizaram em 819 ocorrncias com os
Esclarecer dvidas de escopo de atividades e regras de clientes, sendo que 782 foram realizadas com o Product Ow-
negcio com o cliente; ner Interno e apenas 37 com a equipe de desenvolvimento.
A Figura 7 exibe as ocorrncias coletadas.
A Figura 6 exibe a estrutura do modelo de comunicao
proposto e como recomendado que o fluxo de comunicao
ocorra.

Figura 7. Fluxo de comunicao (Clientes x Empresa)

De acordo com a figura, fica claro o aumento do foco da


equipe de desenvolvimento em suas atividades. Os meios
de comunicao utilizados nas trocas de informaes no
sofreram mudanas expressivas, de forma que foram ma-
peados os seguintes dados:
226 ocorrncias por chamada de voz;
312 ocorrncias via chat (mensagens instantneas);
Figura 6. Modelo de comunicao proposto 277 ocorrncias via e-mail;
zero ocorrncias com ligaes via telefone fixo e celular;
De acordo com essa figura, possvel observar que para as quatro ocorrncias relacionadas a vdeo conferncias;
informaes chegarem aos desenvolvedores, primeiro so fil-
tradas pelo Internal Product Owner, o qual neste momento Na Figura 8 possvel observar a utilizao dos meios de
detalha as atividades, documenta ou registra no backlog e comunicao entre as equipes dispersas.
repassa para os desenvolvedores em momentos oportunos, a Com relao ao armazenamento de informaes geradas a
fim de no tirar o foco dos mesmos nas atividades que esto partir do fluxo de comunicao tambm houve aumento, de
sendo desenvolvidas. Porm, vale ressaltar que mesmo com modo que as informaes deixaram de ter dono de conhe-
a aplicao deste modelo, os desenvolvedores ainda podero cimento e ficaram disponveis de forma pblica para toda a
ter contato com os clientes, mas deve ser de forma pontual, equipe. A Figura 9 mostra a porcentagem de comunicaes
ou seja, algum assunto tcnico que haja a necessidade de ser que gerou algum tipo de armazenamento, seja por e-mail,
tratado apenas com os desenvolvedores. documento, imagens, gravao de udio e outros.

18 Engenharia de Software Magazine - Groupware: Modelo de comunicao para projetos distribudos


planejamento

Alm destes benefcios, com a implantao do modelo


de comunicao proposto foi possvel tambm aumentar a
qualidade dos escopos dos projetos e a disseminao das in-
formaes a todos os envolvidos, pelo fato de que a empresa
passou a ter uma funo especfica para coletar as informaes
externas e armazen-las de forma pblica a toda a equipe,
evitando desta forma a centralizao de conhecimento em
pessoas especficas.

Referncias:

[1] F. S. F. Soares, L. M. R. de Sousa Mariz, Y. C. Cavalcanti, J. P. Rodrigues, M. G.


Figura 8. Meios de comunicao utilizados no fluxo de comunicao Neto,. R. Bastos, A. C. M. Almeida, D. T. V. Pereira, T. da Silva Arajo, R. S. Cor-
reia et al., Adoo de scrum em uma fbrica de desenvolvimento distribudo
de software, Centro de InformticaUFPERecifePEBrasil, 2007.

[2] C. Trindade, A. Moraes, and S. Meira, Comunicao em equipes distribu-


das de desenvolvimento de software: Reviso sistemtica, in ESELAW08:
Proceedings of the 5th Experimental Software Engineering Latin American
Workshop, 2008.

[3] E. Carmel, Global software teams: collaborating across borders and time
zones. Upper Saddle River, NJ, USA: Prentice Hall PTR, 1999.

[4] L. E. Chaves, F. H. Silveira, G. Pech, and M. F. d. S. Carneiro, Gerenciamento


de comunicao em projetos. Editora FGV, 2006.

Figura 9. Armazenamento de informaes [5] H. Fuks; M. Gerosa; M. G. Pimentel. Projeto de Comunicao em Groupwa-
re: Desenvolvimento, Interface e Utilizao. In: XXII Jornada de Atualizao
Com a atribuio de uma funo especfica para gerenciar o em Informtica, Anais do XXIII Congresso da Sociedade Brasileira de Com-
fluxo de comunicao e disseminao de informaes, a figura putao V. 2003. p. 295-338
exibe o aumento significativo de informaes armazenadas
em comparao aos dados coletados antes da aplicao do Voc gostou deste artigo?
modelo.
Os resultados gerados com o uso da abordagem foram po- D seu voto em www.devmedia.com.br/esmag/feedback
sitivos tanto na melhora do foco e produtividade das equipes
de desenvolvimento, quanto na qualidade no fluxo de comu- Ajude-nos a manter a qualidade da revista!
nicao e gesto do conhecimento da empresa.

Edio 68 - Engenharia de Software Magazine 19


Planejamento e Gerncia
Nesta seo voc encontra artigos voltados para o planejamento
e gerncia de seus projetos de software.

Use Case Point: Estimativas de Projeto


Parte 3
Da arquitetura civil interao humano-computador

Anderson Pinheiro Balbo Fique por dentro:


anderson.balbo@gmail.com Realizar estimativas sempre um desafio.
Possui graduao em Informtica com nfase
Quando o assunto desenvolvimento de
em Gesto de Negcios pela Faculdade de
Tecnologia da Zona Leste, especializao em Este artigo faz software, o assunto fica ainda mais complexo.
Engenharia de Software pelo Instituto de Com- So tantas variveis a serem consideradas que
parte de um curso
putao-UNICAMP e especializao em Gesto fica difcil ter uma garantia de que as estima-
de Projetos em TI pela Fundao Carlos Alberto tivas refletem de perto o problema que ser
Vanzolini-USP. Atualmente supervisor de TI na
tratado. Neste artigo apresentaremos um caso
Caixa Econmica Federal.
prtico do uso de pontos por caso de uso. Vere-
Wilson Vendramel mos como ele pode ser til nesta difcil tarefa

A
wilson.vendramel@fatec.sp.gov.br s empresas de informtica de- de estimar esforo em projetos de software.
Possui especializao em Engenharia de Software senvolvem seus projetos com
e mestrado em Cincia da Computao pelo Ins-
base no prazo estipulado pelo
tituto de Computao-UNICAMP, e especializao
em Melhoria de Processo de Software pela Uni- cliente e no custo necessrio para a pro- Em 1981, em Software Engineering
versidade Federal de Lavras. Atuou como Espe- duo de um determinado software. Economics, Dr. Barry Boehm forneceu
cialista de Sistemas na IBM Brasil. Atualmente O custo dos produtos fornecidos por parmetros que contribussem para
professor do IFSP de Bragana Paulista e da FATEC essas empresas divergiu por muitos determinar o custo de software, apre-
Zona Leste e So Caetano do Sul. Tem interesse
anos, pois at ento no havia uma m- sentando o mtodo COnstructive COst
nas reas de Engenharia de Software, Banco de
Dados, Gesto de Projetos e BPM. trica para o clculo do esforo humano MOdel, conhecido como COCOMO.
na criao do software requerido. No Embora eficiente, esse modelo apre-
Maria Beatriz Felgar de Toledo era levado em considerao o esforo sentou limitaes quanto s abordagens
beatriz@ic.unicamp.br
empenhado para a construo do pro- orientadas a objetos, levando a adoo do
Possui graduao e mestrado em Cincia da
Computao pelo Instituto de Computao- duto, por exemplo, e no havia frmulas modelo de Anlise de Pontos de Funo,
UNICAMP e doutorado em Sistemas Distribu- matemticas suficientes gerao das pela IFPUG. O paradigma da contagem
dos pela Universidade de Lancaster, Inglaterra. estimativas. de linhas de cdigo para medio deixou
Atualmente professora associada na Univer- Com isso, o software era vendido por de ser o critrio de contagem principal,
sidade Estadual de Campinas. Tem interesse
um preo estipulado de forma superfi- e os projetos passaram a contar com as
nas reas de gesto de processos de negcio,
servios Web, Web semntica e arquiteturas cial, sem que todos os critrios necess- funcionalidades do sistema como fator
orientadas a servios. rios fossem considerados. de mensurao.

20 Engenharia de Software Magazine - Use Case Point: Estimativas de Projeto Parte 3


planejamento

Em 1993, Karner apresentou o UCP (Use Case Points) como (Laboratory Information and Management System - LIMS),
um novo conceito de medio, permitindo que as estimativas da ABC, denominado ABCLIMS. Esse sistema viabiliza a
fossem levantadas desde a anlise dos requisitos. Esse modelo automatizao da programao de coleta das amostras, coleta
tende a tornar-se um grande fator competitivo para as organi- automtica dos resultados das anlises e gerenciamento de
zaes, pois estas podem apresentar as estimativas de custo e todas as atividades de todos os laboratrios. O controle da
prazo ao cliente com maior preciso antes mesmo do incio do amostra feito atravs do uso de cdigo de barras, data e hora,
desenvolvimento. No estudo de caso apresentado neste artigo, instrumento, alm da metodologia utilizada e o responsvel
o modelo utilizado para as medies ser o Use Case Point. pelas anlises (ver Figura 2).
A metodologia adotada para este estudo de caso a anlise
dos dados atuais da empresa ABC e a entrevista com o seu res-
ponsvel, de forma a obter as estimativas de custo. A entrevista
uma das mais importantes fontes de informao ao se compor
um estudo de caso, pois apesar do risco de sua ambiguidade,
quando bem elaborada direciona a dados objetivos.
Os resultados obtidos sero comparados com os j existentes,
e sua preciso ser analisada quanto ao cumprimento de prazo,
custo e esforo; por fim, ser verificada a sua viabilidade de
aplicao.

Descrio da empresa do estudo de caso


O estudo de caso deste artigo foi baseado no sistema corpo-
rativo para automao e gesto de laboratrios - ABCLIMS,
desenvolvido pela empresa de engenharia ABC, responsvel Figura 2. Elementos do controle de amostra para o ABCLIMS
tambm pela manuteno do sistema.
O ABCLIMS hoje utilizado por mais de 500 profissionais Outra funo do sistema a viabilizao da anlise de quali-
em 40 diferentes laboratrios fsico-qumico, bacteriolgico e dade da matria-prima e dos produtos finais, alm de permitir
hidrobiolgico. A ABC vem oferecendo desde o ano de 1996 o rastreamento do processo.
solues em tecnologia para o setor laboratorial, destinadas O sistema ABCLIMS possui vrios mdulos, e os principais
s reas de siderurgia, energia eltrica, meio ambiente, txtil, so: ABClab e ABCMaster, subsistemas responsveis respectiva-
gs e saneamento bsico, a fim de atender s necessidades de mente por anlises laboratoriais, e a correta utilizao de meto-
seus clientes no controle de qualidade de gua e esgoto, alm dologias e procedimentos de anlise de qualidade da gua.
da telemetria de processos e sistemas de produo.
O sistema ABCLIMS foi desenvolvido com base em modelos ABClab
utilizados em diversos pases onde h o controle de qualidade A funo do ABClab automatizar os processos de anlise
da gua. O MPLA (Modelo de Processos de Laboratrio de laboratorial, conectando-se aos instrumentos de anlise de
Anlise) o modelo que identifica os processos laboratoriais, modo que os resultados gerados nestes sejam enviados dire-
conforme a Figura 1. tamente para o sistema.
Entre as informaes vinculadas aos resultados, esto os
responsveis pela coleta da amostra, as condies de campo,
recepo da amostra no laboratrio, identificao do instru-
mento e mtodo utilizado, e o responsvel pela anlise.
Tambm so extradas informaes sobre as condies de
aferio dos instrumentos, controle dos limites de deteco
dos instrumentos, validade e identificao dos reagentes
provenientes da anlise, condies de aferio e identifica-
o das vidrarias usadas na anlise, e a conformidade dos
resultados aferidos.
O ABClab possui uma interface simples com o usurio (ver
Figura 3), e um conjunto apropriado de funcionalidades para
Figura 1. Modelo de Processos de Laboratrio de Anlise a coleta e verificao dos resultados das anlises, atendendo
s exigncias de normas de qualidade como a ISO-17025, que
ABCLIMS determina os requisitos exigveis aos laboratrios de ensaio
O sistema a ser analisado, para estimativa neste estudo de e calibrao.
caso, um sistema para Automao e Gesto de Laboratrios Os dados para anlise so recebidos atravs do PocketLab,
Fsico-qumicos e Microbiolgicos de Controle de Qualidade que o sistema instalado nos microcomputadores de bolso,

Edio 68 - Engenharia de Software Magazine 21


utilizados pelos analistas para coleta eficaz dos dados, sem
que haja a necessidade de anotao em papel, possibilitando Opo de Cadastro Itens de Cadastro
que tais dados sejam transferidos quando o PocketLab est
Anlise, Grupos de Anlise, Frmulas e Algoritmos de Clculo.
conectado com o ABCMaster.
Instrumentos, Mtodos Analticos.
ABCMaster Interfaces com os Instrumentos, Bancada e Laboratrios.
O mdulo ABCMaster conta com as opes de Cadastro, EPIs e Carta Controle (CEP).
Superviso e Relatrios. O Gerador de relatrios permite que Observaes e Grupos de Observaes.
o usurio configure relatrios do gnero qualitativo, quanti-
Amostragem: Embalagens, Frascos e Preservaes.
tativo, alm de laudos, balanos das anlises, resultados, log Cadastro Geral
Produtos Qumicos, Reagentes, Vidrarias e Grupos de Vidrarias.
de acesso e operaes (ver Figura 4). H diversas opes de
filtragem das opes, possibilitando ao gestor a anlise dos Clientes, Fornecedores e Ramos de Atividades.
resultados por diferentes ngulos. Usurios, Cargos, Funes, Atribuies e Direitos de Acesso por
Menu.
Organograma empresarial com nveis hierrquicos.
Produtos (matria-prima e acabados) e Pontos de Coleta.
rea de recepo e amostragem de matrias-primas.
Almoxarifados e depsitos especficos.
Pontos de Coleta Pontos de processo produtivo.
rea, Reator, Embaladora, etc.
Mensagens e Alarmes de desvios e anomalias.
rgos de Regulamentao e Normalizao (oficiais e internos).
Regulamentaes e Normas (USEPA, AOAC, GLP, ISO, USP, ABNT,
Normas, Regulamentaes e
ASTM, etc.).
Necessidades do Cliente
Usurios e Grupos de Usurios com diferentes Direitos de Acesso,
por item de Menu.
Cargos e Atribuies.
Administrativo Programa de Treinamento.
Figura 3. Interface do sistema ABCLIMS - ABClab
Organograma da Empresa.

Tabela 1. Funcionalidades do Cadastro do sistema ABCLIMS

A Superviso oferece recursos para a gesto da capacidade


dos laboratrios e a emisso dos relatrios gerenciais com
opes de filtros avanados, assim como suporta a verificao
dos resultados das anlises e a solicitao de novas anlises,
se for o caso. Tambm trata da distribuio das informaes
ao longo da empresa, controlando e restringindo o acesso dos
usurios de acordo com as suas responsabilidades. Quando
integrado ao ABClab, o ABCMaster oferece as vantagens exi-
bidas na Tabela 2.

Relatrio de entrevista inicial


Alm do estudo do sistema ABCLIMS e dos seus mdulos,
para a elaborao do estudo de caso tambm foi realizada en-
trevista com o responsvel pela empresa ABC. Com base nas
respostas fornecidas pelo representante da ABC, foi possvel
Figura 4. Interface do ABCMaster
esclarecer algumas informaes que contribuem para o dire-
O Cadastro conta com sessenta telas de cadastro e configu- cionamento e entendimento do negcio. Portanto, essa entre-
rao, e permite definir caractersticas de anlise, frmulas, vista tem a finalidade de auxiliar nos estudos da empresa.
algoritmos, instrumentos, vidraria, reagentes, direitos de Em primeiro lugar, a ABC conta com uma metodologia
acesso aos usurios, grupo de anlises, normas, regulamen- prpria de desenvolvimento. Essa afirmao pde ser cons-
taes governamentais, reas, equipe de trabalho, clientes e tatada ao analisar o processo atual, reforando a necessidade
fornecedores, entre outros (ver Tabela 1). de adaptaes nesse processo por parte do seu representante,

22 Engenharia de Software Magazine - Use Case Point: Estimativas de Projeto Parte 3


planejamento

que atendam s necessidades das estimativas, e que o torne Atores: dada a sua interao com as funcionalidades do
aderente aos processos de melhoria de software, como o MPS sistema, so essenciais para a determinao da complexidade
.BR, por exemplo. do mesmo;
Contudo, a empresa conta com a atividade de levantamento Casos de uso: constituem o sistema em questo, pois so as
de requisitos, o que constitui parcialmente uma disciplina do aes geradas por outro caso de uso ou ator que permitem o
RUP, atravs de entrevistas nos locais onde esto os clientes, e funcionamento do sistema;
da elaborao da Especificao de Requisitos Funcionais. Fatores de complexidade tcnica: so os requisitos funcionais
Entre as respostas fornecidas pelo gestor, aquela que melhor do aplicativo, obtidos a partir do levantamento de requisitos,
se adapta realidade deste estudo de caso refere-se ao fator e que direta ou indiretamente influenciam no funcionamento
de produtividade. Uma vez afirmado que no h o clculo do sistema;
para esse fator, pode-se considerar que a empresa tem como Fatores ambientais: caracterizam os requisitos no-funcio-
base a sua experincia na mensurao da produtividade para nais, integrando o processo de desenvolvimento, pois tratam
a realizao de projetos. de fatores como a dificuldade de entendimento do sistema, o
que tambm interfere no seu funcionamento e influencia no
N Vantagens da integrao do ABCMaster com o ABClab
seu nvel de complexidade.

1 Acelera todo o processo de coleta dos resultados das anlises.


Para os casos de uso considera-se a contagem das transaes
2 Os resultados das anlises so gravados diretamente no Servidor de Arquivos. dos cenrios que compem cada caso de uso. A necessidade de
3 As tarefas so agendadas, com as amostras a serem analisadas. se avaliar a complexidade dos casos de uso atravs dos seus
Possibilidade de escolha da amostra em uma lista na tela, que possui somente as amostras cenrios foi um importante fator que levou elaborao destes,
4
permitidas. auxiliando no entendimento do sistema, medida que as suas
5 Aumento da confiabilidade e agilidade do processo funcionalidades eram rastreadas e os passos que compem
6 Possibilidade de utilizao de microcomputadores. esses cenrios eram descritos.
Uma recomendao necessria para o sucesso das estimativas
7 Utilizao da mesma interface (Windows) por parte de todos os funcionrios da empresa.
do projeto com a tcnica UCP est na correta interpretao
8 Distribuio das tarefas no laboratrio.
dos cenrios por parte do analista ou de outro profissional
9 Organizao e sistematizao na realizao das anlises. responsvel pela elaborao desses artefatos, pois de outro
10 Reduo da quantidade de relatrios impressos. modo o esforo para a obteno dessas estimativas pode ser
11 Agilizao dos processos de consulta. prejudicado.
Inicialmente foi estudado o sistema ABCLIMS pela viso
Tabela 2. Vantagens da integrao do ABCMaster com o ABClab
top-down, atravs de uma avaliao inicial contextual do sis-
Alm disso, outra afirmao que conduz necessidade de tema, que permitisse o levantamento seus mdulos internos,
uso das estimativas refere-se resposta quanto obteno dos gerando com isso uma viso mais detalhada do sistema com
indicadores do projeto. Uma vez que se trata de indicadores ob- o levantamento dos casos de uso para cada mdulo.
tidos de forma emprica, h um maior risco de distoro quanto A avaliao dos casos de uso em mdulos separados, em um
ao prazo estimado para o projeto, o que pode ser reavaliado segundo instante, facilita na descrio posterior dos cenrios,
atravs de mtodos de medio, como o Use Case Point. pois os diagramas de caso de uso possibilitam a anlise da
Aps anlise do sistema e o levantamento de informaes interao dos atores com o sistema. Ao fim dessa anlise, ser
com o gestor, foi possvel determinar a necessidade de aplica- obtida a estimativa para o sistema ABCLIMS, levando em conta
o de estimativas que se tornassem viveis com a realidade os atores (papis relevantes ao estudo de caso desse projeto),
da empresa, e que possibilitasse ao gestor a mensurao da casos de uso (os seus respectivos cenrios), e os fatores de
produtividade requerida para que posteriormente fosse gerado ajuste para essa estimativa.
o custo e prazo necessrio ao projeto. O sistema ABCLIMS teve as suas funcionalidades reconhe-
Os recursos utilizados foram a extrao das funcionalidades cidas, e os casos de uso fundamentais, assim como os atores,
do sistema na viso do usurio, alm do levantamento de in- foram extrados dos requisitos a fim de obter as complexidades
formaes complementares para a gerao dos componentes associadas.
das estimativas. Na Figura 5 nota-se a presena de quatro atores interagindo
com o sistema principal. So eles o Supervisor, os Analistas B
Estimativa de Custo atravs do Use Case Point e Q (respectivamente Bilogo e Qumico, generalizados pelo
Para o clculo do custo estimado no desenvolvimento do papel de Analista), e o Equipamento (mdulo ABClab). O ator
sistema ABCLIMS para o cliente, foi utilizado o mtodo de me- Usurio na refere-se aos atores Supervisor e Analistas.
dio Use Case Point, por possibilitar o levantamento de dados O Analista trata-se de um ser humano com limitaes para
para estimativas a partir do levantamento de requisitos. acesso ao sistema (no possui as mesmas permisses de acesso
As medies do Use Case Point levam em considerao os que o Supervisor ou outro ator do diagrama). Entretanto, no
fatores citados a seguir: cabe ao UCP investigar as limitaes e prioridades de acesso

Edio 68 - Engenharia de Software Magazine 23


ao sistema, mas sim a forma como os atores interagem com Na Figura 7 constata-se que o menu Gerador de Relatrios
ele, e quem so esses atores. contm ao todo dezesseis opes diferentes para impresso
Dessa forma, o ator Analista interage com o sistema ABCLI- de relatrios.
MS atravs de uma interface grfica, e por se tratar de um Na Figura 8 percebe-se que o Supervisor e os Analistas B e
humano, o classificamos como complexo (classificao que Q so encarregados de cadastrar a programao das amostras.
se estende aos Analistas B e Q); quanto aos atores Usurio e Dada a importncia dessa atividade para o prosseguimento
Supervisor, estes se enquadram nas mesmas caractersticas, das demais, fundamental restringir o acesso apenas a esse
recebendo a mesma classificao. grupo, pois estes possuem o conhecimento adequado.

Figura 7. Menu Gerador de Relatrios do mdulo ABCMaster - ABCLIMS


Figura 5. Diagrama de Casos de Uso do sistema ABCLIMS

O ator Equipamento que acessa o mdulo ABClab um sistema


externo, e este repassa dados como os resultados das anlises
das amostras para o ABCLIMS atravs de protocolos de comu-
nicao. Portanto, trata-se de um ator de complexidade mdia.
Na Figura 6 nota-se que o ator Supervisor utiliza o menu
de Superviso com permisso para gerenciar as amostras
(validar resultados), configurar a carta de controle e emitir o
laudo da amostra.

Figura 6. Menu Superviso do mdulo ABCMaster - ABCLIMS Figura 8. Mdulo Cadastros do sistema ABCMaster - ABCLIMS

24 Engenharia de Software Magazine - Use Case Point: Estimativas de Projeto Parte 3


planejamento

O ABClab, ao fazer a leitura dos dados enviados pelos


instrumentos, verifica se este instrumento est cadastrado
no sistema, para em seguida aceit-los. O Analista tambm
pode utilizar diretamente o ABClab para inserir os dados da
anlise, desde que seja credenciado para tal, e que a anlise
seja realizada em um equipamento habilitado (calibrado) (ver
Figura 9).

Figura 10. Mdulo Cadastrar Filtro - ABCLIMS

Ator Complexidade Peso


Analista Bilogo Complexo 3
Figura 9. Mdulo ABClab - ABCLIMS Analista Qumico Complexo 3
Supervisor Complexo 3
Em seguida, so geradas as informaes que daro suporte Equipamento Mdio 2
deciso. Essas informaes so obtidas pela filtragem dos
Tabela 3. Atores que interagem com o sistema ABCLIMS
dados analisados.
possvel, por exemplo, verificar quais so os pontos de Para a contagem dos pesos dos casos de uso no ajustados
saneamento com maior ou menor ndice de micro-organismos sero consideradas as transaes efetuadas pelos cenrios
prejudiciais sade (viso geogrfica). As vises administra- correspondentes aos CSU (Caso de Uso). A seguir sero apre-
tiva e operacional se encarregam respectivamente de coorde- sentados os cenrios dos casos de uso considerados para a
nar as aes necessrias garantia da qualidade da gua e contagem do UUCW.
execuo dessa atividade.
Embora haja um sistema pr-existente, o diagrama de casos Caso de Uso Acessar
de uso para a filtragem das informaes poderia ser obtido Sumrio: O objetivo deste caso de uso demonstrar a fun-
com o adequado levantamento dos requisitos que compem cionalidade acessar do mdulo ABCMaster dentre os vrios
esse mdulo. A Figura 10 representa as aes executveis pelo mdulos do sistema ABCLIMS.
gerenciamento e superviso de amostras quanto s possibili- Atores: Usurio (Supervisor ou Analistas).
dades de filtragem. Precondies: O Usurio dever se autenticar no sistema cor-
Com base nos mdulos vistos anteriormente e no sistema porativo e ter direito de acesso ao mdulo ABClab e subitens,
ABCLIMS, foi feito o levantamento dos elementos relevantes conforme permisso de acesso.
para os Pontos por Caso de Uso. As estimativas sero inicia-
das pela contagem dos pesos dos atores, cujas complexidades Fluxo Principal
j foram esclarecidas. Os clculos dos pesos dos atores no 1. O Usurio acessa o mdulo ABCMaster;
ajustados so descritos na Tabela 3. 2. O Usurio fornece a sua identificao e a senha;
Dessa forma, tem-se que: 3. O Sistema verifica permisso de acesso e disponibiliza
as funcionalidades de acordo com os direitos de acesso do
UAW = 1 x quantidade (ator simples) + 2 x quantidade Usurio;
(ator mdio) + 3 x quantidade (ator complexo) 4. O Sistema gera log de acesso inicial e passa a registrar todas
UAW = 0 x 1 + 1 x 2 + 31x 3 = 0 + 2 + 9 = 1 as operaes executadas pelo Usurio.

Edio 68 - Engenharia de Software Magazine 25


Fluxos Alternativos a) Passo 9 (salvar filtro):
a) Passo 3 (nome do usurio ou senha invlidos): o Sistema - O Sistema disponibiliza campos para o detalhamento
informa o erro ao Usurio e solicita a este que entre com seus do filtro, e grava o filtro usado. O caso de uso retorna ao
dados de novo retornando assim ao passo 2. passo 10;
- Caso o filtro a ser salvo possua o mesmo nome de um
Pontos de Incluso salvo anteriormente, o sistema gera um alerta e o caso de
a) Este caso de uso utiliza outros pontos de incluso que esto uso retorna ao passo anterior do Fluxo Alternativo salvar
descritos no fluxo de eventos, so eles: filtro.
- Verificar Permisso;
- Gerar Log de Acesso Inicial. Caso de Uso Aplicar Filtros de Viso Administrativa
Sumrio: O objetivo deste caso de uso aplicar filtros que
Caso de Uso Aplicar Filtros sero usados como parmetros para gerao de relatrios,
Sumrio: O objetivo deste caso de uso aplicar filtros que consultas e programao de coletas que sero disponibilizados
sero usados como parmetros para gerar relatrios que se- pelo sistema ABCLIMS.
ro disponibilizados pelo sistema ABCLIMS. As taxonomias Atores: Supervisor ou Analistas (Analista B e Analista Q).
disponveis neste mdulo so: Viso Administrativa, Viso Precondies: O Supervisor ou Analistas devero se autenti-
Geogrfica e Viso Operacional. car no sistema corporativo e ter direitos de acesso aos mdulos
Atores: Supervisor ou Analistas (Analista B e Analista Q). ABCMaster e ABClab dos vrios mdulos do sistema ABCLIMS
Precondies: O Supervisor ou Analistas devero se auten- e a demais subitens, conforme permisso de acesso.
ticar no sistema corporativo e ter direitos de acesso funcio-
nalidade de Aplicar Filtros e a demais subitens, conforme Fluxo Principal
permisso de acesso. 1. O Supervisor ou Analistas selecionam a opo Viso Ad-
ministrativa, dentro do item Aplicar Filtros fornecido pelo
Fluxo Principal sistema ABCLIMS.
1. O Supervisor ou Analistas selecionam o item aplicar filtros 2. O Supervisor ou Analistas fornecem um ou mais parmetros
dentre as opes fornecidas pelo sistema ABCLIMS; para a criao do filtro:
2. O Sistema fornece a opo de aplicar um novo filtro ou um - Presidncia;
filtro existente; - Assessoria;
3. O Sistema apresentar uma lista com as opes de filtros que - Diretoria;
podem ser aplicados conforme opo escolhida e permisso - Superintendncia;
de acesso destinada ao usurio; - Departamento;
4. O Supervisor ou Analistas escolhem uma das vises - Diviso;
disponveis: - Encarregados e Gestores.
- Viso administrativa; 3. O Sistema registra os parmetros inseridos;
- Viso geogrfica; 4. O Sistema apresenta o resultado da pesquisa com base na
- Viso operacional. opo e parmetros escolhidos;
5. O Supervisor ou Analistas escolhem a opo desejada; 5. O Sistema fornece a opo de salvar o modelo usado na
6. O Supervisor ou Analistas fornecem os parmetros busca;
requeridos; 6. O Supervisor ou Analistas saem da opo de aplicar filtro.
7. O Sistema registra os parmetros inseridos;
8. O Sistema apresenta o resultado da pesquisa com base na Fluxos Alternativos:
opo e parmetros escolhidos; a) Passo 5 (salvar filtro):
9. O Sistema fornece a opo de salvar o modelo usado na - O Sistema disponibiliza campos para o detalhamento
busca; do filtro, e grava o filtro usado. O caso de uso retorna ao
10. O Supervisor ou Analistas saem da opo de aplicar passo 6;
filtro. - Caso o filtro a ser salvo possua o mesmo nome de um
salvo anteriormente, o Sistema gera um alerta e o caso de
Fluxos Alternativos uso retorna ao passo anterior do Fluxo Alternativo salvar
a) Passo 2 (aplicar filtro existente): filtro.
- O Sistema exibe uma lista com os filtros salvos anterior-
mente que podem ser disponibilizados e o caso de uso Caso de Uso Aplicar Filtros de Viso Geogrfica
segue ao passo 3; Sumrio: O objetivo deste caso de uso aplicar filtros que
- Caso no existam filtros salvos anteriormente, o Sistema sero usados como parmetros para gerao de relatrios,
informa a ausncia de filtros salvos e o caso de uso retorna consultas e programao de coletas que sero disponibilizados
ao passo 3. pelo sistema ABCLIMS.

26 Engenharia de Software Magazine - Use Case Point: Estimativas de Projeto Parte 3


planejamento

Atores: Supervisor ou Analistas (Analista B e Analista Q). 3. O Sistema registra os parmetros inseridos;
Precondies: O Supervisor ou Analistas devero se autenti- 4. O Sistema apresenta o resultado da pesquisa com base na
car no sistema corporativo e ter direito de acesso aos mdulos opo e parmetros escolhidos;
ABCMaster e ABCLab dos vrios mdulos do sistema ABCLI- 5. O Sistema fornece a opo de salvar o modelo usado na busca;
MS e a demais subitens, conforme permisso de acesso. 6. O Supervisor ou Analistas saem da opo de aplicar filtro.

Fluxo Principal Fluxos Alternativos:


1. O Supervisor ou Analistas selecionam a opo Viso Geo- a) Passo 5 (salvar filtro):
grfica, dentro do item Aplicar Filtros fornecido pelo sistema - O Sistema disponibiliza campos para o detalhamento
ABCLIMS; do filtro, e grava o filtro usado. O caso de uso segue ao
2. O Supervisor ou Analistas fornecem um ou mais parmetros passo 6;
para a criao do filtro: - Caso o filtro a ser salvo possua o mesmo nome de um salvo
- Cidade; anteriormente, o Sistema gera um alerta e o caso de uso re-
- rea; torna ao passo anterior do fluxo alternativo Salvar filtro.
- Bairro;
- Logradouro (ttulo do logradouro, preposio e tipo de Caso de Uso Superviso
logradouro); Sumrio: O objetivo deste caso de uso a utilizao da fun-
- Endereo. cionalidade Superviso conforme as taxonomias propostas para
3. O Sistema registra os parmetros inseridos; gerenciar amostra, configurar carta controle e emitir laudo.
4. O Sistema apresenta o resultado da pesquisa com base na Atores: Supervisor.
opo e parmetros escolhidos; Precondies: O Supervisor dever se autenticar no sistema
5. O Sistema fornece a opo de salvar o modelo usado na corporativo e ter direito de acesso a funcionalidade de Super-
busca; viso e em subitens, conforme permisso de acesso.
6. O Supervisor ou Analistas saem da opo de aplicar filtro.
Fluxo Principal
Fluxos Alternativos: 1. O Supervisor seleciona a opo Superviso dentre as
a) Passo 5 (salvar filtro): opes fornecidas pelo sistema ABCLIMS;
- O Sistema disponibiliza campos para o detalhamento 2. O Sistema apresentar uma lista com as taxonomias propos-
do filtro, e grava o filtro usado. O caso de uso retorna ao tas para superviso conforme permisso de acesso destinada
passo 6; ao usurio;
- Caso o filtro a ser salvo possua o mesmo nome de um 3. O Supervisor fornece um ou mais parmetros para a criao
salvo anteriormente, o Sistema gera um alerta e o caso de do filtro:
uso retorna ao passo anterior do Fluxo Alternativo salvar - Gerenciar Amostras;
filtro. - Configurar Carta Controle;
- Emitir Laudo.
Caso de Uso Aplicar Filtros de Viso Operacional 4. O Supervisor escolhe a opo desejada;
Sumrio: O objetivo deste caso de uso aplicar filtros que 5. O Sistema mostra tipificaes para opo escolhida;
sero usados como parmetros para gerao de relatrios, 6. O Supervisor escolhe a tipificao desejada;
consultas e programao de coletas que sero disponibilizados 7. O Sistema executa comando solicitado;
pelo sistema ABCLIMS. 8. O Supervisor utiliza a opo Aplicar Filtro;
Atores: Supervisor ou Analistas (Analista B e Analista Q). 9. O Supervisor fornece os parmetros requeridos;
Precondies: O Supervisor dever se autenticar no sistema 10. O Sistema executa comando solicitado.
corporativo e ter direito de acesso aos mdulos ABCMaster e
ABCLab dos vrios mdulos do sistema ABCLIMS e a demais Fluxos Alternativos:
subitens, conforme permisso de acesso. a) Passo 9: Caso o Supervisor fornea parmetros incorretos
ou inexistentes, o Sistema retorna a informao do ocorrido
Fluxo Principal ao Supervisor e retorna ao passo 8.
1. O Supervisor ou Analistas selecionam a opo Viso Opera-
cional, dentro do item Aplicar Filtros fornecido pelo sistema Pontos de Incluso
ABCLIMS; a) Passo 8: Aplicar Filtro.
2. O Supervisor ou Analistas fornecem um ou mais parmetros
para a criao do filtro: Pontos de Extenso
- Componente (identificao); b) Passo 3: Emitir Laudo (este ponto de extenso s execu-
- Elemento; tado caso o Supervisor opte por Emitir o Laudo a partir da
- Sistema. opo Gerenciar Amostras).

Edio 68 - Engenharia de Software Magazine 27


Caso de Uso Gerenciar Amostra Fluxos Alternativos:
Sumrio: O objetivo deste caso de uso a utilizao da a) Passo 3: Caso as opo escolhidas no constem no cadastro,
funcionalidade Gerenciar Amostra do menu Superviso, que o Sistema traz a informao ao Supervisor para que este se
permite o gerenciamento das anlises efetuadas, como um certifique que as suas escolhas foram as corretas e retorna
visto eletrnico, permitindo assim a liberao das anlises uma ao passo 3;
a uma ou em grupo, e onde tambm possvel nesse mdulo b) Passo 5: Caso as opo escolhidas no constem no cadastro,
do sistema emitir laudos das anlises. o Sistema traz a informao ao Supervisor para que este se
Atores: Supervisor. certifique que as suas escolhas foram as corretas e retorna
Precondies: O Supervisor dever se autenticar no sis- ao passo 5;
tema corporativo e ter direito de acesso funcionalidade
de Superviso e a demais subitens, conforme permisso Pontos de Incluso
de acesso. a) Passo 3: Aplicar Filtro.

Fluxo Principal Pontos de Extenso


1. O Supervisor seleciona a opo Gerenciar Amostra do Passo 12: Emitir Laudo (este ponto de extenso s executado
menu Superviso dentre as opes fornecidas pelo sistema caso o Supervisor opte por Emitir o Laudo a partir da opo
ABCLIMS; Gerenciar Amostra).
2. O Sistema apresentar as TAGs disponveis para a opo
Gerenciar Amostra, como: Caso de Uso Configurar Carta Controle
- Amostras Localizadas; Sumrio: O objetivo deste caso de uso a utilizao da fun-
- Anlises Pendentes; cionalidade Configurar Carta Controle do menu Superviso.
- Anlises Realizadas/Liberadas. A Carta Controle visa no somente determinar estimativas
3. Atravs da opo Aplicar Filtro, o Supervisor define campos de preciso e exatido dos resultados analticos, mas tambm
Origem, Situao e Amostra, ou quais Amostras deseja-se verificar se os resultados se enquadram dentro das metas pre-
encontrar para serem trabalhadas; estabelecidas. A carta controle destina-se, principalmente,
4. O Sistema retorna as amostras solicitadas que atendam ao determinao da tendncia de impreciso do mtodo, quando
filtro definido pelo Supervisor e os seus respectivos status; os resultados estiverem fora dos limites e indicar anomalias.
5. O Supervisor seleciona a Amostra que deseja trabalhar e Atores: Supervisor.
define o Laboratrio e o rgo Regulamentador para a amostra Precondies: O Supervisor dever se autenticar no sistema
selecionada; corporativo e ter direito de acesso a funcionalidade de Super-
6. O Sistema apresentar nas tabelas Pendentes, Realizadas e viso e em subitens, conforme permisso de acesso.
Liberadas a relao de anlises nestas situaes para a amostra
selecionada; Fluxo Principal
7. O Supervisor seleciona as anlises nas janelas e as torna 1. O Supervisor seleciona a opo Carta Controle do menu
liberadas, realizadas ou pendentes atravs de botes de Superviso dentre as opes fornecidas pelo Sistema
navegao; ABCLIMS;
8. O Supervisor, ao clicar com o boto direito do mouse sobre 2. O Sistema apresentar uma tabela Resultados Padro por
alguma amostra localizada, poder ajustar algumas configu- Anlise, onde constaro as amostras e seus status como
raes para estas, como: segue:
- Ajustar Datas e Horas da chegada da planilha e da coleta - Excludo - A amostra no est na Carta Controle;
da amostra; - Carta - A amostra est na Carta Controle, porm no est
- Modificar Procedncia ; sendo utilizada para o clculo dos limites;
- Inserir Anlises ; - Clculo - A amostra est Carta Controle e est sendo uti-
- Modificar Padres. lizada para o clculo dos limites.
9. O Sistema apresenta tambm uma lista de botes que podem 3. Para definir os status da amostra, o Supervisor clica com o
ser utilizados pelo usurio, como: boto direito sobre a mesma e altera o status de acordo com
- Laudo - Emite o Laudo da Anlise selecionada; as opes citadas no passo anterior;
- Liberar - Libera todas as Anlises de todas as Amostras 4. O Sistema altera o status da amostra.
Localizadas. Este boto s habilita quando est selecionado
um Laboratrio que no seja (Todos); Fluxos Alternativos:
- Parar - Para o processo de Liberao das Anlises; Passo 3: Caso o Supervisor altere para um status j con-
Observao - Insere uma Observao para a Anlise. figurado, o Sistema informar que no possvel executar a
10. O Supervisor tem a opo de clicar no boto Encerrar para ao solicitada, pois o mesmo tipo de status j fora definido
finalizar o processo. anteriormente. O Sistema retorna ao passo 2.

28 Engenharia de Software Magazine - Use Case Point: Estimativas de Projeto Parte 3


planejamento

Caso de Uso Emitir Laudo propostas para: pontos de coleta, produtos/solues, anlises,
Sumrio: O objetivo deste caso de uso a utilizao da fun- usurio, regulamentaes governamentais, programao de
cionalidade Emitir Laudo do menu Superviso. coleta, entre outros.
Atores: Supervisor. Ator Primrio: Supervisor.
Precondies: O Supervisor dever se autenticar no sistema Atores Secundrios: Analistas (Analista B e Analista Q).
corporativo e ter direito de acesso a funcionalidade de Super- Precondies: O Supervisor dever se autenticar no Sistema
viso e a demais subitens, conforme permisso de acesso. corporativo e ter direito de acesso a funcionalidade de Ca-
dastro e subitens, conforme permisso de acesso.
Fluxo Principal
1. O Supervisor seleciona o item Emitir Documentos dentre Fluxo Principal
as opes fornecidas pelo Sistema ABCLIMS para o menu 1. O Supervisor seleciona o item Cadastro dentre as opes
Superviso; fornecidas pelo sistema ABCLIMS;
2. O Sistema apresentar uma lista com as taxonomias propos- 2. O Sistema apresentar uma lista com as taxonomias propos-
tas para emitir laudo conforme permisso de acesso destinada tas para cadastros conforme permisso de acesso destinada
ao Supervisor; ao Supervisor;
3. O Supervisor clica no menu Superviso para emitir laudo; 3. O Supervisor pode escolher a opo desejada para as tipi-
4. O Sistema apresentar uma tabela Resultados Padro por An- ficaes existentes:
lise, onde constaro as amostras e seus status como segue: - Pontos de Coleta;
- Anlise de Metais Pesados; - Produtos e Solues;
- Bacteriolgico de gua; - Anlise;
- Biolgico de Esgoto; - Programao;
- Boletim Hidrobiolgico; - Administrativo.
- Fsico Qumico de gua; 4. O Supervisor escolhe a ao que deseja realizar (Incluir,
- Fsico Qumico de Esgoto; Alterar, Remover e Consultar);
- Hidrobiolgico; 5. O Supervisor fornece os parmetros requeridos;
- Hidrobiolgico Qualitativo de gua; 6. O Sistema mostra tipificaes para opo escolhida;
- Hidrobiolgico Qualitativo de Esgoto; 7. O Supervisor escolhe a tipificao desejada;
- Hidrobiolgico Quantitativo de gua; 8. O Sistema executa o comando solicitado.
Isolamento de Vibrio Cholerae;
- Produto Qumico. Fluxos Alternativos:
5. O Supervisor informa o nmero da amostra e as opes de a) Passo 5 (Incluir): Caso o Supervisor fornea algum parmetro
impresso como segue: incorreto ou caso os dados a serem cadastrados j existam, o
- Responsvel; Sistema informa a condio existente e retorna ao passo 5 para
- Gerente; que o Supervisor reveja a sua ao;
- Alinhado abaixo; b) Passo 5 (Alterar): Caso o Supervisor fornea algum parmetro
- Incerteza de Medio; incorreto o Sistema informa a condio existente e retorna ao
- Total como Rodap; passo 5 para que o Supervisor reveja a sua ao;
- Retrato; c) Passo 5 (Remover) Caso o Supervisor fornea algum parme-
- Agrupar Laudos. tro incorreto ou caso os dados a serem excludos no existam,
6. O Sistema aplica filtro de acordo com a escolha do bem como haja uma condio especial que impea a excluso
Supervisor; dos dados, o Sistema informa a condio existente e retorna ao
7. O Sistema disponibiliza documento para impresso. passo 5 para que o Supervisor reveja a sua ao;
d) Passo 5 (Consultar): Caso o Supervisor fornea algum pa-
Fluxos Alternativos: rmetro incorreto ou caso os dados a serem consultados no
a) Passo 6: Caso o nmero da amostra no conste no cadastro, existam, o Sistema informa a condio existente e retorna ao
o Sistema traz a informao ao Supervisor para que este se passo 5 para que o Supervisor reveja a sua ao.
certifique que as suas escolhas foram as corretas, e retorna
ao passo 5. Pontos de Incluso
Passo 5: Aplicar Filtro.
Pontos de Incluso
Passo 6: Aplicar Filtro. Caso de Uso Cadastrar Filtros
Sumrio: O objetivo deste caso de uso o cadastro de filtros
Caso de Uso Cadastrar (Inserir, Alterar, Remover e Consultar) conforme as taxonomias
Sumrio: O objetivo deste caso de uso o cadastro (Inse- propostas pelo Modelo de Viso Corporativa: viso adminis-
rir, Alterar, Remover e Consultar) conforme as taxonomias trativa, viso geogrfica e operacional.

Edio 68 - Engenharia de Software Magazine 29


Ator Primrio: Supervisor. Fluxo Principal
Atores Secundrios: Analistas (Analista B e Analista Q). 1. O Supervisor seleciona o item Cadastrar Filtro - Viso Admi-
Precondies: O Supervisor dever se autenticar no siste- nistrativa dentre as opes fornecidas pelo sistema ABCLIMS;
ma corporativo e ter direito de acesso a funcionalidade de 2. O Sistema apresentar uma lista com as taxonomias pro-
Cadastrar Filtro e a demais subitens, conforme permisso postas para cadastros de filtros conforme permisso de acesso
de acesso. destinada ao Supervisor;
3. O Supervisor escolhe a operao que deseja realizar (Incluir,
Fluxo Principal Alterar, Remover e Consultar);
1. O Supervisor seleciona o item Cadastrar Filtro dentre as 4. O Supervisor fornece os parmetros requeridos:
opes fornecidas pelo sistema ABCLIMS; - Presidncia;
2. O Sistema apresentar uma lista com as taxonomias pro- - Assessoria;
postas para cadastros de filtros conforme permisso de acesso - Diretoria;
destinada ao Administrador; - Superintendncia;
3. O Supervisor pode escolher a opo desejada para as tipi- - Departamento;
ficaes existentes: - Diviso;
- Viso Administrativa; - Encarregados e Gestores.
- Viso Geogrfica; 5. O Sistema mostra tipificaes para opo escolhida;
- Viso Operacional. 6. O Supervisor escolhe a tipificao desejada;
4. O Supervisor escolhe a ao que deseja realizar (Incluir, 7. O Sistema executa comando solicitado.
Alterar, Remover e Consultar);
5. O Supervisor fornece os parmetros requeridos; Fluxos Alternativos:
6. O Sistema mostra tipificaes para opo escolhida; a) Passo 5 (Incluir): Caso o Supervisor fornea algum parmetro
7. O Supervisor escolhe a tipificao desejada; incorreto ou caso os dados a serem cadastrados j existam, o
8. O Sistema executa o comando solicitado. Sistema informa a condio existente e retorna ao passo 5 para
que o Supervisor reveja a sua ao;
Fluxos Alternativos: b) Passo 5 (Alterar): Caso o Supervisor fornea algum parme-
a) Passo 5 (Incluir): Caso o Supervisor fornea algum pa- tro incorreto o Sistema informa a condio existente e retorna
rmetro incorreto ou caso os dados a serem cadastrados j ao passo 5 para que o Supervisor reveja a sua ao;
existam, o Sistema informa a condio existente e retorna c) Passo 5 (Remover) Caso o Supervisor fornea algum parme-
ao passo 5 para que o Supervisor reveja a sua ao; tro incorreto ou caso os dados a serem excludos no existam,
b) Passo 5 (Alterar): Caso o Supervisor fornea algum par- bem como haja uma condio especial que impea a excluso
metro incorreto o Sistema informa a condio existente e re- dos dados, o Sistema informa a condio existente e retorna
torna ao passo 5 para que o Supervisor reveja a sua ao; ao passo 5 para que o Supervisor reveja a sua ao;
c) Passo 5 (Remover) Caso o Supervisor fornea algum d) Passo 5 (Consultar): Caso o Supervisor fornea algum pa-
parmetro incorreto ou caso os dados a serem excludos rmetro incorreto ou caso os dados a serem consultados no
no existam, bem como haja uma condio especial que existam, o Sistema informa a condio existente e retorna ao
impea a excluso dos dados, o Sistema informa a condio passo 5 para que o Supervisor reveja a sua ao.
existente e retorna ao passo 5 para que o Supervisor reveja
a sua ao; Caso de Uso Cadastrar Filtros de Viso Geogrfica
d) Passo 5 (Consultar): Caso o Supervisor fornea algum pa- Sumrio: O objetivo deste caso de uso o cadastro de filtros
rmetro incorreto ou caso os dados a serem consultados no (Inserir, Alterar, Remover e Consultar) conforme proposto pelo
existam, o Sistema informa a condio existente e retorna ao Modelo de Viso Corporativa: viso geogrfica.
passo 5 para que o Supervisor reveja a sua ao. Ator Primrio: Supervisor.
Atores Secundrios: Analistas (Analista B e Analista Q).
Caso de Uso Cadastrar Filtros de Viso Administrativa Precondies: O Supervisor dever se autenticar no sistema
Sumrio: O objetivo deste caso de uso o cadastro de filtros corporativo e ter direito de acesso a funcionalidade de Cadas-
(Inserir, Alterar, Remover e Consultar) conforme proposto pelo trar Filtro e subitens conforme permisso de acesso.
Modelo de Viso Corporativa: viso administrativa.
Ator Primrio: Supervisor. Fluxo Principal
Atores Secundrios: Analistas (Analista B e Analista Q). 1. O Supervisor seleciona o item Cadastrar Filtro - Viso Geo-
Precondies: O Supervisor dever se autenticar no siste- grfica dentre as opes fornecidas pelo sistema ABCLIMS;
ma corporativo e ter direito de acesso a funcionalidade de 2. O Sistema apresentar uma lista com as taxonomias pro-
Cadastrar Filtro e a demais subitens, conforme permisso postas para cadastros de filtros conforme permisso de acesso
de acesso. destinada ao Supervisor;

30 Engenharia de Software Magazine - Use Case Point: Estimativas de Projeto Parte 3


planejamento

3. O Supervisor escolhe a operao que deseja realizar (Incluir, 5. O Sistema mostra tipificaes para opo escolhida;
Alterar, Remover e Consultar); 6. O Supervisor escolhe a tipificao desejada;
4. O Supervisor fornece os parmetros requeridos: 7. O Sistema executa comando solicitado.
- Cidade;
- rea; Fluxos Alternativos:
- Bairro; a) Passo 5 (Incluir): Caso o Supervisor fornea algum parmetro
- Logradouro (ttulo do logradouro, preposio e tipo de incorreto ou caso os dados a serem cadastrados j existam, o
logradouro); Sistema informa a condio existente e retorna ao passo 5 para
- Endereo. que o Supervisor reveja a sua ao;
5. O Sistema mostra tipificaes para opo escolhida; b) Passo 5 (Alterar): Caso o Supervisor fornea algum parme-
6. O Supervisor escolhe a tipificao desejada; tro incorreto o Sistema informa a condio existente e retorna
7. O Sistema executa comando solicitado. ao passo 5 para que o Supervisor reveja a sua ao;
c) Passo 5 (Remover) Caso o Supervisor fornea algum parme-
Fluxos Alternativos: tro incorreto ou caso os dados a serem excludos no existam,
a) Passo 5 (Incluir): Caso o Supervisor fornea algum pa- bem como haja uma condio especial que impea a excluso
rmetro incorreto ou caso os dados a serem cadastrados j dos dados, o Sistema informa a condio existente e retorna
existam, o Sistema informa a condio existente e retorna ao passo 5 para que o Supervisor reveja a sua ao;
ao passo 5 para que o Supervisor reveja a sua ao; d) Passo 5 (Consultar): Caso o Supervisor fornea algum pa-
b) Passo 5 (Alterar): Caso o Supervisor fornea algum par- rmetro incorreto ou caso os dados a serem consultados no
metro incorreto o Sistema informa a condio existente e re- existam, o Sistema informa a condio existente e retorna ao
torna ao passo 5 para que o Supervisor reveja a sua ao; passo 5 para que o Supervisor reveja a sua ao.
c) Passo 5 (Remover) Caso o Supervisor fornea algum
parmetro incorreto ou caso os dados a serem excludos Caso de Uso Realizar Anlises
no existam, bem como haja uma condio especial que Sumrio: O objetivo deste caso de uso cadastrar dados de
impea a excluso dos dados, o Sistema informa a condio anlise para levantamento das principais caractersticas da
existente e retorna ao passo 5 para que o Supervisor reveja amostra colhida.
a sua ao; Ator Primrio: Analistas (Analista B e Analista Q).
d) Passo 5 (Consultar): Caso o Supervisor fornea algum pa- Atores Secundrios: Equipamento.
rmetro incorreto ou caso os dados a serem consultados no Precondies: O Analista dever se autenticar no sistema
existam, o Sistema informa a condio existente e retorna ao corporativo e ter direito de acesso ao mdulo ABCLab e a
passo 5 para que o Supervisor reveja a sua ao. demais subitens conforme permisso de acesso.

Caso de Uso Cadastrar Filtros de Viso Operacional Fluxo Principal


Sumrio: O objetivo deste caso de uso o cadastro de filtros 1. O Analista informa o nome e a senha de Identificao de
(Inserir, Alterar, Remover e Consultar) conforme proposto pelo Usurio;
Modelo de Viso Corporativa: viso operacional. 2. O Sistema verifica se o usurio tem permisso para acessar
Ator Primrio: Supervisor. o mdulo ABCLab do sistema ABCLIMS;
Atores Secundrios: Analistas (Analista B e Analista Q). 3. O Analista verifica se o microcomputador (posto de coleta)
Precondies: O Supervisor dever se autenticar no sistema usado para acesso est cadastrado (autorizado) para receber
corporativo e ter direito de acesso a funcionalidade de Cadas- as informaes do Analista;
trar Filtro e subitens conforme permisso de acesso. 4. O Analista seleciona o item Realizar Anlises dentre as op-
es fornecidas pelo mdulo ABCLab do sistema ABCLIMS;
Fluxo Principal 5. O Analista verifica lista de pendncias;
1. O Supervisor seleciona o item Cadastrar Filtro - Viso 6. O Analista define configuraes (Equipamentos, Mtodos
Operacional dentre as opes fornecidas pelo sistema e Frmulas);
ABCLIMS; 7. O Analista define a frmula da anlise;
2. O Sistema apresentar uma lista com as taxonomias pro- 8. O Sistema exibe os valores intermedirios da frmula
postas para cadastros de filtros conforme permisso de acesso escolhida;
destinada ao Supervisor; 9. O Analista insere Padro de Controle de Instrumento;
3. O Supervisor escolhe a operao que deseja realizar (Incluir, 10. O Analista efetua a leitura dos dados provenientes do
Alterar, Remover e Consultar); equipamento;
4. O Supervisor fornece os parmetros requeridos: 11. O Analista insere os dados de anlise da amostra manual-
- Componente (identificao); mente, caso necessrio;
- Elemento; 12. O Sistema fornece a opo de calcular os dados;
- Sistema. 13. O Analista seleciona a opo de confirmar os dados;

Edio 68 - Engenharia de Software Magazine 31


14. Se o Analista terminou a anlise, ele sai da opo de Re- 6. O Sistema exibe os valores intermedirios da frmula
alizar Anlises ou ABCLab. escolhida;
7. O Sistema fornece a opo de calcular os dados;
Fluxos Alternativos: 8. O Analista seleciona a opo de confirmar os dados;
a) Passo 2: O Sistema informa ao Analista que este no possui 9. Se o Analista terminou a anlise, ele repete o procedimento
permisso para cadastro de anlises. O Sistema solicita ao at que a lista de amostras pendentes fique vazia.
Analista que procure pelo Administrador do Sistema, para
obter informaes de acesso; Fluxos Alternativos:
b) Passo 3: Solicitar Cadastramento do Posto (Esta opo a) Passo 2: Solicitar Cadastramento do Posto (esta opo
disparada caso o posto de coleta no esteja cadastrado). O disparada caso o posto de coleta no esteja cadastrado).
Sistema solicita ao Analista que procure pelo Administrador O Sistema solicita ao Analista que procure pelo Administrador
do Sistema, para obter o cadastro do posto de coleta; do Sistema, para obter o cadastro do posto de coleta;
c) Passo 8: Caso j exista um Padro de Controle de Instrumento b) Passo 4: Caso j exista um Padro de Controle de Instrumen-
ou o Analista opte por no gerar um novo padro, o Sistema to ou o Analista opte por no gerar um novo padro, o Sistema
da sequncia ao prximo passo do fluxo; d sequncia ao prximo passo do fluxo.
d) Passo 9: Caso o Analista opte por no efetuar a leitura do equi-
pamento, o Sistema d sequncia ao prximo passo do fluxo. Pontos de Incluso
Os pontos de incluso esto descritos dentro do fluxo bsico
Pontos de Incluso de eventos, porm podemos tipific-los como Verificar Equi-
Os pontos de incluso esto descritos dentro do fluxo bsico pamento Cadastrado.
de eventos, porm podemos tipific-los como:
- Verificar Permisso; Pontos de Extenso
- Verificar Posto; Este caso de uso utiliza pontos de extenso que esto descritos
- Gerar Log de Acesso Inicial; no fluxo bsico de eventos, porm podemos tipific-los como
- Verificar Lista de Pendncias; Definir Valores Intermedirios.
- Definir Configuraes (Equipamentos, Mtodos e
Frmulas); Caso de Uso Gerar Relatrios
- Inserir Padro de Controle do Instrumento; Sumrio: O objetivo deste caso de uso gerar relatrios que
- Definir Valores Intermedirios. sero disponibilizados pelo sistema ABCLIMS. As taxonomias
disponveis neste mdulo so: Acumulado de Bacteriologia,
Pontos de Extenso Anomalias, Anlises Pendentes, Balano das Anlises, Coletas,
Este caso de uso utiliza pontos de extenso que esto descritos Inspeo de Recebimento, Controle Quantitativo, Comprovan-
no fluxo bsico de eventos, porm podemos tipific-los como: te de Recebimento, Formulrio de Clera, Parmetros de Qua-
- Solicitar Cadastro do Posto; lidade, Quantidades por Laboratrio, Rastreamento, Registro
- Fazer Leitura. de Amostras, Resultado Dirio, Resumo Geral de Controle
(Grfico), Pontos de Coleta e Preos das Anlises.
Caso de Uso Fazer Leitura Ator Primrio: Supervisor.
Sumrio: O objetivo deste caso de uso fazer leitura para Atores Secundrios: Analistas (Analista B e Analista Q).
levantamento das principais caractersticas da amostra colhida Precondies: O Supervisor dever se autenticar no sistema
atravs da utilizao de equipamento para anlise. corporativo e ter direito de acesso a funcionalidade de Gerar
Ator Primrio: Analistas (Analista B e Analista Q). Relatrio e em subitens conforme permisso de acesso.
Atores Secundrios: Equipamento.
Precondies: O Analista dever se autenticar no sistema Fluxo Principal
corporativo e ter direito de acesso ao mdulo ABCLab e em 1. O Supervisor seleciona o item Gerar Relatrios dentre as
subitens conforme permisso de acesso. opes fornecidas pelo sistema ABCLIMS;
2. O Sistema apresentar uma lista com as opes de relatrios
Fluxo Principal conforme permisso de acesso destinada ao Supervisor;
1. O Analista clica em Fazer Leitura para que possa efetuar a 3. O Supervisor escolhe a opo desejada conforme segue:
leitura dos dados provenientes do equipamento; - Acumulado de Bacteriologia;
2. O Sistema verifica se o equipamento a ser utilizado est - Balano de Anlises;
cadastrado; - Coletas;
3. O Sistema informa ao Analista que o equipamento est - Inspeo de Recebimento;
disponvel para anlise; - Controle Quantitativo;
4. O Analista insere Padro de Controle de Instrumento; - Comprovante de Recebimento;
5. O Analista define a frmula da anlise; - Coleta;

32 Engenharia de Software Magazine - Use Case Point: Estimativas de Projeto Parte 3


planejamento

- Parmetros de Qualidade; Pontos por Caso de Uso se distanciar de um resultado preciso.


- Quantidades por Laboratrio; A fim de evitar erros conceituais de contagem das transaes
- Anomalias (Anomalias Reincidentes); para os casos de uso, segue outra considerao a ser feita: o
- Rastreamento; que no deve ser considerado uma transao so passos do
- Registro de Anlises; fluxo de eventos que:
- Secretaria; (i) descrevem o incio e o fim do caso de uso;
- Resultado Dirio; (ii) detalham a interao entre o sistema e o ator;
- Resumo Geral de Controle; (iii) solicitem escolhas com valores fixos (sem leitura de dados);
- Cadastrar Pontos de Coleta; (iv) faam leituras auxiliares de dados que j tenham sido feitas
- Preo das Anlises. em outros fluxos do mesmo caso de uso; e
4. O Sistema verifica histrico; (v) usem fluxos alternativos do caso de uso de validaes
5. O Sistema apresenta o relatrio ao Supervisor conforme simples e que contenham mensagens de erro.
opo de comando escolhida: Conforme foi detalhado nos cenrios de casos de uso do sis-
- Salvar Modelo de Filtro; tema ABCLIMS, h sete casos de uso de complexidade mdia
- Visualizar Impresso (Exportar); e 10 de complexidade simples. Para os mdulos que compem
- Exportar para Excel; o ABCLIMS, foram obtidos os seguintes dados:
- Imprimir;
- Excluir; UUCW = 5 x quantidade (caso de uso simples) + 10 x quantidade
- Sair. (caso de uso mdio) + 15 x quantidade (caso de uso complexo)
6. O Supervisor escolhe o comando desejado; UUCW = 11 x 5 + 6 x 10 + 0 x 15 = 115
7. O Sistema executa comando solicitado.
Transaes por Caso de Uso Tipos de Fluxos
Fluxos Alternativos CSU Principal Alternativos Exceo Total
a) Passo 4 (Verificao de Histrico):
Acessar 1 1 0 2
- Caso no exista histrico, o Sistema informa ao Supervisor
Dados Inexistentes e o caso de uso retorna ao passo 3; Aplicar Filtros 1 2 0 3
- Caso os parmetros estejam incorretos, o Sistema infor- Aplicar Filtros de Viso Administrativa 1 1 0 2
ma ao Supervisor Parmetros Incorretos e o caso de uso Aplicar Filtros de Viso Geogrfica 1 1 0 2
retorna ao passo 3. Aplicar Filtros de Viso Operacional 1 1 0 2
b) Passo 7 (Salvar Modelo de Filtro): Caso o modelo a ser salvo Superviso 1 1 0 2
j exista com o mesmo nome, o Sistema fornece uma lista de
Gerenciar Amostra 1 2 0 3
opes a serem executadas: sobrescrever modelo existente,
Configurar Carta Controle 1 1 0 2
salvar com nome diferente e cancelar a operao. O caso de
uso retorna ao passo 5. Emitir Laudo 1 1 0 2
Cadastrar 1 4 0 5
Pontos de Incluso: Cadastrar Filtros 1 4 0 5
Passo 4: Aplicar Filtro. Cadastrar Filtros de Viso Administrativa 1 4 0 5
Cadastrar Filtros de Viso Geogrfica 1 4 0 5
Uma vez conhecidos os fluxos de eventos, pode-se fazer a con- Cadastrar Filtros de Viso Operacional 1 4 0 5
tagem das transaes para obteno do UUCW, e em seguida
Realizar Anlises 1 4 0 5
aplicar a somatria dos valores obtidos (ver Tabela 4).
Fazer Leitura 1 2 0 3
O que pode ser considerado uma transao so passos do
fluxo de eventos do caso de uso que: Gerar Relatrios 1 2 0 3
(i) contm campos de entrada com valores passveis de escolha; Total 17 39 0 56
(ii) apresentem retorno de consultas com filtros preenchidos Tabela 4. Transaes por Caso de Uso
por buscas em bancos de dados;
(iii) proporcionem validaes complexas de negcio; Aps os clculos dos atores e dos casos de uso, a etapa que
(iv) contm gerao de relatrio; segue a que considera os fatores tcnicos e ambientais como
(v) apresentem funcionalidades de consultas auxiliares como elementos de influncia no desenvolvimento de um projeto.
casos de uso de extenso; (vi) existam validaes simples de O sistema deve ser colocado em evidncia quanto a treze
campo de entrada de dados. questionamentos propostos e pontuados de 0 a 5. Aps anlise
do sistema ABCLIMS e seu contexto na ABC, foi definida a
Portanto, extremamente importante para a contagem dos pontuao para cada questo levantada, de acordo com as ca-
casos de uso que os cenrios sejam adequadamente elaborados, ractersticas que condizem com a realidade do sistema e aps
caso contrrio h grande probabilidade de o valor final para os entrevista com um engenheiro gerente de projetos da ABC.

Edio 68 - Engenharia de Software Magazine 33


A seguir so detalhados cada um dos fatores de complexidade e/ou de segurana atende norma ISO 17025 referente a esse
tcnica (Technical Complexity Factor - TCF) que pontuaro processo, e o processamento matemtico extensivo conta
o sistema. com ferramentas de apoio (SLOPE e Intercept, por exemplo).
O TCF sistema distribudo est relacionado a dados ou A pontuao aplicada, portanto, 5. Esse TCF pode ser dividido
processamento distribudo entre vrias unidades de proces- nas seguintes categorias:
samento (CPU). Atravs de levantamento de dados da ABC, o Menus;
gerente de projetos classificou esse TCF com pontuao 0, uma Documentao/Help on-line;
vez esclarecido que compete ao Banco de Dados a utilizao das Movimento automtico do cursor;
CPUs, sendo que a aplicao no faz diferena entre elas: Movimento de Tela (scrolling) vertical e horizontal;
0. A aplicao no auxilia na transferncia de dados ou pro- Impresso remota (via transaes on-line);
cessamento entre as CPUs da instalao. Teclas de Funo pr-definidas;
1. A aplicao prepara dados para o usurio final processar em Execuo de jobs batch a partir de transaes on-line;
outra CPU da instalao. Por exemplo, planilhas eletrnicas Seleo de dados da tela via movimentao do cursor;
ou gerenciadores de banco de dados de PC. Uso intenso de vdeo reverso, brilho intensificado, sublinha-
2. Os dados so preparados para transferncia, transferidos do, cores e outros recursos de vdeo;
e processados em uma outra CPU da instalao (mas NO Documentao de transaes on-line via hard copy;
para processamento pelo usurio final como visto no item 1). Interface para mouse;
3. Processamento distribudo e transferncia de dados on-line Pop-up Windows;
apenas em uma direo. O mnimo possvel de telas para executar as funes do
4. Processamento distribudo e transferncia de dados on-line negcio;
em ambas as direes. Fcil navegao entre telas (por exemplo, atravs de teclas
5. As funes de processamento so executadas dinamicamen- de funo);
te na CPU mais apropriada. Suporte bilnge (suporta dois idiomas, contar como quatro
itens);
O TCF tempo de resposta identifica os objetivos de desem- Suporte multilnge (suporta mais de dois idiomas, contar
penho da aplicao estabelecidos e aprovados pelo usurio. como seis itens).
O problema da gesto de laboratrios crtico em relao
ao horrio de operao, sendo que as transaes no podem Pontuao Descrio do Fator de Complexidade Tcnica 3
representar intervalos de tempo grandes para os usurios. 0 A aplicao no apresenta nenhum dos itens acima.
O gerente de projetos classificou esse TCF com pontuao 3, 1 Apresenta de 1 a 3 dos itens acima.
aps anlise das descries abaixo:
2 Apresenta de 4 a 5 dos itens acima.
0. Nenhuma exigncia especial de desempenho foi fixada
Apresenta 6 ou mais dos itens acima, mas no h nenhum requisito do usurio
pelo usurio. 3
relacionado eficincia.
1. Requisitos de desempenho foram estabelecidos e revisados,
Apresenta 6 ou mais dos itens acima, e os requisitos estabelecidos para eficincia
mas nenhuma ao especial foi necessria.
4 do usurio so rigorosos o suficiente para que a fase de projeto da aplicao inclua
2. O tempo de resposta crtico durante as horas de pico. O
fatores para: minimizar a digitao, maximizar os defaults, utilizar templates etc.
intervalo de tempo limite (deadline) do processamento sem-
Apresenta 6 ou mais dos itens acima, e os requisitos estabelecidos para eficincia
pre para o prximo dia til. Nenhuma considerao especial
do usurio so rigorosos o suficiente para que seja necessrio o uso de ferramentas
para utilizao de CPU foi requerida. 5
e processos especiais para demonstrar que os objetivos de eficincia foram
3. O tempo de resposta crtico durante todo o horrio de
alcanados.
utilizao. Os requisitos de prazo de processamento com
outros sistemas so limitantes. No foi necessrio nenhum Tabela 5. TCF eficincia
procedimento especial para utilizao de CPU.
4. Os requisitos de desempenho estabelecidos pelo usurio Para a anlise do TCF complexidade do processamento (ver
so rigorosos o bastante para requerer tarefas de anlise de Tabela 6), foi considerada a grande quantidade de equipamen-
desempenho na fase de anlise e projeto da aplicao. tos ligados ao sistema (distribuio de 50 a 60 equipamentos
5. Alm do descrito no Pontuao 4, ferramentas de anlise nos postos), alm de todos os itens abaixo terem sido validados
de desempenho foram usadas nas fases de projeto, desenvol- como presentes na empresa, classificando o fator com pontua-
vimento e/ou implementao a fim de proporcionar a desem- o 5. Esse TCF pode ser dividido nas seguintes categorias:
penho estabelecida pelo usurio. Processamento especial de auditoria e/ou de segurana;
Processamento lgico extensivo;
O TCF eficincia (ver Tabela 5) evidencia as funes on- Processamento matemtico extensivo;
line fornecidas em um projeto da aplicao para o usurio Grande quantidade de processamento de excees, resultante
final. Mais do que apresentar todas as funes adaptadas aos de transaes incompletas que necessitam de reprocessamento.
sistemas ABCLIMS, o processamento especial de auditoria Por exemplo: transaes incompletas de ATMs causadas por

34 Engenharia de Software Magazine - Use Case Point: Estimativas de Projeto Parte 3


planejamento

interrupes de comunicao, valores de dados ausentes ou 4. Alm do descrito no item 2, ferramentas automatizadas
validaes de erros; de implantao e converso de dados foram preparadas e
Processamento complexo para manipular mltiplas possi- testadas.
bilidades de entrada/sada. Por exemplo: mltiplos meios e 5. Alm do descrito no item 3, ferramentas automatizadas
independncia de equipamentos. de implantao e converso de dados foram preparadas e
testadas.
Pontuao Descrio do Fator de Complexidade Tcnica 4
O TCF facilidade de uso (ver Tabela 7) refere-se ao de-
0 No apresenta nenhum dos itens acima.
senvolvimento e testes de procedimentos efetivos de ini-
1 Apresenta um dos itens acima. cializao, backup e recuperao. A aplicao minimiza a
2 Apresenta dois dos itens acima. necessidade de atividades manuais, tais como montagem
3 Apresenta trs dos itens acima. de fitas magnticas, manuseio de formulrios e interveno
4 Apresenta quatro dos itens acima. manual do operador. Nesse caso, a participao de um pro-
fissional na preparao de realizao de backup caracteriza
5 Apresenta todos os itens acima.
o fator com pontuao 1.
Tabela 6. TCF complexidade do processamento

Pontuao Descrio do Fator de Complexidade Tcnica 7


Para a pontuao do TCF cdigo deve ser reutilizado, avalia- Nenhuma considerao especial sobre facilidade operacional, alm dos
se que a aplicao e o seu cdigo foram especificamente pro- 0
procedimentos normais de backup, foi feita pelo usurio.
jetados, desenvolvidos e suportados para serem reutilizados Procedimentos eficientes de inicializao, backup e recuperao foram preparados,
em outras aplicaes. As caractersticas da aplicao utilizada 1
mas a interveno do operador necessria.
na ABC se enquadram na pontuao 5: Procedimentos eficientes de inicializao, backup e recuperao foram preparados,
0. No apresenta cdigo reutilizvel. 2
mas nenhuma interveno do operador necessria (contar como dois itens).
1. O cdigo reutilizvel usado somente dentro da prpria 3 A aplicao minimiza a operao de montagem de fitas magnticas.
aplicao.
4 A aplicao minimiza a necessidade de manuseio de formulrios.
2. Menos de 10% da aplicao foi feita, levando-se em conta o
A aplicao foi projetada para no precisar de interveno do operador no seu
seu uso por outras aplicaes.
5 funcionamento normal. Apenas a inicializao e parada do sistema ficam a cargo do
3. 10% ou mais da aplicao foi feita, levando-se em conta a
operador. A recuperao automtica de erros uma caracterstica da aplicao.
sua utilizao por outras aplicaes.
4. A aplicao foi projetada e documentada para facilitar a Tabela 7. TCF facilidade de uso
reutilizao de cdigo e a aplicao customizada pelo usurio
no nvel do cdigo fonte. Para o TCF portabilidade verificado se a aplicao foi espe-
5. A aplicao foi projetada e documentada para facilitar a reu- cificamente projetada, desenvolvida e suportada para ser ins-
tilizao de cdigo e a aplicao customizada para uso atravs talada em mltiplas plataformas (Windows, Unix, Linux, etc.).
de parmetros que podem ser atualizados pelo usurio. A plataforma utilizada tanto pela ABC quanto pelos clientes
o Windows, de modo que no h requerimento para instalao
Atravs do TCF facilidade de instalao, so analisados o da aplicao em outra plataforma. A pontuao dada a esse
plano de implantao e converso de dados e/ou ferramentas fator 0, ao considerar os itens descritos abaixo:
de converso de dados, averiguando tambm se foi prepara- 0. Nenhuma solicitao do usurio para considerar a necessi-
do e testado durante a fase de testes dos sistemas. Esse fator dade de instalar a aplicao em mais de uma plataforma.
recebeu, portanto, pontuao 3, aps anlise dos itens abaixo 1. Necessidade de instalao em mltiplas plataformas foi
pelo gerente de projetos: levada em considerao no projeto do sistema e a aplicao
0. Nenhuma considerao especial foi feita pelo usurio foi projetada para operar somente em ambientes idnticos de
e nenhum procedimento especial foi requerido para a hardware e software.
implantao. 2. Idem ao item 2, somente em ambientes similares de hardware
1. Nenhuma considerao especial foi feita pelo usurio, mas e software.
um procedimento especial foi requerido para a implantao. 3. Necessidade de instalao em mltiplas plataformas foi
2. Requisitos de implantao e converso de dados foram fi- levada em considerao no projeto do sistema e a aplicao foi
xados pelo usurio, e roteiros de implantao e converso de projetada para operar inclusive em plataformas diferentes.
dados foram preparados e testados. O impacto da converso 4. Um plano de documentao e manuteno foi elaborado e
de dados no projeto no considerado importante. testado para suportar a aplicao em mltiplas plataformas e
3. Requisitos de implantao e converso de dados foram fi- a aplicao atende aos itens 1 e 2.
xados pelo usurio e roteiros de implantao e converso de 5. Um plano de documentao e manuteno foi elaborado e
dados foram preparados e testados. O impacto da converso testado para suportar a aplicao em mltiplas plataformas se
de dados no projeto considerado importante. a aplicao atende ao item 3.

Edio 68 - Engenharia de Software Magazine 35


O TCF facilidade de alteraes (ver Tabela 8) abrange se a sistema para que a configurao do equipamento no fique
aplicao foi especificamente projetada, desenvolvida para sobrecarregada. A pontuao 0 aplicada a esse fator significa
suportar manuteno, visando facilidade de mudanas. que no h a necessidade de restries operacionais que so-
Para esse TCF foi dada a pontuao 5, pois todos os relat- brecarregassem o equipamento:
rios so dinmicos e o usurio escolhe mais de 30 opes de 0. No h restries operacionais explcitas ou implcitas.
filtros e colunas. Esse TCF pode ser dividido nas seguintes 1. Existem restries operacionais, mas so menos restritivas
categorias: do que aplicaes tpicas. Nenhum esforo extra necessrio
Capacidade de consultas/relatrios flexveis est disponvel; para suplantar as restries.
Dados de controle do negcio so agrupados em tabelas 2. Algumas consideraes sobre tempo e segurana so
passveis de manuteno pelo usurio. necessrias.
3. Necessidades especiais de processador para uma parte
Pontuao Descrio do Fator de Complexidade Tcnica 9 especfica da aplicao.
Nenhum requisito especial do usurio para projetar a aplicao, visando minimizar 4. Restries operacionais estabelecidas requerem ateno es-
0
ou facilitar mudanas. pecial no nvel de processador central ou processador dedicado
fornecido recurso da consulta/relatrios flexveis capaz de manipular solicitaes para executar a aplicao.
1 simples de consulta (query requests). Por exemplo: lgica de and/or aplicada a 5. Alm do descrito acima, existem sobrecargas no nvel
somente um Arquivo Lgico Interno (contar como um item). das unidades de processamento (CPUs) distribudas da
fornecido recurso de consulta/relatrios flexveis capaz de manipular solicitaes instalao.
2 de consulta (query requests) de mdia complexidade. Por exemplo: lgica de and/
or aplicada a mais de um Arquivo Lgico Interno (contar como dois itens). Pontuao Descrio do Fator de Complexidade Tcnica 11
fornecido recurso de consulta/relatrios flexveis capaz de manipular solicitaes Nenhuma solicitao do usurio para considerar a necessidade de controle de
complexas de consulta (query requests). Por exemplo: combinaes de lgica 0
3 segurana da aplicao.
de and/or aplicadas a um ou mais Arquivos Lgicos Internos (contar como trs Necessidade de controle de segurana foi levada em considerao no projeto do
itens). 1
sistema.
Dados de controle so mantidos em tabelas que so atualizadas pelo usurio Necessidade de controle de segurana foi levada em considerao no projeto
4 atravs de processos on-line e interativos, mas as alteraes s so efetivadas no 2 do sistema e a aplicao foi projetada para ser acessada somente por usurios
prximo dia til. autorizados.
Dados de controle so mantidos em tabelas que podem ser atualizadas pelo Necessidade de controle de segurana foi levada em considerao no projeto
5 usurio atravs de processos on-line e interativos e as alteraes so efetivadas 3 do sistema e a aplicao foi projetada para ser acessada somente por usurios
imediatamente (contar como dois itens). autorizados. O acesso ser controlado e auditado.
Tabela 8. TCF facilidade de alteraes Um plano de segurana foi elaborado e testado para suportar o controle de acesso
4
aplicao.
No TCF uso concorrente verificada a quantidade de acessos Um plano de segurana foi elaborado e testado para suportar o controle de acesso
simultneos aplicao. A pontuao recebida da ABC para 5
aplicao e a auditoria.
esse item 5, pois o gerente de projetos justifica que o controle
de acesso com ferramenta permite 150 acessos simultneos Tabela 9. TCF recursos de segurana
aplicao:
0. No esperado acesso simultneo. O TCF necessidade de treinamento refere-se s necessidades
1. So esperados acessos simultneos esporadicamente. de preparao da equipe para entendimento da aplicao.
2. Acessos simultneos so esperados. O sistema conta com recursos de um Help On-Line, e os vrios
3. Acessos simultneos so esperados diariamente. analistas tm treinamentos especficos para as atividades que iro
4. Muitos acessos simultneos foram fixados pelo usurio exercer no sistema, possibilitando que esse fator fosse classificado
para a aplicao, o que fora a execuo de tarefas de anlise com a pontuao 5, considerando os itens listados abaixo:
de desempenho na fase de projeto da aplicao. 0- Nenhuma solicitao do usurio para considerar a necessi-
5. Requer o uso de ferramentas controle de acesso nas fases dade de treinamento especial.
de projeto desenvolvimento e/ou implantao, alm das con- 1- Necessidade de treinamento especial foi levada em consi-
sideraes acima. derao no projeto do sistema.
2- Necessidade de treinamento foi levada em considerao no
O TCF recursos de segurana (ver Tabela 9) indica o nvel de projeto do sistema e a aplicao foi projetada para ser acessada
segurana requerido para a aplicao. A pontuao aplicada com facilidade pelos usurios.
para esse fator 5, uma vez que os laboratrios tm uma grande 3- Necessidade de treinamento especial foi levada em consi-
exigncia de segurana e auditoria, atendendo aos requisitos derao no projeto do sistema e a aplicao foi projetada para
para certificao da norma ISO 17025. ser utilizada por usurios de diversos nveis.
Atravs da TCF permite acesso por terceiros, avaliada a 4-5- Um plano de treinamento foi elaborado e testado para
necessidade de se fazer consideraes especiais no projeto do facilitar o uso da aplicao.

36 Engenharia de Software Magazine - Use Case Point: Estimativas de Projeto Parte 3


planejamento

Com base nos dados sobre os fatores de complexidade tcnica 4 - A maioria da equipe tem dois anos de experincia.
apresentados nos quadros acima, a pontuao apresentada 5 - Todos os membros so experientes.
na Tabela 10 foi gerada (subtotal) de acordo com o projeto
desenvolvido. Pontuao Descrio do Fator Ambiental 1

0 A equipe no familiar com o processo de desenvolvimento de software.


Descrio dos fatores tcnicos Peso (P i) Fi Subtotal
Sistema distribudo 2 0 0 A equipe tem conhecimento terico do processo de desenvolvimento de
1
software.
Tempo de resposta 1 3 3
Um ou mais membros utilizou o processo uma ou poucas vezes a CPU da instalao
Eficincia 1 5 5 2-3
(mas NO para processamento pelo usurio final como visto no item 1).
Complexidade do processamento 1 5 5 Pelo menos a metade dos membros da equipe tem experincia no uso do processo
3-4
Cdigo deve ser reutilizado 1 5 5 em diferentes projetos.
Facilidade de instalao 0,5 3 1,5 5 Toda a equipe tem experincia no uso do processo em vrios projetos diferentes.
Facilidade de uso 0,5 1 0,5
Tabela 11. EF familiaridade com o processo de desenvolvimento de
Portabilidade 2 0 0 software
Facilidade de alteraes 1 5 5
Uso concorrente 1 5 5 O EF experincia em Orientao a Objetos mede a experin-
Recursos de segurana 1 5 5 cia da equipe com anlise e projeto OO, modelagem de casos
Permite acesso por terceiros 1 0 0 de uso, classes e componentes. Para esse fator foi levado em
conta a experincia acima de dois anos da maioria da equipe
Necessidade de treinamento 1 5 5
(pontuao 4):
Total 40
0 - A equipe no familiar com anlise e projeto Orientao
Tabela 10. Fatores de Complexidade Tcnica para o sistema ABCLIMS a Objetos.
1 - Todos os membros tem menos de 1 ano de experincia.
A partir destas informaes, tem-se que: 2-3 - Todos os membros tm de 1 a 1 ano de experincia.
1
3
4 - A maioria da equipe tem mais de 2 anos de experincia.
6 + (0,01 Fi x Pi )
TCF = 0,0
i=1
, onde TCF o valor total da complexidade 5 - Todos os membros so experientes (mais de 2 anos).
tcnica.
O EF capacidade do analista (ver Tabela 12) indica a expe-
TCF = 0,06 + (0,01 x 40) = 0,46 rincia do analista com anlise de requisitos e modelagem.
Nessa avaliao foi aplicada a pontuao 5 (quatro analistas
Sabe-se que o sucesso de um projeto no depende apenas programadores, componentes da equipe, tm mais de trs anos
de fatores tcnicos ou um bom levantamento de requisitos. de experincia).
O conhecimento desse sistema e a equipe que o integra, por Para o EF motivao (ver Tabela 13), referente motivao
exemplo, so elementos fundamentais de anlise. Conforme total da equipe, foi dada pontuao 3, pois segundo o gerente
em artigos anteriores desta srie, os fatores ambientais (En- de projetos, todos os componentes da equipe esto predispos-
vironmental Factor - EF) so previstos na estimativa de UCP. tos realizao de um bom trabalho.
Com base nesses fatores, seguem as caractersticas a serem
pontuadas. Pontuao Descrio do Fator Ambiental 4
O EF familiaridade com o processo de desenvolvimento 0 O analista do projeto novato.
de software (ver Tabela 11) indica a experincia da equipe 1-2 Possui experincia de poucos projetos.
com processos/mtodos para o desenvolvimento do proje-
3-4 Pelo menos 2 anos de experincia com vrios projetos.
to, como o RUP, por exemplo. Para esse fator foi aplicada a
pontuao 0, dada a no familiaridade com o processo de 5 Pelo menos 3 anos de experincia com projetos variados.
desenvolvimento. Tabela 12. EF capacidade do analista
O EF experincia na aplicao indica a experincia com dife-
rentes tipos de aplicao ou com o tipo de aplicao que est
sendo desenvolvida. Para esse fator foi dada a pontuao 2, Pontuao Descrio do Fator Ambiental 5
considerando que alguns membros da equipe j possuem mais 0 No motivada.
de um ano e meio de experincia para a aplicao: 1-2 Pouca motivada.
0 - Todos os membros da equipe so novatos.
3-4 A equipe est motivada para fazer um bom trabalho.
1-2 - Poucos membros da equipe possuem alguma experincia
(de 1 a 1 ano). Os outros so novatos. 5 A equipe est muito motivada e inspirada.
3 - Todos os membros tm mais de 1 ano de experincia. Tabela 13. EF motivao

Edio 68 - Engenharia de Software Magazine 37


O EF estabilidade dos requisitos mede o grau de mudana Descrio dos fatores ambientais Peso (P i) Fi Subtotal
de requisitos e inseguranas sobre o significado dos requeri- Familiaridade com o processo de desenvolvimento de software 1,5 0 0
mentos. Esse fator foi classificado com pontuao 3, visto que a Experincia na aplicao 0,5 2 1
ABC tem 10 anos de experincia na realizao dessa atividade,
Experincia em Orientao a Objetos 1 4 4
de forma a facilitar para no existirem mudanas:
Capacidade do analista 0,5 5 2,5
0 - Requisitos muito instveis com mudanas frequentes.
1-2 - Requisitos instveis. Clientes demandam algumas mu- Motivao 1 3 3
danas realizadas em diversos intervalos. Estabilidade dos requisitos 2 3 6
3-4 - Estabilidade global. Pequenas mudanas so necessrias. Empregados em tempo parcial -1 4 -4
5 - Requisitos estveis ao longo do desenvolvimento Dificuldade com linguagem de programao -1 0 0
Total 10,5
O EF empregados em tempo parcial mede a estabi-
lidade da equipe e a influncia do trabalho parcial na Tabela 14. Fatores Ambientais para o sistema ABCLIMS
produtividade. Considerando que mais da metade dos
componentes da equipe dedicam seu tempo parcialmen- A partir desse resultado, pode-se obter o nmero de homem-
te a esse projeto, foi aplicada a pontuao 4 pelo geren- horas adotando a proporo de um ponto de caso de uso para
te de projetos, considerando os itens descritos abaixo: cada vinte homem-horas. Schneider e Winters (2001) reco-
0 - No tem membro com dedicao parcial. mendam essa proporo para projetos com equipe estvel e
1-2 - Poucos membros (20%) trabalham em perodo parcial. experiente, podendo variar para at 28 HH/UCP em equipes
3-4 - A metade dos membros da equipe trabalha em perodo com menor experincia.
parcial. A aplicao de 28 HH/UCP de produtividade neste estudo de
5 - Todos os membros da equipe trabalham em perodo parcial. caso est de acordo com o proposto por Schneider e Winters.
Dessa forma, pode-se calcular a produtividade total requerida
O EF dificuldade com linguagem de programao indica a para atender aos casos de uso solicitados como:
experincia com ferramentas primrias de desenvolvimento Total Homem-Horas = 62,887 x 28 1760,84 HH
e com a linguagem de programao escolhida. A pontuao 0
aplicada a esse fator ambiental significa que todos os compo- A produtividade de 1760,84 homem-horas para os casos de
nentes da equipe tm mais de trs anos de experincia no uso uso aplicados ao sistema ABCLIMS permite ao gerente de-
das ferramentas de desenvolvimento: terminar um custo e o tempo padro por homem-hora para o
0 - Todos os membros da equipe so programadores projeto, por se tratar de uma unidade de medida. Atravs da
experientes. anlise do grfico apresentado na Figura 11, nota-se que h
1 - A maioria dos membros da equipe possuem mais de dois uma variao de 1239,16 no valor estimado para o desenvol-
anos de experincia. vimento do ABCLIMS em relao ao valor real fornecido pela
2 - Todos os membros tm mais de 1 ano de experincia. ABC (3000 homem-horas) para implementao do sistema.
3 - A maioria da equipe tem mais de um ano de experincia. Essa diferena pode ser justificada pela pontuao aplicada
4 - Poucos membros da equipe tm alguma experincia (um aos fatores ambientais, pois o valor estimado atravs do UCP
ano). Os outros so novatos. leva em conta critrios como a experincia da equipe, e esta
5 - Todos os membros da equipe so novatos. experincia est sujeita rotatividade de pessoas no projeto,
e at mesmo contratao de novos integrantes.
Com base nos dados sobre os fatores ambientais elaborados e
apresentados nas tabelas anteriores, a pontuao apresentada
na Tabela 14 foi gerada (subtotal) de acordo com o projeto
desenvolvido.
A partir destas informaes, tem-se que:
8
F = 1,4 + (0,03 Fi x Pi )
E
i=1
, onde EF o valor total da complexi-
dade ambiental.
EF = 1,4 + (-0,03 x 10,5) = 1,085

Com os pesos no ajustados dos atores e dos casos de uso, o


prximo passo calcular o peso no ajustado dos Pontos por
Caso de Uso:

UCP = (UAW + UUCW) x TCF x EF


UCP = (11 + 115) x 0,46 x 1,085 62,887 Figura 11. Estimativas com e sem TCF em relao produtividade real

38 Engenharia de Software Magazine - Use Case Point: Estimativas de Projeto Parte 3


planejamento

Quanto utilizao dos fatores de complexidade tcnica para


Referncias:
o clculo dos pontos por caso de uso, verifica-se que a no
adoo desse fator gera uma diferena para o projeto (2067,04 [1] BEZERRA, E. Princpios de Anlise e Projeto de Sistemas com UML. Rio de
homem-horas em relao ao valor estimado com TCF) que pode Janeiro: Elsevier, 2002.
levar a equipe a grandes distores no clculo das estimativas,
caso no considerem esses fatores de funcionalidade. [2] CARROLL, E.R. Estimating Software Based on Use Case Point. In: Conferen-
ce on Object Oriented Programming Systems Languages and Applications,
Embora parea ser complexo, o uso da tcnica apresentada
20., San Diego, 2005. Practitioner report. Nova Iorque: ACM Press, 2005.
neste artigo pode ser assimilada facilmente. Seu uso nos pro-
p.257-265.
jetos faz com que se torne prtica e entendamos mais a fundo
os detalhes que podem tornar seu uso ainda mais eficaz. [3] ROCHA, A.R.C.; MALDONADO, J.C.; WEBER, K.C. Qualidade de Software:
Teoria e Prtica. So Paulo: Pearson Education do Brasil/Makron Books
Voc gostou deste artigo? Ltda, 2001.

[4] TONSIG, S.L. Engenharia de Software: anlise e projeto de sistemas. So


D seu voto em www.devmedia.com.br/esmag/feedback Paulo: Futura, 2003.
Ajude-nos a manter a qualidade da revista! [5] CARROLL, E.R. Estimating Software Based on Use Case Point. In: CON-
FERENCE ON OBJECT ORIENTED PROGRAMMING SYSTEMS LANGUAGES AND
APPLICATIONS, 20., San Diego, 2005. Practitioner report. Nova Iorque: ACM
Press, 2005. p.257-265.

[6] KARNER, G. Resource Estimation for Objectory Projects. Kista: Objective


Systems SF AB, 1993.

Edio 68 - Engenharia de Software Magazine 39


Engenharia
Nesta seo voc encontra artigos voltados para testes, processo,
modelos, documentao, entre outros

UML: A evoluo do diagrama de Caso de Uso 2.0


Abordagem prtica da evoluo do modelo mais famoso da UML

Fique por dentro:


Este artigo descreve a aplicao de casos de
uso de maneira gil e escalvel, baseada na
evoluo tcnica definida por Ivar Jacobson
como Caso de Uso 2.0. Sero apresentados os
fundamentos para desenvolvimento orientado
a casos de uso. Um caso de uso representa as
possveis maneiras que um usurio pode utilizar
um sistema para atingir um objetivo especfico.
Eles permitem definir o escopo de um sistema e
gerenciar o desenvolvimento incremental, tan-
to para pequenas equipes geis quanto grandes

O
Daniel Paz de Arajo Caso de Uso 2.0 surgiu como projetos de sistemas complexos, suportando
Atua como professor de ps-graduao no Se- uma forma de representar as sua anlise, modelagem, planejamento, avalia-
nac So Paulo e analista de sistemas na Matera atuais prticas dos casos de uso, o, monitoramento e testes.
Systems. Realiza pesquisas sobre articulaes representando tcnicas bem sucedidas
entre arte, educao e tecnologia, sendo autor
adotadas pela comunidade. No houve
de artigos tcnicos e palestrante nas reas.
Possui formao de Bacharel em Cincias da alterao terica dos casos de uso, mas
Computao pela Universidade Jos do Rosrio sim na forma com que os analistas rea- afetam ou so afetadas pela necessidade
Vellano em Minas Gerais; Mestre em Processos lizam seu levantamento, detalhamento, identificada. Casos de Uso 2.0 auxiliam
Cognitivos e Ambientes Digitais pelo curso de organizao e comunicao. Seu foco a captura de requisitos bem como possi-
Tecnologias da Inteligncia e Design Digital, da
identificar e detalhar requisitos de forma bilita analisar as influncias e impactos
Pontifcia Universidade Catlica de So Paulo -
PUCSP; MBA em Gesto da Tecnologia da Infor- enxuta, ou seja, evitando desperdcios. nos elementos envolvidos em um sistema.
mao e Especializao em Docncia no Ensino Os requisitos so as necessidades que Qualquer mudana, seja devido uma
Superior pela Fundao Getlio Vargas - FGV, o sistema dever satisfazer e por isso lio aprendida, alterao no escopo ou
e; doutorando em Artes Visuais na linha de devem ser claros, tangveis e com valor nova funcionalidade, resultam em alte-
Multimeios e Arte pela Universidade Estadual
para o cliente. Eles so comunicados raes nos casos de uso e sua influncia
de Campinas UNICAMP. Em seu site http://
www.araujo.co esto publicados contedos pelas partes interessadas no sistema, ou nos elementos do sistema podem ser fa-
sobre temas diversos. seja, pessoas, grupos ou organizaes que cilmente analisadas pelo modelo de casos

40 Engenharia de Software Magazine - UML: A evoluo do diagrama de Caso de Uso 2.0


en gen haria

de uso. A qualidade da soluo sistematizada verificada por partes ou fatias. Esta uma das principais caractersticas do
um conjunto de testes, confirmando se os casos de uso e suas Caso de Uso 2.0, onde os casos de uso so fatiados para pro-
fatias foram implementadas com sucesso. Os princpios bsicos porcionar itens de trabalho de tamanhos adequados e evoluir
para aplicao com sucesso de casos de uso so: o sistema a cada fatia. A melhor maneira para identificar as
1. Manter a simplicidade atravs de histrias: Contar hist- fatias consider-las como histrias de usurio. Cada histria
rias a melhor forma de comunicar o que um sistema deve pode ser definida como parte da narrativa do caso de uso e
fazer, e manter a equipe trabalhando com foco nos mesmos podem ser acompanhadas por casos de testes. Os casos de
objetivos. Os casos de uso capturam os objetivos do sistema. testes so fundamentais para descrio das fatias de caso de
Para entender um caso de uso devemos contar histrias. As uso pois eles fazem a histria se tornar real. A primeira fatia
histrias abordam como atingir um objetivo com sucesso, e provavelmente conter o fluxo bsico e um caso de teste. Fatias
como lidar com quaisquer problemas que podem ocorrer no podem ser adicionadas para completar o fluxo e os casos de
caminho. Quando se utiliza histrias como uma tcnica para teste. As fatias devem ser criadas do tamanho apropriado para
comunicar requisitos essencial certificar que estas sero conduzir seu desenvolvimento, mantendo o foco no valor e
capturadas de forma que sejam executveis e testveis. Um completude de cada caso de uso;
conjunto de casos de teste acompanham cada narrativa de caso 5. Entregar em incrementos: normalmente os sistemas no
de uso para completar sua descrio. Os casos de teste so a so produzidos de uma s vez, mas evoludos atravs de uma
parte mais importante de uma descrio de caso de uso, mais srie de iteraes. Cada incremento entregue em uma iterao
importante at que a narrativa do caso de uso. Isso porque baseado no incremento anterior, seja para adicionar novas
eles tornam as histrias reais, e seu uso pode demonstrar de funcionalidades ou melhorar a qualidade. Da mesma forma,
forma inequvoca se o sistema est fazendo o que supostamente os casos de uso devem considerar entregas incrementais, po-
deveria fazer. o caso de teste que define o que implementar dendo ser utilizados para planejar as entregas. A anlise dos
com sucesso no caso de uso; casos de uso permite que conjuntos de requisitos relacionados
2. Entender a viso geral: independentemente do tamanho ou sejam priorizados ou adiados para outras verses. Ao utilizar
complexidade do sistema que ser desenvolvido, essencial os casos de uso na abordagem de entregas, o objetivo de cada
que se tenha a viso geral do que ser feito. Sem uma compre- iterao fica claro para toda a equipe;
enso do todo, ser difcil tomar as decises corretas sobre o 6. Adaptar para conhecer as necessidades: o trabalho de
que incluir ou no no sistema, seus custos e valores que sero desenvolvimento de software varia bastante em cada projeto
agregados. Isso no significa capturar todos os requisitos, por envolver necessidades, ferramentas e equipes diferentes.
mas necessrio criar uma viso que permita entender todo Por este motivo, as tcnicas utilizadas devem ser flexveis
o escopo e acompanhar o progresso do desenvolvimento do e adaptveis suficientemente para atender a estas questes.
sistema. Os modelos de caso de uso reconhecem o fato de que Requisitos menos detalhados so adequados para projetos em
os sistemas suportam vrios objetivos de diferentes partes in- que o cliente est bem prximo da equipe de desenvolvimento.
teressadas. Nestes modelos os interessados que usam o sistema Por outro lado, em muitas situaes este tipo de colaborao
e contribuem para a realizao dos objetivos so representados no possvel, o que acaba exigindo um nvel mais detalhado
como atores, e as maneiras que o sistema ser utilizado para dos requisitos, tornando-os mais pesados. Com foco na neces-
alcanar esses objetivos so modelados como casos de uso; sidade de adaptao, Caso de Uso 2.0 permite que o requisito
3. Focar no valor: Ao avaliar como um sistema ser usado, seja to leve quanto for preciso. As histrias capturadas por
fundamental se concentrar no valor que ser proporcionado pequenas equipes colaborativas podem ser escritas mo em
a todas as partes interessadas. Os casos de uso proporcionam cartes ou ndices. Equipes maiores e distribudas podem ter
esse foco, concentrando-se sobre como o sistema ser usado narrativas mais detalhadas em documentos. Cabe equipe
para atingir uma meta especfica para determinado usurio. decidir o nvel de detalhe adequado dos requisitos, acrescen-
O ideal comear pela a maneira mais simples possvel de tando mais informaes naturalmente ao se depararem com
alcanar um objetivo e a partir da capturar as maneiras al- situaes mais complexas.
ternativas de alcanar o objetivo e como lidar com quaisquer
problemas que possam ocorrer. Isso ir permitir que as formas Fatias de casos de uso
mais valiosas de se utilizar o sistema possam ser identifica- Sistemas de software so construdos para atender a diversos
das e permitir que outras de menor valor sejam adicionadas requisitos dos usurios. Tais necessidades so organizadas em
posteriormente; casos de uso, normalmente grandes ou em grande quantidade.
4. Construir em partes: a maioria dos sistemas tm muitos re- Para entregar o sistema de forma incremental necessrio divi-
quisitos, muitos dependentes de outros requisitos que devero dir os casos de uso em pedaos menores para que possam fluir
ser implementados antes que se possa entregar algo de valor. atravs do processo de desenvolvimento e sejam priorizados,
O sistema deve ser construdo em partes, cada uma tendo valor implementados e testados.
claro para os usurios. Inicialmente deve-se identificar qual o Uma maneira eficiente para fazer tal diviso fatiar os casos
objetivo fundamental do sistema e a partir disso definir o que de uso. Uma fatia de um caso de uso uma ou mais histrias
ter mais valor. Este objetivo deve ser quebrado em pequenas selecionadas de um caso de uso para formar um item de

Edio 68 - Engenharia de Software Magazine 41


trabalho que possua valor claro para o cliente. A fatia de caso Como normalmente o cliente ou usurio no domina a mo-
de uso a caracterstica mais importante do Caso de Uso 2.0, delagem de casos de uso, para simplificar o entendimento
pois auxilia no direcionamento do desenvolvimento como pode-se simplesmente litar quais usurios iro realizar quais
um todo. Ela permite que os casos de uso sejam divididos objetivos no sistema. No necessrio nem adequado identifi-
em itens de trabalho pequenos, independentes e entregveis, car inicialmente todos os casos de uso de sistema, mas apenas
facilita a ordenao, e priorizao das funcionalidades, alm aqueles que oferecero maior valor s partes interessadas.
de interligar os diferentes processos de desenvolvimento de Outros atores e casos de uso podero ser encontrados durante
sistemas como anlise, projeto, construo e testes, em uma o detalhamento dos requisitos.
abordagem guiada por casos de uso. Desde a identificao
inicial at sua aceitao final, as fatias de caso de uso evoluem Gerenciando fatias de caso de uso
naturalmente, sendo ajustadas para que representem adequa- Os casos de uso e as fatias devem ser organizados de forma
damente o entendimento do requisito. Os estados de uma fatia que os mais importantes, ou seja, o que tem mais valor do
de caso de uso so: ponto de vista do cliente, sejam abordados primeiro. Como os
1. Definida: as histrias abordadas esto esclarecidas; casos de uso e as fatias so o foco do trabalho da equipe, utilize
2. Preparada: a fatia foi detalhada e os casos de teste esto tcnicas de gesto visual, como o Kanban, por exemplo, para
escritos; torn-los visveis e tangveis para a equipe.
3. Analisada: o impacto da fatia nos componentes do sistema Assim como feito com os casos de uso, o acompanhamento
foi compreendido; da evoluo das suas fatias tambm importante para a gesto
4. Implementada: a fatia foi codificada e est preparada para do desenvolvimento do software. Para isso, as fatias devem
ser testada; ser organizadas atravs de nomenclatura, estado e prioridade.
5. Verificada: a fatia foi testada e est pronta para ser Alm disso, as fatias devem ter outras informaes essenciais
entregue. para sua implementao com sucesso:
Histria(s) envolvidas;
A anlise dos estados das fatias auxilia na avaliao do Referncia aos casos de uso que definem as histrias;
progresso em entender e implementar os casos de uso. Como Referncia aos casos de teste;
as fatias so independentes, elas podem ser tratadas paralela- Estimativa do trabalho necessrio para implementar e testar
mente aps terem sido organizadas por prioridades e depen- a fatia.
dncias. Sua organizao permite a otimizao do trabalho ao
direcionar cada conjunto de fatias para a equipe adequada a Outros atributos podem ser adicionados quando necessrio
realizar as atividades daquele momento. como, por exemplo, a origem do caso de uso, seu responsvel
ou incremento em que ela dever ser entregue.
Histrias
As histrias detalham os casos de uso e devem ser adequadas Modelo de Caso de Uso
para que as partes interessadas identifique o valor de cada uma Um modelo de caso de uso uma representao de todas
delas. Cada histria dever ser acompanhada de um ou mais as formas teis de usar um sistema, e o valor que eles iro
casos de teste. As histrias so muito teis para se identificar fornecer. Ele permite que as equipes cheguem a um acordo
as fatias de caso de uso com o tamanho adequado, alm dos sobre as caractersticas e funcionalidades do sistema, alm de
casos de teste corretos. Existem diferentes abordagens para estabelecer limites e escopos pela identificao de atores e casos
identificao e estruturao das histrias em casos de uso. de uso, alm de possibilitar o gerenciamento dos requisitos.
Normalmente adota-se uma das alternativas: Os modelos de caso de uso podem ser organizados em quadros
De cima para baixo: os casos de uso so identificados, o brancos, slides, documentos ou em ferramentas prprias para
fluxo bsico descrito e posteriormente so criados os fluxos modelagem. Seu nvel de detalhe pode variar de acordo com
alternativos com base no fluxo bsico; o momento e a necessidade:
De baixo para cima: realizado um brainstorm de algumas Valor: o primeiro passo para modelagem de casos de uso
histrias que so analisadas e agrupadas por temas para iden- identificar os atores e objetivos mais importantes;
tificao do caso de uso, fluxo bsico e fluxos alternativos. Limite do sistema: identificar a relao do sistema com
outros elementos;
Trabalhando com casos de uso Estruturado: evita informaes redundantes como sequn-
O primeiro passo a identificao dos atores e principais casos cias ou padres de interao.
de uso. Atravs desta anlise ser possvel definir claramente
os objetivos e comportamentos esperados do sistema, planejar o O modelo de casos de uso deve mostrar claramente o valor
escopo das verses a serem entregas, definir como o sistema ser que as partes interessadas recebero do sistema que est sendo
testado e finalmente o valor que o produto final oferecer. trabalhado. Deve-se ter cuidado com o nvel de detalhes do
Para que esta anlise seja mais eficaz, o ideal identificar os modelo para seja til no desenvolvimento do sistema, evitando
atores e casos de uso em conjunto com o cliente ou usurio. incluso de informaes desnecessrias para a equipe.

42 Engenharia de Software Magazine - UML: A evoluo do diagrama de Caso de Uso 2.0


en gen haria

Narrativa de Caso de Uso e fornecem mecanismos para verificar se os requisitos esto


O propsito da narrativa de caso de uso contar uma hist- sendo atendidos alm de ser uma forma de avaliar a qualidade
ria sobre como o sistema e seus atores trabalham juntos para do sistema. O nvel de detalhamento de um caso de teste varia
chegar a um objetivo. As narrativas de caso de uso: de acordo com o momento e a necessidade:
Descrevem histrias usadas para explorar requisitos e iden- Ideias de teste: apenas captura a ideia inicial por trs do caso
tificar as fatias de caso de uso; de teste e a qual fatia ela se aplica. Mais detalhes devero ser
Descrevem uma sequncia de aes, incluindo variante, que adicionados se o teste for executvel;
um sistema e os atores podem executar; Cenrio escolhido: escolhido um caminho no conjunto
So representados por um conjunto de fluxos que descrevem de cenrios de testes possveis para cumprir a ideia de teste,
as possveis sequencias; definindo claramente se a fatia est pronta;
Capturam informaes necessrias para apoiar outras ati- Identificao de variveis: um caso de teste recebe entradas,
vidades de desenvolvimento. manipula os estados do sistema e produz resultados. Tais vari-
veis aparecem como entradas, estados internos e sadas;
As narrativas podem ser feitas em diferentes nveis de deta- Conjunto de variveis: fornece explicitamente valores espe-
lhamento, de acordo com o momento e a sua necessidade: cficos para todas as variveis envolvidas no caso de testes;
Breve descrio: apenas identifica o objetivo do caso de uso Automatizado: deve ser considerado se o caso de teste for
e qual ator ir realiza-lo; executado muitas vezes ou se for necessrio suportar muitos
Estrutura com marcadores: o caso de uso estruturado testes diferentes.
para que se possa entender sua complexidade. Este nvel de
detalhe permite o fatiamento do caso de uso para que seja Os casos de teste sero usados durante todo o tempo de
desenvolvido por partes; vida do sistema, e no apenas durante a implementao dos
Estrutura essencial: captura as responsabilidades sem casos de uso, mas para avaliar impactos e testar regresso e
definir quais partes do caso de uso sero realizadas pelo ator integrao com outros componentes. A estrutura dos casos de
ou pelo sistema; uso bem feita leva a casos de testes bem feitos. Cada histria
Detalhado: cobrem a ausncia de especializaes dentro da descrita na narrativa do caso de uso dever ter pelo menos
equipe, falta de acesso s partes interessadas ou a dificuldade um caso de teste.
de comunicao sobre requisitos complexos.
Implementando fatias de caso de uso
Realizao de Caso de Uso Normalmente os casos de uso, mesmo os mais simples, co-
O objetivo da realizao de um caso de uso representar brem vrias histrias. Para criar itens de trabalho de tamanhos
como os elementos do sistema colaboram em conjunto para mais adequados os casos devem ser fatiados, simplificando a
executar um caso de uso. As realizaes de caso de uso: escolha pelas histrias a serem implementadas. Para maior
Identificam os elementos e suas responsabilidades ao exe- assertividade, este processo de fatiar os casos de uso pode ser
cutar um caso de uso; realizado com apoio das partes interessadas para se certificar
Descrevem a interao dos elementos para executar o caso que as histrias tm valor e podem ser executadas e testadas.
de uso; O fluxo bsico do caso de uso mais importante provavelmente
Traduzem a linguagem de negcios para a linguagem do fornecer a fatia de maior valor.
desenvolvedor que ir implementar o sistema. No indicado que todos os casos de uso sejam fatiados de
uma s vez, pois necessrio apenas que haja fatias suficientes
As realizaes de caso de uso podem ser representadas em para atender s necessidades imediatas da equipe. Tambm
diversos formatos, de acordo com a necessidade. Normalmente no preciso que o caso de uso seja completamente fatiado,
as realizaes incluem tabelas simples, storyboards, diagramas mas que apenas sejam retiradas as fatias necessrias para
de sequncia, colaborao e de fluxo de dados. O detalhamento o progresso do trabalho. Neste sentido, pode ser adotado o
da realizao varia de acordo com o momento e necessidade: modelo puxado onde os analistas buscam por novas fatias
Elementos de execuo: captura apenas os elementos que medida que eles tenham capacidade para trabalh-las. Alm
iro participar do caso de uso; de criar itens de tamanho adequado para o trabalho da equipe,
Responsabilidades: fornecem uma definio de alto nvel do as fatias permitem que o escopo seja ajustado dentro do prazo
que cada elemento deve fazer, armazenar e controlar; e oramento disponveis, e que as partes interessadas recebam
Definio da Interao: definio completa das aes neces- os itens de maior valor.
srias de cada elemento envolvido no caso de uso. Uma vez que as fatias foram identificadas, organizadas
e separadas para o desenvolvimento, preciso prepar-las
Caso de Teste para que sejam implementadas. Para tal necessrio que seja
O objetivo de um caso de teste definir claramente o signifi- definido claramente o significado de implementar a fatia com
cado de completar com sucesso uma fatia. Eles permitem que sucesso, quais as caractersticas exigidas do sistema como,
os testes sejam especificados antes da implementao da fatia por exemplo, requisitos no funcionais e focar nos testes

Edio 68 - Engenharia de Software Magazine 43


que devero ser satisfeitos. Com base nessas informaes funcionais normalmente modelados com casos de uso, as ca-
possvel fazer uma anlise para entender a influncia da ractersticas no funcionais de um sistema tambm podem ser
implementao da fatia em relao aos demais elementos do representadas, como parte dos prprios casos de uso. Quando
sistema, definindo suas responsabilidades e como deve ser a se est construindo arquitetura em camadas com componentes
integrao entre eles. de segurana, gerenciamento de dados ou transaes, podem
medida que a equipe evolui na compreenso do sistema e ser criados casos de uso tcnicos do sistema, contendo os
sua arquitetura, ser mais fcil analisar as fatias. O software requisitos que iro direcionar a infraestrutura da aplicao.
ser implementado fatia por fatia que exigiro mudanas em Nestes casos, as fatias podem ser transversais, pois afetam o
uma ou mais partes do sistema. Os testes devero ser realizados comportamento do sistema em diversos pontos.
independentemente para verificar se a fatia foi implementada Um dos pontos mais interessantes sobre casos de uso
com sucesso. Para garantir a integrao de uma fatia com as que eles permitem gerenciar o escopo em alto nvel, sem a
demais partes, o software dever ser retestado e integrado com necessidade de detalhar todas as histrias, possibilitando a
todo o sistema se for o caso, para verificar se todas as novas priorizao e quebra do trabalho em tamanhos adequados
fatias no impactaram outras partes. para a equipe com entregas de valor ao cliente.
O modelo de casos de uso deve ser revisto continuamente
durante o projeto, principalmente devido s lies aprendidas
Referncias:
e mudanas em prioridades ou em requisitos. Tais mudanas
podem afetar diretamente fatias ou casos de uso inteiros que j JACOBSON, I. at all. The Essence of Software Engineering: Applying the SEMAT
foram ou no implementados. A evoluo do modelo de casos Kernel. Addison-Wesley Professional: 2013
de uso pode levar identificao de novas histrias, exigindo
a reviso de todo o modelo. BITTNER, K. SPENCE, I. Use Case Modelling. Addison-Wesley: 2002
Casos de uso no servem apenas para sistemas que tem uso JACOBSON, I. BITTNER, K. SPENCE, I. Use Case 2.0: The Guide to Succeding
intensivo de interao com o usurio, podendo ser aplicados with Use Cases.
at em sistemas embarcados que tm pouca ou nenhuma
interao humana. Para que casos de uso sejam utilizados
apropriadamente para qualquer sistema, basta manter o foco Voc gostou deste artigo?
em sua relao com o mundo exterior, seja ele um ser humano
ou outro sistema.
D seu voto em www.devmedia.com.br/esmag/feedback
Outra abordagem bastante utilizada sua aplicao para
entender requisitos de negcio, identificando a situao atual e Ajude-nos a manter a qualidade da revista!
projetando melhores processos de negcio. Alm dos requisitos

44 Engenharia de Software Magazine - UML: A evoluo do diagrama de Caso de Uso 2.0


en gen haria

Edio 68 - Engenharia de Software Magazine 45


Engenharia
Nesta seo voc encontra artigos voltados para testes, processo,
modelos, documentao, entre outros

Teste de Software: Avaliando a eficincia da


equipe
O desafio de medir a eficincia sem ser exclusivamente por mtricas

Fique por dentro:


Equipes de testes possuem seus pontos fortes e
fracos, medir esses pontos um desafio e mui-
tas vezes utilizar apenas um conjunto de mtri-
cas no dar a viso correta sobre a eficincia
da equipe, preciso considerar a particularida-

P
ara gerenciar um esforo de teste, de do ambiente ao qual a equipe est inserida,
gerentes de testes, coordenadores a influncia de fatores externos e a realidade de
de testes e testadores precisam de cada organizao. Neste contexto, este artigo
informaes que iro auxili-los a tomar apresentar de forma sucinta sinais que leva-
decises oportunas e informadas. Esta ro gestores a considerar diversas situaes an-
informao geralmente chamada de tes de avaliar uma equipe, onde nmeros sem
Mtrica, mas alm de auxiliar a realizar contexto so apenas nmeros que nem sempre
medidas, mtricas tambm pode ser refletem a condio real de cada profissional.
utilizada para identificar necessidades
de aprimoramento do profissional, as-
sim como oportunidades de melhoria
de processos. Com isso podemos afir- do profissional? Mtricas por si s so
mar que Mtricas um grande aliado apenas nmeros que nem sempre refle-
quando o tema medir algo, porm tem a condio real de cada profissional.
preciso tomar cuidado, pois devem ser Quando a equipe de teste prxima
Clia Negrini usadas para o bem, ajudando a orientar e o acompanhamento feito de perto,
celianegrini@hotmail.com
Graduada na rea de TI, certificada pela a equipe, e no para punir. Mtricas existem muitos fatores to importantes
ISTQB(Certified Tester Foundation Level) e usadas de forma errada podem ser quanto os nmeros que precisam ser
pela ScrumAlliance(CSM- Certified Scrum desanimadoras. levados em conta. Desta forma, um
Master), com 13 anos de atuao na rea de Mas ser que a nica forma de medir gestor da rea de testes deve ter o co-
tecnologia, sendo os ltimos 8 anos dedicados
a eficincia de uma equipe de teste se nhecimento necessrio para avaliar o
a Qualidade de Software. Atualmente coor-
denadora de testes e qualidade na empresa baseando apenas em mtricas? Ou de- contexto e assim realizar o levantamento
VALID Certificadora Digital. vemos levar em conta o aspecto pessoal de forma eficaz.

46 Engenharia de Software Magazine - Teste de Software: Avaliando a eficincia da equipe


en gen haria

Antes de iniciar qualquer medio preciso perguntar: existe o desempenho da rea de desenvolvimento, avaliando, por
um processo? Ele est claro para todos? Ele seguido? Pode exemplo, se ao corrigir um erro so inseridos mais cinco ou
no parecer, mas para que a entrega de um software ocorra se o problema base foi definitivamente resolvido. Esse tipo
com uma boa qualidade, o processo deve ser seguido desde de levantamento auxiliar a identificar reas de risco que
o incio, ou seja, desde a fase de levantamento de requisitos. necessitaro de mais testes e mais ateno.
Esta uma das etapas mais importantes no planejamento de Medir o processo de teste no ajuda apenas a medir a efici-
desenvolvimento de um software, quando um projeto tem ncia de uma equipe de testes, mas tambm a encontrar falhas
um levantamento de requisitos inadequado, ou a equipe no processo como um todo.
no disponibiliza tempo suficiente para essa fase do projeto,
existe uma grande tendncia em haver falhas no decorrer do Por onde comear?
desenvolvimento e consequentemente durante os testes. Ao Mtricas ajudam a medir o progresso e a qualidade de um
final, o que ser entregue no ser condizente com o que o esforo de teste de software. Elas tambm podem ser aprovei-
cliente pediu. tadas para avaliar o desempenho do passado, o estado atual
Em situaes em que o documento de requisitos no existe, e a prever tendncias futuras. Mtricas eficazes so simples,
ou que novos requisitos foram solicitados no decorrer do de- objetivas, mensurveis e significativas e tm dados facilmente
senvolvimento e no foram documentados, considerando que coletados.
o planejamento dos testes j aconteceu, como o profissional de Para iniciar a medio, o gestor ou o responsvel por essa
testes ter tempo para inserir novas condies de testes? Ser atividade precisa entender os processos que envolvem a cria-
que ele no teve que fazer rapidamente? Ser que ele foi infor- o de mtricas:
mado dessas alteraes de requisitos? Qual foi a antecedncia Identificar a Mtrica: Inicialmente preciso identificar
que isso aconteceu? Tudo precisa ser levado em conta. os objetivos a serem alcanados, seno correr o risco de
Esse apenas um exemplo de fatores que podem afetar um perder tempo e dinheiro na medio de itens desnecessrios.
bom desempenho de um profissional de testes. Por esse mo- O programa de mtricas deve ser conduzido e revisado pela
tivo, levar em considerao apenas as mtricas no uma boa liderana executiva pelo menos uma vez em um trimestre,
maneira de avaliar uma equipe de testes, preciso considerar pois a coleta de mtricas uma atividade intensa que precisa
a particularidade do ambiente ao qual ela est inserida e a de fontes de dados certos e aceitao por toda a organizao
realidade de cada organizao. (e no apenas de teste);
Identificar o que pode ser medido: Identificar dentro de um
Por que medir o processo de teste? processo de teste o que pode ser medido de forma objetiva, essa
Existe uma presso muito grande para que o processo de teste informao poder ser usada como base para iniciar a definio
de software seja rentvel e eficiente o suficiente para atender de todas as mtricas. Pedir ajuda a todos participantes de TI
as demandas de realizar a atividade com um baixo custo e a ajudar a ter uma mtrica mais eficaz;
entrega de um software com qualidade. A melhor forma de Frequncia: Estabelecer qual informao ser possvel ras-
avaliar a eficcia de um processo de teste conseguindo medir trear e qual a frequncia que essas mtricas sero geradas.
a produtividade da equipe de qualidade envolvida, mas no
deixando de considerar a eficincia de como o trabalho solici- Uma tcnica que pode ser utilizada para auxiliar na medio
tado executado. Mtricas ajudam a medir a produtividade de a Goal-Question-Metric (GQM). A ideia bsica derivar m-
uma equipe, mas tambm auxiliam a melhorar procedimentos tricas de software a partir de perguntas e objetivos.
de teste, mtodos utilizados, ferramentas, entre outros. Colher O processo de definio de um programa de mtricas deve
dados e realizar a anlise adequada oferece a oportunidade ser baseado nas necessidades de informao de cada nvel
para as organizaes de aprender com a prpria histria e criar organizacional. Isto obtido a partir do levantamento de in-
uma maturidade no processo. formaes junto s reas interessadas. O paradigma do GQM
A medida um instrumento que permite que a gesto foi proposto como uma abordagem orientada a objetivos para
identifique eventos importantes e tendncias, auxiliando a medio de produtos e processos. Essa metodologia baseia-se
na tomada de decises. Alm disso, medies ajudam na na premissa de que, para ganhar uma medida prtica, deve-se
avaliao de riscos, que por sua vez diminui a probabilidade primeiro entender e especificar os objetivos dos artefatos de
de surpresas inesperadas em diferentes fases do processo de software sendo medidos e os objetivos do processo de medio.
teste. Organizaes que conseguem medir o processo de sua Para que isso seja feito, preciso responder as trs perguntas
equipe de teste so capazes de prever os custos e trabalhar bsicas dessa tcnica:
com cronogramas mais prximos da realidade, aumentando 1. Goal (Objetivo)
assim a rentabilidade do seu negcio. Quais so as metas/objetivos?
Podemos dizer inclusive que no possvel avaliar se uma Exemplo: Melhorar a eficincia dos testes manuais?
aplicao estvel, sem conhecer a frequncia que uma equipe 2. Question (Questes)
de teste encontra defeitos, independente da fase que seu pro- Quais questes se deseja responder?
jeto se encontra. Dessa forma, possvel tambm quantificar Exemplo: Qual a eficincia dos testes manuais?

Edio 68 - Engenharia de Software Magazine 47


3. Metric (Mtricas) medio auxiliar quando testes de prioridade alta falharam
Quais mtricas podero ajudar? mais do que o esperado;
Exemplo: Nmeros de Bugs encontrados em QA X Nmero 5. Tempo dispensado em cada Fase de Teste: A medio do
de Bugs encontrados em Homologao/Produo. tempo utilizado pela equipe de teste em cada fase do projeto
fundamental. Essa medida auxiliar a identificar fases com
Independente da tcnica utilizada muito importante des- maior tempo gasto e direcionar aes de melhoria para trazer
tacar que no coerente a tomada de decises levando como otimizao na execuo. Por exemplo, se a mtrica apontar que
base unicamente as mtricas. Deve-se tambm tomar cuidado a atividade Gerao de Massa de Testes est levando muito
com mtricas difceis, pois devem ser analisadas com
cuidado, tempo, algumas aes de melhoria podem ser realizadas a
alm dos modelos utilizados para a apresentao de dados que fim de otimizar essa atividade, que pode ser desde a criao
devem ser autoexplicativos. de uma equipe exclusiva para gerao de massa de testes, at
mesmo alocar outro recurso de teste para auxiliar esse recurso
Mtricas chave para Teste de Software nesse projeto por determinado tempo;
A rea de teste de software a responsvel por apresentar 6. Produtividade: Mtricas de produtividade combinam
a vulnerabilidade de um software, assim como sua eficcia. vrias medidas e parmetros com esforo gasto no soft-
Desta forma, utilizar a mtrica certa fundamental. Abaixo ware, elas ajudam a descobrir a capacidade da equipe.
so listadas algumas mtricas que permitiro medir vrios Cada empresa tem sua prpria frmula para capturar as
aspectos de eficincia: mtricas de produtividade, algumas utilizam contagem
1. Acompanhamento dos Casos de Testes: Acompanhar os de erros, nmero de testes escritos x tempo, o nmero de
casos de testes planejados x os testes executados dentro do tem- testes executados, % de testes automatizados em compa-
po estipulado, considerando fatores externos que podem ter rao com os testes manuais e % de cobertura de cdigo.
influenciado na execuo. O objetivo dessa mtrica identificar O maior problema de todas as medidas de produtividade
de perto o progresso dos testes e visualizar facilmente qualquer que elas s fazem sentido se no forem ignoradas variveis
desvio, permitindo tomar aes iniciais sobre qualquer indcio dependentes, como: motivao, ferramentas, habilidade
de que a atividade de teste est atrasada. Essa mtrica ajuda a inerente, processos e at mesmo o ambiente fsico. Ou seja,
identificar a eficincia de um analista de teste; no existe uma frmula simples para medir o desempenho
2. Acompanhamento dos Defeitos: Acompanhar os bugs iden- de um indivduo e muitas vezes elas so muito subjetivas,
tificados pelo analista de teste um bom indicador, preciso e influenciadas por fatores externos;
apenas tomar certo cuidado com essa mtrica, pois poucos 7. Eficincia dos Testes X Erros de Produo: Erros encon-
defeitos nem sempre indicam uma boa qualidade do software, trados no ambiente de produo so reportados por usurios
podem significar uma m cobertura dos testes, ou uma m ou clientes e podem indicar problema na qualidade do teste.
compreenso do analista de teste no momento da execuo. Isto por que preciso considerar que no existe zero bugs,
Mas tambm pode sinalizar um bom desenvolvimento e o por mais que uma equipe se esforce, nunca ser possvel
software realmente estar com uma tima qualidade; entrar com um software em produo com nenhum defeito.
3. Defeitos por Severidade: Essa mtrica complementar m- Mas existem situaes que indicam o contrrio, que bugs
trica anterior (Acompanhamento dos Defeitos), pois podemos de severidade alta so encontrados e isso precisa ser me-
ter softwares distintos com a mesma quantidade de bugs, ou dido. Para realizar essa medio preciso excluir os bugs
quantidade aproximada de bugs, mas ao medirmos a severida- detectados pelos analistas de testes no ambiente de teste e
de dos defeitos ser possvel identificar que para um software X que foi decidido que no seria solucionado para entrada em
que tem, por exemplo, 50 bugs, 30 so de prioridade baixa, 25 de produo. Para calcular essa mtrica, preciso ter um siste-
prioridade mdia e cinco de prioridade alta. Ao mesmo tempo ma de rastreamento de bugs para todos aqueles encontrados
podemos ter um software Y com os mesmos 50 bugs, porm durante a fase de testes, alm de ter que se definir uma forma
com 20 bugs bloqueantes, 15 bugs de prioridade alta e 15 de de rastrear bugs encontrados em produo. A maioria das
prioridade mdia. Nesse caso, embora a quantidade final seja organizaes possui um help-desk ou suporte tcnico com
a mesma, a severidade indica claramente a deficincia de um esses dados, por isso geralmente apenas uma questo de
deles, ento nmeros sem a severidade no sero um indicador descobrir como separar e agrupar as informaes das duas
suficiente para apontar a realidade de cada projeto; bases de dados (muitas vezes distintas). preciso tambm
4. Casos de Teste por Prioridade: Alguns casos de teste podem definir uma janela de tempo, isso depende de quanto tempo
ser mais importantes do que outros, portanto, comum atribuir leva para os seus clientes ou usurios para utilizar ao menos
prioridades / pontuao para eles. Quando usamos essas 80% das funcionalidades da aplicao em produo, definido
pontuaes prioridades / teste, pode-se fornecer uma manei- isso possvel realizar um comparativo dos bugs detectados
ra mais precisa para controlar o andamento do teste de uma em produo X bugs detectados durante os testes e avaliar se
forma normalizada. Com base nos resultados dos testes a quantidade detectada em produo muito elevada, ou se
possvel identificar a importncia em um teste de prioridade os bugs so crticos e com isso ter uma medida da eficincia
maior que falhou com outro de uma prioridade menor. Essa da equipe de testes envolvida.

48 Engenharia de Software Magazine - Teste de Software: Avaliando a eficincia da equipe


en gen haria

Esses so alguns exemplos de mtricas que podem ser uti- Falha no Processo: Existe um processo? Ele est claro para
lizados para medir e analisar a eficincia de uma equipe de todos? Ele seguido? Ter um processo definido primordial
testes. para que as atividades fluam com maior naturalidade, pois
sem ele as pessoas tendem a querer pular fases, ultrapassar
Por que mtricas de testes podem falhar barreiras, o que no saudvel para ningum. Alm de ter um
Mtricas de teste so utilizadas para a melhoria contnua, processo, ele precisa ser divulgado e cobrado de todos os envol-
mas muitas organizaes no so bem sucedidas quando o vidos. A ausncia de uma parte do processo pode influenciar
desejado medir algo. Em sua maioria gostam de ver mtricas, diretamente os testes, seja ela qual for, desde a falta de uma ata
mas se queixam que as equipes no sabem medir o trabalho de reunio at requisitos que so passados verbalmente. Cada
que realizam. detalhe importante para o analista de teste envolvido, se um
Mas o que exatamente est faltando para essas empresas processo existe, ele precisa ser seguido, para assim auxiliar a
que no conseguem medir o prprio trabalho? Tcnicas e equipe de teste a garantir a qualidade da entrega;
definio de mtricas esto disponveis em diversas fontes, Ausncia do Documento de Requisitos: Em situaes em
qual a grande dificuldade na medio? Veja trs grandes erros que o documento de requisitos no existe, ou que novos re-
na hora de medir: quisitos foram solicitados no decorrer do desenvolvimento do
1. Relatrios de Mtricas focados apenas para o trabalho software e no foram documentados, considerando que o pla-
interno de testes: Nessas situaes esto esquecendo empresas nejamento dos testes j aconteceu, como o profissional de testes
terceirizadas de testes envolvidas no projeto. Aqui o respon- ter tempo para inserir novas condies de testes? Ser que ele
svel pela mtrica quer mostrar o quo boa a sua equipe, se no teve que fazer rapidamente? Ser que ele foi informado
esquecendo de monitorar o trabalho como um todo para ter o dessas alteraes de requisitos? Qual foi a antecedncia que
cenrio real. possvel sim mostrar a eficincia de sua equipe, isso aconteceu? Tudo precisa ser levado em conta, o documento
desde que seja uma mtrica agregada da mtrica master que de requisitos a alma do software e se ele no existe, ou est
mede o esforo total de ambas as equipes de testes, interna (da desatualizado, isso ir influenciar diretamente na eficincia
prpria organizao) e externa (funcionrios terceirizados); dos testes, pois se a equipe de testes no consegue realizar um
2. Relatrios com dados vagos: Dados no interessantes aos planejamento adequado, ela no tem como testar um software
envolvidos no processo e nas partes interessadas. Mtricas da forma esperada e nem com a eficincia desejada;
precisam dizer algo, precisam atender a necessidades dos Excesso de Detalhes: Enquanto boa documentao do pro-
envolvidos para que os mesmos tomem as aes necessrias jeto um fator positivo, tambm verdade que produzir uma
para que a melhoria acontea; documentao detalhada demais pode ser algo negativo, um
3. Relatrios que focam apenas o trabalho da equipe de teste: bom exemplo para isso no momento de criar casos de testes.
mtricas devem sim focar o trabalho da equipe de testes, mas Casos de testes com muito detalhe ao invs de ajudar pode at
tambm devem trazer dados externos que influenciam nesse atrapalhar, mas tudo vai depender do cenrio da empresa. Se
trabalho, por exemplo: posso ter uma mtrica de casos de tes- considerarmos que quem preparou os casos de teste quem
tes executados x casos de testes que falharam, esse um tipo executar, o detalhamento exagerado nessa situao pode at
de mtrica que ir interessar muito o gestor de testes, mas se ser considerada uma ineficincia, casos de testes objetivos, que
acrescentarmos a isso a quantidade de casos que falharam x indicam a situao a ser gerada, com os detalhes necessrios,
bugs detectados, isso ajudar o gestor de desenvolvimento a costumam ser mais eficientes;
identificar uma funcionalidade que falhou e a partir dela foram Presso do Tempo: A presso do tempo outro fator a ser
gerados muitos erros. considerado.A presso no deve ser uma desculpa para as-
sumir riscos indevidos, no entanto, uma razo para tomar
Embora o foco seja medir o trabalho de teste e assim analisar decises cuidadosas e planejar de forma inteligente todo o
sua eficincia, difcil avaliar de forma separada a eficincia processo de teste. Entregar um projeto dentro de um tempo
de uma equipe teste sem avaliar todo o processo envolvido estipulado, antes da execuo adequada s para cumprir pra-
para que o teste acontea. Por esse motivo, muitas vezes ser zos no indicado, essa atitude poder fazer com que o teste
necessrio no meio das mtricas de teste, ter mtricas que no seja feito de forma eficiente;
envolvem o desenvolvimento. Resultados: Os resultados dos testes influenciam direta-
mente a eficincia do analista de teste envolvido na execuo.
Fatores que afetam a eficincia dos testes Quando um defeito identificado e comea a passar por vrios
O objetivo principal do teste de software revelar defeitos ciclos de correes, retestes, reaberturas, isso poder levar a um
de forma eficiente (ou seja, o mnimo de tempo e de custo) e esforo muito maior do que o esperado, pois aps a correo
eficaz (ou seja, detectar o mximo de falhas). Leva tempo para de um bug que foi e voltou muitas vezes, as chances da corre-
entender o que testar, para gerar casos de teste, para executar o ter afetado outras funcionalidades do sistema grande e
o conjunto de testes e analisar os resultados. E no decorrer nesses casos ser necessrio retestar partes j testadas, o que
desse fluxo podem surgir fatores que atrapalhem a eficincia desmotiva e dispersa o analista de teste envolvido. Com isso,
deles, abaixo cito alguns: as chances de ocorrerem erros nesse processo so grandes.

Edio 68 - Engenharia de Software Magazine 49


a automao de testes, mas preciso tomar cuidado, pois
Esses so alguns exemplos de fatores que podem igualar no comeo ela gera mais gastos, considerando que o analista
um bom desempenho de um profissional de testes. preciso envolvido precisar ficar mais tempo focado para automatizar,
cautela na hora de analisar uma equipe e sempre considerar ou ento em alguns casos ser necessrio ter outro analista de
a particularidade do ambiente ao qual ela est inserida e a teste dedicado apenas em automao.
realidade de cada organizao.
O que faz um bom testador de software?
Como melhorar a eficincia do teste O teste essencial em qualquer projeto de software, porm
A eficincia de teste medida dividindo-se o nmero de para ter testes bem sucedidos, voc precisa de testadores talen-
defeitos encontrados em um teste pelo esforo necessrio para tosos. Infelizmente, muito difcil encontrar bons testadores,
realizar o teste. Alm disso, as medidas de eficincia de teste em parte porque possveis talentos se vo, pois na comunidade
no s podem mostrar os custos de encontrar defeitos, tais de software muitos consideram testar uma atividade indicada
medidas tambm podem determinar os custos relativos ao para pessoas com habilidades analticas e de resoluo de
encontrar defeitos em diferentes fases. problemas menores.
Um processo de teste eficiente aquele em que o produto Um testador tem que ser um profissional completo, justa-
atinge um nvel adequado de qualidade com o menor cus- mente por precisar ter a capacidade de avaliar o trabalho de
to. Para alcanar o teste eficiente, investigaes devem ser diversos profissionais. Abaixo apresentamos uma relao
feitas para encontrar tcnicas que aumentem a eficincia do das caractersticas que precisam ser consideradas na hora de
teste e removam gargalos no processo. Para realizar uma avaliar e contratar um profissional da rea de testes:
avaliao do cenrio da organizao preciso fazer alguns 1. Paixo pelo que faz: encontrar bugs aparentemente imposs-
questionamentos: veis de serem encontrados, em combinaes que provavelmen-
So utilizadas tcnicas de testes? Quais so as tcnicas te seriam feitas apenas pelo cliente final, traz uma satisfao
utilizadas? enorme para quem trabalha nessa rea, e no alegria por ter
Os profissionais de testes so qualificados? Qual o tempo identificado a falha de outro profissional, mas por ter detec-
mdio de experincia de cada um? tado um erro que poderia ir para o ambiente de produo e
O tamanho da sua equipe compatvel com a quantidade causar transtornos;
de projetos que a empresa demanda? 2. Habilidade tcnica: deve-se ter habilidades de codificao o
Em que fase do projeto a equipe de teste envolvida? suficiente para entender o sistema em teste, se comunicar com
O processo de teste est aderente ao desenvolvimento do os desenvolvedores e escrever testes automatizados. Isso no
software? Ele funciona? indica que ele precisa ser um programador, mas que precisa
A equipe de teste independente ou subordinada ao gestor ter um conhecimento tcnico bsico necessrio para ser usado
da rea de desenvolvimento? em momentos oportunos. Se falarmos de automao, esse co-
nhecimento precisa ser um pouco maior, j que muita coisa de
Esses questionamentos ajudaro no somente a encontrar cdigo precisa ser escrita e entendida na hora de automatizar.
problemas dentro da equipe, mas tambm problemas organi- importante destacar que ter habilidade tcnica no significa
zacionais, que influenciam diretamente no desempenho das ter mais conhecimento em cdigo do que em teste, para ser um
atividades. Muitas vezes, uma equipe ineficiente no significa bom analista de teste funcional o ideal que haja um equilbrio
uma equipe com m vontade ou com m qualificao, mas entre as duas coisas;
tambm uma equipe com muita influncia externa com itens 3. Capacidade estratgica: Para um testador ser eficiente em
que precisam ser solucionados para que possa trabalhar de sua funo, ele precisa ser capaz de analisar situaes de neg-
forma independente e com a estrutura necessria para realizar cio e simular todos os cenrios possveis. Ele deve ser capaz de
o seu papel de forma adequada. Existem duas frmulas que desenvolver um mapeamento lgico baseado nas relaes entre
auxiliaro a calcular a eficincia dos testes, conforme citado os elementos apresentados e a realidade do cliente, criando
no Guia ISTQB: assim combinaes para evitar um bug em produo;
Eficincia teste = (nmero total de defeitos encontrados em 4. Capacidade de trabalhar sem superviso direta: A ne-
unidade + sistema + integrao) / (nmero total de defeitos cessidade de poder tomar aes de forma independente e
encontrados em unidade + integrao + sistema + testes de rapidamente, a identificao de uma necessidade tcnica ou
aceitao do usurio); de negcios relacionados com o esforo de teste de software,
Eficincia Teste = (Nmero de defeitos resolvidos / N total e a capacidade de saber quais as medidas tomar sem a ne-
de defeitos enviados) * 100. cessidade de aprovao gerencial (e tambm a capacidade de
saber quando no avanar sem um gesto) uma habilidade
Assim que identificado o problema com base nas respostas essencial;
dadas acima, a busca deve ser por corrigir ou aprimorar tc- 5. Capacidade de se comunicar: possuir habilidade de comu-
nicas utilizadas, diminuindo assim o custo e aumentando a nicao verbal e escrita e essa comunicao deve ser eficiente,
eficincia. Uma tcnica muito utilizada para diminuir custos clara, sem julgamento alheio, baseada em fatos e dados. Deve

50 Engenharia de Software Magazine - Teste de Software: Avaliando a eficincia da equipe


en gen haria

saber relatar um bug de forma concisa, ter a habilidade de fazer e influenciadas por fatores externos, tais como: motivao, fer-
um planejamento coerente, saber responder um e-mail que ramentas, habilidade, processos e at mesmo o ambiente fsico.
no gere ambiguidade de informaes e conseguir escrever Realizar a coleta dos dados estratgicos auxiliar nas decises,
relatrios para a gesto; mas no deve ser a nica medida utilizada para avaliar, o ideal
6. Capacidade na estratgia de negcios: Entre as caracters- fazer a juno desses dados com os fatores externos citados,
ticas dos grandes testadores, est a habilidade de entender a pois eles influenciam no resultado final.
estratgia global dos negcios da empresa em que atua, per-
mitindo assim que identifique pontos fortes e fracos de um
sistema de software estratgico.
Voc gostou deste artigo?
No existe uma frmula simples para medir e analisar o
desempenho de um indivduo, mas primordial para o apri- D seu voto em www.devmedia.com.br/esmag/feedback
moramento e acompanhamento do profissional gerenciado que
uma avaliao baseada em mtricas seja feita. Avaliaes de de- Ajude-nos a manter a qualidade da revista!
sempenho individuais so muitas vezes um pouco subjetivas,

Edio 68 - Engenharia de Software Magazine 51


Engenharia
Nesta seo voc encontra artigos voltados para testes, processo,
modelos, documentao, entre outros

BPMN e a Modelagem de Processos de


Negcio

Fique por dentro:


Neste artigo ser apresentado um estudo sobre
os conceitos relacionados definio, gerencia-

P
Edson A. Oliveira Junior ara um negcio ter sucesso, todas mento e evoluo de processos de negcios que
edson@din.uem.br
as atividades de uma organizao so formados pelo conjunto de atividades ou
Professor de Engenharia de Software na Uni-
versidade Estadual de Maring (UEM). Doutor devem ser executadas de forma tarefas estruturadas para alcanar os objetivos
em Cincia da Computao pelo Instituto de correta para se atingir um objetivo. Nos de qualquer organizao. Tambm ser apre-
Cincias Matemticas e de Computao (ICMC) ltimos anos, diversas empresas tm sentada a modelagem de um processo de neg-
da Universidade de So Paulo (USP). buscado formas de analisar e melhorar cio que demonstra o uso de uma das principais
essas atividades. O conceito de gerencia- notaes utilizadas para esta finalidade. Esse
Maicon Giovane Pazin mento dos processos de negcios surgiu tema til para gerentes, analistas e gestores
maiconpazin@gmail.com como uma soluo que une a gesto de de negcios, alm de estudantes e engenheiros
Graduado em Informtica pela Universidade Es-
negcios e tecnologia da informao interessados em obter conhecimentos sobre
tadual de Maring. Trabalha com sistemas para
Web, com experincia em tecnologias como com foco na otimizao dos resultados processos de negcio e as tarefas relacionadas
PHP, JavaScript, CSS, HTML5 e Java. das organizaes atravs da melhoria ao gerenciamento e evoluo dos mesmos em
desses processos. busca de melhorias.
Felipe Pereira Perez O processo de negcio define todas as
fpproducoes@gmail.com atividades de uma empresa e as relaes
Graduado em Cincias da Computao pela
que existem entre elas. Um efetivo geren- forma, possvel distinguir todos os
Universidade Estadual de Mato Grosso do Sul
(UEMS), mestrando em Cincia da computao ciamento dessas atividades contempla- processos realizados bem como os
pela Universidade Estadual de Maring. do com diversos benefcios, como a dimi- participantes que a executam, recursos
nuio dos custos operacionais, a melhor utilizados e produzidos e informaes
Jaime William Dias organizao das operaes realizadas e relacionadas.
jaimewdias@gmail.com o aumento na qualidade dos produtos A modelagem de processo de negcio
Graduado em Sistemas de Informao pela Uni- criados ou servios prestados. a representao dos processos na
versidade Paranaense. Especialista em Progra- A representao de processos de forma de um modelo, que identifica e
mao Orientado a Objetos pelo Centro Univer-
negcio realizada com o intuito de especifica atravs de tcnicas e nota-
sitrio Cesumar.Trabalha com sistemas para Web
e Desktop, com experincia em tecnologias como entender e melhorar a estrutura de uma es especficas. Os modelos devem
Delphi, PHP, JavaScript, CSS, HTML5 e JAVA. organizao e suas atividades. Dessa ser representados de forma intuitiva e

52 Engenharia de Software Magazine - BPMN e a Modelagem de Processos de Negcio


en gen haria

simplificada para permitir documen- colaborao entre organizaes. Na em todas suas fases. O GPN deve ser
tao e entendimento dos processos da Figura 2 pode ser observado o PN de executado para se alcanar trs pontos
organizao. uma agncia de viagens, bem como, o PN muito importantes para uma empresa,
de uma companhia area e a interao tais como: clareza na direo estra-
Processos de Negcio entre elas. Para a agncia de viagens o ato tgica, alinhamento dos recursos da
Processo de Negcio (PN) um con- de contatar a companhia area apenas organizao e crescente disciplinas nas
junto de um ou mais procedimentos ou uma atividade de seu PN. Por outro lado, operaes dirias.
atividades relacionadas, que quando em a companhia area envolve diversas ati- O GPN atua em diversos nveis de
conjunto realizam o objetivo de negcio vidades com restries e a necessidade abstrao, conforme a Figura 3. No nvel
especificado de uma organizao. Por de uma comunicao com a agncia mais alto onde so definidas todas as
meio da execuo dos PN a organizao para caso no haja vagas e precisem ser estratgias de negcio da organizao.
est realizando seu propsito. revistas as datas da viagem. A partir delas so obtidas as metas, que
O gerenciamento do PN dentro de uma As atividades de um PN podem ser so os alvos que sero alcanados para
organizao a beneficia em diversos classificadas em trs tipos. As atividades que a estratgia seja realizada. Para que
sentidos. Com um bom gerenciamento manuais, que so realizadas sem auxlio isso acontea necessrio que todos os
possvel ter a descrio precisa e no de sistemas de informao. As ativi- envolvidos exeram as atividades de-
ambgua das atividades, maior eficincia dades de interao com o usurio, que signadas. Dessa forma, essas atividades
na coordenao do trabalho, obteno dependem de um colaborador apoiado devem ser descritas atravs de um PN or-
precisa do andamento dos processos e a um sistema de informao e as ativi- ganizacional. Em um nvel abaixo est o
padronizao das atividades. dades de sistema, que so realizadas de PN operacional que especifica as ativida-
O gerenciamento adequado do PN no foram autnoma, sem a interao com des, seus relacionamentos e dependn-
apenas proporciona a reduo de custos o usurio. cias, conforme exemplo apresentado na
e erros na execuo dos processos, mas Figura 1. Para que todo o PN seja execu-
tambm aumenta o controle sobre eles, re- Gerenciamento de Processos de tado necessrio sua implementao.
sultando na maior qualidade da execuo, Negcio Como j apresentado, o PN o meio que
nos resultados e assim na organizao O Gerenciamento de Processos de Ne- integra todas as atividades realizadas em
como um todo. O PN pode ser relaciona- gcio (GPN) compreende em sua defini- uma organizao. O GPN acontece efeti-
do forma como a organizao atinge as o, o aperfeioamento e administrao vamente quando todas essas atividades
metas propostas em seu negcio, sendo dos PNs de determinada organizao so realizadas em total sincronia.
a meta o objetivo central da organizao.
Para que essa meta seja atingida, diversas
atividades devem ser realizadas, esse
conjunto de atividades define o PN.
Para uma organizao executar uma
determinada atividade, como entregar
um produto, existem diversas tarefas
relacionadas. Isso pode incluir o rece-
bimento do material, fabricao, con-
Figura 1. PN de uma agncia de Viagens
trole de qualidade, estoque, etc. O PN
descreve essas atividades, bem como
sua ordem de execuo e as restries
provenientes delas.
A Figura 1 apresenta o PN de uma
agncia de viagens que possui o objetivo
de oferecer pacotes tursticos ao cliente. A
primeira atividade obter junto ao cliente
o destino para o qual ele deseja viajar.
Aps isso so executadas atividades como
contatar uma companhia area, o hotel e
com uma empresa de aluguel de veculos.
Por fim, aps definido o pacote turstico,
ele enviado para aprovao do cliente
e o PN da agncia encerrado.
Um benefcio do gerenciamento dos
PN a representao adequada da Figura 2. PN Interorganizacional

Edio 68 - Engenharia de Software Magazine 53


Para a modelagem de processos de negcio utiliza-se a
cadeia de eventos de uma organizao desde a compra de
suprimentos, vendas, retorno de produtos, etc. Nesse contexto,
informaes e documentos so utilizados pelos analistas de
negcios e gestores, gerando um fluxo de como as atividades
so realizadas, desde seu incio at alcanar o objetivo do
processo. Para desenvolver um projeto de modelagem de
processos, so necessrios os seguintes itens:
Mtodo: sequncia de passos para levantamento e modela-
gem de informaes;
Meta-modelo: informaes a serem modeladas;
Notao: smbolos e regras para representar as informaes;
Figura 3. Nveis do GPN Ferramenta: apoio computacional para documentao das
informaes.
Modelagem de processos de negcio (MPN)
A Modelagem de processos de negcio (MPN) geralmente Programas de gerenciamento de mudanas so tipicamente
realizada por analistas de negcios e gestores com o intuito de utilizados para promover melhorias nos processos de negcios.
analisar e melhorar os processos e a qualidade dos produtos Com os avanos na tecnologia de fornecedores de plataformas
ou servios de uma organizao. Para isso, necessrio ter um de grande porte, a viso de modelos de PN tornam-se ple-
conhecimento de como esses processos esto estruturados. namente executveis (e capazes de simulaes e engenharia
Utilizando tcnicas e notaes de MPN possvel identificar round-trip) chegando cada vez mais perto da realidade.
as atividades realizadas, os participantes envolvidos, os re-
cursos consumidos ou produzidos, e quais informaes so Modelos de processos de negcio
compartilhadas. Com a modelagem pronta, possvel ampliar O termo Modelo de Negcio usado para uma ampla gama
o entendimento e possveis melhorias do negcio, identificar de descries formais e informais para representar aspec-
atividades candidatas a automao, definir sistemas de suporte tos centrais de um negcio, incluindo o motivo, as ofertas,
ao negcio e identificar oportunidades de terceirizao caso as estratgias, infraestrutura, estruturas organizacionais,
seja uma soluo interessante para a empresa. prticas comerciais, e os processos operacionais e polticos.
MPN pode ser entendido como um conjunto de modelos Os modelos de processos de negcio necessitam sempre de
de atividades e restries de execuo entre elas. A MPN uma fundamentao formal. As razes conhecidas incluem:
refere-se representao efetiva dos processos, em termos de modelos formais no permitem qualquer ambiguidade; e mo-
um modelo, usando uma linguagem de processos. O termo delos formais elevam o potencial de anlise. desejvel que um
modelagem de processo de negcio usado para caracterizar modelo de processo de negcio possa ser entendido por todas
a identificao e especificao dos processos de negcio. as pessoas envolvidas da maneira mais simples possvel. Isso
O propsito da modelagem de processo fornecer uma pode, por exemplo, ser alcanado atravs do uso de represen-
perspectiva simplificada da estrutura do negcio, com um taes grficas.
meio para atingir o fim, permitindo comunicar, documentar Os objetivos de modelos de processos de negcio se resu-
e entender as atividades da organizao. Existem diferentes mem em seis perguntas sobre a organizao, cujas respostas
usos para a MPN: produzem grandes insumos que auxiliam na construo do
Melhor representar ou entender como uma organizao modelo da organizao e seu negcio. A Figura 4 apresenta
funciona (ou alguma parte dela); essas perguntas, que so: O que feito? Quem faz? Quando?
Usar/explicar o conhecimento adquirido e a experincia Onde? Por qu? Como?
para usos futuros; Para qualquer MPN, alguns elementos so essenciais para a
Racionalizar e assegurar o fluxo de informaes; representao completa do modelo de negcio de uma orga-
Projetar ou reprojetar e especificar uma parte da organizao nizao. Esses elementos so:
(aspecto funcional, comportamental, informacional, organiza- Evento: acontecimento que inicia a execuo (inicial), afeta
cional ou estrutural); o comportamento (intermedirio) ou conclui um processo
Analisar alguns aspectos da organizao (anlise econmica, (final);
organizacional, quantitativa, qualitativa, layout e outras); Atividades: conjunto de aes realizadas;
Si mu la r o compor ta mento de a lg u mas pa r tes da Atores: responsveis pelas atividades;
organizao; Entradas/Sadas: insumos necessrios para o processo ser
Realizar melhores decises sobre as operaes e organizao executado (entrada) e gerado ao final do processo (sadas);
da empresa; Regras: restries que causam dependncias entre atividades;
Controlar, coordenar ou monitorar algumas partes da orga- Recursos: entidade que pode ser fsica, abstrata ou informa-
nizao (isto , alguns processos). o que faz parte da realizao da atividade.

54 Engenharia de Software Magazine - BPMN e a Modelagem de Processos de Negcio


en gen haria

Notaes e ferramentas
O processo de identificao de melhorias
por meio da MPN se torna mais fcil com
o envolvimento da Tecnologia da Informa-
o (TI). Atualmente, a utilizao de TI
o principal passo para o desenvolvimento
de um modelo de processo de negcio.
Por outro lado, os modelos de processos
de negcio podem ser to complexos que
o uso de uma linguagem formal para a
sua especificao a nica maneira de
garantir que as interpretaes alternativas
sejam eliminadas. Dessa forma, existe a
necessidade de uma interao contnua
entre tecnologia e linguagens formais para
automatizar o processo de modelagem de Figura 4. Perguntas que auxiliam a construo da viso da organizao [5]
processos de negcios.
Contextualizando, a MPN utilizada com o objetivo de e abstrata um processo de negcio. Redes de Petri possuem
facilitar a visualizao e entendimento de um processo de modelos bem definidos e sem ambiguidade;
negcio por meio de uma representao grfica. A modelagem Redes de Workflow: constituem uma classe especfica de
desses processos pode ser realizada em diversos nveis, usando redes de Petri adequadas para expressar modelos de proces-
diferentes tcnicas. Algumas abordagens para modelagem de sos de negcio. Essa abordagem melhora a rede de Petri com
processos de negcio so: conceitos e 19 notaes que facilitam a representao de pro-
Redes de Petri: possui diferentes classes (numerosas ex- cessos de negcios. Essa abordagem fornece ainda mecanismos
tenses). Essa notao permite especificar de maneira formal avanados de modelagem;

Edio 68 - Engenharia de Software Magazine 55


WS-BPEL: mais do que uma notao para a modelagem, o O BPMN atualmente uma notao padro para modelagem
WS-BPEL uma linguagem para a especificao e execuo de de processos de negcio e tem como finalidade prover recursos
processos de negcio usando servios eletrnicos; para que a modelagem possa ser feita. O objetivo da metodologia
BPMN (Business Process Modeling Notation): desenvol- BPMN projetar solues empresariais completas, abordando e
vida sob a coordenao da OMG (Object Management Group), modelando de forma integral os seguintes aspectos:
combina as vantagens de ser simples, utilizar uma notao Processos de Negcio (Cadeias de atividades);
conveniente e semntica clara. Regras do Negcio (Polticas; diretrizes, etc.);
Informao (Grupos de dados; Elementos de dados; Objetos
Ferramentas Utilizao entidades e atributos);
Microsoft Visio 18.2 % Tecnologia da Informao (Sistemas aplicativos; estrut. har-
dware; Comunicao, etc.);
Itp-Commerce Process Modeler 7.8 %
Recursos Humanos (Pessoas e estrutura organizacional);
Sparx Systems Enterprise Architect 6.9 % Mtrica de Performance (Ciclos de tempos; Volumes; Valo-
Visual Paradigm Visual Architect 6.2 % res, etc.).
Telelogic System Architect 5.7 %
A Tabela 1 apresenta a lista das ferramentas mais populares
Intalio BPMS 5.0 %
que suportam BPMN. Conforme os dados da tabela, a Microsoft
ILOG Jviews 3.8 % Visio com os stencils de BPMN a ferramenta mais popular
IDS Scheer ARIS 3.3 % para modelagem de processos de negcio. Essa ferramenta
Casewise Corporate Modeler 3.3 % seguida pela Itp-Commerce, que possui um plug-in do Visio
Holocentric Modeler 2.8 %
que estende sua capacidade com um mecanismo de simulao,
atributos adicionais e opes de anlise.
iGrafx FlowCharter 2.4 %
MagicDraw 1.9 % Notaes e ferramentas
Inhouse solution 1.9 % Para muitas organizaes, a modelagem do processo de ne-
Savvion Process Modeler 1.4 % gcio essencial para o entendimento de fluxos complexos de
negcios. Como um exemplo de utilizao, foi modelada neste
Tibco Business Studio 1.4 %
artigo a integrao de alguns mdulos de um sistema real
Appian BPM Suite 1.4 % criado para a prefeitura de uma cidade utilizando o BPMN.
Outros 15.6 % O exemplo inclui os mdulos de compra, licitao, material,
Vrios 10.9 % patrimonial e contbil com o objetivo de entender todos os pas-
sos de aquisio de algum material ou bem para a prefeitura.
Tabela 1. Lista de ferramentas para BPMN e o grau de utilizao [6] A ferramenta utilizada para a modelagem foi o Astah

Figura 5. Exemplo de MPN do fluxo de compra de um sistema real para a prefeitura de uma cidade

56 Engenharia de Software Magazine - BPMN e a Modelagem de Processos de Negcio


en gen haria

Community desenvolvido na plataforma Java para modela- as organizaes tm buscado formas de analisar e melhorar
gens baseadas na UML. A Figura 5 apresenta a modelo do suas estratgias de negcio. Isso envolve gerenciamento dos
exemplo. processos de negcio, que compreende a unio da gesto de
No exemplo apresentado, o ponto de partida do fluxo pode negcios e a tecnologia da informao como forma de otimizar
ser iniciado em qualquer setor da prefeitura ao solicitar-se dos resultados.
qualquer tipo de material, registrando-se assim uma solicitao
de compra. O setor de licitaes gerencia as solicitaes a fim Links:
de realizar as licitaes necessrias para suprir as necessidades
dos setores da prefeitura. Algumas modalidades de licitaes 1. AALST, W. M. P. van der; TER HOFSTEDE. A.H.; WESKE, M. Business process
exigem um empenho prvio para serem realizadas, outras s management: a survey. In: W.M.P. van der Aalst, A.H.M. ter Hofstede and M.
sero empenhadas depois da requisio de compra, aps a Weske, Editors, International Conference on Business Process Management
licitao ser homologada. A requisio de compra feito pelo (BPM 2003), v. 2678 Lecture Notes in Computer Science, Springer-Verlag,
setor que solicitou o material e representa o reconhecimento da Berlin, pp. 112, 2003a.
dvida pela prefeitura. Aps uma solicitao formal de compra 2. AALST, W. M. P. van der; HOFSTEDE, A. H. M. ter; WESKE, M. Business Pro-
pela prefeitura, o fornecedor tem a garantia de compra e pode cess Management: A Survey. In: AALST, W.M.P. van der, HOFSTEDE, A.H.M.
fornecer os produtos. ter; WESKE, M. (Org.) INTERNATIONAL CONFERENCE ON BUSINESS PROCESS
O setor de materiais tem a responsabilidade de receber os MANAGEMENT (BPM 2003), Lecture Notes in Computer Science. Berlin:
produtos e fazer seu controle de estoque e almoxarifado. Springer-Verlag, p. 1-12, 2003b.
Neste momento realizada a liquidao do empenho, ou 3. ASTAH. Astah Community. Online, 2013. Disponvel em http://astah.net/
seja, na entrega do produto entregue tambm a nota fiscal editions/community (Acessado em 03/11/2013).
da empresa fornecedora. Depois de liquidado um empenho
a prefeitura pode efetuar o seu pagamento. Ao efetuar uma 4. CRUZ, Tadeu. Workflow II: A Tecnologia que Revolucionou Processos.
liquidao qualquer acionado o setor patrimonial que alm Editora E-papers, ISBN: 8576500191, 2004.
de controlar os bens patrimoniais da prefeitura dispara eventos 5. MAC KNIGHT, D. Elicitao de Requisitos de Software a partir do Modelo
contbeis para a contabilidade, onde tambm feito o balano de Negcio. Dissertao (Mestrado em Informtica) Universidade Fede-
patrimonial da prefeitura. ral do Rio de Janeiro Instituto de Matemtica / Ncleo de Computao
O setor contbil esta presente na maioria dos fluxos da Eletrnica, 2004.
prefeitura, pois tudo deve ser contabilizado para prestao
6. VALDARES, Lear; SINIMBU, Allan; DAMASCENO, Laila. BPMN Modeling
de contas aos rgos superiores. Sendo assim, ao realizar-se Who, Where, How and Why, 2008.
um empenho, liquidao, recebimento de material ou bem
patrimonial, tudo deve ser contabilizado. O setor patrimonial
registra todo material adquirido pela prefeitura e realiza o
Voc gostou deste artigo?
tombamento dos bens. Estes podem ser classificados como
bens mveis, imveis ou intangveis.
O processo de negcio de uma organizao o conjunto de D seu voto em www.devmedia.com.br/esmag/feedback
atividades ou tarefas estruturadas que produzem um produ- Ajude-nos a manter a qualidade da revista!
to ou servio. Para se manterem competitivas no mercado,

Edio 68 - Engenharia de Software Magazine 57


Engenharia
Nesta seo voc encontra artigos voltados para testes, processo,
modelos, documentao, entre outros

A engenharia de software na era Big Data


Como nos preparar?

Fique por dentro:


Apresentar os conceitos relacionados ao tema

A
vida digital uma realidade. Big Data, seus impactos na sociedade e de que
Segundo a ANATEL, at no- forma a engenharia de software deve se pre-
vembro de 2013, mais de 270 parar para lidar com estas novidades. Na vida
milhes de celulares estaro nas mos digital que temos hoje em dia, a quantidade de
da populao brasileira. Segundo o dados produzidos tem crescido absurdamen-
Facebook, a base de clientes divulgada te. fundamental saber lidar com estas novas
em setembro de 2013 de 1.11 bilhes necessidades aos softwares modernos e como
de usurios cadastrados no mundo. A deveremos nos preparar para isto. A engenha-
quantidade de dados produzidos nos ria de software precisa estar preparada tanto
ltimos dois anos maior que em toda para novas necessidades de conhecimento
a histria da humanidade. E a quan- quanto para saber aproveitar dos conceitos de
tidade de dados produzidos continua Big Data.
crescendo. A previso para 2015 de
quadruplicar a quantidade de dados
Digenes Firmiano armazenados em 2013 e para 2020 a
diogenesjf@gmail.com
Gestor Snior de Engenharia de Software atuan- previso de uma quantidade de dados A era digital trouxe e ainda traz uma
do nas reas de Engenharia de Software, Arqui- 12 vezes maior que em 2013. Alm do srie de facilidades. Quem no gostaria
tetura, Metodologia e Desenvolvimento de Sis- grande aumento do volume de dados, a de ser avisado pelo seu seguro quando
temas. Formado em Cincia da Computao na variedade de formas de gerao de da- ser necessrio realizar uma troca de
Universidade de Braslia, sendo ps-graduado
dos aumenta cada vez mais. Existe uma leo ou quando os seus pneus precisam
com MBA em Gerenciamento de Projetos tendo
feito vrios cursos de aperfeioamento em sua grande tendncia de que cada vez mais ser trocados. Isto j possvel. Exis-
rea de atuao. professor de disciplinas como aparelhos eletrnicos sejam capazes de tem empresas de seguro que instalam
Gerncia de Projetos, Engenharia de Software, estar conectados Internet. Num futuro sensores nos veculos para facilitar
Sistemas de Informao e Programao. Possui muito prximo, sua geladeira te avisar a vida do cliente. Porm, estas mesmas
experincia profissional de mais de 15 anos em
quando estiver algum produto faltando empresas coletam todas as informaes
tecnologia da informao sendo especialista
em metodologias de software, arquitetura de ou quando a data de validade do seu que seu carro gera como trajetos, velo-
sistemas e gerncia de projetos de software. iogurte est chegando. cidade mdia, locais onde estaciona e

58 Engenharia de Software Magazine - A engenharia de software na era Big Data


en gen haria

quilometragem rodada, por exemplo. Com essas informaes, O termo Big Data pode ser interpretado como dados grandes
possvel calcular mais precisamente se um cliente mais ou grande volume de dados. Mas esta no uma definio
prudente no trnsito ou se vive correndo pelas ruas s 3 horas completa. O IDC define da seguinte maneira: As tecnolo-
da manh. Com isso, possvel saber qual a melhor aplice de gias Big Data descrevem uma nova gerao de tecnologias e
seguro para cada carro sem precisar realizar entrevistas com arquiteturas, projetadas economicamente para extrair valor
o cliente e estar sujeito a mentiras. de volumes muito grandes de uma larga variedade de dados,
J possvel hoje em dia revolucionar a medicina. O acom- permitindo alta velocidade de captura, descoberta e anlise.
panhamento dos pacientes pode ser feito por meio de sensores Percebemos, ento, que no se define Big Data apenas em
instalados no paciente, como por exemplo, em um relgio, que funo do tamanho do volume de dados, e sim na capacidade
capta frequncia cardaca, presso arterial, nvel de glicose de manipul-los.
dentre outros. O tal relgio pode inclusive ter alguma funo O Big Data pode ser resumido em cinco caractersticas, mais
que envie um sinal para o mdico quando o paciente apresentar conhecidas como os 5 Vs, a saber:
algum quadro facilmente identificvel como presso extrema- Volume Grandes volumes de dados so produzidos e so
mente alta, batimentos fora de controle ou quadros de infarto. coletados. Um exemplo desse aspecto so os experimentos
Estes avanos salvariam muitas vidas. Porm, empresas de cientficos do CERN, que geram cerca de 40 Terabytes de da-
plano de sade tem planejado utilizar estas informaes junta- dos por segundo, tamanho capaz de armazenar por volta de
mente com informaes de pronturios, quantidades de visitas 13 milhes de msicas ou 40 mil filmes;
aos mdicos e resultados de exames para calcular qual o valor Velocidade Rapidez com que os dados so produzidos
a ser cobrado de cada paciente. Alm disso, estas informaes e precisam ser analisados. Muitas aplicaes necessitam de
poderiam ser inclusive utilizadas por empresas para analisar resposta em tempo real, como deteces em fraudes, recomen-
os perfis dos candidatos a uma determinada vaga e recusar daes baseadas em redes sociais;
o mesmo por perfil mdico inadequado. At que ponto esta Variedade Existe uma grande variedade de dados, pro-
quantidade de informaes interessante? veniente de vrias fontes, podendo ser estruturados ou no.
Recentemente, a questo da privacidade dos dados foi ampla- Alguns exemplos so dados gerados por sistemas transacio-
mente abordada com a divulgao das informaes coletadas nais, sensores, cmeras, satlites, redes sociais, etc.;
pela agncia de segurana americana NSA (National Security Veracidade extremamente importante avaliar se to-
Agency) sobre governos e empresas brasileiras. Vm sendo dos estes dados coletados realmente tm alguma utilidade.
discutido ainda o Marco Regulatrio da Internet. As questes Na Internet e na mdia, sabemos que muitas informaes que
que ficam so: at que ponto regular a Internet resolve o pro- circulam so falsas. Tomar decises com base informaes
blema? As informaes privadas concedidas por livre vontade errneas podem gerar problemas gravssimos;
no podero ser utilizadas pelas empresas? Restringir o acesso Valor Os dados gerados devem apoiar a tomada de deciso.
s informaes do governo suficiente? possvel realmente Desde a validade de um produto avisada por uma geladeira
restringir o acesso s informaes privadas? que pode ter valor para uma famlia at a quantidade de
Na nossa vida nos prximos anos, temas como privacidade e curtidas em um determinado evento no Facebook que marca
tica devem ser amplamente discutidos no que tange o aspecto uma manifestao, que pode ser de grande valia para a polcia
da vida digital. Qual a soluo? Regredir e voltar poca da cidade alvo.
onde no podamos armazenar e processar tanta informao?
Proibir qualquer tipo de acesso informao? Criar ilhas de O uso da tecnologia de Big Data
informao como se prope no marco regulatrio? No so Com as tecnologias que possumos atualmente, possvel
leis pouco abrangentes que resolvero o problema. preciso, analisar grandes volumes de informao em tempo real,
primeiramente, esclarecer e entender o que possvel de se como, por exemplo, ao entrar em uma pgina de notcias na
fazer hoje em dia e o que ser possvel no futuro prximo. Internet, visualizar os anncios de acordo com o perfil de
O advento que tem tornado tudo isso possvel um conceito consumo do usurio. Indo mais frente, um Shopping Center
chamado de Big Data. poder instalar cmeras que reconheam a face dos clientes,
identifique os perfis deles no Facebook ou Twitter, analise em
O que Big Data? quais lojas que ele fica por mais tempo em frente vitrine ou
O conceito de Big Data no surge do nada. Na verdade ele comprando e envie promoes dessas lojas para estes clientes
no novo, mas est recebendo uma grande ateno por al- pelas mdias.
gumas razes, como o barateamento do armazenamento de possvel ainda o uso destas tecnologias na forma de fazer
dados, a proliferao de sensores e tecnologia de captura de poltica. O candidato em campanha, na hora do discurso,
dados. Dados esto sendo coletados em grande escala. Eles so poder estar munido de todas as informaes sobre um de-
provenientes das mais diversas fontes, como: dados gerados terminado municpio ou cidade como obras requeridas pela
por sistemas, sensores, cmeras, satlites, aparelhos eletrni- populao, reclamaes feitas e outras informaes. O discurso
cos, redes sociais, etc. No existe uma definio precisa sobre pode ser personalizado para cada pequena comunidade e
o termo Big Data, existindo vrias definies na literatura. impacto gerado no eleitor gigantesco.

Edio 68 - Engenharia de Software Magazine 59


Todo ser humano gosta de exclusivida- seus clculos de forma independente. disponvel para mudar e revolucionar a
de. O fato de fazer o cidado ou o cliente Com o Big Data, existem empresas que vida das pessoas. A forma como interagi-
como nico pode ser determinante na esto reunindo dados bem detalhados mos, a medicina, a poltica, a segurana
hora do voto ou da venda. At que ponto que podem nos ajudar a construir uma pblica, as compras, praticamente tudo
o uso desta informao tico? Aquele imagem do mundo quase em tempo real. pode ser influenciado por essa revoluo
que tem a mquina pblica na mo tem Uma queda nas remessas da FedEx ou um digital. uma via de mo nica. A vida
muito mais informaes do que aquele aumento nos leiles do eBay, por exemplo, digital j est enraizada em nossas vidas
que no tem. pode significar uma queda na confiana e no conseguimos viver sem. Quem
O uso de cmeras e sensores pode ser do consumidor. Ou ser que um ligeiro imagina sua vida sem um celular? E sem
utilizado no combate ao crime. Identifica- aumento no nmero de downloads dos Internet? Desta forma, parece inevitvel
o facial, anlise de comportamento dos filmes da Amazon Prime podem indicar encarar os contratempos que essa realida-
cidados e deteco preditiva de crimes que mais pessoas esto preferindo ficar de nos trs. Mas de que forma todas estas
podem se tornar realidade num futuro em casa em vez de sair para jantar e com- tecnologias iro impactar o dia a dia do
bem prximo. A segurana mais prxima prar ingressos para o cinema? profissional de TI? A forma de construir
implica necessariamente em viver em um A implementao do big data, seja para softwares muda? A engenharia de sof-
Big Brother. As cmeras espalhadas na deteco de fraudes, melhoria na segu- tware ser impactada pelos benefcios e
cidade estariam analisando o compor- rana, ou outros benefcios bem inten- malefcios do Big Data? Os profissionais
tamento de cada ser humano e qualquer cionados, cria outro conjunto de riscos. de TI de hoje em dia esto preparados?
deslize pode ser fatal. A anlise de com- Os consumidores voluntariamente for-
portamento, se mal usada, pode inclusive necem informaes pessoais em troca de O impacto do Big Data na
ser utilizada para prejudicar as pessoas. experincias personalizadas e servios engenharia de software
Todos ns seramos como artistas, vigia- melhores. Est implcito nessa troca A construo de softwares para atender
dos por paparazzi que aguardam apenas que a empresa se responsabiliza pela sal- a estas novas tecnologias exige uma mu-
um motivo para um clique. vaguarda dessas informaes. Violaes dana na forma de pensar. Os softwares
O uso de informaes externas cole- dos dados dos consumidores podem orientados a Big Data ultrapassam os
tadas de mdias digitais, por exemplo, estragar relacionamentos com clientes limites geralmente impostos nas arquite-
para prever riscos tambm se tornar e marcas e tm custos reais concretos, turas tradicionais e questes geralmente
importante para as empresas. Nos tais como gesto de crises, reparaes e propostas como escalabilidade, volume,
mercados financeiros, os analistas j monitoramento de crdito para todos os desempenho e quantidade de interfaces
acompanham de perto e agregam uma clientes/funcionrios. As empresas que provavelmente tero novas respostas com
gama de relatrios estatsticos a reas podem ser transparentes com relao os conceitos de Big Data. No mundo cor-
que impactam as expectativas e reaes coleta e uso de informaes ao mesmo porativo, so inmeras as ocasies onde
do mercado, tais como desemprego, con- tempo em que demonstram que a gesto os arquitetos embasam suas negativas
fiana do consumidor e o PIB. Os fundos de risco ciberntico tem alta prioridade, em uma ou outra soluo a um cliente
multimercados e outros sempre tentaram tero uma vantagem competitiva. considerando estes aspectos no funcio-
sair frente dessas publicaes ao fazer Como vemos, a tecnologia est e estar nais citados. Entretanto, considerando os
aspectos de solues de Big Data, muitas
dessas solues sero possveis e devem
ser considerados novos aparatos de soft-
ware como frameworks e ferramentas
no consideradas at ento.
A metodologia e a abordagem de solu-
es de Big Data tambm so diferentes.
Na construo de uma soluo de Big
Data, muitas vezes o que se busca so
respostas a perguntas no convencio-
nais, que no podem ser respondidas
de maneira tradicional. Explorao dos
dados, preparao, minerao e anlises
devem ser consideradas. Tais metodo-
logias ainda so bastante novas e ainda
carecem de maturao. Entretanto, j se
encontram nas literaturas algumas refe-
rncias a novas metodologias conforme
Figura 1. Metodologias para anlise de Big Data Fonte: Data Science with Hadoop. Alpine Labs demonstrado na Figura 1.

60 Engenharia de Software Magazine - A engenharia de software na era Big Data


en gen haria

Na estrutura proposta pela Alpine


Labs, so propostas as fases de explora-
o, preparao dos dados, modelagem,
avaliao e publicao. A construo de
software realizada em todas as fases e
os softwares construdos variam desde
pequenas bibliotecas para realizao
de um determinado tipo de anlise at
softwares complexos de anlise estats-
tica. No modelo proposto pela Oracle, Figura 2. Modelo proposto pela Oracle. Fonte: Oracle Big Data Reference Architecture
por exemplo, so previstas quatro fases,
coleta de dados, organizao, anlise e
deciso, conforme exposto na Figura 2.
Nesta abordagem, so necessrios
softwares que possam realizar desde
a coleta aos dados gerados em diversas
fontes como mdias sociais, celulares,
sensores, arquivos e outras diversas
fontes at softwares de deciso. Nesta
abordagem fica clara a necessidade de
um conjunto de softwares para cobrir
a soluo de Big Data como um todo.
A Apache Foundation possui um modelo
de solues que aborda a ampla gama de
frameworks e bibliotecas que ela possui.
Veja a Figura 3.
No conjunto de solues da Apache,
fica clara a quantidade de softwares
necessrios para diversas solues de Figura 3. Framework de Big Data da Apache - Fonte: Apache Big Data Framework In Reference
Big Data, desde solues de anlises Architecture

Edio 68 - Engenharia de Software Magazine 61


em Real-Time at solues de anlise Batch ou solues de atingir este nvel de velocidade da informao necessria,
anlise Interativa. Abaixo, em uma abordagem mais ampla uma vez que se deve considerar que o Facebook com dados
proposta pelo autor, sugerido um fluxo de atuao em Big na ordem de Petabytes.
Data considerando as diversas necessidades de software de Diante dos novos desafios, ser fundamental entender os
forma a abarcar todo o processo de construo de solues de conceitos de Big Data desde o profissional recm-formado at
Big Data (observe a Figura 4). os profissionais com vrios anos de experincia. Os desafios
A metodologia proposta aborda cinco fases para construo dos sistemas modernos fatalmente incluiro conceitos como
de solues de Big Data sendo elas: explorao dos dados, volumes expressivos, alta demanda por velocidade ou ampla
preparao dos dados, minerao e integrao, gerao dos variedade de fontes de dados. Os novos desafios, muitas ve-
dados analticos e avaliao e visualizao. Cada fase possui zes incluiro conceitos de estatstica, capacidade analtica e
um objetivo e pode utilizar de uma ampla variabilidade de exigiro um alto poder de aprendizado. Surge nesse contexto
softwares. O modelo apresentado serve apenas como ilustrao uma nova perspectiva profissional, o cientista de dados. Este
para as diversas fases necessrias para o novo profissional na profissional deve possuir conhecimentos de tecnologia e
construo de softwares de Big Data. estatstica e aliar estas duas caractersticas para potencializar
Estes novos profissionais devem estar cientes da ampla o uso do Big Data. As demandas de infraestrutura tambm
gama de solues e da ampla variedade de frameworks que sero aumentadas e cada vez mais se faz necessrio pensar
devem trabalhar. O trabalho com solues de Big Data exige em escalabilidade.
tambm uma mudana de ponto de vista. Volumes de dados
expressivos, agora devem ser considerados e podem ser tra- O potencial do Big Data
balhados inclusive com amplas variedades de fontes, como Por fim, aps verificar as novas expectativas sobre o uso de
mdias sociais, documentos, bancos de dados tradicionais, Big Data e os pontos relevantes a serem considerados, vale
dentre outros como a prpria Internet, por exemplo. Devem ser ressaltar uma abordagem sobre o aproveitamento do potencial
consideradas tambm, possibilidades de solues Real Time. do Big Data:
O Facebook, por exemplo, na apresentao de informaes Deve-se manter o objetivo final em mente ao lidar com a
de propaganda, utiliza-se de dados de navegao do usurio compilao de dados, marketing digital ou outras iniciativas
em tempo real e realiza atualizaes das novas propagandas de base tecnolgica. Existem muitos benefcios intangveis do
sugeridas ao usurio. So necessrias novas solues para big data: melhor atendimento ao cliente, mais envolvimento,
a unificao do tom de voz da marca
e mais conhecimento sobre o cliente.
Todos so objetivos nobres, assim como
algumas novas tecnologias, como um
painel sempre ativo na rede social ou
um mecanismo de recomendao no seu
site da internet. Mas nada melhor do
que o crescimento das vendas. Deve-se
orientar o uso de Big Data considerando
os objetivos finais do cliente e no deixar-
se distrair com os ganhos parciais que
podem ser alcanados;
Pense grande, comece pequeno e
ganhe escala rapidamente. Integrar os
dados de diversas fontes por meio de
pontos de contato e canais requer um
pensamento grande, mas isso no
necessariamente significa investimentos
macios. Voc pode comear pequeno.
Rastrear as vendas atuais dos revende-
dores foi inicialmente um passo pequeno
para o fabricante de bebidas na Amrica
Latina, o teste foi realizado em uma nica
cidade durante algumas semanas. Isso
criou uma informao em tempo real
que a empresa usou para melhorar as
vendas e os itinerrios de entrega. Com
Figura 4. Metodologia de Big Data proposta um modelo comprovado, a empresa, em

62 Engenharia de Software Magazine - A engenharia de software na era Big Data


en gen haria

seguida, ampliou a regio de atuao e comeou a integrar os solues e a quantidade de benefcios associados sobrepe
dados de consumo reais dos clientes por meio do rastreamento s dificuldades geradas aos profissionais de TI. Diante disso,
dos celulares; necessria a conscientizao desde j dos novos conceitos
Entender o poder da informao em tempo real. Big data visando maturar o processo de construo de solues orien-
no comparvel implantao de um projeto de CRM ou tadas a Big Data.
ao esforo de implementao de um ERP. As informaes de
vendas dirias ajudaram o fabricante de bebidas a ajustar Referncias e Links:
imediatamente as vendas, entregas, logstica e programas
promocionais e de marketing. Mantenha em mente, entre- Barlow, M. (2013). Real-Time Big Data Analytics: Emerging Architecture:
tanto, que cada caso um caso. O que ser importante para OReilly.
uma determinada soluo? Pode ser necessrio verificar as
Magalhes, R. P. (2013) Big Data: Transformando dados em riqueza.
tendncias trimestralmente ou a cada seis meses. O uso do
Hornick, M. Learning R Series, Oracle, 2013.
Big Data deve ter como objetivo manter-se atualizado, e no
resolver todos os problemas. Sashikanth, V. Making Big Data Analytics accessible via the R environment,
Oracle, 2013.
O uso das novas tecnologias de Big Data em todas as reas
DAVENPORT, Thomas, H. At the Big Data Crossroads: turning towards a
tende a seguir um caminho de inevitvel aderncia e im- smarter travel experience. Amadeus 2013.
plantao. As vantagens do uso so inmeras. O uso destas
tecnologias pode revolucionar desde a forma como o cliente IBM. What is big data?
se relaciona com as lojas at a medicina, a segurana pblica, http://www-01.ibm.com/software/data/bigdata/.
a educao, a poltica, enfim, a revoluo que se inicia uma Big Data Definition - MIKE2.0, the open source methodology for Information
tendncia que veio para ficar. A vida dos profissionais de TI Development.
e da engenharia de software ser revolucionada pelo uso de
tais tecnologias. Ser necessria uma mudana na forma de White, Tom. Hadoop: The Definitive Guide. 2009. 1st Edition. OReilly
Media. Pg 3.
pensar destes profissionais. A metodologia de construo de
softwares orientados a Big Data bem diferente das metodo-
logias tradicionais de construo de software e, ao utilizar Voc gostou deste artigo?
estes novos conceitos, ser necessrio aprender cada vez mais
tecnologias e frameworks. D seu voto em www.devmedia.com.br/esmag/feedback
Apesar das dificuldades, ser de fundamental importncia
Ajude-nos a manter a qualidade da revista!
a imerso nestes novos conceitos. Parece inevitvel fugir das
tendncias de utilizao de Big Data nos novos projetos de

Edio 68 - Engenharia de Software Magazine 63


64 Engenharia de Software Magazine - A engenharia de software na era Big Data
en gen haria

Edio 68 - Engenharia de Software Magazine 65

Você também pode gostar