Professional Documents
Culture Documents
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.
Consultor Tcnico
Daniella Costa Nicolli Souza Rios
nicolli.devmedia@gmail.com
Jornalista Responsvel Formanda em Cincia da Computao na Universidade Salvador (UNIFACS), Gerente de Projetos da
Kaline Dolabella - JP24185 COMMIT Empresa Jnior de Computao da UNIFACS e Estagiria de Desenvolvimento de Software
Na Web na BAHIAGS. Faz parte do grupo de pesquisa em Engenharia de Software do Programa de Ps-
http://www.devmedia.com.br/revista-engenharia-de-software-magazine Graduao em Sistemas e Computao da UNIFACS.
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
Contedo sobre Agilidade, Artigo no estilo Prtico
Contedo sobre Engenharia, Artigo no estilo Mentoring D seu feedback sobre esta edio!
49 Especificando casos de uso eficazes
[ Rodrigo Oliveira Spnola ] 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!
www.devmedia.com.br/esmag/feedback
52 Gesto de Regras de Negcios
[ Marco Ikuro Hisatomi, Anderson de Souza Ges e Rodolfo Mirando de Barros ]
Edio 05 - Engenharia de Software Magazine 5
Agilidade
Nesta seo voc encontra artigos voltados para as prticas e mtodos geis.
A
Mauricio M. O. Matos especificao de requisitos um estudo de caso com objetivo de investigar
matos_mauricio@hotmail.com
Formado em Cincia da Computao pela pode ser, em muitos casos, um na prtica as vantagens e desvantagens da es-
Universidade Salvador - UNIFACS. J atuou problema complexo, principal- pecificao de requisitos entre as metodologias
na rea de Testes/Qualidade e atualmente mente quando o analista de requisitos geis e tradicionais. O estudo foi iniciado a par-
exerce a funo de Analista de Requisitos no tem domnio sobre o negcio do tir da elaborao de dois tipos de documento
na Softwell Solutions
cliente. Compreender a natureza do de requisitos de software, um proveniente da
problema pode ser muito difcil, espe- metodologia de especificao gil e o outro da
cialmente se o sistema for novo. Em tradicional. Os requisitos definidos esto no
Nicolli Souza Rios Alves decorrncia disso, surgiu a engenharia contexto de um sistema escolar hipottico, um
nicolli.devmedia@gmail.com de requisitos que pode ser definida como cadastro de usurios e uma emisso de relat-
Bacharel em Cincia da Computao na o termo usado para descrever as ativida- rio de usurios.
Universidade Salvador (UNIFACS), Mes-
des relacionadas produo e gerncia
tranda em Sistemas e Computao no
Programa de Ps-Graduao em Siste- de requisitos. Este artigo abordar, sob
mas e Computao da UNIFACS na linha diferentes perspectivas e metodologias, tradicional realizada a partir de casos de
de Engenharia de Software. editora da as atividades do processo de produo uso, e a gil que utiliza estrias de usu-
Engenharia de Software Magazine. dos requisitos com foco em especificao rios como documento de requisitos.
de requisitos. Tais abordagens diferem em certos
Os requisitos funcionais de um sistema aspectos na especificao. A anlise
Rodrigo Oliveira Spnola descrevem as funcionalidades ou os destas diferenas importante para
rodrigo.devmedia@gmail.com
Editor Chefe Engenharia de Software servios que se espera do sistema. Para saber quando cada abordagem a mais
Magazine registrar estes requisitos, so utilizados indicada para solucionar o problema
diferentes tipos de abordagens, sendo a do cliente.
Neste artigo, sero investigadas as vantagens e desvantagens Como de caracterstica dos MAs, o Manifesto gil tem um
de se trabalhar com ambas as metodologias de especificao enfoque muito maior em interao com o cliente do que com o
de requisitos, na perspectiva do analista de requisitos e do cumprimento metdico de processos. Partindo deste princpio,
desenvolvedor. Para realizar esta avaliao, um estudo de caso passaram a valorizar:
foi planejado e foram elaboradas dois tipos de documentao: Indivduos e interaes mais que processos e ferramentas;
uma considerando a metodologia gil e outra a tradicional. Software em funcionamento mais que documentao
Aps isto, estas documentaes foram entregues a quatro de- abrangente;
senvolvedores para realizarem suas funes e, ao fim, respon- Colaborao com o cliente mais que negociao de
derem um questionrio a respeito das dificuldades e benefcios contratos;
encontrados no uso de cada tipo de especificao. Responder a mudanas mais que seguir um plano.
Metodologias de especificao de requisitos MAs tm foco na interatividade dos envolvidos e em respos-
Um processo de engenharia de requisitos um conjunto tas rpidas como forma de atender os requisitos do usurio.
estruturado de atividades a serem seguidas para criar, va- A abordagem de requisitos em MAs pode permitir bons resul-
lidar e manter um documento de requisitos [2]. O processo tados a partir de sua combinao com aspectos favorveis do
de produo do documento de requisitos constitudo pelas contexto. Entretanto, isto pode requerer, por exemplo, que a
atividades de levantamento de requisitos, registro, validao ER seja adaptada principalmente devido ao fato de que essas
e verificao como demonstrado na Figura 1. metodologias abdicam, em parte, de documentos e controle
de artefatos muito presentes neste processo.
Produzir, manter e rastrear documentao de requisitos exige
um esforo que na viso gil pode comprometer a entrega do
software funcionando. MA precisa de processos rpidos, defi-
nidos, que sejam curtos, quando se tratando da documentao
gerada no diferente. Esta deve conter o necessrio para guiar
o tema da discusso entre o desenvolvedor e o cliente, de onde
sair todos os detalhes necessrios para a implementao do
requisito.
User Stories um dos modelos de especificao de requi-
sitos indicados para MAs. Uma User Story (US) descreve
uma funcionalidade que valiosa para o cliente ou usurio
do sistema. Este modelo de especificao composto pelas
Figura 1. Engenharia de Requisitos [2] seguintes caractersticas:
A descrio da estria usada para servir de planejamento
Este processo foi evoluindo utilizando-se as boas prticas de e lembrete, como demonstrado na Figura 2;
engenharia de requisitos. Porm, fatores como a rpida evolu- necessrio discutir sobre a estria para se esclarecer quais-
o tecnolgica, presso para o sistema entrar no mercado e quer detalhes;
mudanas cada vez mais frequentes no ambiente de negcio Testes e anotaes so inseridos na estria para que auxiliem
do cliente esto desafiando as abordagens da ER. no desenvolvimento de regras e detalhes que a funciona-
Os mtodos geis surgiram com o objetivo de suprir estas lidade deve possuir. A estria estar concluda a partir do
necessidades, onde o objetivo principal da abordagem ga- momento que o sistema passar por todos os testes e contenha
rantir a entrega do sistema em um menor prazo, com maior as anotaes.
qualidade e satisfazendo as necessidades do cliente.
Metodologia gil
As exigncias do mercado mudaram e com isso, a engenharia
de requisitos teve que se adequar a elas. Os mtodos geis
(MAs) alteraram o processo da ER tradicional e o adaptou para
seus interesses. Tradicionalmente, ER fortemente baseada em
documentao para compartilhar conhecimento, enquanto que Figura 2. Um exemplo de descrio de uma User Story
MAs so focados em colaborao face a face entre desenvolve-
dores e clientes para garantir objetivos similares. Para se criar uma boa US necessrio que esta seja caracte-
Para estabelecer um modelo de boas prticas, um grupo de rizada por seis atributos:
profissionais especialistas na rea criou um padro para as Independente;
metodologias geis, chamado Manifesto gil, em que centra- Negocivel;
lizaram princpios baseados em diversos mtodos existentes. Valiosa para o cliente ou usurio;
Objetivo Permitir que os administradores emitam uma relao dos usurios cadastrados
Requisitos O software deve permitir a emisso do relatrio de usurios
Atores Professor-Administrador
Prioridade Mdia
Pr-condies No se aplica
Frequncia de uso Eventual
Criticidade Mdia
Condio de entrada O ator seleciona a opo de emitir relatrio de usurios
1. O sistema apresenta os seguintes campos para filtro do relatrio de usurios:
Perfil (Campo texto com domnio fechado, possveis valores: Aluno; Professor)
Administrador? (Campo texto com domnio fechado, possveis valores: Sim; No)
2. O ator executa a funcionalidade de emitir o relatrio [FA1] [FE1]
3. O sistema exibe o relatrio de usurios de acordo com os filtros definidos. De cada usurio sero exibidas as seguintes informaes:
Nome
Fluxo principal
Login
Administrador?
Perfil
E-mail
Telefone
4. O caso de uso encerrado.
[FA1] O ator executa a funcionalidade de emitir o relatrio sem preencher os filtros
1. O sistema exibe o relatrio de usurios com todos os usurios cadastrados. De cada usurio sero exibidas as seguintes informaes:
Nome
Login
Fluxo alternativo Administrador?
Perfil
E-mail
Telefone
2. O caso de uso encerrado
[FE1] O ator executa a funcionalidade de emitir o relatrio, mas no h usurios a serem retornados de acordo com os filtros
Fluxo de exceo 1. O sistema emite uma mensagem de erro informando que a consulta no retornou usurios
2. O sistema retorna ao passo 1 do fluxo principal
Extenses No se aplica
Ps-condies Ser exibido o relatrio de usurios
Regras de negcio No se aplica
Foi tambm constatado que h a necessidade de haver o a negociaes. J a abordagem tradicional exigiu mais
contato direto entre o detentor do negcio, cliente ou ana- tempo para ser executada, porm sua documentao mais
lista de requisitos, e o desenvolvedor, pois no h como completa e rica em detalhes, o que praticamente extinguiu
desenvolver as funcionalidades por completo baseando-se a necessidade do cliente estar disposio para elucidar
apenas nos US. Tendo isto em vista, aconselhvel utilizar possveis dvidas.
esta abordagem quando h uma disponibilidade plena do
cliente para transmitir as informaes. Referncias:
Apesar de envolver mais processos para chegar sua
verso final e demandar um tempo maior para ser imple- 1. Beck, K.; Beedle, M.; Van, A.; Bennekum; Cockburn, A.; Cunningham, W.;
mentada, a documentao tradicional a partir de Casos de Fowler, M.; James; Genning; Highsmith, J.; Hunt, A.; Jeffries, R.; Kern, J.;
Uso foi considerada a mais completa pelos desenvolvedo- Marik, B.; Martin, R. C.; Mellor, S.; Schwaber, K.; Sutherland, J.; Thomas, D.
res. O UC um documento de linguagem comum entre (2001) Manifesto para Desenvolvimento gil de Software.
http://agilemanifesto.org/iso/ptbr, Novembro
usurio e desenvolvedor, deste modo, possvel garantir
que certas funcionalidades foram verificadas e validadas 2. dAmorim, F. R. S. (2008), Engenharia de Requisitos para Mtodos geis.
pelo cliente.
Mesmo podendo gerar algumas dvidas na documenta- Voc gostou deste artigo?
o, com seu nvel de detalhamento, possvel entender
por completo o que a funcionalidade dever fazer e assim
D seu voto em www.devmedia.com.br/esmag/feedback
implement-la sem dificuldades.
Concluindo, a abordagem gil, de fato, se mostrou mais efi- Ajude-nos a manter a qualidade da revista!
ciente em relao ao tempo de elaborao, e mais suscetvel
Nesta seo voc encontra artigos voltados para as prticas e mtodos geis.
A
produo de software atravs enxergar o tratamento destes requisitos, tam-
de modelos geis de desen- bm considerados fatores crticos de sucesso
volvimento, como o Scrum, das aplicaes. Este artigo procura abordar os
popularmente adotada por empresas riscos envolvidos em no se cuidar devidamen-
e equipes de diversos tamanhos e te dos requisitos no funcionais do software e
seguimentos. de como o time Scrum deve estar estruturado
Porm, existem alguns pontos que para tratar ou evitar surpresas as quais po-
merecem uma ateno por se tratarem dem levar qualquer produto ao fracasso.
de peas fundamentais no desenvolvi-
mento de um software: os requisitos no
funcionais. Estes podem levar o software Podemos perceber que houve uma sen-
do sucesso ao fracasso. svel melhora, desde a 1 aferio em 1994
A equipe de desenvolvimento tambm at a ltima em 2012 onde, de apenas
precisa possuir um ambiente favorvel 16% de sucesso nos projetos, alcanou-
para lidar com tudo isso e, por vezes, se os 39%. Isso significa uma melhoria
pode no ter notado o que seria neces- de quase 100%. mas considerar que de
Srgio Salles Galvo Neto srio para poder alcanar um ambiente todos os projetos, apenas 39% destes so
ssallesinf@hotmail.com
Gerente de Projetos certificado PMP, ITIL,
mais produtivo e seguro. entregues conforme o planejado, torna-
Microsoft entre outras. Atuando na rea Veja os nmeros apresentados na Figu- se um fator preocupante.
de informtica desde 1992 e, a mais de ra 1 publicados no ltimo relatrio gera- Em complemento, a Tabela 1 apresenta
10 anos liderando equipes em projetos do pelo Standish Group em Maro/2013. os fatores considerados crticos para o
de desenvolvimento e implantao de Este grfico demonstra o percentual de sucesso dos projetos.
softwares. Nos ltimos cinco anos, atuando
como Scrum Master em projetos em diver-
falha, mudanas e sucesso nos projetos De acordo com os dados deste relatrio,
sas tecnologias e ramos de negcio. de desenvolvimento de software. podemos destacar os seguintes pontos:
A conscientizao, por parte das empresas, sobre a impor- O relatrio X est muito lento e est atrapalhando os
tncia da TI como pea fundamental no sucesso. Isso fez com usurios;
que a maior parte das empresas colocassem seus executivos O sistema cai quando atinge 1.000 usurios simultneos;
(os patrocinadores dos projetos) frente para auxiliar a TI, O sistema ficou 24 horas fora do ar devido a no possuir
oferecendo maior suporte e acompanhamento; ou no terem funcionado as devidas contingncias;
Em decorrncia desta conscientizao gerou-se um maior
envolvimento dos usurios, promovendo otimizao das Esta lista de questes so puramente requisitos no funcio-
aplicaes em pequenos projetos, com investimentos em co- nais no observados e/ou no atendidos.
nhecimento, aumentando o capital intelectual das equipes, se- Em praticamente toda a literatura associada ao uso do Scrum,
guido por uma melhor viso e entendimento mais slido sobre existe um assunto que no claramente tratado mesmo sendo
gerenciamento de projetos e a adoo de Processos geis. de extrema importncia: os requisitos no funcionais. Na es-
trutura de trabalho do Scrum, temos os papeis bem definidos:
Chaos Manifesto 2013 - The Standish Group Product Owner, Scrum Master e a equipe, que composta
Failed Challenged Successful
sempre por membros com diversos conhecimentos e habilida-
de (multidisciplinar), mas nem sempre se observa a presena
16
(ou a necessidade) de recursos detentores de conhecimentos
27 26 28
34 29
35 32 37 39
especficos, como de um arquiteto, um DBA ou um especialista
de infraestrutura, o qual domine a parte de arquitetura da
53 33 soluo implementada.
46
49
51
53 46
44
42 43
As empresas as quais adotaram ou iro adotar o Scrum pre-
cisam ter em mente a questo de que se um novo requisito no
31
40
28
funcional ou um problema grave de performance na aplicao
23 19 24 21
18 18
15
surgir, pode comprometer o sucesso do produto. Na verdade,
1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 um requisito no funcional to ou mais importante que um
requisito funcional.
Figura 1. Percentual de Falhas, Mudanas e Sucesso em projetos de TI
Os pesos e critrios para orar cada um destes tipos tambm Ao adotar uma ferramenta, d preferncia quelas que faam
podero ser levados em conta. Iremos comparar, brevemente, o controle de verses e, alm disso, que disponha da facilidade
bugs e novos requisitos de maneira a podermos elencar os de controle por branches (ramificaes).
pesos e critrios com maior propriedade. Seguem: Controlar verses significa poder controlar o que foi alterado
Bug um erro sobre algo existente ento, por mais comple- no contedo do cdigo fonte, quem o alterou e quando. E ainda,
xo que seja resolv-lo, ser mais fcil corrigi-lo do que algo poder estabelecer qual membro da equipe pode ou no acessar
novo; partes do cdigo ou todo ele.
Mas, o que seria algo novo? Uma nova funcionalidade ou um O recurso de branch permitir que vrios membros da
novo requisito no funcional podem esconder complexidades equipe possam trabalhar em separado, cada um em sua
ou dependncias que no foram ou no puderam ser identificadas branch em separado e, sem poluir o cdigo estvel com
logo no incio ento, a partir da, temos um ponto de interroga- cdigo em desenvolvimento durante os processos de corre-
o, um alerta de risco e, este fator de risco deve incorporar a o e/ou evoluo. Este recurso aumentar a produtividade
estimativa (de forma racional e comprometida pelos membros da equipe e reduzir o ndice de falha por serem gerados
da equipe) considerando que a estimativa pode falhar e, neste builds com cdigo inacabado. A parte de Builds ser
caso, tem o fator da novidade. Obviamente que o bom senso abordada mais adiante.
sempre dever imperar: uma nova funcionalidade a qual, todos No devemos nos esquecer de ter um repositrio, ou rea
sabem ser uma cpia quase fiel de uma j existente, no pode ser dentro do repositrio de cdigo fonte, para os documentos
considerada nova do ponto de vista tcnico, correto? como os backlogs de Produto e da Sprint, ou de documentos
contendo as estrias implementadas e a implementar.
Enfim, agora temos uma viso do produto, seus requisitos importante lembrar tambm que as polticas de acesso e
funcionais, no funcionais e uma classificao para cada tipo permisses devem ser geridas pela equipe de infraestrutura,
de demanda que faz parte do backlog e, desta forma, a equipe a fim de garantir que todos os membros da equipe possuam
est pronta para orar, planejar as sprints e gerar estimativas. tudo o que precisam e tambm tenham seus acessos conforme
Por outro lado, temos um Product Owner ciente dos desafios sua necessidade.
impostos pelo backlog existente e as decises e os caminhos Em ltimo lugar, mas no menos importante, esta ferra-
para alcanar o sucesso. menta de repositrio permitir a execuo do backup (cpia
de segurana).
Sugesto de setup para a equipe de desenvolvimento
Para se estabelecer uma equipe gil, motivada e produtiva,
no bastam bons computadores e boa remunerao agregada
com excelentes benefcios. Um ambiente favorvel e bem es-
truturado so peas fundamentais.
Da mesma forma que o foi abordado no item produto, co-
mear minimamente com um ambiente e equipe estruturadas,
as chances de se alcanar uma boa produtividade, qualidade
do produto e satisfao da equipe, so muito maiores. Seguem
alguns itens a serem considerados e disponibilizados equipe
de desenvolvimento: ferramentas, rotinas e, ambientes.
pouco de lado as premissas, o escopo, enfim, os requisitos. os itens do backlog (as estrias) equilibrando os conhecimentos
preciso entender o fato: problemas como os relatados an- e a quantidade de pessoas disponveis para a execuo dos
teriormente so graves e, muitas vezes, de difcil e demorada trabalhos durante o perodo em que a outra parte das pessoas
resoluo. Uma arquitetura mal definida, um banco de dados estiver em treinamento.
mal modelado, uma infraestrutura mal dimensionada, geram Com relao rotatividade, o departamento de Recursos
todos estes e tantos outros problemas. Humanos dever atuar de forma a gerar mecanismos que
Por esta razo que foi mencionado a importncia de se ter incentivem a reteno das pessoas atravs de polticas de reco-
uma referncia (baseline) do produto para que esta sirva de nhecimento bem como acordos onde as pessoas que receberem
nivelamento de comunicao, fazendo com que todas as partes treinamento se comprometam a permanecer na empresa.
interessadas tenham acesso e absorvam integralmente os obje- Obviamente que existem diversos outros aspectos relacio-
tivos a serem alcanados pelo software a ser desenvolvido. nados a Recursos Humanos e polticas especficas de cada
corporao, mas o fato que se deve observar esta opo de
Como podemos evitar tais problemas? capacitar a equipe, analisando clara e objetivamente os pontos
O Scrum Master e o Product Owner devem conversar, positivos e negativos para uma correta tomada de deciso.
alinhando seus conhecimentos. O Product Owner possui Quanto a opo de contratar novos recursos, sejam estes
o entendimento e as necessidades comerciais e conseguir efetivos ou temporrios, a forma de contratao depender
definir os requisitos no funcionais. Com o auxlio do Scrum das polticas e da realidade da empresa. O ponto chave desta
Master, que detm uma bagagem tcnica, conseguir en- opo ter em mente que as lacunas de pessoas e skills sejam
tender os requisitos funcionais e no funcionais bem como preenchidas para atender o objetivo. Mesmo assim, os novos
seus impactos no software. O resultado desta conciliao de recursos demandaro investimentos em treinamento quanto
necessidades e conhecimentos ser a definio de uma lista de ao projeto, o produto e a forma de trabalho da empresa e ainda,
requisitos funcionais e no funcionais a serem contemplados sempre haver uma curva de aprendizado versus produtivida-
pelo software, ou melhor, o Baseline do Produto conforme de onde, dependendo das circunstncias, o novo recurso estar
mencionamos anteriormente. mais alocado em treinamentos, consumindo tambm recursos
Uma vez que temos uma lista de requisitos (funcionais e da equipe os quais tenham condies de ensinar e ambos, no
no funcionais), o Scrum Master ter condies de verificar estaro produzindo neste nterim. A produtividade plena da
os conhecimentos e habilidades necessrias (skills) para equipe s atingir os patamares desejados aps este perodo
transformar estes requisitos em software. Determinando essa de ensino e a aprendizagem estiverem concludos.
lista de skills, o prximo passo identificar se os membros da De forma resumida, os tempos e a quantidade de pessoas
equipe contemplam estas exigncias. Se os membros da equi- disponveis, at atingirem sua plenitude em termos de pro-
pe j possurem as qualificaes, timo, caso contrrio, resta dutividade iro variar. Estes fatores devero ser considerados
apenas duas alternativas: capacitar s pessoas ou contratar tanto na opo de capacitar a equipe tanto quanto a contratao
novos recursos. de novos recursos. Vale ressaltar que, acima de tudo, tanto a
Qualquer uma das opes exigir investimentos da empresa Organizao (Empresa) quanto as equipes devem estar con-
e, neste momento, o Scrum Master aliado ao Product Owner, fortveis e comprometidas com a deciso tomada.
devero levar estas demandas alta direo da empresa e Considerando que todas as questes de organizao dos
justific-la. backlogs, da lista de requisitos, das equipes e de toda a infra-
Capacitar equipe existente gera sempre um sentimento estrutura necessrias estejam atendidas, chega o momento de
de valorizao da equipe e muitas pessoas sentem-se extre- organizar o trabalho e iniciar o processo de planejamento das
mamente motivadas, este seria o principal ponto positivo ao Sprints. A execuo dos processos permitir a operacionali-
optar-se pela capacitao da equipe. Outro ponto importante zao de todos os tpicos explicados neste artigo conforme
seria o fato de que estas pessoas levaro para o treinamento os passaremos a explicar.
desafios conhecidos, possibilitando um maior aproveitamento A execuo dos processos da metodologia Scrum inicia-se
tanto do treinamento em si quanto a aplicao dos conheci- com o Planejamento das Sprints, a esta etapa d-se o nome
mentos adquiridos na prtica. de Sprint Planning (Planejamento da Sprint). A atividade de
Como pontos negativos da opo de capacitar a prpria Planejamento da Sprint (Sprint Planning) serve para orar
equipe, destacam-se o tempo das pessoas, pois enquanto elas os itens priorizados pelo Product Owner e, caber equipe
estiverem em treinamento, no estaro produzindo e tambm, dizer se so possveis ou no de serem tratados em uma ou
as chances de rotatividade destas pessoas uma vez que esti- mais Sprints. Percebam que estamos tratando apenas os itens
verem mais qualificadas, sero mais cobiadas e at assedias priorizados e no o Backlog geral.
pelo mercado. neste momento, durante o planejamento, que estes requi-
Para lidar com estes pontos positivos e negativos, a alta dire- sitos devero ser revistos, atualizados, e normalmente, serem
o da empresa dever balancear estas questes. Considerando transformados em estrias e devidamente orados, planejados
os aspectos negativos, com relao ao tempo, o Product Owner, e implementados nas Sprints pela equipe. Da mesma forma
o Scrum Master e a equipe, devero se organizar para priorizar que o ritual de reviso do Product Backlog ocorre.
A
medio do software to im- principais objetivos e benefcios do SNAP e co-
portante quanto de qualquer nheceremos a metodologia em si. Finalizando,
outro produto vendido por veremos um exemplo simples, porm completo
quantidade, peso ou volume. O fra- de uma contagem no funcional e iremos anali-
mework SNAP apresenta uma diviso de sar as concluses sobre o que foi exposto neste
trs dimenses em que o software preci- trabalho.
saria ser medido: os requisitos tcnicos, A medio do escopo serve de base para gera-
os requisitos de qualidade e os requisitos o da maior parte das mtricas do ciclo de vida
funcionais. Para os requisitos funcionais, do desenvolvimento de software. A utilizao
o mercado adota largamente a anlise de do tamanho no funcional como parte do esco-
pontos de funo (APF BOX 1) definida po medido, permitir uma melhor adequao
Thiago Chierici Cunha pelo IFPUG e padronizada pela ISO des- das estimativas, principalmente em mtricas
Thiago.cunha@gmail.com de 2009, apesar da ISO tambm definir relacionadas a esforo e custo.
Profissional certificado em pontos de fun- outras metodologias como COSMIC,
o pelo IFPUG desde 2009. Especialista FiSMA, Mark-II e NESMA.
em Educao Tecnolgica pela UEMG e
Enquanto a APF define bem como
graduado em Processamento de Dados
pela Anhanguera. Atualmente leciona em medir os requisitos funcionais, os re- podem gerar distores no planejamento
alguns cursos de Ps graduao do IGTI e quisitos tcnicos e de qualidade no e nos custos.
atua como arquiteto de software na CI&T. so contemplados pela mesma. Assim, Para tentar corrigir tais distores, o
Nos ltimos 15 anos tambm acumula medies feitas apenas com APF normal- IFPUG havia definido uma etapa da
experincias em gesto de processos e
mente ignoram dimenses importantes medio funcional, chamada de fator de
projetos e desenvolvimento em diversas
plataformas. do desenvolvimento do software, que ajuste, que consistia em um ajuste de at
Muitas vezes observamos o uso destes dois termos como se tivessem o mesmo significado no
contexto de mtricas de software, porm temos algumas diferenas sutis, mas importantes
Figura 1. Os passos do processo SNAP
entre os conceitos, j que podem servir de critrio contratual ou de auditoria interna ou externa.
As estimativas ou aproximaes podem ser feitas sem termos todos os detalhes necessrios para
A primeira seo do processo SNAP equivale ao planejamen-
fazer uma medio completa ou mesmo em caso que temos estes detalhes, mas desejamos uma
to do que ser medido. Neste passo iremos definir o motivo de
mtrica com maior produtividade e no precisamos de tanta preciso. Abaixo temos a Tabela 1,
estarmos fazendo a contagem, e deixar claro onde ela comea e
adaptada do guia do SNAP, que ilustra quando normalmente podemos fazer aproximaes e
onde termina. Para isso detalharemos os seguintes aspectos:
quando podemos fazer medies em um ciclo de desenvolvimento generalista.
Propsito da avaliao;
Fase do ciclo de vida PS podem ser estimados PS podem ser medidos Tipo da avaliao;
Proposta Sim No Escopo da avaliao;
Fronteira da aplicao;
Requisitos Sim No
Parties.
Projeto Sim Sim
Construo Sim Sim O propsito da avaliao define de forma textual o objetivo
Entrega Sim Sim do trabalho de medio ou aproximao que ser feito.
Manuteno (Preventiva, atravs dele que podemos buscar o tipo e escopo da avaliao.
Sim Sim
adaptativa ou perfectiva) Um possvel exemplo de propsito poderia se parecer com os
Tabela 1. Estimativas e medies de Pontos SNAP (PS) exemplos:
Fornecer o tamanho no funcional do projeto de desenvol-
vimento do software XXX, para servir de base para o clculo
de esforo e custos para elaborao de proposta tcnica e
Ao criar o SNAP, o IFPUG tambm pretendia ter uma metodo- comercial;
logia simples o bastante para que fosse necessria a dedicao Fornecer o tamanho no funcional entregue pela mudana
de pouco tempo para fazer as medies, incentivando uma de tecnologia do banco de dados do sistema YYY.
maior adoo por vrios projetos e empresas.
De acordo com o guia oficial as empresas podem utilizar o Assim como na contagem de pontos de funo, o tipo da
SNAP como: avaliao ter trs possibilidades. Esta informao normal-
Uma metodologia para medir o tamanho no funcional de mente utilizada para clculo de outras mtricas derivadas.
um produto de software, para dar suporte a anlises de qua- A produtividade, por exemplo, ser diferente para projetos de
lidade e produtividade; melhoria e de desenvolvimento, mesmo que tenham a mesma
Uma metodologia para estimar custos e recursos necessrios quantidade de pontos de funo ou pontos SNAP:
ao desenvolvimento e manuteno de software; Projeto de desenvolvimento: quando estivermos metrifican-
Um fator de normalizao para a comparao de softwares; do a criao de um determinado software.
Uma metodologia para determinar o tamanho no funcional Projeto de melhoria: quando estivermos alterando um soft-
de um pacote de aplicativos adquirido, atravs da avaliao de ware existente.
todas as partes e categorias includas no pacote; Aplicao quando estivermos medindo uma aplicao j
Uma metodologia para ajudar os usurios a determinar os existente.
benefcios de um pacote de aplicativos para sua organizao,
atravs da avaliao de partes ou categorias que satisfaam O escopo ser criado a partir do propsito da contagem e
seus requisitos especficos. define o conjunto de requisitos no funcionais do usurio a
serem includos na avaliao. O escopo pode incluir mais de
O processo de avaliao no funcional uma aplicao e, normalmente, ir incluir um conjunto de par-
Na Figura 1 temos uma viso geral do processo SNAP. ties, alm de uma lista de categorias e subcategorias SNAP.
O primeiro passo tem uma viso mais conceitual, mas que Tanto as parties quanto as categorias sero detalhados nos
importante para orientar os passos seguintes. No segundo, prximos tpicos.
normalmente utilizaremos o guia como referncia para con- A fronteira da aplicao tambm um conceito comum com
seguir escolher as categorias corretas. Os demais (passos 3 a 6) a APF e a separao conceitual entre o software avaliado
representam os passos mais prticos da contagem. e seus usurios. a fronteira que define o que externo
Exemplo de contagem
A segunda seo do SNAP trata de como vamos relacionar Nosso exemplo ser estruturado em trs etapas. Na primei-
cada requisito funcional a uma categoria e subcategoria SNAP. ra parte iremos apresentar a descrio de uma determinada
As categorias foram criadas de forma generalista para tentar demanda de desenvolvimento. Na segunda, iremos seguir o
agrupar necessidades no funcionais, mesmo que ainda nem processo SNAP para calcular o tamanho no funcional da de-
foram inventadas ou definidas. A diviso contempla todos os manda. Na ltima, iremos mostrar informaes que podemos
requisitos tcnicos e de qualidade conforme definidos na ISO/ derivar das mtricas iniciais, e como podemos nos beneficiar
IEC 9126-1 ou pela ISO/IEC 25010. As categorias SNAP esto destes nmeros ao longo do ciclo de vida do projeto e do hist-
agrupadas da seguinte forma: rico da empresa. Em alguns momentos, alguns detalhes podem
Operaes de Dados ser ocultos para tornar o exemplo mais didtico.
- Validaes na Entrada de Dados A Tabela 2 representa a solicitao do nosso cliente fictcio,
- Operaes Lgicas e Matemticas que a primeira parte do nosso exemplo. Nela representamos
- Formatao de Dados uma requisio de funcionalidades que, indiretamente exige a
- Movimentaes de Dados Internos implementao de um conjunto de requisitos no funcionais.
- Entregar valor agregado aos usurios por configurao de No escopo deste exemplo, no focaremos na medio do ta-
dados manho funcional da demanda.
Projeto de Interface De acordo com a Figura 1 comearemos nossa contagem
- Interfaces do Usurio fazendo algumas definies conforme detalhamos abaixo:
- Mtodos de Ajuda Propsito da contagem: fornecer o tamanho no funcional
- Mltiplos Mtodos de Entrada da demanda para calcular todas as mtricas que permiti-
- Mltiplos Mtodos de Sada ro gerar os custos da demanda 0001 do sistema de Gesto
Ambiente Tcnico Patrimonial;
- Mltiplas Plataformas Tipo da avaliao: projeto de melhoria;
- Tecnologia de Banco de Dados Escopo da avaliao: est definido na ficha representada
- Processos Batch na Tabela 2;
Arquitetura Fronteira: no exemplo no temos muitos detalhes do sistema,
- Software baseado em componentes mas neste caso no fica dvida do que faz parte da fronteira
- Mltiplas Interfaces de Entrada / Sada da aplicao que est sendo contada;
A
Wilson Vendramel s empresas que concorrem no necessrios para a entrega do produto ou
wilson.vendramel@fatec.sp.gov.br mercado de software buscam servio com qualidade, usando a tcnica Use
Possui especializao em Engenharia de constantemente aperfeioar a Case Point e considerao de seus resultados
Software e mestrado em Cincia da Com- qualidade dos seus servios prestados, aplicados no estudo de caso de uma fbrica de
putao pelo Instituto de Computao-
a fim de obter diferencial competitivo e software.
UNICAMP, e especializao em Melhoria
de Processo de Software pela Universidade fidelidade do cliente. Uma das maiores
Federal de Lavras. Atuou como Especialista preocupaes dessa indstria tem sido a
de Sistemas na IBM Brasil. previsibilidade de projetos, onde apenas
34% dos projetos de software atingem das estimativas so a falta de controle
Maria Beatriz Felgar de Toledo seus objetivos dentro do cronograma e adequado de custo e cronograma e a
beatriz@ic.unicamp.br oramento planejados. inadequao dos mesmos no ciclo de
Possui graduao e mestrado em
Decises que so tomadas com ba- vida do projeto.
Cincia da Computao pelo Instituto de
Computao-UNICAMP e doutorado em ses empricas conduzem o projeto a Diante dos problemas apresentados,
Sistemas Distribudos pela Universidade de dados de prazo e custo inconsistentes. desejvel que a empresa possua o conhe-
Lancaster, Inglaterra. Atualmente profes- O Standish Group destaca que 43% dos cimento sobre as tcnicas de estimativa
sora associada na Universidade Estadual de erros localizados em um projeto esto para o projeto em questo, assim como
Campinas. Tem interesse nas reas de ges-
relacionados ao fator custo. Dessa for- fundamental que haja uma base de
to de processos de negcio, servios Web,
Web semntica e arquiteturas orientadas a ma, as consequncias imediatas de um dados a respeito de projetos anteriores
servios. processo de software sem planejamento e que possibilitem o seu aproveitamento,
as funcionalidades do produto contra os requisitos do cliente; aplicavam a tcnica de pontos de funo, e 10,3% baseavam-se
as mtricas tcnicas destinam-se aos atributos do software, em linhas de cdigo.
independente do processo no qual foi desenvolvido; as mtricas Um dos modelos mais recentes aplica o FP a casos de uso.
orientadas a pessoas concentram-se na forma como as pessoas Esse modelo, criado em 1993, denominado Pontos por
desenvolvem o software e a sua interao com as ferramentas Caso de Uso (UCP), e tem como finalidade a estimativa
e mtodos de desenvolvimento. de tamanho e esforo que so extrados diretamente dos
requisitos do projeto.
Mtricas utilizadas no Projeto
Para que uma mtrica seja vivel em um projeto, ela deve ter Mtricas de processo
atributos mensurveis, e no sofrer influncia dos envolvidos As mtricas de controle, associadas ao processo, referem-se
no projeto; a coleta de dados tambm no deve prejudicar o durao, custo de esforo e nmero de incidentes associados
processo de desenvolvimento [3]. Alm disso, as mtricas de- ao processo. Tambm fornecem indicadores que podem servir
vem ser analisadas sob o ponto de vista de pessoas, processo como base para anlise em outros projetos, possibilitando que
e produto (ver Figura 1). se verifique o seu andamento, alm de possveis riscos e pro-
blemas, levando a melhorias nos processos de software.
Entretanto, a medio do processo somente determina a
qualidade do produto se associada medio deste.
Uma abordagem que auxilia na medio de processo a
Meta-Questo-Mtrica (Goal-Question-Metric - GQM). Esta
integra os objetivos das mtricas com os modelos de processo,
produto e perspectivas de qualidade de software, alinhando
as suas necessidades s metas da organizao e s questes
associadas ao seu aperfeioamento.
As metas so as expectativas da organizao de melhoria do
processo, como por exemplo, reduo do tempo de desenvol-
Figura 1. Mtricas associadas ao projeto vimento, melhoria de produtividade da equipe, reduo do
retrabalho. As questes so indagaes associadas s metas
As mtricas de projeto e seus indicadores so utilizados por de melhoria, buscando na resposta a soluo pontual para o
um gerente e sua equipe, a fim de adaptar o fluxo de trabalho e problema levantado. As medies do processo, ao compor as
as atividades tcnicas que agregam valor ao projeto, tornando mtricas do GQM, fornecem os resultados das aes aplicadas
essas mtricas estratgicas. no processo, confirmando se as metas foram atingidas e se as
A partir da obteno das medidas de esforo e tempo em questes foram solucionadas.
projetos anteriores, so formados indicadores que podem ser Por envolver a qualidade do processo, a GQM pode ser situ-
usados com as atuais medies do projeto, gerando estimativas ada no contexto da abordagem do CMMI.
que auxiliem nas decises do gerente. Essas decises tm como
objetivo reduzir o prazo do projeto atravs de correes de atra- Mtricas de pessoas
sos e problemas, e aperfeioar a qualidade do produto durante As mtricas de pessoas indicam a produtividade, tamanho
o seu ciclo de vida, assim como a reduo de defeitos. da equipe, quantidade de comunicao associada ao projeto e
medida que os defeitos so minimizados, h melhoria da habilidades individuais, possibilitando ao gerente verificar se
qualidade do produto, e a quantidade de retrabalho durante o a equipe est alinhada com as necessidades do projeto. Uma
projeto tambm reduzida; isso leva diminuio de custos vez convertidos em indicadores, esses dados se tornam base
no projeto. de anlise para futuras mtricas.
Embora cada modelo de medida possua suas prprias tc- Podemos relacionar produtividade ao esforo utilizando a
nicas de clculo, a maioria deles tem como base os pontos de equao: Produtividade = Esforo / Tamanho do software.
funo ou linhas de cdigo, dos quais derivam as mtricas de Considerando essa equao, pode-se concluir que o esforo
produtividade. da equipe de software diretamente proporcional ao tama-
As linhas de cdigo (LOC) so medidas que levam em con- nho do software, e assim como o esforo, obtido atravs de
siderao a quantidade de linhas produzidas essenciais para mtricas como a Anlise de Pontos de Funo ou Pontos por
a execuo de um programa ou componente. Os pontos de Caso de Uso, por exemplo.
funo (FP), esto voltados ao domnio da informao que in-
terage com o software, e no s linhas de cdigo que definem Mtricas de Produto
a funcionalidade do produto. As mtricas preditivas, associadas ao produto, avaliam o seu
Dados estatsticos obtidos por Drach [4] confirmam que em tamanho e complexidade da estrutura lgica, de dados e de
2001 apenas 30% das empresas utilizavam mtricas para medir funes combinados ou isoladamente, alm da quantidade de
produtividade dos processos de software, sendo que 18,2% atributos e operaes em objetos, de um projeto.
Os principais fatores avaliados pelos indicadores de produto estrutura das medidas que devem atender s necessidades
esto apresentados na Tabela 1. de informao, e o de processo, que define o processo de
As mtricas de produto podem ser divididas em classes de medio.
mtricas dinmicas, coletadas por medies de um programa
em execuo, e estticas, coletadas atravs de documentaes
ou dados do programa. Ao se medir um programa em exe-
cuo possvel verificar a sua resposta s aes do usurio
(confiabilidade) e se suas tarefas esto sendo executadas cor-
retamente (eficincia).
Quando a anlise feita a partir de documentos, ou de um
programa que no esteja em execuo, a documentao pode
fornecer ao usurio a viso do quanto o programa simples
de se manusear (usabilidade), e ao ser comparada contra o pro-
grama, possvel verificar se os requisitos foram corretamente
aplicados, no apresentando erros (manutenibilidade).
Nveis de Medida Descrio atividade se dispe a identificar aes de melhoria para ga-
Medida adquirida diretamente dos atributos de um produto ou processo rantir atualizao constante do processo, de modo a satisfazer
Bsica as necessidades de informao.
em medio, convertidos em valores;
Derivada Medida adquirida atravs duas ou mais medidas;
As aes de melhoria aumentam a qualidade do processo,
e consequentemente do projeto de desenvolvimento do sis-
Indicadores Conjunto de medidas que do suporte s necessidades de informao.
tema, permitindo ao lder do projeto estabelecer parmetros
Tabela 2. Nveis de medida do modelo de informao de controle das etapas do processo e a adequada anlise dos
resultados que geram diferencial competitivo organizao,
em relao s organizaes que no adotam os procedimentos
de melhoria.
Essa atividade no PSM permite que a organizao, ao deter
as informaes geradas pelas medies, promova o seu ama-
durecimento constante, em relao s medies obtidas.
Alm dos nveis de realizao, o GQM tambm prev qua- Tcnicas de estimativa
tro fases para definir as medies, conforme apresentado na A evoluo tecnolgica trouxe aos ambientes de desenvolvi-
Tabela 3. mento de software a oportunidade de trabalharem com novos
Durante a elaborao do GQM, so produzidos cenrios paradigmas de medio no projeto, pois para cada abordagem
que apresentam os objetivos e as questes com as mtricas de linguagem de programao utilizada, novos ajustes ou me-
associadas. O mapeamento desses cenrios tem como base todologias para obteno das mtricas eram adotados.
o ponto de vista do cliente, gerente de projetos, e integrantes Nenhum modelo de estimativa adequado a todos os pro-
da equipe. cessos de desenvolvimento, pois para cada um deles h uma
Os objetivos so compostos por propsitos, questes, objetos e amostra limitada do projeto, passvel de ajustes para que possa
ponto de vista. Cada questo pode apresentar uma ou mais m- ser utilizado.
tricas, de acordo com o processo em anlise (ver Figura 5). Os modelos utilizados para estimativas, quando tratam de
sistemas de grande extenso, podem dividi-los em componen-
tes menores (subsistemas), de modo a facilitar a anlise dos
dados na medio. Ao iniciar a anlise pelos componentes a
fim de se obter as estimativas de custo, adota-se a abordagem
bottom-up. Aps analisar os componentes separadamente em
uma abordagem bottom-up, os custos so adicionados, totali-
zando o esforo total para o desenvolvimento do sistema.
A anlise inicial pela tcnica top-down permite ao res-
ponsvel pela medio conhecer as interaes entre os
subsistemas na formao do sistema maior, possibilitando
a viso da funcionalidade do sistema. Alm destas, atri-
bumos estimativa top-down os custos relacionados ao
sistema como um todo, alm do gerenciamento do sistema
e sua documentao.
Ao se utilizar os modelos de medio, possvel justificar a
solicitao de recursos monetrios, de tempo e pessoas; avaliar
a necessidade de treinamento e recrutamento de pessoas; gerar
compensaes de produtividade, custo e qualidade; avaliar
e mitigar o impacto das mudanas; negociar o oramento de
acordo com as novas exigncias de desenvolvimento. Essas
razes para estimar o custo de software explicam o uso dos
modelos de estimativas.
Figura 5. Objetivo Verificar Aderncia ao Processo A seguir sero apresentados os modelos CoCoMo 81 e sua
verso atual (CoCoMo II), alm do mtodo de Delphi, o mo-
Os resultados da implantao das mtricas, obtidas atra- delo de Anlise de Pontos de Funo, e o modelo de Pontos
vs das questes de ordem operacional, possibilitam que por Caso de Uso.
indicadores para anlises futuras mais consistentes sejam
gerados. CoCoMo 81 X CoCoMo II
O GQM tambm recomendvel por se tratar de uma abor- O Modelo de Custo Construtivo (Constructive Cost Model -
dagem objetiva dos problemas da organizao quanto aos CoCoMo) foi baseado inicialmente em uma anlise de banco de
processos, que podem ser solucionados pelo levantamento dados com 63 projetos, realizada na dcada de 70 pelo Prof. Dr.
das questes pontuais que envolvem esses problemas, e cujas Barry Boehm, da Universidade do Sul da Califrnia. O modelo
repostas possam ser convertidas nas mtricas. Os resultados fornece frmulas detalhadas para determinar o cronograma do
so os dados estatsticos que do suporte a tomada de aes tempo de desenvolvimento, alm de ser o mais completo para
corretivas. estimativas de esforo baseado em linhas de cdigo.
Ao se analisar as linhas de cdigo como fator de clculo O modelo intermedirio considera, alm das linhas de cdigo,
no CoCoMo, importante desconsiderar as linhas de co- 15 fatores direcionadores de custo (cost driver), com valores
mentrios no cdigo do programa, pois no so essenciais pr-determinados e que auxiliam o responsvel pela mtrica
para a execuo do mesmo; elas apenas descrevem as ca- a se dedicar a uma anlise apurada que associe o cost driver
ractersticas ou aes que o trecho do cdigo realizar no certo a formula, de forma a gerar informaes mais precisas.
programa. De acordo com Chiossi e Germano [3], aps calcular o esforo,
Dessa forma, as linhas de comentrios precisam ser excludas deve-se multiplicar o resultado pelo valor fornecido na Tabela 5,
para, a seguir, elaborar o modelo com base em trs modos de de modo a ajustar o esforo aos atributos que interagem com
desenvolvimento: o projeto e que, portanto, interferem no desenvolvimento do
Embutido: o desenvolvimento no modo embutido aplicvel sistema.
a ambientes onde h constantes inovaes, com rgidas restri- Considerando um projeto desenvolvido no modo embutido,
es e alteraes mais frequentes em requisitos; e utilizando o modelo intermedirio para a produo de 20
Orgnico: dedicado a ambientes estveis, com equipe peque- KLOC, temos o seguinte esforo:
na e que desenvolvem sistemas relativamente simples; Esforo = 2,8 X 20 1,20 = 102 pessoas-ms
Geminado: dedicado a ambientes que possuem caractersti-
cas do modo embutido e do modo orgnico. Cada um dos fatores de ajuste pode adequar o esforo de
forma a se aproximar da realidade do desenvolvimento. Por
O CoCoMo 81 conta com os estgios de desenvolvimento exemplo, em um ambiente onde a capacidade do programador
bsico, intermedirio e completo, evoluindo de um para outro alta e o tempo de resposta rpido, podemos adaptar o esforo
medida que seus detalhes so implementados. multiplicando-o por 0,86 e 1,07, respectivamente. O resultado
O modelo bsico tem como foco fornecer a estimativa de obtido (94), ajustado aos demais atributos direcionadores de
forma rpida, e tambm mede o tamanho do programa em custo, compe o trabalho para a produo do software.
linhas de cdigo para obter as estimativas de esforo e custo O modelo detalhado utiliza as mesmas equaes do interme-
no projeto. dirio para obter a estimativa de esforo, entretanto duas carac-
No contexto do modelo bsico, o modo orgnico tem uma tersticas so determinantes para reajustar as mtricas [3]:
produtividade de, por exemplo, 352 LOC por pessoa em um Multiplicadores fase sensitivos para esforo: nele, a anlise
ms, enquanto que esse valor cai para 105 LOC no modo do cost-driver se aplica a cada fase do projeto, ao invs do pro-
embutido. jeto como um todo, pois alguns fatores podem ser alterados
Chiossi e Germano [3] utilizam o tamanho em milhares de no decorrer dessas fases;
linhas de cdigo (KLOC) para expor os mtodos de clculo Hierarquia do produto em trs nveis: a anlise do cost-
do esforo (E) e do tempo em meses de desenvolvimento (Td), driver tambm abrange o nvel de sistema, subsistema e
considerando vinte e dois dias de trabalho por ms, para os mdulo.
trs modos de desenvolvimento (ver Tabela 4).
A abordagem do CoCoMo II prope o desenvolvimento das
Esforo nominal estimativas de custo associado ao reuso do cdigo. Utilizamos
Modo Tempo nominal a seguinte frmula, com valores representados na Tabela 6,
Modelo Bsico Modelo Intermedirio
para calcular o reuso do cdigo no CoCoMo II:
RET
2a5 Baixa Mdia Alta
nolgicas, e a fronteira inicial no deve ser influenciada pelo
Maior que 5 Mdia Alta Alta
escopo de contagem. Por fronteira inicial entende-se aquela
que j foi definida no incio do projeto. Tabela 9. Complexidade funcional dos ILFs e EIFs
D seu voto em www.devmedia.com.br/esmag/feedback 6. VAZQUEZ, C.E.; SIMES, G.S.; ALBERT, R.M. Anlise de Pontos de Funo:
Medio, Estimativas e Gerenciamento de Projetos de Software. So Paulo:
Ajude-nos a manter a qualidade da revista! rica, 2003.
N
os dias atuais, sabemos da desde desenvolvimento de aplicaes simples
importncia de um bom ge- at implantaes complexas de ERP. Conceitos
renciamento de projetos. Por estes que qualquer gerente de projetos deve
consequncia, gesto de projetos um ter em mente para serem aplicados em seu dia
dos principais assuntos discutidos em a dia. No sero apresentados modelos dos do-
boa parte das organizaes, principal- cumentos aqui citados, porm, voc pode cri-
mente pelos benefcios conquistados los, desde que o contedo dos mesmos reflita a
com sua adoo ou prejuzos por no necessidade do projeto.
se adotar gerenciamento de projetos de
forma efetiva.
Para que as organizaes realmente Desta forma, os assuntos aqui rela-
colham resultados positivos na gesto cionados podem contribuir de forma
Ary dos Santos Rocha Jnior
ary@aryrochajunior.com.br
de projetos, elas devem se estruturar de substancial para o enriquecimento dos
Bacharel em Cincia da Computao pela forma que uma metodologia de gesto conceitos relacionados a gerenciamento
Universidade Federal de Uberlndia, Mes- possa ser aplicada. O primeiro passo de projetos. Ao longo deste artigo per-
tre em Cincias com nfase em Inteligncia para que isto ocorra capacitar um gru- ceberemos a importncia de todos os
Artificial pela mesma Universidade. Possui po de colaboradores em especfico para grupos de processos de gerenciamento
mais de 15 anos de experincia profissio-
nal, atuando sempre na rea de desenvol-
as funes de gerenciamento de projetos de projetos, mas em especial o primeiro
vimento de sistemas, liderana de equipes, e das metodologias escolhidas para se deles, que o grupo de processos de
gerenciamento de projetos e como CIO. gerir qualquer projeto da empresa. iniciao.
Grupos de Processos de Gerenciamento de Projetos Objetivos de escopo: o que se espera em termos de caracte-
O PMBOK considerado hoje um dos principais guias de rsticas e funcionalidades do projeto, ou seja, qual o produto
gerenciamento de projetos, sendo utilizado no mundo inteiro. ou servio que ser entregue no final do projeto.
E neste guia, esto descritos os cinco grupos de processos de
gerenciamento de projetos. So eles: Para que um projeto tenha um bom incio, ressalta-se que
1. Grupos de Processos de Iniciao; as principais caractersticas de um gerente de projetos so:
2. Grupos de Processos de Planejamento; ter atitude, ser responsvel, ser honesto e cativador de sua
3. Grupos de Processos de Execuo; plateia e equipe. Estas caractersticas devem ser muito bem
4. Grupos de Processos de Monitoramento e Controle; observadas ao selecionar o gerente do projeto. Com isto, por
5. Grupos de Processos de Encerramento. consequncia, h uma probabilidade maior de que todos os
membros da equipe do projeto possam convergir para o ca-
O objetivo principal deste artigo focar no primeiro grupo minho que o gerente de projetos direcionar, minimizando o
de processos de gerenciamento de projetos, que o grupo de risco de insucesso do projeto.
processos de iniciao. Dentre os cinco grupos de processos, Com a nomeao do gerente do projeto, este ir atuar no
nenhum pode ser citado como o principal, nem o mais im- grupo de processos de iniciao. Para este grupo de processos
portante; porm, iniciar bem um projeto o primeiro passo podemos citar cinco pontos de grande importncia, a saber:
para que este venha a ter sucesso. Caso no se inicie bem, os 1) Criao do Termo de Abertura do Projeto;
problemas tendem a aumentar durante o projeto. 2) Criao de um plano de atividades para o projeto;
Um projeto, por definio, uma atividade ou grupo de 3) Definio dos recursos envolvidos por parte do cliente no
atividades que tem incio, meio e fim. Caso seja uma ativi- projeto;
dade que no se conclua, por exemplo, esta atividade uma 4) Apresentao da metodologia de gesto de projetos para os
atividade rotineira, repetitiva e no pode ser considerado recursos do cliente;
um projeto. Todo projeto tem sua etapa de iniciao, poste- 5) Apresentao formal da abertura do projeto para os
riormente realizado o planejamento, em sequncia a exe- envolvidos.
cuo o projeto, durante todas as suas etapas, mantido sob
monitoramento e controle total do gerente de projetos. Por O primeiro ponto trata de um documento que formalmente
fim, aps todas as atividades do escopo serem executadas, o autoriza o projeto e contm os requisitos iniciais que satisfazem
projeto encerrado. as necessidades e expectativas das partes interessadas. O termo
O grupo de processos de iniciao consiste nos processos de abertura deve conter obrigatoriamente as necessidades do
realizados para que o projeto seja formalmente iniciado, como negcio, a descrio do escopo do produto ou servio e o plane-
o prprio nome j sugere. O primeiro passo a definio jamento estratgico para o projeto. Este planejamento estratgi-
do escopo do projeto e a alocao e aprovao dos recursos co do projeto deve dar suporte ao planejamento estratgico da
financeiros para o mesmo. Neste momento tambm so iden- empresa e deve ser considerado em todo e qualquer momento
tificadas todas as partes interessadas no projeto e tambm do projeto, ou seja, o planejamento estratgico do projeto deve
formalizado o nome do gerente do projeto, que conduzir ser desenvolvido pensando no planejamento estratgico da
todas as etapas do mesmo. empresa de forma a garantir que a boa execuo do projeto ir
Aps a nomeao do gerente do projeto, ele deve iniciar suas contribuir para que o plano da empresa tambm seja cumprido
atividades e as principais aes a serem executadas so: de forma eficiente. Logo, o planejamento estratgico do projeto
Examinar os objetivos do projeto e as restries que impactam deve estar sempre disposio dos stakeholders.
estes objetivos; Outro ponto a ser considerado que no termo de abertura
Desenvolver uma estratgia de aes para alcanar os obje- no se deve esquecer-se de fazer referncia ao contrato que
tivos do projeto e os objetivos dos envolvidos e interessados, faz a ligao entre contratante e contratada para a execuo
e que, ao mesmo tempo, considere as restries; formal do projeto. De forma mais simples, podemos pensar que
Constituir uma equipe de projeto, identificar os outros recur- para criar o termo de abertura do projeto, um dos principais
sos necessrios e avaliar qual a disponibilidade de recursos documentos que daro suporte a ele o contrato.
humanos e materiais para a execuo do projeto. Depois de desenvolver todas essas atividades, pensar em
todos os aspectos supracitados, teremos a concluso do termo
Alm destas atividades, o gerente de projetos deve sempre de abertura consolidado em um documento contendo:
atuar de maneira bem prxima aos patrocinadores do projeto, Ttulo do projeto: nome que ser dado ao projeto;
deixando bem claros os principais objetivos: Misso do projeto: misso que o projeto deve cumprir;
Objetivos Tcnicos: o que ser entregue tecnicamente; Propsito e justificativa do projeto: objetivos do projeto,
Objetivos de Prazo: qual o prazo estimado para se executar qual o propsito dele para a companhia e as justificativas para
o projeto e para que o mesmo seja entregue com sucesso; que ele seja executado;
Objetivos de Custo: qual o custo estimado do projeto, com Objetivos mensurveis do projeto e critrios de sucesso
sua respectiva margem de erro; relacionados: descrever os objetivos mensurveis do projeto
de grande importncia para que qualquer desvio que possa Contratos bem elaborados, propostas comerciais claras,
ser diagnosticado no incio do projeto seja sanado. reunies com as partes envolvidas, definio dos objetivos e
Em suma, o grupo de processos de iniciao consiste nos oramento do projeto so de grande valia neste momento.
processos realizados para executar as atividades ineren- Mesmo com toda esta ateno, no se pode esquecer tambm
tes ao incio do projeto. Todas as atividades so de grande que um dos pontos principais que devem ser verificados e que
importncia, haja vista que todo incio de projeto deve ser afetam quase todos os projetos, principalmente neste momento
documentado e assinado pelos stakeholders e sponsors. Em de iniciao, a falta de atitude do gerente de projetos. O geren-
todo em qualquer projeto, podemos fazer uma comparao te de projetos deve ter clareza e certeza de que quem domina o
grosseira com a construo de uma casa. Toda construo projeto ele. Por mais que o cliente seja o suporte financeiro,
inicialmente precisa de uma fundao, de uma base slida, quem domina o projeto o gerente. Logo, ele deve possuir
para que a construo tenha uma boa qualidade e que a casa habilidades para negociar com o cliente e apresentar para ele
tenha uma boa durabilidade. Se no for bem feita, no futuro com clareza todo e qualquer desvio logo que ele ocorrer para
a casa poder apresentar problemas. Da mesma forma, em que impactos futuros sejam minimizados.
um projeto, o grupo de processos de iniciao no pode ser
mal feito ou menosprezado. Apesar disso, vrios gerentes de
projeto esquecem este grupo de processos e j partem para o
planejamento ou mesmo para a execuo, o que um erro gra- Links e Referncias:
vssimo. Nestes casos, a qualquer momento que se necessitar
MARTINS, J. C.C. Tcnicas para Gerenciamento de Projetos de Software. 1.
de algum documento anterior ao plano do projeto, o gerente
Edio Editora Brasport, 2007.
no ter nada em mos para recorrer.
Os grupos de processos de gerenciamento de projetos geram PMI. Um Guia do Conhecimento em Gerenciamento de Projetos. Guia PMBOK
uma srie de documentos com a finalidade de se documentar 4. Edio EUA: Project Management Institute, 2008.
todas as atividades do projeto. O objetivo principal dos mes-
mos deve ser registrar todos os fatos e atividades dos projetos, VARGAS, Ricardo. Manual Prtico do Plano de Projeto Utilizando o PMBOK
unificando palavras e conceitos. Com isto, no haver a possi- Guide 4. Edio Brasport, 2009.
bilidade de uma pessoa A imaginar uma coisa e uma pessoa B
imaginar outra. Valer o que est escrito, documentado. VIEIRA, Marconi. Gerenciamento de Projetos de Tecnologia da Informao
Alm disso, no se deve esquecer em momento algum, em 2. Edio Editora Elsevier, 2007.
qualquer grupo de processos de gerenciamento de projetos,
Site do PMI Brasil
dos registros das atas das reunies. Estes registros podem ser
http://brasil.pmi.org/brazil/home.aspx
registrados em papel, e-mail, vdeos de apresentaes, dentre
outros, desde que documente quem estava presente e tambm
as aprovaes, quando necessrio. Voc gostou deste artigo?
Para concluir, cabe reforar que a cautela com os itens de todos
os grupos de processos de gerenciamento do projeto deve ser D seu voto em www.devmedia.com.br/esmag/feedback
imperativa. Mas o grupo de processos de iniciao deve receber
Ajude-nos a manter a qualidade da revista!
um pouco mais de ateno, pois o momento crucial do projeto.
Portanto, ateno redobrada nas documentaes.
A
engenharia de requisitos a requisitos de software, dos solicitantes destes
disciplina que de fato tem a requisitos, da alterao dos mesmos, e dos
misso de ajudar a equipe de principais problemas aos quais os requisitos
desenvolvimento a entender o software de software esto sujeitos. Por fim, a maior
a ser elaborado. a base slida para se utilidade est em prover a compresso sobre
andar do projeto at a construo. Ela como se executar bem a fase de engenharia de
constituda pelas fases apresentadas na requisitos.
Figura 1. So elas:
Concepo: fase inicial que define o
escopo do problema de software;
Elaborao: fase em que os requi-
sitos so refinados e modelados em Requisitos: O necessrio para
Elaine G.M de Figueiredo cenrios; entend-los
mira.figueiredo@gmail.com Validao: a fase em que ocorre a vali- Um requisito uma capacidade que o
Mestrado em Ciencias da Computano dao dos requisitos, onde a equipe faz software deve possuir com a finalidade
com enfase em engenharia de software,
ps graduao em gerncia de projetos,
uma reviso dos mesmos, para que se te- de resolver um problema do usurio.
oito anos de atuao na rea de desen- nha a certeza de que os requisitos foram Os requisitos servem como especifica-
volvimento e qualidade de software. Atu- elicitados de maneira no ambgua; o do que deve ser implementado no
almente gerente de projetos na multina- Gerncia de Requisitos: fase em que se sistema. Os requisitos devem descrever
cional espanhola Indra Company, membro controla, analisa e registra as mudanas uma facilidade para o usurio, uma pro-
colaborador do grupo de pesquisa ASSERT
Advanced System and Software Engi-
de requisito, isto a fim de verificar os priedade ou uma restrio do sistema,
neering Research Technologies Lab pela impactos das alteraes no produto de ou ainda, uma restrio do processo de
universidade federal de Pernambuco. software em desenvolvimento. desenvolvimento do sistema.
Em relao ao ltimo tpico, a importncia de se ter uma Tudo na gerncia de requisitos parte da ideia de que requisitos
mtrica se deve ao fato do gerente de requisitos poder ter o nunca podem ser congelados, e dificilmente sero em algum
percentual de requisitos alterados, includos ou excludos, projeto. Sendo assim, para que a gerncia de requisitos cumpra
dentro de um determinado perodo de tempo. Isto poder sua misso necessrio que ela desenvolva algumas boas pr-
dar maior poder estratgico para os prximos projetos de ticas, como: ter um modelo para rastrear requisitos, inclusive
software, onde o gerente poder saber exatamente em que com a utilizao de ferramentas que faam rastreabilidade.
perodo ocorre maior modificao nos requisitos. Definir um modelo de rastreabilidade de requisitos para
importante salientar que muitos dos tpicos acima esto um projeto depende de muitos fatores, o primeiro deles o
relacionados alterao de requisitos. Assim relativamente software que est sendo construdo. Projetos com relativa es-
fcil notar que a fase de gerncia de requisitos uma das tabilidade costumam ter os requisitos alterados na ordem de
mais importantes dentro da engenharia. Para a gerncia de 1% ao ms. Portanto, observar as caractersticas do sistema
requisitos todas as mudanas precisam ser identificadas, algo que no se pode omitir (mais uma boa prtica agregada).
avaliadas, documentadas, comunicadas e acompanhadas Deste modo, fica evidente que um modelo de rastreabilidade
at sua finalizao. o que defende o CMMI. sempre nico e distinto de qualquer outro.
Quando uma mudana ocorre, primeiramente deve-se ana- Um modelo de rastreabilidade inicia suas boas prticas se-
lisar o requisito que est ligado quela mudana, verificar lecionando os requisitos que devem ser rastreados. Rastrear
a prioridade dele, as quais outros artefatos o requisito est muitos requisitos uma tarefa burocrtica e difcil, que pode
ligado, verificar o impacto sobre estes artefatos; deve-se agregar atrasos e erros ao analista de requisitos. Ademais,
verificar tambm se o requisito prprio do cliente ou do nem todo requisito, depende da sua classificao, necessita
sistema, se voltil, ou seja, se j se esperava esta solicitao ser rastreado.
de mudana, e qual a situao atual do requisito dentro do Outra boa prtica dentro da rastreabilidade de requisitos esta-
processo, enfim, deve-se tratar esta mudana a comear do belece que necessrio verificar (selecionar) as ferramentas de
reconhecimento do requisito. rastreabilidade que apoiaro de forma mais eficaz o processo
Oberg (2002) escreveu que uma indstria americana formulou de rastreabilidade de requisitos, necessrio ainda treinar a
um estudo publicado na conferncia internacional de requisi- equipe para o uso da ferramenta.
tos, este estudo apontava que 76% de um total de 500 gerentes sadio ainda definir os momentos de registro e de controle da
de TI nos Estados Unidos e no Reino Unido entrevistados, j rastreabilidade, isto pode ocorrer no momento de fechamento
tinham tido falhas em projetos inteiros durante suas carreiras. de fases, por exemplo: efetuar rastreabilidade na finalizao
A causa mais frequentemente apontada como falha dos proje- da etapa de anlise e projeto, e na finalizao da etapa de
tos foi a alterao de requisitos. Atualmente, este percentual codificao. No se pode esquecer que requisitos mudam a
deve ter pelo menos duplicado, no s pelo aumento no nmero todo o momento e podem impactar mudanas em todos os
de sistemas implementados, mas tambm pelo aumento da artefatos de software.
complexidade nas relaes e regras de negcios. Os pontos citados nos trs pargrafos acima so os mais rele-
A gerncia de requisitos fundamental para o controle de vantes, sendo que o primeiro mais ainda, visto que no todo
mudanas dos requisitos, pois estes seguem evoluindo com requisito que passvel de rastrear. Deve-se fazer um catlogo,
o passar do tempo, j que esto inseridos em um ambiente e observar atravs das questes a seguir, se no requisito elici-
real que muda com o tempo. A rastreabilidade de requisitos tado pode-se descobrir as informaes exigidas nas questes.
contribui para a previso do impacto que as mudanas dos Se o requisito atender a todas, possivelmente ele ser candidato
requisitos causaro no projeto de software, sendo assim, a rastreabilidade. As questes so pontuadas a seguir:
gerncia de requisitos pode contribuir para a garantia da Deve-se saber quem geriu o requisito;
qualidade do sistema. A gerncia de requisitos se restringe Saber o porqu da sua existncia;
aos seguintes aspectos: Saber quais outros requisitos esto relacionados ao requisito
Gerenciar mudanas em requisitos existentes; elicitado;
Gerenciar relacionamento entre os requisitos; Como o requisito elicitado se relaciona com o sistema a ser
Gerenciar dependncias entre os produtos de trabalho implementado;
durante o desenvolvimento de software. Que documentaes do processo de software podem ser
afetadas pela modificao do requisito.
Para que a gerncia desenvolva seu papel de forma sa-
tisfatria, necessrio de antemo, definir novamente Aps obter respostas a essas questes, em relao aos requi-
um conjunto de polticas. Estas polticas devem explicar sitos, devem-se saber os objetos a serem monitorados, bem
os objetivos dos processos definidos de forma clara aos como, os tipos de rastreabilidade que sero efetuadas, alm de
envolvidos no projeto. E deve levar em conta os padres estabelecer corretamente o tipo de ligao que ser gerenciada
organizacionais, as regras de negcio da organizao, e as nesta matriz, isto depender exclusivamente da caracterstica
caractersticas de cada projeto, alm das aptides de cada dos objetos (produtos de software), dos processos de software
profissional da equipe. utilizados pela organizao, e dos prazos e custos do projeto
Cenrio:
Requisitos so a base para diferentes etapas
do desenvolvimento de um software. Isto faz
deles um fator decisivo para o sucesso do pro-
jeto. Neste artigo partiremos de um exemplo
comum de ser encontrado em sistemas de
Este artigo do tipo mentoring informao - uma consulta seguida da exclu-
saiba mais: so de itens cadastrados - e aprimoraremos a
www.devmedia.com.br/mentoring-saibamais especificao realizada inicialmente, conside-
rada equivocada, no sentido de torn-la mais
completa para que outros membros da equipe
de desenvolvimento possam trabalhar de for-
U
m questionamento comum que ma mais eficiente.
muitos profissionais fazem ao
iniciar os trabalhos na rea de
requisitos se existe um formato de des-
crio de casos de uso a ser seguido. Em- informaes necessrias para que os
bora exista uma definio de estrutura demais membros da equipe de desen-
bastante difundida baseada no modelo volvimento desempenhem de forma
de documento de caso de uso proposto satisfatria suas atividades. Contudo,
pelo RUP (Rational Unified Process), no mesmo este formato funcionando ade-
existe uma regra sobre como eles devem quadamente em uma empresa, isso no
ser descritos. quer dizer que ele possa ser utilizado
Na verdade, a prtica da escrita de de forma satisfatria por outra organi-
casos de uso varia de empresa para a zao. Maiores ou menores nveis de
Rodrigo Oliveira Spnola empresa e cada cenrio deve ser respei- detalhamento na descrio podem ser
rodrigo.devmedia@gmail.com
Editor Chefe Engenharia de Software tado. Se um determinado formato fun- necessrios.
Magazine ciona adequadamente para a empresa Enfim, no h uma regra. Entretanto,
X, por que ele contem o conjunto de um conjunto de boas prticas tem sido
Objetivo: Permitir que itens fossem procurados e excludos do sistema. Objetivo: Permitir que itens fossem procurados e excludos do sistema.
Atores: Funcionrio Atores: Funcionrio
Condio de Entrada O ator seleciona a opo Buscar Itens Condio de Entrada O ator seleciona a opo Buscar Itens
1. O sistema apresenta tela de busca 1. O sistema apresenta tela de busca contendo as informaes [RN2]
2. O sistema apresenta ao final as opes Buscar e Cancelar [RN3]:
3. O ator informa os dados do filtro e seleciona a opo buscar [A01] - Nome (campo editvel)
4. O sistema apresenta os itens recuperados - Status (contendo as seguintes opes: Pendente, Confirmado, Todos)
5. O sistema apresenta ao final as opes Excluir e Voltar (campo editvel)
Fluxo Principal:
6. O ator seleciona os itens que deseja excluir e seleciona a opo excluir 2. O sistema apresenta ao final as opes Buscar e Cancelar
[A02] [RN1] [EX01] 3. O ator informa os dados do filtro e seleciona a opo buscar [A01]
7. O sistema exclui os itens selecionados 4. O sistema apresenta para cada item recuperado as seguintes
8. O sistema retorna para a tela inicial informaes:
9. O caso de uso encerrado Fluxo Principal: - Opo de seleo (campo editvel)
[A1] O ator seleciona a opo Cancelar - Nome (somente leitura)
1. O sistema retorna para a tela inicial - Descrio (somente leitura)
Fluxo Alternativo: 2. O caso de uso encerrado - Status (somente leitura)
[A2] O ator seleciona a opo Voltar 5. O sistema apresenta ao final as opes Excluir e Voltar
1. O sistema retorna ao passo 4 do fluxo principal 6. O ator seleciona os itens que deseja excluir e seleciona a opo excluir
[E1] Item no pode ser excludo [A02] [RN1] [EX01]
1. O sistema apresenta mensagem indicando quais itens no podem ser 7. O sistema exclui os itens selecionados
excludos 8. O sistema retorna para a tela inicial
Fluxo de Exceo:
2. O sistema apresenta ao final a opo OK 9. O caso de uso encerrado
3. O ator seleciona a opo OK [A1] O ator seleciona a opo Cancelar
4. O sistema retorna ao passo 4 do fluxo principal. 1. O sistema retorna para a tela inicial
[RN1] Apenas itens cujo status seja igual a Pendentes podem ser Fluxo Alternativo: 2. O caso de uso encerrado
Regras de negcio:
excludos [A2] O ator seleciona a opo Voltar
Tabela 2. Caso de uso Excluir Itens Cadastrados Prticas do Grupo 1. O sistema retorna ao passo 4 do fluxo principal
Navegao Aplicadas [E1] Item no pode ser excludo
1. O sistema apresenta mensagem indicando quais itens no podem
ser excludos
conjunto de informaes que permitem agora entender quais Fluxo de Exceo:
2. O sistema apresenta ao final a opo OK
informaes so manipuladas e quais as restries de seu uso.
3. O ator seleciona a opo OK
Alm disso, essa definio permitiu equipe de desenvolvi-
4. O sistema retorna ao passo 4 do fluxo principal.
mento definir mais duas regras de negcio associadas aos
[RN1] Apenas itens cujo status seja igual a Pendentes podem ser
campos Nome e Status da tela de busca.
excludos
Neste momento j temos uma descrio de casos de uso bem
Regras de negcio: [RN2] O campo nome opcional.
definida. Apresentaremos agora o ltimo grupo: Regras de
[RN3] O campo Status vem com a opo Todos selecionados como
Negcio. Para este grupo, podemos considerar as seguintes
padro.
boas prticas:
1. Caso a regra seja de difcil entendimento, complementar sua Tabela 3. Caso de uso Excluir Itens Cadastrados Prticas do Grupo
descrio atravs de um exemplo. Campos Aplicadas
A
Atualmente aluno regular pela mesma ins-
tituio. Tem experincia na rea de Cincia gesto da informao requer a proposta est na melhoria da gesto
da Computao com nfase em Sistemas da uma disciplina de execuo do conhecimento. A partir de problemas
Informao e Engenharia de Software. dos procedimentos bem defi- evidenciados no processo de desenvol-
nidos. Existem vrias fontes de infor- vimento de software e perda de infor-
maes e tambm inmeras formas maes, algumas anlises esto sendo
Rodolfo Mirando de Barros de expressar a mesma informao [1]. formalizadas, como base para demons-
rodolfo@uel.br
Rodolfo Miranda de Barros graduado em Ci- E por estes motivos que softwares nem trar as melhorias que so possibilitadas
ncia da Computao pela Universidade Federal sempre possuem as funcionalidades de com o uso deste modelo.
de So Carlos (UFSCar) e em Administrao de acordo com as regras de negcios da Num formato mais prximo da reali-
Empresas pela Universidade Estadual de Lon- organizao patrocinadora do projeto dade do usurio e dos procedimentos da
drina (UEL). Concluiu o mestrado em Cincia da
de desenvolvimento. empresa na qual a regra aplicada, esta
Computao pela Universidade Federal do Rio
Grande do Sul (UFRGS) em 1997 e o doutorado Atravs de um modelo de gesto das definio reflete exatamente os passos a
em Engenharia Eltrica pela Universidade Es- regras de negcios, desde sua formali- serem seguidos para alcanar os resulta-
tadual de Campinas (UNICAMP) em 2008. zao at a validao de aplicabilidade, dos esperados pela empresa. A partir das
regras de negcios consistentes s necessidades da empresa, em uso para a avaliao de processos do desenvolvimento de
inicia-se o processo de desenvolvimento do software, atravs software foi aplicado, neste trabalho, um modelo de avaliao
das tcnicas e metodologias escolhidas para o projeto. genrico para o desenvolvimento de artigos. Foram seguidas
A diferena fundamental em ter a gesto das regras de neg- atividades de acordo com as trs etapas: Anlise Terica, De-
cios segregadas da gesto de requisitos est na possibilidade senvolvimento e Avaliao.
da avaliao do prprio usurio, de que suas regras foram Em princpio, os trabalhos pesquisados foram planejados
integralmente implementadas no software desenvolvido. por ano de publicao e assunto relacionados gesto do
Neste artigo, o modelo da gesto das regras de negcios est conhecimento com foco nas regras de negcios. Especi-
complementado com os princpios da transdisciplinaridade ficamente limitados a trs anos, a partir de 2010, para os
entre a comunicao, a colaborao e a agilidade na gesto do peridicos e livros de autores com histrico em Engenharia
conhecimento [2]. Tendo como foco a participao ativa dos de Software e Qualidade no Processo de Desenvolvimento
envolvidos e responsveis pela informao que deve estar de Software.
atualizada; obtendo resultados muito maiores que uma simples Dentre os assuntos relacionados gesto do conhecimento,
somatria dos conhecimentos catalogados. com foco no desenvolvimento de software, foram escolhidos
a gesto de regra de negcio, gesto da regra de requisitos,
Metodologia seguida e outras abordagens avaliao de requisitos implementados e avaliao das regras
Nesta seo, com a finalidade de estruturar o artigo e fornecer de negcios atendidas por aplicativos de software. Para me-
os subsdios necessrios para a sua construo, ser apresen- lhor compreenso, as atividades executadas foram ilustradas
tada a metodologia de pesquisa utilizada para seu desenvol- pela Figura 1.
vimento. Para finalizar, sero apresentados os estudos mais Na primeira etapa, so executadas duas macro atividades,
recentes relacionados ao gerenciamento de regras de negcio sendo a Fundamentao Terica (1), relacionados pesquisa
no processo de desenvolvimento de software. em artigos publicados. Esta tem como origem a busca em base
de dados para referncias e estudos desenvolvidos no seg-
Metodologia de Pesquisa mento de desenvolvimento de software e gesto de regras de
O desenvolvimento do modelo da gesto de regras de negcio negcios. Em consequncia da pesquisa, elaborada a tabela
foi aplicado com base na organizao GAIA que tem como ob- comparativa dos principais artigos que trataram de forma
jetivo o desenvolvimento de software. Baseado na metodologia explcita os assuntos.
Jr, E M Bizerra
Thi, Thanh Thoa Pham
Tosanguan, Piyanuch Silveira, D S
Helfert, Markus
Autores / Tcnicas e Mtodos Suwannasart, Taratip Gawe, Bartomiej (2012) Cruz, M L P M Sommerville, Ian (2011)
Hossain, Fakir
(2012) Wanderley, F J A
Dinh, Thang Le (2011)
Introduo, I (2012)
Alta administrao estabelece
Faz parte da estratgia para
estratgia para a Gesto da Regra - - - -
atingir as metas da Organizao
de Negcios
Apoio Gesto de RN um processo Incorporadas na poltica
- - - -
da Cultura Organizacional organizacional
Jr, E M Bizerra
Thi, Thanh Thoa Pham
Tosanguan, Piyanuch Silveira, D S
Helfert, Markus
Autores / Tcnicas e Mtodos Suwannasart, Taratip Gawe, Bartomiej (2012) Cruz, M L P M Sommerville, Ian (2011)
Hossain, Fakir
(2012) Wanderley, F J A
Dinh, Thang Le (2011)
Introduo, I (2012)
As regras de negcios so
Possui processo de Gesto da Regra As regras demandam
- - derivadas dos Processos de -
de Negcio definido mudanas rpidas
negcios
Procedimento para explicitao de Explicitao das regras de Regras descritas em Todas as regras devem estar
Descrio das regras de negcio -
regras de negcio negcios modelos de testes descritas
Padres de escrita da regra de Cita vrias regras: CIM, PSM, Usando OCL - Object Decomposio dos processos de
Prope padro prprio -
negcio SVBR, JSR-94 Constraint Language negcio para as regras de negcios
Processos de negcios e
Tratar Regras de negcios Separa o requisito de
Separa as regras de negcio dos tecnolgicos descritas de Considera regras de negcio em
separadas por nveis de decises da - Usurio com o requisito de
cdigos de aplicaes forma independentes (CIM, nveis
organizao e aplicaes Sistema
PIM, PSM)
Armazenar as regras de negcios Armazenar de acordo com Recomenda o
separadamente dos requisitos de - o nvel de negcio e de - - armazenamen-to em
softwares sistemas separado
A qualidade est na
Gerenciar regras de negcios Atravs de casos de testes
- - - validao dos requisitos
aumenta a qualidade do software com uso de ferramentas
de usurio
Validao da regra de negcio com Validar regras de negcios aos
- - - -
as regras da organizao processos da organizao
Validao da regra de negcio com a Validando as regras na fase
- - - -
aplicao em software de testes
A linguagem descrita estabelecida conforme entendimen- textos podero ser alterados, porm o contedo do ponto de vista
to dos profissionais da rea operacional da organizao que semntico jamais poder ser alterado. Inclusive, esse um dos
abrigam as regras de negcios. pontos crticos que podem levar ao fracasso no desenho e, con-
A partir do momento em que as regras esto entendidas, sequentemente, o desenvolvimento e a entrega do software.
possvel iniciar o design do software, de acordo com o crono-
grama previsto para sua execuo. Em muitas situaes, estas Levantamento de Requisitos
regras podem ser reescritas de acordo com os procedimentos Antes de iniciar um estudo sobre o levantamento de requi-
definidos na Gesto de Requisitos da organizao. Sendo que os sitos, para um melhor entendimento, se faz necessrio um
Por conseguinte, a gesto do conhecimento pode ser com- fonte novas necessidades para resolver um problema existente
preendida como uma ferramenta gerencial de administrao, por falha no processo; ou por uma nova oportunidade no
planejamento e controle do conhecimento modelando parte mercado que proporcionar divisas ou novos lucros para a
do conhecimento que existe na cabea das pessoas em regras organizao;
de negcio, tornando-as visveis toda organizao de uma Analisar regras de negcio existentes a nova regra de
forma simples e de fcil acesso, executando assim a principal negcio, tambm considerada como regra candidata, deve ser
funcionalidade da gesto do conhecimento . avaliada quanto a sua aplicao como sendo nica antes de ser
detalhada em definitivo;
Modelo da Gesto de Regras de Negcios Especificar regra de negcio candidata a descrio da
O processo de software compreendido como sendo um ciclo regra deve ter as caractersticas essenciais para o entendimento
de atividades que se inicia na definio dos requisitos de softwa- [4] para ter a compreenso suficiente para que seja aplicada
re at a entrega do produto desenvolvido. Sendo que neste ciclo corretamente, sem ambiguidade e ter a preciso nos resultados
est compreendido tambm o planejamento do desenvolvimento esperados;
dos requisitos de software, a codificao e teste do software, Aprovar regras de negcios candidatas quando a regra
implantao da aplicao com os requisitos de software. de negcio est alinhada estratgia da organizao e es-
O modelo proposto por este artigo, conforme Figura 2, alm tratgia de negcios, com resultados mensurveis, deve ser
deste ciclo do processo de software, fica prevista a gesto aprovada;
das regras de negcios, antes da definio dos requisitos de Adequar a especificao da regra de negcio caso no
software. tenha aprovao da regra, esta deve ser adequada para ter o
Da mesma forma, esta gesto tambm est compreendida mnimo dos quesitos necessrios para ser aprovada, para tanto
num ciclo de atividades que contempla inicialmente a identi- se necessita da adequao da especificao;
ficao das necessidades e oportunidades de negcios, at a Gesto das regras de negcios este um processo intei-
implantao destas regras na rotina das atividades operacio- ramente destinado manuteno da regra desde a sua espe-
nais da organizao. Um conjunto de atividades fica elencado cificao at a desativao. Toda regra pode sofrer alteraes
a seguir: ao longo de um perodo para se adequar s novas realidades
Identificar necessidade ou oportunidade de negcio em que a organizao est submetida, assim requerendo uma
basicamente, a origem de uma regra de negcio tem como manuteno constante;