Вы находитесь на странице: 1из 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


Ano 5 - 63 Edio - 2013 maraujo@devmedia.com.br
Doutor e Mestre em Engenharia de Sistemas e Computao pela COPPE/UFRJ - Linha de Pesquisa
Corpo Editorial
em Engenharia de Software, Especialista em Mtodos Estatsticos Computacionais e Bacharel em
Editor Matemtica com Habilitao em Informtica pela UFJF, Professor e Coordenador do curso de Ba-
Rodrigo Oliveira Spnola charelado em Sistemas de Informao do Centro de Ensino Superior de Juiz de Fora, Professor do
curso de Bacharelado em Sistemas de Informao da Faculdade Metodista Granbery, Professor e
Colaboradores Diretor do Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas da Fundao
Marco Antnio Pereira Arajo
Educacional D. Andr Arcoverde, Analista de Sistemas da Prefeitura de Juiz de Fora, Colaborador
Eduardo Oliveira Spnola
da Engenharia de Software Magazine.
Consultor Tcnico
Daniella Costa Eduardo Oliveira Spnola
Jornalista Responsvel eduspinola@gmail.com
Kaline Dolabella - JP24185 Colaborador das revistas Engenharia de Software Magazine, Java Magazine e SQL Magazine. ba-
charel em Cincias da Computao pela Universidade Salvador (UNIFACS) onde atualmente cursa o
Na Web
http://www.devmedia.com.br/revista-engenharia-de-software-magazine mestrado em Sistemas e Computao na linha de Engenharia de Software, sendo membro do GESA
(Grupo de Engenharia de Software e Aplicaes).

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
Contedo sobre Agilidade
Sumrio
06 Conhecendo as responsabilidades de uma equipe Scrum
[ Anderson Dias Ribeiro ]

Contedo sobre Novidades

11 O MPS.BR em sua reviso de 2012


[ Mrcio Assis Miranda ]

Artigo no estilo prtico

17 Gerenciando requisitos com MPS.BR


[ Ivnia Ramos dos Santos e Giovanni De Bona ]

Contedo sobre Boas Prticas

24 Gesto de riscos nos requisitos


[ Fbio Sarturi Prass ]

29 A gesto de conhecimento e a TI Parte 1


[ Digenes Firmiano ]

Feedback
Artigo no estilo Prtico eu
s
D

38 Gerncia de variabilidades em linhas de processos de software

sobre e
[ Edson A. Oliveira Junior, Maicon Giovane Pazin e Sandra Ferrari ]
s
ta
Contedo sobre Boas Prticas edio

45 Introduo ao guia de conhecimento de anlise de negcio


[ Ivnia Ramos dos Santos e Fabio Pereira dos Santos ] D seu feedback sobre esta edio!

Artigo no estilo Prtico A Engenharia de Software Magazine tem que ser


feita ao seu gosto.
51 Automao de testes funcionais para aplicaes da plataforma Android
Para isso, precisamos saber o que voc, leitor, acha
[ Jeanne de Castro Trovo e Arilo Claudio Dias Neto ]
da revista!
www.devmedia.com.br/esmag/feedback

59 Arquiteturas de sistemas Web 3.0


[ Elaine G. M. de Figueiredo ]
Edio 05 - Engenharia de Software Magazine 5
Agilidade

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

Conhecendo as responsabilidades de uma


equipe Scrum
Gerente de projeto VS Scrum Master

Porque esse artigo til:


A atuao dos profissionais e suas respon-

A
tualmente as organizaes que sabilidades em um projeto, seja ele orientado
buscam um diferencial e uma por uma metodologia tradicional, quanto por
qualidade real de seus produtos paradigmas geis, devem estar bem claras e
no mercado vm buscando a cada dia definidas para que conflitos desta natureza
melhorar e aperfeioar suas metodolo- no venham a intervir no sucesso do projeto,
gias e processos, principalmente quando que o objetivo de todos os envolvidos.
estamos falando de desenvolvimento Neste contexto, este artigo, alm de con-
de Software, um produto totalmente ceituar e exemplificar as caractersticas de
abstrato e intangvel, que por sua vez um projeto gil e como deve ser composta
possui um grande valor estratgico para uma equipe de maneira eficiente, busca
as empresas que buscam alto desempe- detalhar as responsabilidades e papis nos
Anderson Dias Ribeiro nho, produtividade e como consequncia quais esto envolvidos os profissionais de
andersondr@gmail.com obter maior lucratividade. gerncia de projetos bem como o Scrum-
Graduado em Tecnologia da Informao e
Ao longo do tempo, diversas metodo- Master, que tem grande importncia no m-
ps-graduado em Engenharia de Software.
Atua como analista de sistemas h 10 anos logias foram aplicadas, umas mais bem bito de um projeto gil, assim como o Pro-
e h 15 anos no mercado de TI, participou sucedidas outras menos, se destacando duct Owner, o Time e os demais interessados
do planejamento e desenvolvimento de o PMBOK (Project Management Body no sucesso de um projeto.
diversos sistemas nas plataformas WEB, Of Knowledge) do PMI (Project Ma- Este artigo busca esclarecer questes e
Java, DotNET, dentre outros. Atualmente
nagement Institute) como referncia conflitos que possam surgir durante um pro-
Analista de Sistemas Snior da Nova Tec-
nologia, prestando servio a instituies consagrada pela engenharia de software jeto que aplique a metodologia gil Scrum,
financeiras de grande porte no ramo de moderna e por seus usurios nos mais no que se refere principalmente aos pon-
Seguro. Tambm atuou por 7 anos junto diversos ramos de atuao. No entanto, tos de atuao do gerente de projetos e do
MRS Logstica, como Analista de Sistemas quando falamos em metodologias geis, ScrumMaster, visando dirimir quaisquer d-
e especialista em tecnologias Oracle como
precisamos ir alm dos conceitos tradi- vidas que possam impactar no projeto.
SOA e BI e como pesquisador da platafor-
ma SOA/Java e gerenciamento de projetos cionais, avaliar as reais necessidades que
SGP, baseados em PMBOK. um projeto vai demandar de acordo com

6 Engenharia de Software Magazine - Conhecendo as responsabilidades de uma equipe Scrum


agilidade

suas caractersticas essenciais, podendo ser necessrio aplicar Desta forma, estes processos visam garantir que o projeto
conceitos de gerenciamento e desenvolvimento geis, ou at ir satisfazer as necessidades para as quais ele foi empre-
mesmo utilizar uma abordagem mais flexvel, ajustando os endido, e deve ocorrer pelo menos uma vez a cada fase do
processos s peculiaridades do projeto. projeto direcionado para a gerncia do projeto e para o
Para atender a esta crescente demanda, a metodologia larga- produto do projeto.
mente utilizada o Scrum, sendo um conjunto de ferramentas
que nada mais que um processo interativo e incremental, Qualidade
segmentado em diversas tarefas, que pode ser utilizado para Quando falamos do produto software, qualidade se traduz
o gerenciamento e desenvolvimento de quaisquer tipos de na satisfao dos objetivos pelos quais aquele produto foi
produto aplicado a quaisquer tipos de projeto, sendo ele de projetado e ainda que o funcionamento esperado do produto
software ou no. Podemos dizer que o Scrum mais um esteja isento de imprevistos que possam impactar no seu de-
framework que uma metodologia, talvez mais a atitude da sempenho em geral. Segundo o PMI, define-se por qualidade
equipe envolvida do que um processo propriamente dito, a totalidade das caractersticas de uma entidade que afetam
ficando claro que o comprometimento da equipe a base do sua habilidade em satisfazer necessidades declaradas ou
sucesso do projeto. implcitas.
Os princpios bsicos da qualidade podem resumir-se em:
Projetos e gerenciamento 1. Fazer certo da primeira vez, economiza tempo e dinheiro;
Neste exato momento inmeros projetos esto com seus 2. Qualidade um processo preventivo;
prazos atrasados, possivelmente a grande maioria deles, 3. Qualidade incorporada aos produtos como resultado da
mas quais as causas principais que ocasionam isto? Quais os ateno dedicada s necessidades dos clientes;
principais fatores que esto envolvidos? So apenas questes 4. Qualidade responsabilidade de todos os envolvidos;
tcnicas, ou tambm polticas e culturais das organizaes? 5. Qualidade um processo de melhoria contnua (lies
E o que podemos fazer para sanar este problema, ou ao aprendidas usadas para otimizar produtos e servios).
menos ameniz-lo?
Ao longo de vrios anos de experincia no mercado de TI, Gerenciamento da Qualidade
pude observar diferentes polticas e metodologias utilizadas O gerenciamento da qualidade consiste em uso de ferramen-
pelas organizaes para controlar seus projetos, tais como tas e tcnicas, as quais possibilitam alcanar determinado
PRINCE2 (PRojects IN Controlled Environments, version 2), objetivo, citamos algumas mais interessantes:
IPMA (International Project Management Association), PMBOK, Anlise Custo/Benefcio:
que citamos anteriormente como sendo a mais consagrada - Usar medidas financeiras como retorno de investimento
delas na atualidade. No entanto, infelizmente, muitas destas ou perodo de reembolso para avaliar a qualidade das al-
organizaes no utilizam nenhuma metodologia, apli- ternativas identificadas;
cando apenas alguns processos aos quais julga necessrio, - O principal benefcio de atender aos requisitos de qualida-
esquecendo-se dos fundamentos de qualquer engenharia, de o menor retrabalho ou maior produtividade;
em que os princpios que a regem so a organizao e o - O principal custo so os gastos associados com as ativida-
planejamento seguidos de mtricas que possibilitem uma des de gerncia da qualidade.
projeo o mais precisa possvel dos objetivos a serem Benchmarking:
alcanados. Para isto, os guias j citados disponibilizam - Comparar as prticas reais ou planejadas do projeto com as
inmeras tcnicas e ferramentas. de outros projetos para gerar ideias de melhoria e fornecer
A seguir citarei alguns fatores que considero fundamentais um padro pelo qual se possa medir o desempenho.
e que contribuem para o sucesso de um projeto. Fluxogramas:
- Diagramas que mostram como os vrios elementos do
Planejamento da qualidade sistema se relacionam e sejam adequados para anlise de
Por meio da participao no planejamento global do projeto, problemas potenciais e determinao de padres de qua-
o Planejamento da Qualidade tem como principal objetivo lidade como, por exemplo, os diagrama causa e efeito e os
identificar os padres de qualidade relevantes a este projeto fluxogramas de processos.
e identificar a forma como estes devem ser satisfeitos.
Deve-se ter em mente que neste escopo entram tanto os um conhecido axioma da qualidade que os benefcios
padres de qualidade que poderamos dizer voluntrios, superam os custos.
quanto os padres de qualidade definidos por normas e
legislao, que viro a ser requeridos conforme a finalidade Recursos humanos
ou produto final do projeto e questes do ambiente interno e Os recursos humanos so de suma importncia em projeto,
externo das organizaes envolvidas. Assim, o processo de tanto que geralmente as organizaes possuem um depar-
planejamento explicita as aes dos processos de Garantia e tamento especfico para tal. Cabendo tambm ao gerente de
de Controle de qualidade. projetos garantir o efetivo uso das pessoas.

Edio 63 - Engenharia de Software Magazine 7


Comunicao gerentes, stakeholders, executivos, etc. O PO cria uma lista
A maior ameaa para os projetos a falha de comunicao. inicial de necessidades que precisam ser produzidas para
Esta deve ser a principal habilidade para um bom gerente de que a Viso do projeto seja bem sucedida. Esta lista de ne-
projetos, pois comprovadamente observado que a grande cessidades chamada de Product Backlog e o ScrumMaster
maioria dos casos, 90% do tempo do gerente gasto com as deve auxiliar o PO na elaborao desta lista. No incio de
comunicaes. cada iterao (Sprint) o time deve se reunir para realizar a
Planning Meeting. Nesta reunio o time realizar o planeja-
Aquisio mento do que ser entregue ao final do ciclo da Sprint (que
O papel do gerente de projetos nas aquisies deve ser atri- deve ser de 2 a 4 semanas).
budo previamente, que por sua vez providencia a anlise de
riscos antes mesmo das contrataes, evitando e se antecipan-
do a eventuais problemas neste sentido. Tambm papel do
gerente de projetos:
Alocar os riscos no contrato;
Ajudar na elaborao do contrato para atender s
necessidades;
Colocar o cronograma de acordo com o plano do projeto;
Participar da fase de negociao do contrato;
Acompanhar para garantir que o trabalho seja feito;
Proteger o relacionamento com o contratante. Figura 2. Estrutura do Scrum/Responsabilidades

Papis e responsabilidades no Scrum Na primeira parte da Planning Meeting o PO dever definir


Ao descrevermos anteriormente alguns requisitos bsicos, os a meta da Sprint e falar para o time sobre os Itens mais priori-
quais consideraram de carter essencial para o sucesso de um trios do Product Backlog. Desta forma, o time deve estimar
projeto, abordamos as principais caractersticas de metodolo- os itens em tamanho (caso ainda no estejam estimados) e
gias tradicionais para o gerenciamento de projetos, em que o selecionar o que acredita que possa ser feito durante a Sprint.
papel do gerente fortemente destacado. Essa lista selecionada chama-se Selected Product Backlog.
Como j definimos anteriormente, o Scrum um conjunto O facilitador desta reunio o ScrumMaster.
de ferramentas, constituindo-se por um processo interativo e Na segunda parte da Planning Meeting o time dever
incremental, segmentado em diversas tarefas, que geralmente colher mais detalhes dos itens do Selected Product Backlog
utilizado para o gerenciamento e desenvolvimento de quais- e decomp-los em tarefas, gerando assim o Sprint Backlog,
quer tipos de produto aplicado a quaisquer tipos de projeto, para isso pode ser necessria a ajuda de Especialistas. Aps
sendo ele de Software ou no. Considerando este paradigma a decomposio, cada membro do time deve selecionar
gil aplicado ao gerenciamento de projetos, o papel do gerente as tarefas que deseja executar durante a Sprint (sempre
ou Product Owner como mais conhecido nesta metodolo- negociando com o time) e estim-las em horas. Neste caso,
gia, deve ser claramente definido, bem como do ScrumMaster o facilitador desta reunio o ScrumMaster. importante
e o Time Scrum, todos de suma importncia para o sucesso ressaltarmos que durante a execuo da Sprint, valem as
de um projeto. prticas de engenharia de software previamente definidas
Ilustramos na Figura 1 os membros que compem uma para o projeto.
equipe de Scrum. O ScrumMaster, atravs da sua capacidade de liderana
e colaborao, facilita o trabalho do time removendo os
impedimentos encontrados e garantindo a boa aplicao do
Scrum. Veja a Figura 3.

Figura 1. Membros da Equipe

Na Figura 2 temos a estrutura bsica dos processos envolvi-


dos no Scrum, bem como a definio dos papis e responsa-
bilidades dos membros da equipe.
O Product Owner ou PO define a Viso do Produto. Esta
Viso o que representa sua necessidade, o que deve ser
satisfeito ao fim do projeto. Para definir esta Viso o PO
colhe informaes junto a clientes, usurios final, time, Figura 3. Estrutura do Scrum Sprint

8 Engenharia de Software Magazine - Conhecendo as responsabilidades de uma equipe Scrum


agilidade

Deve ser observado durante a Sprint se o time sente a neces- O que foi bom na ltima Sprint?
sidade de consultar especialistas ou mesmo o Product Owner O que deve ser melhorado?
que tambm tem esta atribuio de estar atento s necessidades Quem est no controle?
e dificuldades que posam surgir e impactar em algum ponto
do projeto. Diariamente o time deve realizar uma reunio
de 15 minutos (Daily Meeting) na qual cada membro deve
responder algumas questes, como:
O que fiz desde a ltima reunio?
O que pretendo fazer at a prxima?
Tive (estou tendo) algum impedimento?

Atravs desta reunio o time ganha visibilidade de como est


o caminho para a meta e planeja o dia seguinte de trabalho e
o ScrumMaster novamente o facilitador, e deve lembrar-se
que a reunio para o time e no para ele.
Ao final da execuo da Sprint deve ser realizada a Review Figura 4. Estrutura do Scrum Review e Retrospective
Meeting, mais uma reunio que tem como propsito apresentar
o que foi feito para o Product Owner e eventuais convidados,
em que o time quem realiza a apresentao, e o Product Esta reunio representa o esprito de Inspeo-Adaptao
Owner avalia se a Meta da Sprint foi alcanada com sucesso dentro do Scrum. uma reunio do time, mas, caso todos os
ou no, faz anotaes que podero se transformar em novos membros estejam de acordo o PO tambm pode participar.
itens para o Product Backlog. Observe a Figura 4.
Finalmente, a ltima etapa de um Sprint Scrum, chamada de Concluso
Retrospectiva, consiste em uma reunio de lies aprendidas, Diante do que foi discutido neste artigo, notamos que em
facilitada pelo ScrumMaster, na qual o time deve avaliar: uma metodologia de desenvolvimento gil como o Scrum,

Edio 63 - Engenharia de Software Magazine 9


suas peculiaridades influenciam diretamente nos papeis e
Links e Referncias:
responsabilidades dos membros da equipe, diferentemente
de metodologias mais tradicionalistas. A Guide to the Project Management Body of Knowledge (PMBOK Guide)
Em uma viso macro do assunto, podemos concluir que as - Fourth Edition
principais atividade dos membros da equipe Scrum, conforme www.pmi.org/
explanamos ao longo deste artigo, so as seguintes:
Product Owner: Scrum Guide 2011, escrito por Ken Schwaber e Jeff Sutherland
- Responsvel por garantir o ROI (Retorno sobre o www.scrum.org/scrumguides
Investimento);
AMBLER, Scott W Imperfectly Agile: You Too Can Be Agile. Dr. Dobbs Portal.
- Responsvel por con hecer as necessidades do(s)
Setembro, 2006.
cliente(s); www.ddj.com/architect/192700252
- Integrador em ambientes com mais de um cliente.
ScrumMaster: BECK K. (1999). Programao Extrema Explicada. Bookman, 1999.
- Responsvel por remover os impedimentos do time;
- Responsvel por garantir o uso de Scrum; BECK, K ; FOWLER, M. (2000). Planning extreme programming. Addison-
- Protege o time de interferncias externas. Wesley Longman Publishing Co., Inc. Boston, MA, USA, 2000.
Time: http://www.mip.sdu.dk/~brianj/Extreme%20Programming%20Explained%20-%20
Kent%20Beck%3B%20Addison-Wesley,%201999.pdf
- Definir metas das interaes;
- Autogerenciamento; BECK, KENT et al. (2001). Agile Manifesto, 2001.
- Produzir produto com qualidade e valor para o cliente. http://www.agilemanifesto.org

Com isto, podemos observar as principais responsabilidades COCKBURN, A. (2000). Agile Software Development Draft version: 3b. Highs-
dos diferentes membros de uma equipe Scrum, reduzindo mith Series Editors, 2000.
quaisquer dvidas que possam impactar no projeto. http://zsiie.icis.pcz.pl/ksiazki/Agile%20Software%20Development.pdf

FOWLER, Martin. The New Methodology. 2005.


Voc gostou deste artigo? www.martinfowler.com/articles/newMethodology.html

D seu voto em www.devmedia.com.br/esmag/feedback SCHWABER, Ken e BEEDLE, Mike (2002). Agile Software Development with
Ajude-nos a manter a qualidade da revista! SCRUM. Prentice Hall, PTR Upper Saddle River, NJ, USA, 2002.

10 Engenharia de Software Magazine - Conhecendo as responsabilidades de uma equipe Scrum


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

O MPS.BR em sua reviso de 2012


Melhoria de processos com MPS.BR

Porque esse artigo til:


Este artigo til para profissionais e empresas
que buscam conhecer o programa de Melhoria
de Processos de Software e Servios e conse-
quentemente aplicar as melhores prticas do

N
o cenrio atual em que as orga- modelo em seus processos e servios, podendo
nizaes de desenvolvimento futuramente ingressar em um programa de au-
de software e prestadoras de ditoria da qualidade. Para isso, ele demonstra,
servios se encontram, a busca pela atravs de uma viso geral, como o modelo de
qualidade dos produtos desenvolvidos qualidade MPS.BR (Melhoria de Processo de
e dos servios prestados se torna cada Software Brasileiro) pode contribuir no processo
vez mais frequente, seja para diminuir de desenvolvimento de software e na prestao
custos e aumentar a produtividade ou de servios. Sero apresentados os conceitos,
para conquistar novos mercados. Tam- caractersticas, objetivos, representaes e al-
bm houve um aumento considervel na guns dados estatsticos referentes ao modelo.
dependncia em servios de suporte, e
os diversos universos de tecnologia dis-
ponveis, onde provedores de servios
Mrcio Assis Miranda lutam para manter altos nveis de servi- A qualidade um fator crtico tanto
assismiranda@gmail.com os aos clientes. Com o trabalho de forma para as empresas desenvolvedoras de
Especialista em Melhoria de Processo de reativa, as empresas investem pouco software quanto para as prestadoras de
Software pela UFLA, Bacharel em Sistemas tempo em planejamento, treinamento, servios. Essa qualidade do produto ou
de Informao pelo UNILESTE. Atuante na
anlise crtica, investigao e no trabalho servio determinada principalmente
rea de TI, com mais de 10 anos de experi-
ncia profissional em gerencia de projetos, com seus clientes. O desenvolvimento e pela qualidade dos processos utiliza-
anlise e desenvolvimento de sistemas, a melhoria dos processos de software e dos em seu desenvolvimento e isso tem
sendo os ltimos anos dedicados a carreira das prticas de servios so pontos im- motivado as empresas a modificarem
acadmica, liderana de equipes e ge- portantssimos para um melhor desem- as suas estruturas organizacionais e
rncia de projetos. Professor no UNILESTE e
penho, aumento da satisfao do cliente processos produtivos, fugindo da viso
em algumas escolas tcnicas da regio do
Vale do Ao, Minas Gerais. e para o alcance da lucratividade. tradicional e indo em direo a redes

Edio 63 - Engenharia de Software Magazine 11


de processos centralizados no cliente. A competitividade Tpico Melhorias
vem exigindo cada vez mais que as organizaes estabele- 33% de diminuio no custo mdio de correo de defeitos (Boeing,
am conexes com essas redes e que crie elos essenciais na Austrlia);
cadeia produtiva, inclusive atendendo padres internacio- 15% de diminuio nos custos de deteco e correo de defeitos
nais de qualidade. Custo
(Lockheed Martin M&DS);
Esta viso orientou a elaborao de diversos modelos que Melhoria na preciso da estimativa de custos (Raytheon North Texas
visam a avaliao e melhoria do processo de software e Software Engineering).
servios, tais como o CMMI, MPS.BR, ISO/IEC 15504-5 entre Diminuio de desvios de custos e prazos em projetos para abaixo de 10%
outros. Dentre os modelos citados, destaca-se o modelo MPS. (Ci&T, Brasil);
BR, pois o mesmo foi desenvolvido para a realidade do mer- Cronograma
Aumento na previsibilidade e exatido do cronograma de entrega (JP
cado brasileiro que formado em sua maioria por empresas Morgan Chase).
de pequeno e mdio porte. Importante destacar que o modelo 50% de reduo na taxa de defeitos ao chegar ao nvel 3 de maturidade
tambm atende empresas de grande porte, inclusive isso CMM (Ci&T, Brasil);
uma realidade que ser mostrada em alguns dados estatsticos Qualidade
Aumento na qualidade do cdigo (Sanchez Computer Associates, Inc.);
apresentados mais adiante. Alcanada a meta de 205 defeitos por KLOC (Northrop Grumman IT).
Sero apresentados os dois modelos de referncia do MPS, 30% de aumento na produtividade de software (Lockheed Martin M&DS);
MR-MPS-SW (Modelo de Referncia MPS para Software) e Produtividade 25% de aumento de produtividade em 3 anos (Siemens Information
MR-MPS-SV (Modelo de Referncia MPS para Servios), sendo Systems Ltd, ndia).
o ltimo includo no MPS em 2012. Recebimento de 98% de todas as premiaes do cliente por desempenho
(Northrop Grumman IT);
Por que investir em melhoria de processos? Satisfao do Cliente
Classificado como excepcional em todas as categorias das avaliaes de
O Brasil possui um mercado de software que se encontra desempenho dos servios (Northrop Grumman IT).
em constante expanso nos ltimos anos. Se fizermos uma
Tabela 1. Casos de sucesso da Melhoria de Processos
pesquisa sobre o assunto, provavelmente todas as empresas
respondero que o que mais buscam so formas de melhorar
a produtividade e qualidade, ou seja, como produzir timos Focando em processos, as organizaes se tornam mais
produtos, numa escala de produtividade alta, custos baixos e produtivas, produzem softwares com menos defeitos, lidam
pagando salrios justos, inclusive baseados na competncia melhores com os riscos, melhoram suas estimativas de prazos
dos profissionais. e custos, aumentam a moral da equipe de desenvolvimento e
Sabe-se que no s o mercado brasileiro, mas tambm o aumentam as chances de sucesso, principalmente em projetos
mercado internacional esto cada vez mais exigentes e into- grandes, que geralmente so mais crticos.
lerantes variao de qualidade, prazo e custo. Sendo assim,
como achar um ponto de equilbrio? Qual frmula adotar para MPS.BR
atender essas necessidades? O MPS.BR um programa mobilizador, de longo prazo, crian-
Uma forma de obter alguma referncia da qualidade do sof- do em dezembro de 2003, coordenado pela Associao para
tware que uma empresa produz exigindo algum certificado Promoo da Excelncia do Software Brasileiro (SOFTEX) que
de maturidade de processos, conforme modelos j citados na conta com apoio do Ministrio da Cincia, Tecnologia e Inovao
introduo desse artigo. (MCTI), Financiadora de Estudos e Projetos (FINEP), Servio
Segundo McConnell, empresas que investiram em capacita- Brasileiro de Apoio s Micros e Pequenas Empresas (SEBRAE) e
o e melhoria de processo de software obtiveram retorno de do Banco Interamericano de Desenvolvimento (BID/FUMIN).
investimento da ordem de 5:1 e, em alguns casos, at 9:1. Ainda de acordo com o guia do MPS.BR, o programa conta
Diversos estudos de caso, conduzidos durante mais de duas com uma Unidade de Execuo do Programa (UEP) e duas
dcadas, fornecem evidncias comprovadas de que a melhoria estruturas de apoio para a execuo de suas atividades, o
do processo de desenvolvimento trazem diversos benefcios, Frum de Credenciamento e Controle (FCC) e a Equipe Tcnica
sendo citados alguns a seguir: do Modelo (ETM). Por meio destas estruturas, o MPS.BR pode
Aumento da qualidade do software produzido; contar com a participao de representantes de universidades,
Aumento da satisfao do cliente; instituies governamentais, centros de pesquisa e de organi-
Aumento da produtividade da empresa; zaes privadas, os quais contribuem com suas vises comple-
Reduo dos custos de desenvolvimento; mentares que agregam valor e qualidade ao programa.
Diminuio da rotatividade de pessoal; O modelo baseado nos conceitos de maturidade e capaci-
Acelerao da curva de aprendizado do desenvolvedor; dade de processo para a avaliao e melhoria da qualidade
Aumento da moral da equipe. e produtividade de software e servios correlatos e tambm
para a melhoria da qualidade e produtividade dos servios
Alguns casos de sucesso, conforme o Portal SEI, so apre- prestados. J o programa MPS.BR tem como meta definir e
sentados na Tabela 1. aprimorar um modelo de melhoria e avaliao de processo de

12 Engenharia de Software Magazine - O MPS.BR em sua reviso de 2012


agilidade

software e servios que visa preferen-


cialmente s micro, pequenas e mdias
empresas (mPME) de forma a atender as
suas necessidades de negcio e ser reco-
nhecido nacional e internacionalmente
como um modelo aplicvel indstria de
software e s empresas prestadoras de
servios. O MPS estabelece dois modelos
de referncia de processos de software
e servios, e um processo/mtodo de
avaliao de processos. Esta estrutura
fornece sustentao e garante que o
modelo seja empregado de forma coe-
rente com as suas definies. O modelo
MPS estabelece tambm um modelo de
negcio para apoiar a sua adoo pelas
empresas desenvolvedoras de software
e prestadores de servios.
O modelo MPS est dividido em
quatro componentes, como se pode Figura 1. Componentes do modelo MPS
observar na Figura 1: MR-MPS-SW,
MR-MPS-SV, MA-MPS (Mtodo de
Avaliao) e MN-MPS (Modelo de
Negcio). Cada componente descrito
por meio de guias e/ou documentos do
Programa MPS.BR. Mais informaes
sobre isso podem ser encontradas na
seo Links.
Como j foi citado anteriormente, o ar-
tigo dar destaque para o MR-MPS-SW
e MR-MPS-SV.
O primeiro modelo contm os requi-
sitos que os processos das unidades
organizacionais devem atender para
estar em conformidade com o MR-MPS-
SW. Ele contm as definies dos nveis
de maturidade, processos e atributos do
processo. O MR-MPS-SW est em con-
formidade com os requisitos de modelos
Figura 2. Nveis de maturidade do MPS
de referncia de processo da Norma
Internacional ISO/IEC 15504-2.
O segundo modelo contm os requi- A definio dos processos segue os destaque nos nveis de maturidade do
sitos que os processos das unidades requisitos para um modelo de referncia MPS.BR e como eles so organizados.
organizacionais devem atender para de processo apresentados na ISO/IEC
estar em conformidade com o MR-MPS- 15504-2, declarando o propsito e os Nveis de maturidade
SV. Ele contm as definies dos nveis resultados esperados de sua execuo. Os nveis de maturidade estabelecem
de maturidade, processos e atributos do Isso permite avaliar e atribuir graus de patamares de evoluo de processos, ca-
processo. O MR-MPS-SV est em confor- efetividade na execuo dos processos. racterizando estgios de melhoria da im-
midade com os requisitos de modelos A capacidade do processo a caracte- plementao de processos na organizao.
de referncia de processo da Norma rizao da habilidade do processo para O nvel de maturidade em que se encontra
Internacional ISO/IEC 15504-2. alcanar os objetivos de negcio, atuais uma organizao permite prever o seu de-
Os dois modelos de referncia de- e futuros; estando relacionada com o sempenho futuro ao executar um ou mais
finem nveis de maturidade que so atendimento aos atributos de processo processos. O MR-MPS-SW e o MR-MPS-
uma combinao entre processos e sua associados aos processos de cada n- SV definem sete nveis de maturidade,
capacidade. vel de maturidade. O prximo d um como apresentado na Figura 2.

Edio 63 - Engenharia de Software Magazine 13


Para cada um destes sete nveis de maturidade atribudo implementao do processo. Estes resultados podem ser evi-
um perfil de processos que indicam onde a organizao deve denciados por um produto de trabalho produzido ou uma
colocar o esforo de melhoria. O progresso e o alcance de mudana significativa de estado ao se executar o processo.
um determinado nvel de maturidade do MR-MPS-SW e do
MR-MPS-SV se obtm quando so atendidos os propsitos e Capacidade do processo
todos os resultados esperados dos respectivos processos e os A capacidade do processo representada por um conjunto
resultados esperados dos atributos de processo estabelecidos de atributos de processo descrito em termos de resultados
para aquele nvel. esperados e expressa o grau de refinamento e institucionaliza-
A diviso em sete estgios tem o objetivo de possibilitar o com que o processo executado na organizao/unidade
uma implementao e avaliao adequada s micros, pe- organizacional. Nos dois modelos apresentados, medida que
quenas e mdias empresas. A possibilidade de se realizar a organizao/unidade organizacional evolui nos nveis de
avaliaes considerando mais nveis tambm permite uma maturidade, um maior nvel de capacidade para desempenhar
visibilidade dos resultados de melhoria de processos em o processo deve ser atingido.
prazos mais curtos. O atendimento aos atributos do processo (AP), pelo aten-
dimento aos resultados esperados dos atributos do processo
Processo (RAP), requerido para todos os processos no nvel corres-
Segundo Sommerville, um processo de software um con- pondente ao nvel de maturidade, embora eles no sejam de-
junto de atividades relacionadas que leva produo de um talhados dentro de cada processo. Os nveis so acumulativos,
produto ou servio de software. No MR-MPS-SW e no MR- ou seja, se a organizao est no nvel F, esta possui o nvel de
MPS-SV, os processos so descritos em termos de propsito capacidade do nvel F que inclui os atributos de processo dos
e resultados. nveis G e F para todos os processos relacionados no nvel de
O propsito descreve o objetivo geral a ser atingido durante maturidade F (que tambm inclui os processos de nvel G).
a execuo do processo e os resultados esperados do proces- Isto significa que, ao passar do nvel G para o nvel F, os pro-
so estabelecem os resultados a serem obtidos com a efetiva cessos do nvel de maturidade G passam a ser executados no

14 Engenharia de Software Magazine - O MPS.BR em sua reviso de 2012


agilidade

nvel de capacidade correspondente ao nvel Nvel Processo Atributo de Processo


F. Em outras palavras, na passagem para um A AP 1.1, AP 2.1, AP 2.2, AP 3.1, AP 3.2, AP 4.1, AP 4.2, AP 5.1 e AP 5.2
nvel de maturidade superior, os processos B Gerncia de Projetos GPR (evoluo) AP 1.1, AP 2.1, AP 2.2, AP 3.1 e AP 3.2, AP 4.1 e AP 4.2
anteriormente implementados devem passar a Gerncia de Riscos GRI
ser executados no nvel de capacidade exigido C Desenvolvimento para Reutilizao DRU AP 1.1, AP 2.1, AP 2.2, AP 3.1 e AP 3.2
neste nvel superior. Veja as Tabelas 2 e 3. Gerncia de Decises GDE
Os diferentes nveis de capacidade dos Verificao VER
processos so descritos por nove atributos de Validao VAL
processo (AP), sendo: D Projeto e Construo do Produto PCP AP 1.1, AP 2.1, AP 2.2, AP 3.1 e AP 3.2
AP 1.1 O processo executado; Integrao do Produto ITP
AP 2.1 O processo gerenciado; Desenvolvimento de Requisitos DRE
AP 2.2 Os produtos de trabalho do processo Gerncia de Projetos GPR (evoluo)
so gerenciados; Gerncia de Reutilizao GRU
AP 3.1. O processo definido; Gerncia de Recursos Humanos GRH
E AP 1.1, AP 2.1, AP 2.2, AP 3.1 e AP 3.2
AP 3.2 O processo est implementado; Definio do Processo Organizacional DFP
AP 4.1 O processo medido; Avaliao e Melhoria do Processo Organizacional
AP 4.2 O processo controlado; AMP
AP 5.1 O processo objeto de melhorias Medio MED
incrementais e inovaes; Garantia da Qualidade GQA
AP 5.2 O processo otimizado de forma F Gerncia de Portflio de Projetos GPP AP 1.1, AP 2.1 e AP 2.2
continua. Gerncia de Configurao GCO
Aquisio AQU
Nota Gerncia de Requisitos GRE
G AP 1.1 e AP 2.1
Gerncia de Projetos GPR
Os atributos de processo AP 4.1, AP 4.2, AP 5.1 e AP 5.2 somente
Tabela 2. Nveis de maturidade do MR-MPS-SW [SOFTEX, 2012]
devem ser implementados para os processos crticos da
organizao/unidade organizacional, selecionados para anlise Nvel Processo Atributo de Processo
de desempenho. Os demais atributos de processo devem ser A AP 1.1, AP 2.1, AP 2.2, AP 3.1, AP 3.2, AP 4.1, AP 4.2, AP 5.1 e AP 5.2
implementados para todos os processos. B Gerncia de Trabalhos GTR (evoluo) AP 1.1, AP 2.1, AP 2.2, AP 3.1 e AP 3.2, AP 4.1 e AP 4.2
Gerncia de Capacidade GCA
Gerncia da Continuidade e Disponibilidade dos
A descrio detalhada de todos os processos,
Servios GCD
bem como seus propsitos e resultados espe-
Gerncia de Decises GDE
rados, esto disponveis no site da SOFTEX C AP 1.1, AP 2.1, AP 2.2, AP 3.1 e AP 3.2
Gerncia de Liberao GLI
(vide seo Links).
Gerncia de Riscos GRI
Gerncia da Segurana da Informao GSI
MPS em nmeros Relato de Servios RLS
De acordo com o portal SOFTEX, vale Desenvolvimento do Sistema de Servios DSS
apresentar os seguintes nmeros sobre MPS D AP 1.1, AP 2.1, AP 2.2, AP 3.1 e AP 3.2
Oramento e Contabilizao de Servios OCS
atualizados em julho de 2013: Avaliao e Melhoria do Processo Organizacional AMP
Avaliaes realizadas: 482 Software e 2 Definio do Processo Organizacional DFP
Servios = TOTAL 484; E Gerncia de Mudanas GMU AP 1.1, AP 2.1, AP 2.2, AP 3.1 e AP 3.2
Instituies Implementadoras (II): 20; Gerncia de Recursos Humanos GRH
Instituies Organizadoras de Grupos de Gerncia de Trabalhos GTR (evoluo)
Empresas (IOGES): So 17 instituies e 65 Aquisio AQU
projetos; Gerncia de Configurao GCO
Instituies Avaliadoras: 12; Garantia da Qualidade GQA
F AP 1.1, AP 2.1 e AP 2.2
Cursos realizados: 248; Gerncia de Problemas - GPL
Provas realizadas: 53; Gerncia de Portflio de Trabalhos GPT
Profissionais Capacitados: mais de cinco Medio MED
mil. Entrega de Servios - ETS
Gerncia de Incidentes GIN
Isso mostra que tanto as empresas como os G Gerncia de Nvel de Servio - GNS AP 1.1 e AP 2.1
profissionais esto investindo cada vez mais Gerncia de Requisitos GRE
em melhoria de processo, buscando sempre Gerncia de Trabalhos GTR
aperfeioar as rotinas de trabalho, reduzindo Tabela 3. Nveis de maturidade do MR-MPS-SV, [SOFTEX, 2012]

Edio 63 - Engenharia de Software Magazine 15


tempo e custo. Ressalto que essa busca incessante pela melhoria antecipado e, o mais importante, apoio da alta direo e ge-
no somente do setor de TI, mas sim de qualquer setor, pois, rncia da empresa.
estamos atravessando um momento em que a qualidade est No prximo artigo ser apresentado um estudo de caso, onde
como meta de qualquer empresa que busca um lugar de res- foi aplicado o modelo MPS.BR para definio e implantao
peito no mercado. Outro exemplo que destaco sempre o setor do processo de gerncia de configurao em uma empresa de
de construo civil, que aperfeioa cada vez mais os mtodos desenvolvimento de software.
de trabalho.

Concluso Links e Referncias:


A qualidade dos processos reflete internamente e externa-
mente nas empresas. A adoo de prticas de engenharia de Portal SOFTEX MPS.BR
software alinhadas aos padres nacionais e internacionais http://softex.br/mpsbr
de produo gera ganhos significativos em produtividade,
com a reduo do tempo e do investimento nos projetos. Uma Portal SEI
empresa certificada alm de ter os seus processos bem defini- http://www.sei.cmu.edu/cmmi/
dos e monitorados, passa a ter diferencial competitivo, visto
pelos clientes como um indicativo de qualidade dos produtos Portal FUNSOFT
http://www.fumsoft.org.br/qualidade/modelo_mpsbr
e servios oferecidos por ela.
Num ambiente extremamente competitivo como o atual, a
Blog CMMI.
utilizao de metodologias e melhores prticas condio http://www.blogcmmi.com.br/qualidade/construcao-de-um-predio-de-6-andares-
obrigatria para obter a melhoria nos processos, a qualida- em-1-dia-video
de necessria, o cumprimento dos prazos e a satisfao dos
clientes. McConnell, Steve. Professional software development: shorter schedules,
Dessa forma, o objetivo de muitas empresas tem sido obter higher quality products, more successful projects, enhanced careers. Addison
qualificaes para atender as exigncias explcitas do mer- Wesley. ISBN 0-321-19367-9. 2003.
cado. O MPS.BR descreve princpios e prticas relacionadas
ao processo de desenvolvimento de software e servios. SOMMERVILLE, Ian. Engenharia de Software; traduo Ivan Bosnic e Kalinka
O modelo visa ajudar organizaes produtoras de software G. de O. Gonalves; reviso tcnica Kechi Hirama. 9. ed. So Paulo: Pearson
Prentice Hall, 2011.
e provedoras de servios a melhorarem a capacidade de seus
processos, isso por meio de um caminho evolucionrio que
considera desde processos com resultados imprevisveis, e at Voc gostou deste artigo?
mesmo caticos, a processos disciplinados e definidos, com
resultados previsveis, com possibilidade de melhoria contnua
D seu voto em www.devmedia.com.br/esmag/feedback
e satisfao dos clientes.
Para finalizar, destaco que a melhoria do processo de desen- Ajude-nos a manter a qualidade da revista!
volvimento deve ser um processo contnuo, exige planejamento

16 Engenharia de Software Magazine - O MPS.BR em sua reviso de 2012


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

Gerenciando requisitos com MPS.BR

Porque esse artigo til:


O nvel G do MPS.BR define um conjunto de

O
des envolv i mento de u m resultados esperados que devem ser alcana-
software de qualidade e de fcil dos por empresas que pretendam ser avaliadas
manutenibilidade no deve ser neste nvel. Uma das reas a de Gesto de
baseado apenas em cdigo fonte e docu- Requisitos. Esse artigo apresenta os resultados
mentao, mas em um processo coerente esperados pelo modelo MPS.BR (Melhoria de
com as caractersticas da organizao processo de software brasileiro), para Gesto
desenvolvedora, que reflita a rotina de de requisitos (GRE), correspondentes ao nvel G.
trabalho da equipe e as necessidades Sero abordadas as necessidades de equipes so-
do negcio. bre o controle e gerncia de requisitos, atravs
As solicitaes de clientes e usurios de entrevistas, o que resultou em prottipos de
devem ser registradas e atendidas em um software para gerenciamento de requisitos.
todas as fases do projeto, refletindo em A anlise deste tema til para organizaes e
Ivnia Ramos dos Santos
ivania.ramos.santos@gmail.com
um produto com excelncia. Para isso, equipes que buscam modelos que lhe auxiliem a
Bacharel em Sistemas de Informao pela imprescindvel manter um controle estruturar o processo de gesto de requisito. As
Faculdade Mater Dei (2008), especialista padro sobre implementaes e manu- experincias reportadas aqui auxiliaro na esco-
em Engenharia de Software pela Faculdade tenes atravs do gerenciamento de lha de um caminho a seguir durante as atividades
Mater Dei (2011). Atualmente Gerente de
requisitos. de implantao de processo em sua organizao.
Servios de TI da empresa AInova., profes-
sora na Faculdade Mater Dei, FESC e Sesi/ O gerenciamento de requisitos um
Senai. Experincia gesto de processos de dos processos fundamentais em projetos
qualidade utilizando metodologia MPS.BR. de desenvolvimento de software. Por acompanhamento de projetos ou requi-
serem os requisitos a constituio da sitos, ou seja, um caminho pelo qual o
Giovanni De Bona base para a definio da arquitetura do projeto ou requisito dever seguir). Este
giovannidebona@gmail.com
sistema, importante que haja tarefas processo visa manter planos, artefatos,
Graduado em Sistemas de Informao e
Especialista em Engenharia de Software
definidas para garantir sua qualidade, prioridades, status, especificaes e
na Faculdade Mater Dei. Atualmente Ana- como modelagem, testes, validao atividades de desenvolvimento con-
lista/Programador de software na empresa e criao de baseline de requisitos sistentes com o conjunto de requisitos
Sponte Informtica. Pato Branco PR. (entende-se como a linha de base para definidos para o software.

Edio 63 - Engenharia de Software Magazine 17


A utilizao de um modelo de qualidade de processo auxilia Principais atividades da engenharia de requisitos
organizaes de TI a gerenciar seus processos, assim como o de Um processo de engenharia de requisitos possui atividades
gesto de requisitos, como o MPS.BR que apresenta resultados especficas e detalhadas para que o mesmo se torne vivel e
esperados no processo GRE (Gerenciamento de requisitos), obtenha resultados, dentre eles se destacam:
os quais se alcanados possibilitam organizao avanar Levantamento (Elicitao): Consiste na identificao dos
nveis para futuras certificaes, aumentar sua produtividade requisitos necessrios implementao de um sistema. Este
e melhorar seus processos organizacionais. processo engloba atividades de descoberta, refinamento,
Este artigo visa abordar aspectos relacionados ao con- modelagem, documentao, especificao e manuteno do
trole de mudanas em requisitos, ao gerenciamento da conjunto de requisitos.
configurao, rastreabilidade, definio de prioridades, Anlise: o objetivo da anlise descobrir problemas, in-
a classificao e qualidade em requisitos seguindo os completude, aplicabilidade e inconsistncia nos requisitos
processos do MPS.BR. A coleta destas informaes servir elicitados. Eles normalmente so retornados aos stakeholders
para definir o que um controle de requisitos automatizado para verificao das implementaes e restries impostas.
dever possuir. A anlise intercalada com elicitao, pois problemas so des-
cobertos quando os requisitos so elicitados. Esta fase envolve
Requisitos de software resoluo de conflitos atravs de tcnicas como negociao de
Requisitos de software so sentenas que expressam as priorizao e levantamento de pr-requisitos tcnicos.
necessidades dos clientes e que condicionam a qualidade do Especificao: A especificao dos requisitos do software
produto, ou especificaes de servios que o sistema deve resulta do fluxo de requisitos. Este fluxo comea com a de-
prover, suas restries no sistema e conhecimento necessrio finio de um problema, que descrito em uma proposta de
para desenvolv-lo. Uma vez criados, requisitos devem ser especificao do software; e termina com uma especificao
modelados, documentados, validados e acompanhados. dos requisitos do software, que descreve, de forma detalhada,
Requisitos podem ser classificados segundo alguma forma um conjunto dos requisitos que devem ser satisfeitos por uma
de categorizao, que pode ser definida de acordo com as soluo implementvel para o problema.
prticas de cada organizao de software. Eles so geralmente Validao e Verificao: O processo de validao objetiva
classificados em: garantir que os requisitos reflitam as necessidades do cliente
Funcionais: declaraes de funes que o sistema deve sa- em relao ao sistema (completeza), atravs da inspeo por
tisfazer, reaes a entradas e comportamento. Por exemplo: o padres organizacionais, conhecimento sobre a organizao
sistema deve permitir que cada professor lance as notas das e do sistema a ser desenvolvido, garantindo que os requisitos
turmas lecionadas. Tambm conhecidos como requisitos de estejam livres de inconsistncias.
negcio, estes representam objetivos de alto nvel da organi-
zao ou cliente que requisitou o sistema. Uma incorreta identificao dos requisitos de um sof-
No funcionais: requisitos que expressam condies que tware pode levar ao desenvolvimento de um produto que
o software deve atender ou qualidades especficas que deve no atende aos objetivos para o qual foi planejado, sendo
ter. Em vez de informar o que o sistema far, os requisitos total ou parcialmente desperdiado. Durante o processo de
no funcionais colocam restries no sistema. Por exemplo: desenvolvimento, problemas nos requisitos podem gerar
As consultas do sistema devem ser respondidas em menos a necessidade de um novo ciclo de especificao, projeto,
de trs segundos. codificao e teste, afetando diretamente os custos e prazos
envolvidos.
Engenharia de Requisitos
Um processo de engenharia de requisitos um conjunto Caractersticas e categorizao dosrequisitos
atividades estruturadas que derivam, validam e mantm um A primeira atividade na aplicao de uma gesto de requi-
documento de requisitos de um sistema do incio ao fim do sitos consiste em categorizar as informaes relevantes para
projeto. a gerncia de requisitos. Assim, possvel elaborar uma lista
Uma descrio completa de um processo inclui as atividades de informaes para cada categoria. No decorrer da execuo
que devem ser conduzidas, a estrutura ou agenda destas ativi- de um projeto, so necessrias informaes detalhadas sobre
dades, as entradas e sadas de cada atividade e as ferramentas os requisitos e as requisies dos stakeholders.
utilizadas para suportar a engenharia de requisitos. Durante a anlise, criao, desenvolvimento e testes dos
Poucas organizaes possuem um processo de engenharia de requisitos, o analista, o testador ou o programador podem
requisitos definido, preocupando-se apenas em obter como re- informaras caractersticas apresentadas na Tabela 1 no con-
sultado a documentao de requisitos. No existe um processo trole de requisitos.
nico que possa ser utilizado por todas as organizaes. Cada Um bom controle de requisitos deve possuir uma seo de
uma deve desenvolver seu prprio processo para adaptar-se relatrios, onde os requisitos desejados so filtrados e trazidos
aos tipos de sistema em desenvolvimento, cultura organiza- para pequenas ou grandes reunies para as mais diversas
cional, experincia dos envolvidos, entre outros. definies de desenvolvimento e anlise.

18 Engenharia de Software Magazine - Gerenciando requisitos com MPS.BR


agilidade

Projeto/Produto Identificao do projeto ao qual o requisito faz parte.


Controle de verso do requisito Em que verso o problema ocorre, caso seja uma correo.
Identificao Funcional / No Funcional.
A priorizao ajuda o gerente de projeto a resolver conflitos, planejar iteraes e fazer as compensaes necessrias. Quando as expectativas do cliente
Prioridade so altas e o tempo curto, faz-se necessrio entregar o produto com as funcionalidades mais relevantes, o mais cedo possvel. A escala de importncia a
se utilizar : Baixa, Mdia, Alta e Urgente.
Tipo Sugesto de cliente, correo, implementao da empresa, erro de verso Beta.
As situaes mais utilizadas e importantes so: Proposto, em desenvolvimento, implementado, em avaliao, em teste, atendido (pelo cliente), verificado
Situao
(testado), liberado (para o cliente) e rejeitado.
Requisito Suplementar Representa que o requisito aplicvel ao sistema como um todo.
Descrio Descrio sucinta, simples e objetiva.
Detalhamento Alm dos detalhes, neste campo possvel informar tambm riscos e restries associados.
Fonte Indica quem identificou o requisito (cliente ou tcnico ou analista). Para possveis esclarecimentos.
Justificativa Motivo de fazer o requisito.
Indica a caracterstica de qualidade (Usabilidade, Confiabilidade, Eficincia, Portabilidade, Manutenibilidade, etc.) vinculada ao requisito no funcional
Caracterstica de Qualidade
em questo.
Permite relacionar o requisito a outros j includos. Esta associao tem a finalidade de relacionar requisitos que tem afinidade entre si. Importante
Requisitos Associados
tambm na rastreabilidade.
Verso Informa a verso em que o requisito ser desenvolvido.
Comentrio do desenvolvimento Seo onde o desenvolvedor insere comentrios sobre o desenvolvimento.
Anexos Seo onde se pode anexar arquivos para complementar o requisito.
Interessados Seo onde os clientes interessados no requisito so inseridos.
Log de situaes Log onde se apresenta o histrico de situaes que o requisito j passou.
Desenvolvedor Quem desenvolver o requisito.
Testador Quem testar o requisito.
Horas previstas Tempo previsto para o desenvolvimento.
Associao ao controle de fontes Associao ao controle de cdigo fonte (se existir).
Entende as possveis implicaes de se fazer a mudana. Identifica todos os arquivos, modelos e documentos que devem ser modificados se a mudana
Anlise de impacto das alteraes requisitadas
ocorrer. Identifica tarefas necessrias para implementar a mudana e estimar o esforo, tempo e recursos necessrios.
Objetiva acompanhar a vida de um requisito, desde a origem at a implementao. Garante que os requisitos especificados so associados s necessidades
Rastreabilidade
dos clientes. Garante tambm que todo produto de trabalho est associado aos requisitos identificados.
Gerncia de iteraes de teste Controla as iteraes feitas pelo setor de testes at o requisito ser finalizado e estiver pronto para liberao.

Tabela 1. Caracterstica e categorizao dos requisitos

Relatrios tambm servem para acompanhar quantidades de desenvolvimento de software que visa melhorar processos
requisitos dentro de um determinado intervalo de tempo e em e servios a mdio e longo prazo, buscando atender as suas
determinada categoria e classificao, ajudando no acompa- necessidades de negcio e ser reconhecido nacional e inter-
nhamento das fases do projeto. nacionalmente como um modelo aplicvel indstria de
Complementa-se o controle de requisitos com uma seo software e servios.
de grficos e estatsticas para tambm serem levados em O MR-MPS-SV define sete nveis de maturidade: A (Em
reunio ou apresentados ao gerente de projetos como re- Otimizao), B (Gerenciado Quantitativamente), C (Definido),
sultados do produto. D (Largamente Definido), E (Parcialmente Definido), F (Geren-
Em relao economia de tempo de atendimento a uma soli- ciado) e G (Parcialmente Gerenciado). A escala de maturidade
citao de cliente, pode ser disponibilizado um cadastro de su- se inicia no nvel G e progride at o nvel A.
gestes onde o prprio cliente insere suas solicitaes, contendo Para cada um dos nveis de maturidade atribudo um perfil
campos que deixam implcitos o que o cliente deseja, ou seja, de processos, que indicam onde a organizao deve colocar
possibilitando o total entendimento do analista de requisitos. o esforo de melhoria. O progresso e o alcance de um deter-
minado nvel de maturidade se obtm quando so atendidos
MPS.BR Melhoria de Processo de Software Brasileiro os propsitos e todos os resultados esperados dos respectivos
Segundo o Guia Geral MPS de Software (2012), o MPS.BR processos e os resultados esperados dos atributos de processo
um modelo de qualidade de processos das empresas de estabelecidos para aquele nvel.

Edio 63 - Engenharia de Software Magazine 19


Nesse artigo so adotados os resultados esperados em Ge- em reunio com a equipe, j 30% relata que atravs de troca
renciamento de Requisitos, do nvel G. O nvel G chamado de e-mail. Outros 7% possuem outras maneiras de anlise,
Parcialmente Gerenciado, por ser a primeira fase do modelo, informada. Este resultado mostra que as reunies ainda so
onde os processos de gesto de projetos e requisitos so ma- predominantemente adotadas por melhorarem o entendimento
peados e padres definidos para o gerenciamento. perante todos os setores, principalmente na anlise de novos
Sua implementao deve ser executada com cautela por esta- requisitos, sendo fundamental haver um processo formal, onde
belecer o incio dos trabalhos em implantao de melhoria dos haja registro e feedback.
processos de software na organizao. Ao final da implantao Antes de realizar a construo de um projeto, tambm em
deste nvel a organizao deve ser capaz de gerenciar parcial- momentos estratgicos, a viabilidade deve ser analisada, tendo
mente seus projetos de desenvolvimento de software. em vista que o produto a ser desenvolvido deve estar alinhado
No nvel G, o projeto pode usar os seus prprios padres e s expectativas do negcio e da equipe (existncia de recurso
procedimentos, no sendo necessrio que se tenha padres or- suficiente, tempo vivel, viabilidade financeira, de mercado,
ganizacionais. Se, porventura, a organizao possuir processos de ramo e exportao, entre outros). Nas entrevistas notou-se
j definidos e os projetos necessite se adaptar aos processos que a anlise de viabilidade , na maioria das vezes, realizada
existentes, deve-se registrar essa adaptao durante o plane- informalmente, e apenas quando o projeto j foi iniciado. Como
jamento do projeto. Adaptaes podem incluir alterao em comprova os 71% dos profissionais que relatam que a anlise
processos, atividades, ferramentas, tcnicas, procedimentos, realizada na fase de arquitetura dos requisitos, outros 17%,
padres, medidas, dentre outras. surpreendem, informando que nas organizaes onde reali-
zada no desenvolvimento. Sendo ressaltado que a preocupao
Gerenciamento de requisitos esta relacionada a critrios tcnicos e no estratgicos. Outros
Um dos critrios para se alcanar o nvel G alcanar os 12% fazem a anlise em outras etapas.
resultados esperados em gesto de requisitos, que tem como Outro fator que surpreende em relao criao de artefatos
propsito gerenciar os requisitos de trabalho e dos componen- (planos de projetos, especificao de requisitos e modelagem),
tes de trabalho e identificar inconsistncias entre os requisitos, os quais so critrios bsicos de qualidade. Dos entrevistados,
os planos de trabalho e os produtos de trabalho. Os resultados 56% dizem que esses artefatos so criados parcialmente, j
esperados em GRE no nvel G so descritos na Tabela 2. 40%, afirma que h a criao e apenas 4% no cria artefatos
que auxiliariam no gerenciamento. Destacando que 83% dos
Resultados Esperados entrevistados, que relatam criarem artefatos, fazem tambm a
O entendimento dos requisitos obtido junto aos fornecedores internos ou externos reviso desses durante o desenvolvimento do requisito.
GRE 1
de requisitos; Foi levada em considerao a questo da utilizao de um
Os requisitos so avaliados com base em critrios objetivos e um comprometimento da software que apoie a organizao na gesto de requisitos: 76%
GRE 2
equipe tcnica com estes requisitos obtido; afirma j utilizar um sistema para esse fim, sendo que 80%
A rastreabilidade bidirecional entre os requisitos e os produtos de trabalho dessas organizaes desenvolveram sua prpria ferramenta
GRE 3
estabelecida e mantida; e 20% utiliza software pago, de terceiros. Este resultado se d
Revises em planos e produtos derivados do trabalho so realizadas visando identificar pela economia financeira e pela personalizao do controle
GRE 4
e corrigir inconsistncias em relao aos requisitos; perante as necessidades da empresa.
GRE 5 Mudanas nos requisitos so gerenciadas ao longo do trabalho. A importncia de um software de gesto reforada por 96%
dos entrevistados defenderem que o controle de requisitos
Tabela 2. Resultados esperados
melhoraria a tarefa que executam na organizao.
Em relao criao de um requisito novo para o sistema,
Atravs destes resultados que o gerenciamento se torna sim- 84% dos entrevistados afirmam que os mesmos so formatados
ples e objetivo, fazendo com que os principais problemas na em pacotes para cada projeto, ou seja, so vinculados um
gesto possam ser evitados ou contornados de forma fcil. software especfico, juntamente com os outros. J 8% dizem
criar requisitos sem associar a um projeto especfico, o que
Anlise de resultados dificulta a rastreabilidade.
A fim de coletar necessidades de envolvidos nos processo de Os profissionais foram questionados sobre a forma que
gesto de requisitos e alcanar os GREs 1 ao 5, do nvel G realizada a gesto de requisitos, se a mesma satisfaz as neces-
MPS.BR foram aplicados questionrios, obtidos em pesquisas sidades da empresa. 63% afirmaram que satisfaz parcialmente
realizadas com 25 profissionais de empresas de software no e apenas 25% defende que o controle de requisitos utilizado
sudoeste do Paran. satisfaz totalmente as necessidades da empresa, sendo que
A pesquisa relatou que o principal problema nas organiza- 12% afirmam que no satisfaz.
es ocasionado pelo no entendimento da equipe em relao A abordagem mostra a carncia nas organizaes de um
aos requisitos e suas alteraes. processo coerente com suas necessidades, no havendo um
Dos entrevistados, 63% relatam que o nico momento onde controle especfico sobre o rastreio de requisitos, gerando
se realiza a anlise de requisitos, na empresa onde trabalha, principalmente perda de tempo. Outro ponto a anlise de

20 Engenharia de Software Magazine - Gerenciando requisitos com MPS.BR


agilidade

impacto, que pode gerar problemas no


projeto, devido a alteraes no previs-
tas, assim como pela falta de um controle
de iteraes dos requisitos, de gravao
de um histrico.
Um processo de gerenciamento de re-
quisitos coerente com as caractersticas
da organizao e automatizado apon-
tado pelos entrevistados como ponto de
melhora em outros critrios fundamen-
tais. 25% apontando o tempo e o prazo,
outros 25% dos entrevistados descrevem
como um dos critrios o controle de prio-
ridades, 21% o histrico de implementa-
es, 18% a 20% compartilhamento e o
controle do conhecimento e controle de Figura 1. Cadastro do requisito
verso de requisitos, defendido por 16%
dos entrevistados.
As organizaes buscam automatizar
seus processos, mas muitas vezes no
satisfazem as necessidades apontadas
pelos envolvidos, talvez pela falta de
um modelo que norteie o propsito da
ferramenta e pela falta de pesquisa com
os reais usurios do processo. Por conta
disso, esse artigo tambm apresenta
prottipos baseados em necessidades
identificadas pelos entrevistados e nos
GREs, do nvel G do MPS.BR.

Gerao de prottipos e anlise de


Figura 2. Dados do desenvolvimento e testes
cenrios de uso
A partir de agora apresentaremos
alguns prottipos com o intuito de apre- caracterstica de qualidade (usabilidade, Para obter o alcance do GRE 1 O en-
sentar sugestes de telas de um sistema confiabilidade, eficincia, portabilidade, tendimento dos requisitos obtido junto
que satisfaa os resultados esperados manutenibilidade, etc.). aos fornecedores internos ou externos de
pelo processo de requisitos, do modelo No guia Desenvolvimento, da tela requisitos e do GRE 2 Os requisitos
MPS.BR nvel G, tambm as necessida- Cadastro de Requisito, como pode so avaliados com base em critrios obje-
des apontadas por usurios nas entrevis- ser observado na Figura 2, podem ser tivos e um comprometimento da equipe
tas descritas na seo anterior. registradas informaes pelo desen- tcnica com estes requisitos obtido,
Na tela Cadastro de requisito, apre- volvedor na fase de desenvolvimento foram criados os prottipos mostrados
sentada na Figura 1, a guia Dados como situao, desenvolvedor, testador pelas Figuras 3 a 5.
Principais possibilita ao analista de responsvel e a previso de tempo para Na tela Avaliao de Requisitos,
requisitos informar nos campos corres- a concluso da fase. No campo Comen- ilustrada pelo prottipo da Figura 3, o
pondentes ao produto - verso, priorida- trios devem ser descritos os detalhes usurio, seja ele, desenvolvedor, analista
de (baixa, mdia, alta ou urgente), tipo e peculiaridades, tanto para outros pro- ou testador, pode consultar uma lista de
(sugesto de cliente, correo, imple- gramadores visualizarem, quanto para requisitos pr-filtrados, onde pode reali-
mentao da empresa, erro de verso), o setor de testes. zar sua aprovao ou no, clicando sobre
situao (proposto, em desenvolvimento, Na rea Log de situao e iterao de o boto Visualizar requisito completo.
implementado, em avaliao, em teste, testes constar um histrico de todas as O boto Visualizar requisito completo
atendido, verificado, liberado ou rejei- situaes pelas quais o requisito passou. direciona o usurio para a guia Avalia-
tado), identificao (funcional / no Esta rea possuir tambm registros das es, como apresenta Figura 4.
funcional) tambm se suplementar iteraes de testes, ou seja, se foi testado, No guia Avaliaes o usurio pode
ou no, descrio, detalhamento, jus- se o teste passou ou falhou, se foi revisa- selecionar a opo Aprovado ou
tificativa, fonte (quem identificou) e a do ou se est pronto para liberao. Reprovado e informar o motivo e

Edio 63 - Engenharia de Software Magazine 21


alguma observao pertinente, nos cam- Nesta tela podem ser visualizados os Abaixo da parte tracejada encontram-
pos especficos. A seo Alteraes do usurios do sistema e suas avaliaes, se as avaliaes dos clientes, seus
requisito ser relatada no GRE 5. com justificativa e resultados totalizados comentrios (histrico) e os resultados
O usurio poder visualizar as ava- na lateral. A mesma tem por objetivo totalizados. Estes resultados podem ser
liaes de outros usurios do requisito, gerar uma documentao para avaliar inseridos pelo prprio cliente, ou pela
conforme Figura 5, clicando no boto o requisito como um todo para o seu equipe tcnica que entrou em contato
Visualizar outras avaliaes. desenvolvimento. com o mesmo.
Para alcanar o resultado esperado do
GRE 3 A rastreabilidade bidirecional
entre os requisitos e os produtos de tra-
balho estabelecida e mantida, existe
a preocupao em avaliar o impacto
de mudanas, ou seja, no que o desen-
Figura 3. Requisitos a serem avaliados volvimento daquele requisito afetar.
Na rastreabilidade podem ser vincu-
lados documentos no requisito, para
visualizao de usurios, auxiliando na
execuo de tarefas do projeto.
Na Figura 6 pode ser observada a guia
Anlise de Impacto, onde no campo
de mesmo nome pode ser inserido texto
pelo analista de requisitos informando
dados sobre o impacto de desenvolvi-
mento do requisito. J no campo Classes
e documentos associados sero inseri-
dos nomes e caminhos de classes ou do-
cumentos que podero estar envolvidos
no desenvolvimento do requisito.
Figura 4. Avaliaes do Requisito No grupo Requisitos Associados po-
dem ser visualizados requisitos associa-
dos a aes individuais paraidentificaro
que foi inserido na anlise de impacto,
quais os stakeholders do requisito, quais
as classes de projeto associadas (link
de rastreabilidade) e a visualizao
completa do requisito (um link de ras-
treabilidade um relacionamento entre
itens de rastreabilidade, por exemplo,
um requisito a uma classe de projeto ou
a um caso de teste).
Figura 5. Avaliaes dos usurios e clientes O GRE 4 Revises em planos e
produtos derivados do trabalho so
realizadas visando identificar e cor-
rigir inconsistncias em relao aos
requisitos e o GRE 5 Mudanas nos
requisitos so gerenciadas ao longo do
trabalho buscam revises, correes
e controle de mudanas. Atravs do
alcance deles podem ser identificados
problemas ou detalhes no registrados
na criao do requisito, alm de uma
gerncia de alteraes informando todos
os interessados.
A cada requisito criado ou alterado,
Figura 6. Anlise de Impacto enviada uma mensagem pelo sistema

22 Engenharia de Software Magazine - Gerenciando requisitos com MPS.BR


agilidade

gerenciador de requisitos e envia-


do um e-mail para os interessa-
dos (usurios, desenvolvedores,
testadores, analistas) a fim de Figura 7. Requisito no avaliado
que avaliem e revisem a alterao
ou implementao, sendo gravadas aes em histrico do Referncias:
requisito.
Para os stakeholders aprovarem estas alteraes, uma seo SAYO, Miriam; BREITMAN, Karin Koogan. Gerncia de Requisitos. Faculdade
(Figura 4, alteraes do requisito) dentro do requisito aberta, de Informtica da PUC-RS e DI/PUC-Rio.
que consta o histrico de alteraes do requisito, sendo que AUDY, Jorge; PRIKLADNICKI, Rafael. Desenvolvimento distribudo de
cada alterao gera nova avaliao para todos os interessados. software. Rio de Janeiro, Elsevier, 2007;
Para facilitar a identificao de requisitos ainda no avalia-
dos, a guia correspondente identificada por um asterisco ESPINDOLA, Rodrigo; LOPES, Leandro; PRIKLADNICKI, Rafael; AUDY, Jorge
conforme Figura 7. Luiz. Uma Abordagem Baseada em Gesto do Conhecimento para Gerncia
de Requisitos em Desenvolvimento Distribudo de Software. Pontifcia
Informaes de mudanas de requisitos auxiliam no tempo
Universidade Catlica do Rio Grande do Sul;
de desenvolvimento e de avaliao durante o trabalho. A ge-
rncia destas mudanas ajuda as partes interessadas a ficarem Sommerville, Ian; Sawyer, Peter. Requirements Engineering a good
sempre atualizadas perante alteraes de requisitos e evitam practice guide. New York: John Wiley & Sons Ltd, 1997, 391p.
possveis erros de desenvolvimento.
Kotonya e Sommerville (1998). Requirements Engineering: Processes and
Techniques. Gerald Kotonya, Ian Sommerville. Wiley. 1998.
Concluso
Um controle de requisitos juntamente com o MPS.BR faz com HORRIAN, Hossein. MAHMUD, Shafquat. KARTHIKEYAN, Srinivasan.
que todo o ciclo de vida de um requisito ou uma solicitao RequirementsEngineeringinAgilemethods. Dept.ofComputerScience,
possa ser controlado, acompanhado, detalhado e melhorado. UniversityofCalgary,Canada,2003.
Baseando-se nos GREs, as organizaes conseguem melhorar IEEE. IEEE Std. 830 1993. IEEE Recommended Practice for Software Requi-
tempo, custo e otimizao de processos. Prottipos de telas rements Specifications, in [IEEE94].
permitem um controle mais abrangente dos stakeholders e da
equipe tcnica, sobre os requisitos e suas alteraes.
Um controle de requisitos completo e bem alimentado faz Voc gostou deste artigo?
com que no s o gerenciamento se torne melhor, mas tam-
bm a documentao e a agilidade que os setores da empresa D seu voto em www.devmedia.com.br/esmag/feedback
podem usufruir para as mais diversas tarefas relacionadas
Ajude-nos a manter a qualidade da revista!
ao projeto.
As organizaes buscam suprir suas necessidades atravs
da automatizao de processos, como o de gesto de requi-
sitos, buscando a velocidade de processamento e resposta de
processos internos, o entendimento geral da equipe e garantia
de qualidade.

Edio 63 - Engenharia de Software Magazine 23


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

Gesto de riscos nos requisitos


Conhea os passos para a identificao de riscos durante o levantamento de
requisitos

Porque esse artigo til:

A
engenharia de requisitos uma A gesto de riscos associados aos requisitos
rea de investigao que procu- de software, individuais ou em grupos, desde
ra atacar um ponto fundamental a fase de engenharia de requisitos pode per-
no processo de desenvolvimento, que mitir minimiz-los, evit-los e control-los. O
a definio do que se pretende produ- envolvimento dos riscos que possam afetar o
zir. Pode-se dizer que a engenharia de desenvolvimento ou a qualidade dos requisi-
requisitos o ponto de encontro entre tos e aes para evit-los permite minimizar
o desenvolvimento de software formal os problemas que persistem no desenvolvi-
e o informal. mento de software. Desta forma, os riscos
A fim de produzir a necessidade do mais importantes so os associados com as
cliente, dentro do prazo e oramento principais caractersticas dos requisitos de
estipulados, essencial desenvolver um qualidade.
processo que inclua a gesto dos riscos A discusso deste tema til quando trata-
associados com a fase dos requisitos, de mos de aspectos relacionados aos processos
modo a contribuir para a melhoria gra- da engenharia de requisitos como a elicitao
dual do desenvolvimento de processos e a gerncia de requisitos e seus pontos crti-
e tambm de gerenciamento de projetos cos no sentido de antecipar e restringir riscos
software com intuito de atingir a satis- por meio de ressalvas que possam garantir a
fao do cliente. qualidade do projeto que se est desenvol-
Ao falar em riscos em projetos, tenha a vendo alm de evidenciar como pequenos
Fbio Sarturi Prass
fabioprass@gmail.com percepo que estes afetam eventos futu- erros podem se tornar decisivos para o projeto
Diretor da FP2 Tecnologia (www.fp2. ros. Qualquer projeto que possui um ciclo e at impedir a sua concluso.
com.br), possui Mestrado em Cincia da de vida que pode ser alterado pelo acon-
Computao pela Universidade Federal de tecimento de um evento, e este sendo no
Santa Maria (UFSM) e atua como professor
incio do projeto qualificado como risco, deslocar de avio, mas h um atraso no
na Antnio Meneghetti Faculdade, no cur-
so de Sistemas de Informao. Domnio em evitando a sequncia normal do projeto. voo, esse atraso um risco. Um risco pode
Java, .NET e UML. Slido conhecimento em Por exemplo, se uma pessoa possui uma vir a se tornar um grande problema caso
Engenharia de Software e Banco de Dados. reunio em Porto Alegre e necessita se no venha a ser gerenciado.

24 Engenharia de Software Magazine - Gesto de riscos nos requisitos


agilidade

Os riscos esto presentes de forma permanente em termos de Identificar todos os riscos conhecidos do projeto;
incerteza (risco que pode ou no ocorrer) e perda (se o risco se Realizar uma avaliao da probabilidade de ocorrncia e o
tornar uma realidade, perdas indesejveis ocorreram). Sendo potencial impacto;
assim, tm-se definidas as categorias acerca dos riscos: riscos Quantificar o que seria o custo dos riscos se vier a ocorrer;
de projetos, que ameaam o plano de execuo do projeto; Criar planos de ao para gerenciar os riscos de alta
riscos tcnicos, que ameaam a qualidade e o cronograma do prioridade;
projeto; riscos conhecidos, aqueles descobertos em avaliaes; Reconhecer e gerenciar o risco o mais cedo possvel.
riscos previsveis, conhecidos a partir da experincia; e riscos
imprevisveis, que podem ocorrer, mas muito difcil identi- Osbenefciosobtidos atravs da realizao de uma boa gesto
ficar previamente. de riscos so:
A gesto de riscos na rea de software procura formalizar o Reduz os custos do projeto;
conhecimento orientado minimizao de riscos em projetos Melhora a satisfao do cliente;
de software mediante a gerao de princpios e boas prticas Aumenta a capacidade e probabilidade de sucesso;
de desenvolvimento. No entanto, at o momento tm sido pro- Facilita o desenvolvimento do projeto;
postas e utilizadas diferentes abordagens para a gesto riscos. Diminui drasticamente as surpresas nos projetos;
claro que algumas organizaes ainda utilizam mtodos Ajuda a empresa a alcanar os objetivos de negcio evitando
especficos de modo explcito e sistemtico para gerenciar os problemas no projeto que poderiam causar perdas inesperadas
riscos em seus projetos de software. e no planejadas.
Este artigo pretende demonstrar que a gesto de riscos asso-
ciada ao desenvolvimento de software deve iniciar pela etapa Em todo o gerenciamento de risco necessrio desenvolver
de engenharia de requisitos, criando, desde as etapas iniciais, umplano de gesto de risco,que deve descrever:
umplano de contingncia para evitar e monitorar os riscos A estratgia de gesto de risco;
durante o projeto. Domnio do esforo de gerenciamento de riscos;
Como est o planejamento para realizar a identificao de
Regras e responsabilidades da gesto de riscos riscos;
O gerenciamento de riscos de um projeto contm os processos Como se realizar a anlise de risco (qualitativa, quantitativa,
que abordam a realizao da identificao, anlise, planeja- priorizao);
mento, monitoramento e controle, resoluo e comunicao. Como se realizar o monitoramento e controle;
A maior parte desses processos atualizada durante todo o ci- Oramento de Gesto de Risco;
clo de vida do projeto. Com isso, tm-se as seguintes etapas: Calendrio das atividades de gesto de risco;
Identificar:produzir os riscos que podem afetar o projeto, Funes e responsabilidades.
gerando sempre a documentao das suas caractersticas;
Analisar:estimar a probabilidade e a intensidade da perda Atividades de gesto de riscos
integrada com cada item de risco e com a possvel composio A gesto de riscos do projeto inclui os processos de plane-
desses riscos; jamento associados ao gerenciamento de riscos, identificao
Planejar: definir como administrar as atividades de geren- e anlise, respostas aos riscos, monitoramento e controle dos
ciamento dos riscos de um projeto; riscos do projeto. A maioria destes processos atualizada
Monitorar:acompanhar o status do risco e das aes execu- durante o projeto. A Figura 1 mostra como essas atividades
tadas e identificar novos riscos; esto relacionadas.
Resolver:executar as aes planejadas e reportar os resul- Estes processos interagem uns com os outros e com processos
tados da resoluo do risco; de outras reas. Cada processo pode envolver o esforo de
Comunicar: prover informaes para e entre entidades e uma ou mais pessoas ou grupos de pessoas, dependendo das
nveis organizacionais envolvidos no projeto. Inclui nveis necessidades do projeto. Cada processo ocorre pelo menos
dentro do projeto, da organizao, da organizao do cliente uma vez em todos os projetos e ocorre em uma ou mais fases
e a comunicao entre desenvolvedor, cliente e usurio. do projeto, se este for dividido em fases.

Cada um desses processos pode ser relacionado com os mem- Gesto de risco nos requisitos
bros que fazem parte do projeto. Assim, tem-se a distribuio Um risco um fator que influencia negativamente o suces-
conforme a Tabela 1. so do projeto e deve ser considerado por trs componentes:
Atravs desses processos, o objetivo da gesto de riscos o evento, a possibilidade de ocorrer e o impacto do evento.
minimizar a probabilidade e as consequncias deriscosnegati- Constantemente avaliado como um evento de implicaes
vos(ou ameaas) e maximizar a probabilidade e consequncias negativas, quanto ao custo, o tempo, e a qualidade. Por este
de riscos positivos(ou oportunidades) identificadas no projeto motivo os gerentes se empenham em como evit-los e em
para que seus objetivos sejam atendidos.Isto alcanado se- como lidar com eles. Esquecendo que, eventualmente, os riscos
guindo algumasorientaes: podem ter implicaes positivas.

Edio 63 - Engenharia de Software Magazine 25


Essa premissa mostra que o risco est, de software, se inicia a identificao dos Esta atividade assegura que, a partir do
implicitamente, associado a qualquer ati- riscos. Esta responsabilidade do gerente incio do processo de desenvolvimento de
vidade e acompanha qualquer mudana, de projetos (ou outro cargo semelhante) software, se executar as tarefas que visam
pois envolve a escolha e incerteza de um que antecipa os riscos que possam afetar assegurar a qualidade do produto. Neste
processo ocorrer. No momento de iniciar o desenvolvimento ou a qualidade dos re- entendimento, devem-se adotar os passos
uma atividade de elicitao de requisitos quisitos e toma medidas para evit-los. apresentados nos tpicos a seguir.

Passo 1 Identificao de Riscos


Problemas potenciais podem ocorrer no
processo de engenharia de requisitos, ou
na especificao de requisitos de software
(ERS), tais como oramento, pessoal, usu-
rio, organizacionais, tcnicas ou outras
comunicaes. Deve-se comear com a
anlise de risco genrico, que constitui
uma ameaa potencial para todos os
projetos de software e que possam estar
presentes no projeto atual. Em seguida,
deve-se identificar os riscos especficos,
envolvendo um conhecimento profundo
do projeto que esto relacionados com o
ambiente de desenvolvimento, tecnolo-
Figura 1. Atividades da Gesto de Riscos gia, experincia e tamanho da equipe.

Gerente de projeto Envolvido nos negcios Cliente Especialistas do negcio Equipe do projeto Responsvel por um risco
Fornece dados sobre
os critrios para
Planejamento de Desenvolve e mantm o plano de Fornece informaes se o nvel
aceitao das entregas
gesto de riscos gesto de riscos de risco aceitvel
que podem influenciar
o risco do projeto
Fornece informaes
Fornece informaes Trabalha com o
histricas que dever ajudar
Identificao de riscos Identifica os riscos do projeto histricas que dever ajudar a gerente de projeto
a identificar os riscos do
identificar os riscos do projeto para identificar riscos
projeto
Valida as suposies feitas Valida as suposies feitas
durante o planejamento do durante o planejamento do
Anlise de riscos Analisa os riscos do projeto projeto e fornece a entrada projeto e fornece a entrada
sobre a probabilidade e o sobre a probabilidade e o
impacto dos riscos impacto dos riscos
Direciona as respostas do processo Participa do desenvolvimento
de planejamento, identifica os de planos de resposta para
Planejamento de
participantes e define os planos de cada risco individual e assume
resposta aos riscos
resposta aos riscos, com a ajuda da a responsabilidade de seus
equipe do projeto planos
Identifica riscos novos e que
Responsvel pelo fim do
tenham mudados. Avalia a
Controlar e monitorar monitoramento e controle de Responsvel pelo plano de
eficcia da gesto de riscos,
riscos riscos. responsvel por manter resposta ao risco
planos de resposta e qualquer
plano de risco
ao de resposta
Registra as lies aprendidas
Encerramento da durante a gesto de risco e
gesto de riscos apresenta os resultados para o
encerramento do projeto
Tabela 1. Funes e responsabilidades

26 Engenharia de Software Magazine - Gesto de riscos nos requisitos


agilidade

Requisito Resposta Impacto Componente Medida


Requisito_01 Sim Sim Custo Crtico
Requisito_02 No No -- --
Requisito_03 No Sim Tempo Crtico
Tabela 2. Identificao dos riscos

Risco Tipo de Risco Descrio


Equipe Projeto, produtos e negcios Pessoas experientes deixando o projeto antes do trmino
Alterao de Requisitos Projeto e do produto Existncia de mais mudanas do que os requisitos previstos inicialmente
Atrasos na especificao Projeto e do produto Especificaes de interface essenciais final
Subestimando o tamanho Projeto e do produto A exigncia de tamanho (o processo de ER/ERS) tem sido subestimada
Fraco desempenho da ferramenta CASE Produto Ferramentas CASE que ajudam o projeto no tem o desempenho e caractersticas esperadas
Tabela 3. Lista de riscos e classificao

Risco Tipo de Risco Riscos


Para os requisitos e ERS deve-se come- A equipe no tem o conhecimento necessrio para lidar com a complexidade da exigncia
ar esta tarefa respondendo a pergunta: Da Equipe
Os membros da equipe no esto disponveis em momentos crticos
que caractersticas especiais tem esse Mudanas nas condies que requerem modificaes no desenho
Requisito_01 De Requisitos
requisito, ou o grupo de requisitos, que Os clientes que no entendem o impacto das mudanas nos requisitos
podem estar ameaadas? Estimativa O tempo necessrio para desenvolver o processo de engenharia de requisitos subestimado
Um mtodo comprovadamente eficaz Comunicao O cliente incapaz de participar de revises e reunies
para a identificao de riscos criar uma Tabela 4. Riscos por requisitos
lista de fatores de risco. Esta lista deve
incidir sobre os riscos relacionados com
Tipo de Risco Riscos potenciais
o tamanho do produto, o impacto sobre o
projeto e organizao, caractersticas do Equipe Incapaz de recrutar pessoal com as habilidades exigidas.
cliente, definio de processos, ambiente Organizacional A organizao reestruturada e uma nova administrao responsvel pelo projeto.
de desenvolvimento, tecnologia de cons- Ferramentas As vrias ferramentas CASE no esto disponveis
truo, o tamanho da equipe e experincia Requisitos Mudanas nos requisitos que necessitam de modificaes ao projeto.
do pessoal.
Estimativas O tamanho do sistema em desenvolvimento subestimado.
Nesta atividade, o procedimento
estabelecido a fim de criar uma lista de Tabela 5. Riscos por tipo
verificao para as necessidades indivi-
duais e um para o ERS. Os resultados razo pela qual se convm detectar e tratar os riscos) com a finalidade de permitir
so convertidos em tabelas para facilitar os riscos com antecedncia. a aprendizagem para novos projetos.
a anlise subsequente. Os riscos sero Um exemplo da aplicao deste dispo- Muitas das tcnicas existentes tm um
considerados a partir do comportamento sitivo a seguinte: elevado grau de subjetividade envolvida
das caractersticas individuais e de grupo Caracterstica do Requisito: Ambi- uma vez que depende da anlise dos
(ambiguidade, clareza, integridade, con- guidade. profissionais envolvidos no processo
sistncia, rastreabilidade, entre outros). Pergunta: O requisito ambguo? de avaliao.
Dependendo da intensidade do compor- Aplicao: Aplicado a todos os requi- J a projeo dos riscos consiste em
tamento da caracterstica e exigncia de sitos especificados (conforme observado determinar a probabilidade de uma
qualidade, possvel controlar de forma na Tabela 2). ocorrncia de risco e as consequncias
eficaz o risco no processo de engenharia que esta pode ter, como por exemplo, o
de requisitos antes de passar para a fase Este procedimento estabelecido para aumento dos custos, o cancelamento do
seguinte do ciclo de vida do projeto. definir e listar os riscos que podem afetar projeto, a insatisfao do cliente. Trata-
Risco, se no for gerido na fase inicial, o atual processo da engenharia de requi- se, desta forma, de ordenar a lista de
pode ser difcil de controlar, uma vez que sitos, como mostrado nas Tabelas 3 a 5. riscos, tendo em conta a probabilidade
se iniciou o processo de desenvolvimento. de ocorrncia e o impacto de cada risco.
Desequilbrios no comportamento das Passo 2 Avaliao e Projeo dos Atribui-se o nvel de probabilidade, que
caractersticas de qualidade dos requisitos Riscos pode ser alto, mdio ou baixo. Assim,
que resultam no surgimento de riscos tor- O objetivo fundamental das tcnicas de tm-se os efeitos (consequncias) sobre
nam o projeto vulnervel e impraticvel avaliao de riscos incide sob a organiza- o escopo (o quanto afetado) e durao
aplicao de qualquer plano de qualidade, o dos dados obtidos (que determinam (quanto tempo se manifesta).

Edio 63 - Engenharia de Software Magazine 27


Risco Probabilidade Efeitos
Os problemas financeiros da organizao reduzem o oramento do projeto Baixo Catastrfico
Incapaz de recrutar profissionais com as habilidades necessrias Alto Catastrfico
Pessoas chave doentes ou no esto disponveis em momentos crticos Moderado Srio
Alteraes nos requisitos requerem modificaes na codificao Moderado Srio
O tempo necessrio para desenvolver o processo de Engenharia de Requisitos subestimado Alto Srio
Os clientes no entendem o impacto das mudanas nos requisitos Moderado Tolervel

Tabela 6. Riscos ordenados por efeito

Risco Estratgia
Problemas financeiros da organizao Preparar um breve documento para a direo da empresa que mostra que o projeto tem contribuies muito importantes para as metas do negcio.
Problemas de recrutamento Organizar cursos de capacitao para as pessoas do projeto e/ou investigar a possibilidade de contratar pessoas de outras regies ou pases.
Enfermidades pessoais Reorganizar a equipe para que eles se sobressaiam ao trabalho e os membros entendem o trabalho dos outros.
Mudana de requisitos Controlar a informao para avaliar o impacto dos requisitos, maximizar as informaes ocultas neles.
Tempo de Engenharia de Requisitos subestimado Alertar o cliente para as dificuldades potenciais e as possibilidades de atraso.

Tabela 7. Estratgias dos Riscos

Tipo de Risco Identificador ser dado pelo julgamento e experincia do


Tecnologia Atraso na entrega de equipamentos de hardware. Existncia de relatrios sobre questes de tecnologia. gerente de projeto.
Estratgias de preveno tentam reduzir a
Pessoal Baixa moral dos funcionrios, relaes ruins entre os membros da equipe.
probabilidade de ocorrncia das estratgias
Organizacional Rumores. A falta de iniciativa da direo. de diminuio de riscos: tentar restringir o
Ferramenta Membros da equipe de rejeitam o uso de ferramentas. Reclamaes sobre ferramentas Case. seu impacto. Os planos de contingncia so
Requisitos Muitas mudanas nos requisitos. Reclamaes de clientes. desenvolvidos a fim de se preparar no caso
Estimao (tempo) Deixar de cumprir os horrios programados. de o risco passar a atuar com uma estratgia
particular. Observe a Tabela 7.
Tabela 8. Indicadores potenciais de Riscos

Passo 4: Superviso dos Riscos


Na anlise de risco se considera cada risco em separado e se Consiste em ter um plano de superviso, dado o caso em que
avalia em intervalos sua probabilidade e impacto: se aceite continuar com o projeto. Indicar que aes e decises
Probabilidade do risco estimado em muito baixa (<10%), sero executadas quando um problema for identificado.
baixa (10-25%), moderada (25-50%), elevada (50-75%) ou muito A superviso dos riscos acompanha cada um dos riscos
elevada (> 75%); identificados para decidir se provvel e quando os seus pos-
Efeitos do risco avaliado como catastrfico, srio, tolervel sveis efeitos se modificaram. Devem-se controlar os fatores
ou insignificante. que podem indicar mudanas na probabilidade e impacto.
Observe a Tabela 8.
O resultado armazenado em uma tabela ordenada por
probabilidade ou efeito de risco. Feito isso, se escolhe, do Concluso
total, quais so os mais importantes. Assim, se considera Um adequado processo de engenharia de requisitos possui
os riscos chaves durante o projeto (deve ser um nmero implicaes positivas na qualidade do produto final, assim
administrvel). como na satisfao do cliente. Devido a isto, este processo tem
Por exemplo, todos os riscos graves ou catastrficos com que estar bem definido e ser desenvolvido de forma discipli-
qualquer probabilidade. Observe a Tabela 6. nada, coerente e repetitiva, garantindo a obteno de experi-
ncias que permitam a aplicao de melhores prticas.
Passo 3: Planejamento de Risco A gesto proativa dos riscos associados aos requisitos de
Esta etapa tem como objetivo desenvolver uma estratgia para software permite ao gestor adotar, desenvolver e implementar
enfrentar os riscos. Se a equipe tem uma abordagem proativa atividades dessa gesto, em funo de obter produtos de qua-
para o risco, a ajuda sempre a melhor estratgia. Isto al- lidade que satisfaam as necessidades dos clientes, mantendo
canado atravs do desenvolvimento de planos de mitigao o equilbrio do prazo e oramento do projeto. A gesto dos
de risco e contingncia. riscos associados com os requisitos, organizadas e geridas
No planejamento dos riscos se considera cada um dos riscos atravs de diferentes propostas pode se tornar uma ferramen-
chaves identificados e as estratgicas para administr-los, o que ta til para os gestores e equipes de desenvolvimento.

28 Engenharia de Software Magazine - Gesto de riscos nos requisitos


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

A gesto de conhecimento e a TI
As tendncias e influncias da gesto de conhecimento nos softwares
modernos e os softwares de GC nas organizaes

Porque esse artigo til:


Gesto do conhecimento a criao de valor
a partir de bens intangveis da organizao.
Neste sentido, a gesto do conhecimento in-

E
ste artigo trata sobre um tema clui a identificao e mapeamento dos ativos
muito abordado nas organizaes intelectuais, para gerar novos conhecimentos
hoje em dia: a gesto do conheci- e criar vantagem competitiva. No mundo cor-
mento. As necessidades modernas de porativo moderno, a gesto do conhecimento
melhoria de desempenho, aumento de ser cada vez mais importante. necessrio
produtividade e rapidez no processo saber como lidar com esses novos conhecimen-
decisrio exigem cada vez mais dos tos e tendncias na engenharia de software.
colaboradores. A tomada de deciso tem As organizaes como um todo necessitam
sido uma atividade cada vez mais exigi- de conhecimento, principalmente para uma
da de toda a empresa e muitas vezes, as melhor tomada de decises. A melhor toma-
Digenes Firmiano melhorias dos processos falham nestas da de deciso e o aumento do desempenho
diogenesjf@gmail.com
questes. As diretrizes mais acertadas das empresas exige e exigir cada vez mais da
Gestor Snior de Engenharia de Softwa-
re atuando nas reas de Engenharia de exigem um nvel de informaes cada integrao das informaes, gerao e gesto
Software, Arquitetura, Metodologia e De- vez maior e a gesto deste conhecimento de conhecimento. Neste cenrio, este artigo
senvolvimento de Sistemas. Formado em necessrio para decidir ganha uma im- apresenta o que a gesto de conhecimento,
Cincia da Computao na Universidade portncia cada dia maior. Abordaremos de que forma ela vem impactando as organi-
de Braslia, sendo ps-graduado com MBA
aqui os conceitos iniciais de gesto de zaes e como a tecnologia da informao e a
em Gerenciamento de Projetos tendo feito
vrios cursos de aperfeioamento em sua conhecimento e as principais interaes engenharia de software sero impactadas e
rea de atuao. professor de disciplinas entre GC e tecnologia. podem se beneficiar.
como Gerncia de Projetos, Engenharia O mundo moderno gira em torno
de Software, Sistemas de Informao e do conhecimento. A necessidade de
Programao. Possui experincia profissio-
conhecer uma infinidade de assuntos informaes sero transformadas em
nal de mais de 15 anos em tecnologia da
informao sendo especialista em metodo- e temas cada vez maior na vida das conhecimento. Mesmo os conhecimentos
logias de software, arquitetura de sistemas pessoas. A sociedade est inundada por que so gerados precisam ser geridos
e gerncia de projetos de software. informaes. Porm, nem todas estas para que seu melhor uso seja realizado.

Edio 63 - Engenharia de Software Magazine 29


Saber aproveitar e utilizar, da melhor maneira possvel, os pode ser transmitido formal e facilmente entre os indivduos.
conhecimentos, prioridade das organizaes modernas que Esse foi o modo dominante de conhecimento na tradio
precisam aperfeioar seus negcios. A tecnologia uma im- filosfica ocidental.
portante aliada neste processo facilitando a gesto do conheci- Os conhecimentos tcito e explcito so unidades estrutu-
mento. As empresas de tecnologia, no processo de construo rais bsicas que se complementam e a interao entre eles a
de softwares tambm podem se beneficiar com as tcnicas e principal dinmica da criao do conhecimento na organiza-
vantagens da gesto do conhecimento. Mas o que vem a ser o. Para se tornar uma empresa que gera conhecimento, a
gesto do conhecimento? organizao deve completar uma espiral do conhecimento
A Gesto do Conhecimento no mais uma moda de eficin- (veja a Figura 1). Espiral esta que vai de tcito para tcito,
cia operacional. Faz parte da estratgia empresarial. Visando de explcito a explcito, de tcito a explcito, e finalmente, de
compreender Gesto do Conhecimento, so necessrios os explcito a tcito. Logo, o conhecimento deve ser articulado e
conceitos de dado, informao, conhecimento e, por fim, de ento internalizado para tornar-se parte da base de conheci-
Gesto do Conhecimento. mento de cada pessoa. A espiral comea novamente depois
No que diz respeito ao conceito de dado, este pode ter signi- de ter sido completada, porm em patamares cada vez mais
ficados distintos, dependendo do contexto no qual a palavra elevados, ampliando assim a aplicao do conhecimento em
utilizada. Os dados geralmente so caracterizados como outras reas da organizao.
elementos em sua forma primria. Para uma organizao, dado
o registro estruturado de transaes. Dado pode ser definido
como um conjunto de fatos distintos e objetivos, relativos a
eventos. informao bruta, descrio exata de algo ou de
algum evento. Os dados em si no so dotados de relevncia,
propsito e significado, mas so importantes porque compem
a matria-prima essencial para a criao da informao.
J informaes so dados interpretados, dotados de relevn-
cia e propsito. Informao uma mensagem com dados que
fazem diferena, podendo ser audvel ou visvel, e onde existe
um emitente e um receptor. o insumo mais importante da
produo humana. um fluxo de mensagens, um produto ca-
paz de gerar conhecimento. um meio ou material necessrio
para extrair e construir o conhecimento. A informao afeta o
conhecimento acrescentando-lhe algo ou reestruturando-o.
O conhecimento deriva da informao assim como esta deriva
dos dados. O conhecimento no puro nem simples, mas
uma mistura de elementos, fluido, formalmente estruturado,
intuitivo e, portanto, difcil de ser colocado em palavras ou de Figura 1. Espiral do conhecimento
ser plenamente entendido em termos lgicos.
O conhecimento pode ser entendido dentro de um contexto. A espiral do conhecimento prev quatro formas de aprendiza-
As situaes e contextos que envolvem problemas e solues do e assimilao de conhecimento: socializao, externalizao,
a serem dadas envolvem pessoas e necessidades de raciocnio combinao e internalizao. Socializao o compartilhamen-
humano, desta forma, acaba sendo complexo e imprevisvel. to do conhecimento tcito, por meio da observao, imitao
O conhecimento pode ser comparado a um sistema vivo, que ou prtica (tcito para tcito). Externalizao/Articulao a
cresce e se modifica medida que interage com o meio am- converso do conhecimento tcito em explcito e sua comuni-
biente. Os valores e as crenas integram o conhecimento, pois cao ao grupo (tcito para explcito). Combinao ou padro-
determinam, em grande parte, o que o conhecedor v, absor- nizao do conhecimento junt-lo em um manual ou guia de
ve e conclui a partir das suas observaes. O conhecimento, trabalho e incorpor-lo a um produto (explcito para explcito).
diferente da informao, refere-se a crenas e compromisso. Internalizao quando novos conhecimentos explcitos so
O conhecimento classificado como tcito e explcito. compartilhados na organizao e outras pessoas comeam a
O conhecimento tcito o conhecimento que est contido utiliz-los para aumentar, estender e reenquadrar seu prprio
dentro das pessoas, difcil de ser expresso em palavras ou conhecimento tcito (explcito para tcito).
escrito. Envolve fatores intangveis como, por exemplo, crenas Gesto do conhecimento tambm pode ser entendida como
pessoais, perspectivas, sistema de valor, insights, intuies, sendo a criao de valor a partir de bens intangveis da or-
emoes, habilidades. S pode ser avaliado por meio da ao. ganizao. Neste sentido, a gesto do conhecimento inclui
Conhecimento explcito aquele que pode ser escrito ou ver- a identificao e mapeamento dos ativos intelectuais, para
balizado de alguma forma, o que permite que o mesmo seja gerar novos conhecimentos e criar vantagem competitiva.
mais facilmente transmitido, sistematizado e comunicado. Ele O Gartner Group, por sua vez, define a gesto do conhecimento

30 Engenharia de Software Magazine - A gesto de conhecimento e a TI


agilidade

como sendo uma disciplina que promove, com viso integra- competncia, apresenta imensas possibilidades de articular
da, o gerenciamento e o compartilhamento de todo o ativo as relaes entre as diferentes aes de gesto de RH, como
de informao possudo pela empresa, podendo este estar a conjugao de desempenho, desenvolvimento e potencial,
localizado em um banco de dados, em documentos, em proce- aumentando a sinergia do sistema.
dimentos, bem como em pessoas, atravs de suas experincias
e habilidades. Gesto do Capital Intelectual
As ferramentas de gesto do conhecimento pretendem au- Capital intelectual a soma do conhecimento de todos em uma
xiliar o processo de coleta e estruturao do conhecimento de organizao; a capacidade mental coletiva, a capacidade de
grupos de indivduos, disponibilizando esse conhecimento em criar continuamente e proporcionar valor de qualidade supe-
uma base compartilhada por toda a organizao. rior. criado a partir do intercmbio entre:
A fim de desenvolver os sistemas de conhecimento, neces- a) Capital humano - capacidade organizacional que uma
srio ter foco externo (benchmarking de outras organizaes), empresa possui de suprir as exigncias do mercado. Est nas
tecnologias facilitadoras (groupware), gesto de desempenho habilidades dos colaboradores, em seus conhecimentos tcitos
(mensurao, recomendao, recompensas para equipes, e nos obtidos nas suas informaes profissionais, na busca
obrigaes contratuais) e gesto de pessoas (equipes virtuais, permanente de atualizar seus conhecimentos, nas informaes
coordenadores de conhecimento, busca do perfil do dissemi- alcanveis, nas informaes documentadas sobre clientes,
nador do conhecimento). concorrentes, parceiros e fornecedores. Essencialmente diz
Somente a organizao pode oferecer a continuidade bsica respeito s pessoas, seu intelecto, seus conhecimentos e
de que os trabalhadores do conhecimento precisam para serem experincias;
eficazes. Apenas a organizao pode transformar o conheci- b) Capital estrutural soma das patentes, processos, manuais,
mento especializado do trabalhador em desempenho. Porm, marcas, conceitos, sistemas administrativos, bancos de dados
avanou-se muito pouco sobre como se deveria gerenciar o disponibilizados, tecnologia, estruturas organizacionais;
conhecimento. c) Capital de clientes o valor dos relacionamentos de
uma empresa com as pessoas e fornecedores com os quais
A gesto de conhecimento nas organizaes faz negcios.
A gesto do conhecimento um processo corporativo focado
na estratgia empresarial e que envolve a gesto das competn-
cias, a gesto do capital intelectual, a aprendizagem organiza-
cional, a inteligncia empresarial e a educao corporativa.

Gesto das Competncias


Competncia engloba o conhecimento real, a habilidade, a
experincia, os julgamentos de valor e as interaes sociais.
o elo entre conhecimento e estratgia. No pode ser copiada
com exatido, sendo transferida pela prtica. Competncia
a capacidade de gerar resultados observveis, necess-
rios ao alcance dos objetivos definidos no posicionamento
estratgico da empresa e no propsito de manuteno e
desenvolvimento de sua ideologia essencial. um conceito
pelo qual se define quais so as atitudes, as habilidades
e os conhecimentos necessrios para alcanar resultados
diferenciados, o conjunto de qualificaes que a pessoa
tem para executar um trabalho com um nvel superior de
performance. Est associada s realizaes das pessoas,
quilo que elas produzem e/ou entregam.
Desta forma, a competncia no um estado ou um conhe-
cimento que se tem e nem resultado de treinamento. Com-
petncia , na verdade, colocar em prtica o que se sabe em
um determinado contexto. H competncia apenas quando h
competncia em ao. A gesto de recursos humanos est em
amplo processo de transformao. Sistemas que tradicional-
mente so utilizados como referencial centrados em cargos
vm mostrando sua fragilidade em articular sistemicamente
as necessidades de gesto das organizaes. A abordagem
de gesto de pessoas, que tem no seu ncleo o conceito de

Edio 63 - Engenharia de Software Magazine 31


O capital intelectual se encontra em trs formas e em trs organizacional significativa pode ser realizada sem que se
lugares distintos: efetuem profundas mudanas nas formas de pensar e interagir
a) Na forma de conhecimento dentro da cabea de cada pessoa; das pessoas. A base de ideias que sustenta as organizaes
b) Na forma de conhecimento adicional que gerado quando as que aprendem estabelece o pensamento sistmico, os modelos
pessoas se relacionam e compartilham o seu conhecimento; mentais, o domnio pessoal, a viso compartilhada, a apren-
c) Na forma de conhecimento armazenado em livros, revistas, dizagem em grupo e o dilogo como elementos inevitveis do
jornais, fotografias, desenhos, fitas, discos, CD, CD ROM, bases seu desenvolvimento, cada um proporcionando uma dimen-
de dados, etc. so vital na construo de organizaes realmente capazes
de aprender, de ampliar continuamente sua capacidade de
A introduo do conceito de capital digital o capital inte- realizar suas mais altas aspiraes.
lectual digitalizado consequncia do uso da internet, que
permite que as pessoas se contatem, se relacionem e com- Educao corporativa
partilhem seu conhecimento (capital intelectual individual) As organizaes enfrentam dificuldades na velocidade de
independentemente da distncia e armazenem e disponibili- sua adaptao nova realidade. O desconhecimento do futu-
zem na internet boa parte do conhecimento de que dispem. ro, a permanncia de traos da cultura anterior, momentos de
Esses fatos fizeram com que o conhecimento que as pessoas dificuldades empresariais, a descrena em uma viso compar-
produzem e a que tm acesso, uma vez digitalizado e dispo- tilhada de futuro, a falta de capacitao para os novos papis e
nibilizado na internet, aumente exponencialmente, produza a falta de tempo so alguns dos fenmenos que fazem parte
uma exploso de novas ideias, fundamentando uma nova das dificuldades percebidas. Esse novo contexto empresarial
forma de gerar riqueza. redefine o perfil do colaborador da era do conhecimento. So
necessrios profissionais que aprendam de forma no conven-
Aprendizagem organizacional cional e que saibam trabalhar cooperativamente para gerar
O tema central da gesto do conhecimento aproveitar os solues inovadoras.
recursos que j existem na organizao para que as pessoas necessria uma nova abordagem na formao para que
procurem, encontrem e empreguem as melhores prticas as pessoas permaneam produtivas, em condies de acom-
em vez de tentar criar algo que j havia sido criado. Cuida panhar as mudanas e otimizando seu tempo. Alm disso,
de agregar valor s informaes, filtrando, resumindo e a tecnologia vem permitindo desenvolver experincias para
sintetizando-as e, dessa forma, desenvolvendo um perfil de treinar mais pessoas com maior economia. As empresas
utilizao pessoal que ajuda a chegar ao tipo de informao comeam a perceber a necessidade de transferir o foco dos
necessrio para passar ao. Atravs da aprendizagem con- esforos de treinamento e educao de eventos em sala de
tnua, a organizao exercita a sua competncia e inteligncia aula, cujo objetivo desenvolver qualificaes isoladas, para
coletiva para responder ao seu ambiente interno (objetivos, a criao de uma cultura de aprendizagem contnua, em que
metas, resultados) e externo (estratgia). Nas organizaes os colaboradores aprendem uns com os outros e compartilham
que aprendem, as pessoas expandem continuamente sua ca- inovaes e melhores prticas visando solucionar problemas
pacidade de criar resultados que elas realmente desejam, onde organizacionais reais.
maneiras novas e expansivas de pensar so encorajadas, onde O foco do treinamento vai alm do empregado isoladamente
a aspirao coletiva livre, e onde as pessoas esto constante- para o desenvolvimento da capacidade de aprendizado da or-
mente aprendendo a aprender coletivamente. ganizao, criando situaes que permitam a discusso de pro-
A organizao que aprende possui a capacidade de, continu- blemas comuns e solues por meio da aprendizagem coletiva.
amente, criar o futuro que realmente deseja. Para isto, reflete Os ambientes de aprendizagem passam a ser reestruturados
sobre o desempenho atual e os fatores que o geram, pensa sobre de forma a tornarem-se proativos, centralizados, determinados
os diversos futuros possveis e qual entre eles o desejado, e e estratgicos e o resultado esperado o aprender fazendo,
planeja e programa as aes para se mover da situao atual desenvolvendo a capacidade de aprender e dar continuidade
para a desejada. A aprendizagem organizacional , portanto, a esse processo na volta ao trabalho. Outra forma de educa-
o processo contnuo de detectar e corrigir erros. Errar signi- o surgiu, aproveitando as facilidades proporcionadas pela
fica aprender, envolvendo a autocrtica, a avaliao de riscos, melhoria crescente nos cursos por correspondncia gerando o
a tolerncia ao fracasso e a correo de rumo, at alcanar os ensino distncia EAD, que pode ser definido como qualquer
objetivos. a capacidade das organizaes em criar, adquirir e interao entre estudante e instrutor, onde os participantes
transferir conhecimentos e em modificar seus comportamentos so separados pela distncia, pelo tempo, ou por ambos.
para refletir estes novos conhecimentos e insights. A aprendizagem torna-se, alm de contnua, flexvel para
Isso implementa um mecanismo pelo qual os colaboradores poder responder s necessidades do momento.
contribuem para o desempenho da empresa por meio da
aplicao dos seus conhecimentos e habilidades em resolver Interaes entre gesto de conhecimento e tecnologia
problemas e inovar. Ento, criada a organizao que apren- O sucesso dos negcios est ficando cada vez mais depen-
de e que gera conhecimento. No entanto, nenhuma mudana dente da inovao e do conhecimento, que esto mudando

32 Engenharia de Software Magazine - A gesto de conhecimento e a TI


agilidade

as formas tradicionais de organizar negcios nas empresas. conhecimento. A integrao adequada entre ambas o que
As suposies tradicionais em coordenao, controle e permite o bom posicionamento da empresa no mercado, sua
apropriao de recursos esto perdendo sua relevncia, e resposta acertada s demandas.
as habituais formas de administrar as organizaes esto se O objetivo das ferramentas de GC modelar parte do conhe-
tornando inadequadas. cimento existente nas cabeas das pessoas e nos documentos
Com o surgimento da Tecnologia da Informao (TI), novas corporativos, disponibilizando-o para toda a organizao.
formas de organizao esto emergindo e a importncia de A mera existncia do conhecimento na empresa de pouco
redes informais dentro e entre organizaes est se tornando valor se ele no estiver acessvel e no for utilizado como um
amplamente concebida. Na rede da sociedade do conheci- dos seus recursos mais importantes. Com essas ferramentas,
mento, as empresas tero novos tipos de profissionais, con- almeja-se que o conhecimento possa fluir por meio de redes
siderados experts, e os gerentes de negcio precisam estar de comunidades, transformando a tecnologia em um meio e o
cientes de que devero entender de diferentes sistemas de conhecimento em um capital, em uma mensagem.
valor. Essas mudanas implicam no design organizacional, Conforme dito anteriormente, o conceito de gesto do
na estratgia, nas prticas de gesto e tecnologias organi- conhecimento pode assumir diversos significados. Com
zacionais, conduzindo s novas teorias e prticas de gesto o advento da TI e com o avano nas prticas de gesto
do conhecimento (GC). organizacional, a GC tem sido entendida sob a forma de
Novas informaes, comunicao e tecnologias computa- diferentes estratgias, a partir das quais as organizaes
cionais esto mudando fundamentalmente a organizao e lidam com o conhecimento, interna e externamente, para
o contedo de trabalho, enfatizando que pelos menos para obter vantagens competitivas.
alguns membros da sociedade, carreiras de trabalho de A GC pode ser sintetizada como um processo articulado e
longa vida esto se tornando um mosaico, onde o trabalho intencional, destinado a sustentar ou promover o desempenho
produtivo, o aprendizado e o desenvolvimento de compe- global de uma organizao, tendo como base a criao e a
tncia so inseparveis. circulao de conhecimento.
Esse quadro de integrao do trabalho produtivo, apren- Existe uma forte tendncia em correlacionar a GC com
dizado e competncias, gera para a organizao vantagens desempenho organizacional em sentido amplo, o que tem
competitivas e oportunidades de melhorar a estratgia em- sido comprovado em diversas pesquisas realizadas com
presarial e a integrao entre a GC e TI aparece como um mtodos diferentes, junto a empresas de distintos perfis,
imperativo para atender esses requisitos que so importantes portes e locais. Trs estudos recentes a esse respeito feitos
para toda empresa. Contudo, essa integrao extremamente por amostragem quantitativamente significativa, detalhan-
complexa, pois envolve tanto a gesto de ativos intangveis do as relaes entre GC, TI e desempenho organizacional,
de diferentes naturezas pessoas, conhecimentos tcitos, apontam-nas como positivas.
explcitos, individuais, organizacionais e de redes quanto co- O primeiro desses estudos descreve como empresas alems
nhecimentos estruturais, que servem de base tecnolgica para utilizam a GC. Este estudo investigou o estado-da-arte dos
estocagem, para melhoria e para o fluxo dos bens intangveis, sistemas de gesto do conhecimento (Knowledge Management
e sistemas de informao com aplicativos que possibilitem o System KMS) utilizados nas 500 maiores firmas da Alemanha
aumento da interao entre pessoas nos ambientes interno e e nas 50 mais importantes companhias dos setores bancrio e
externo, agregando fornecedores e clientes cadeia de valor de seguros do pas, sendo que para esse estudo foram envia-
das organizaes. dos questionrios, que revelaram que a GC, embora parea
Diante dessa complexidade, a TI tem se tornado o centro absorver todos os tipos de abordagens tericas e prticas,
nervoso das empresas, um fator estratgico de competitivi- muitas vezes no leva em considerao o valor estratgico ou
dade e sobrevivncia. Embora essa afirmao esteja correta, de negcios. Sendo assim, os autores concluram que os es-
as empresas precisam ter precauo para que no cometa o foros de GC das organizaes respondentes, em mdia, ainda
erro de considerar a TI, em si, como a soluo para o sucesso tm elementos para ir at os mais avanados benefcios que
das organizaes. Algumas organizaes, equivocadamente, podem ser colhidos, e concluram tambm que a (...) GC, na
presumiram que a tecnologia poderia substituir a qualifica- prtica, parece ser um esforo que compreende todos os tipos
o e o julgamento de um trabalhador humano experiente, de atividades, medidas e tecnologias.
o que se tem revelado falso. A informao se movimenta As estratgias de GC so afetadas pelo uso de tecnologias de
pelas organizaes por redes hard e soft. As redes hard tm informao e comunicao que influenciam todos os nveis
uma infraestrutura definida, formada por fios, utilitrios de de interveno. A cultura corporativa subjacente, a estrutura
entrega, antenas parablicas, centrais de correio, endereos, organizacional, as funes e processos, classificados como
caixas postais eletrnicas, etc.. Envolvem conhecimento es- tecnologias que suportam a GC permitem inferir que as
truturado, qualificaes tcnicas e experincia profissional. tecnologias de informao utilizadas so, de alguma forma e
J as redes soft so menos formais e visveis; so circuns- em alguns casos, confundidas com estratgias de GC ou que
tanciais; envolvem um claro senso dos aspectos culturais, estratgias tm dimenso secundria como aes integrativas
polticos e pessoais do conhecimento e da transferncia do em um sistema de GC.

Edio 63 - Engenharia de Software Magazine 33


O segundo estudo analisa as relaes entre GC e estratgia, Impactos da tecnologia na gesto de conhecimento
GC e gesto de competncias e GC e resultados, em 99 empre- A TI tem papel importante na gesto do conhecimento como
sas brasileiras a partir de um amplo referencial terico. Entre habilitadora de processos de negcios que visam criar, arma-
os 16 conceitos de GC revisados pela autora, a maioria traduz zenar, disseminar e aplicar conhecimento.
a expresso como processos, fluxos ou redes de valor, para A tecnologia, se bem aplicada, pode ser uma valiosa habi-
que as empresas possam chegar a uma posio superior em litadora aos objetivos da gesto do conhecimento. Pode-se
relao concorrncia. Ela adotou o conceito de Wegmann dizer que a finalidade de uma ferramenta tecnolgica de
(1997), que considera a GC como um processo contnuo, re- apoio gesto do conhecimento no , por si s, gerenciar
lacionado criao de valor em uma cadeia de produo, o conhecimento, mas facilitar a implementao das atividades
que segundo esse autor, confere-lhe dinamicidade. ou processos do conhecimento, tais como, criar ou adquirir
Entre as principais concluses deste estudo, destaca-se que conhecimento, armazenar, utilizar, compartilhar, etc. As
em muitas organizaes as iniciativas para a GC parecem tecnologias podem ser usadas para capturar conhecimento
iniciativas isoladas de reas funcionais, no sendo raro tcito, acelerar e facilitar comunicaes, conectar pessoas,
observar esforos de departamento de recursos humanos clarificar suposies, construir e catalogar ideias e sugestes;
ou de tecnologia da informao tentando desenvolver ou e, em outros casos, podem tambm automatizar certos tipos
implementar projetos de GC, ou seja, a cpula da maior de trabalhos do conhecimento. Mas, de forma geral, o papel da
parte das empresas ainda no apoia as iniciativas de GC, tecnologia puramente habilitador, sendo sempre de respon-
nem tampouco os empregados compreendem o que significa sabilidade dos gestores definirem e gerenciarem as atividades
GC. Acrescenta ainda que a potencial contribuio da TI no de conhecimento.
chega a ser um destaque, e restringe-se ao desenvolvimento A informao uma das ferramentas para transferncia do
e uso dos registros dos ativos intelectuais e dos sistemas conhecimento que pode ser associada a um software para
de processamento. A autora concluiu que (...) as empresas gerenciamento destas informaes. Os softwares destinados
brasileiras ainda possuem poucas prticas que relacionam a transferncia do conhecimento devem ter filtros, que identifi-
gesto do conhecimento estratgia empresarial, gesto de quem seus usurios atravs das senhas de acesso, liberando ou
competncias e de resultado.... Inferiu tambm que essas no, certas informaes, de acordo com o perfil de cada cargo.
empresas no enfrentaram obstculos que se impem Este filtro chamado de colaboradora ou social. Outro filtro
implementao da GC. o psicolgico, onde o software identifica o usurio atravs de
O terceiro estudo teve como objetivo verificar at que ponto seu perfil. E por ltimo o filtro adaptativo, onde o software
as organizaes adotam prticas de GC positivamente rela- capaz de aprender de acordo com o perfil e preferncias
cionadas com desempenho organizacional e se desempenho dos usurios.
organizacional , em troca, positivamente relacionado a de- Para desenvolver um programa que facilite o acesso a in-
sempenho financeiro. Foi elaborado um quadro com 12 pr- formaes, deve-se considerar a importncia da organizao,
ticas de GC, a partir de 30 pesquisas anteriores, que tambm e da formao de uma equipe composta por tecnlogos,
relacionaram GC com desempenho organizacional. Pode-se especialistas em informao e gerentes do conhecimento,
afirmar que a base conceitual dos autores est assentada como tambm as consultorias que vendem tecnologias. Estas
em uma reviso bibliogrfica que permite identificar, com equipes trabalharo com usurios chaves do sistema, colhendo
expressivo grau de profundidade, os problemas associados as informaes necessrias para desenvolver o perfil de cada
implantao das estratgias de GC. Tambm foi elaborado colaborador que ir utilizar o programa. A mente humana a
um questionrio para estudar as relaes entre GC e desem- fonte de dados para alimentar um sistema, portanto as pessoas
penho organizacional em empresas do Canad e Estados que mais detm as informaes so aquelas interessantes no
Unidos. Com base nos resultados obtidos, concluram que a projeto de gesto do conhecimento, representando um elo entre
GC deixou de ser um conceito emergente para tornar-se uma a tecnologia e o indivduo.
funo comum nas organizaes. Mesmo assim, indicam que Assim, podemos entender que os sistemas de informao
na prtica ainda h problemas a resolver. Mencionam que podem promover aprendizagem organizacional capturando,
a cultura talvez seja o fator mais influente na promoo ou codificando e distribuindo tanto o conhecimento explcito
inibio de prticas de GC. quanto o tcito. Tendo a informao sido coletada e organi-
A partir desses estudos foi confirmado o vnculo entre GC e zada em um sistema, pode ser utilizado muitas vezes, o que
desempenho organizacional, j referido por pesquisas quanti- possibilita a preservao do conhecimento como memria
tativas e qualitativas, e certa relao positiva, ainda que fraca, organizacional.
entre desempenho organizacional e desempenho financeiro. dentro deste contexto que surge o Knowledge Manage-
As prticas de GC esto diretamente relacionadas a vrias ment Systems (KMS), entendido como o Sistema de Gesto
medidas intermedirias de desempenho organizacional estra- do Conhecimento (SGC). A literatura caracteriza o KMS como
tgico (proximidade do consumidor, liderana em produto e sendo uma maneira mais eficiente e sistemtica de gerenciar
excelncia operacional) e essas medidas intermedirias esto conhecimento, que envolve a utilizao de tecnologia de in-
associadas ao desempenho financeiro. formao e outros recursos organizacionais para gerenciar o

34 Engenharia de Software Magazine - A gesto de conhecimento e a TI


agilidade

conhecimento estrategicamente. Dos anos 90 at os dias atuais, gesto do conhecimento, tipo de conhecimento e rea de
a evoluo e a disseminao da internet e das intranets tm origem dos conceitos. A funcionalidade essencial a carac-
concentrado as principais aplicaes da TI para a gesto do terstica principal da ferramenta, dando assim o nome para
conhecimento. Esta evoluo traz novas funcionalidades, o a categoria. O processo da gesto do conhecimento refere-se
que veio a facilitar sua interatividade tanto para uso individual a um ou mais de um dos processos de gerao, codificao
quanto em grupo. Exemplos dessa integrao so as ferramen- e transferncia. O tipo de conhecimento indica para qual
tas de apoio de trabalho em grupo, suportadas por mecanismos conhecimento (explcito, tcito ou ambos) a ferramenta tra-
de gerenciamento de documentos eletrnicos, ferramentas de balha. A rea de origem dos conceitos refere-se aos campos
navegao inteligente na internet, etc. de conhecimento implementados na categoria da ferramenta.
Os recursos de TI facilitam o trabalho em rede, podendo Assim, classifica as ferramentas de gesto do conhecimento
manter os conhecimentos descentralizados junto aos locais em seis categorias principais: ferramentas voltadas para a
em que so mais gerados e/ou utilizados, melhorando o grau e intranet, sistemas de gerenciamento eletrnico de documen-
interatividade do usurio com os registros de conhecimentos. tos, sistemas de groupware, sistemas de workflow, sistemas
Contudo, para a efetividade da TI para a gesto do conhecimen- de mapas do conhecimento (data warehousing) e sistemas
to, esta dever ser empregada utilizando-se a interatividade para descoberta de conhecimento em bases de dados (data
dos sistemas com a atividade humana. mining). Estas ferramentas pretendem auxiliar no processo
O emprego de sistemas/tecnologias de informao na de gerao, codificao e transferncia do conhecimento de
empresa deve ser condicionado s definies e escolhas da grupos de indivduos, disponibilizando este conhecimento
estrutura organizacional e no o contrrio, cabendo a estes para toda a instituio. Observe a Tabela 1.
o papel de facilitadores, contribuindo com o tratamento e
transmisso do conhecimento. A utilizao de TI focalizada Benefcios da gesto de conhecimento na engenharia
na internet/intranets para a GC representa tambm a adoo de software
de uma tecnologia base de padres abertos e universais, o A engenharia de software uma atividade orientada ao
que facilita a integrao com outros sistemas internos ou conhecimento e envolve vrias pessoas trabalhando em dife-
externos empresa, resultando em uma tendncia recente rentes fases e atividades. O conhecimento na engenharia de
que a formao de portais com o objetivo de centralizar software disperso, de proporo imensa e de crescimento
o acesso intranet da empresa e a sites relacionados ou de contnuo. Algumas necessidades de conhecimento de orga-
interesse da empresa na internet. nizaes ligadas ao desenvolvimento de software so:
As intranets corporativas, bem como outros sistemas alm do 1. Aquisio de conhecimento sobre novas tecnologias: a
ERP, podem permitir o gerenciamento dos contedos de conhe- necessidade de monitorao do ambiente em busca de novas
cimentos da empresa. Porm, uma importante parte da soluo, tecnologias constante nas organizaes que desenvolvem
para que estes sistemas funcionem, passa por se estabelecer software;
muito bem quais so os processos-chave e os principais papis 2. Acesso a novos domnios de conhecimento: o desenvol-
e fluxos de trabalho (workflow) dentro desses processos. vimento de software no envolve s conhecimento sobre o
O papel principal da TI na gesto do conhecimento ampliar software ou as tecnologias relacionadas. Envolve tambm o
o alcance e acelerar a velocidade de transferncia do conheci- domnio do conhecimento do campo para o qual o software
mento. Contudo, a TI fornece apenas a infraestrutura para as est sendo desenvolvido como, por exemplo, conhecimento
atividades de gesto do conhecimento. Uma ferramenta de GC mdico no caso de um software para a rea de medicina;
pode ser definida como sendo um tipo especfico de software 3. Compartilhamento do conhecimento sobre polticas e
que oferece suporte a, pelo menos, uma das atividades de prticas institucionais: novos membros de uma organi-
gerao, codificao ou transferncia de conhecimento. zao precisam conhecer sobre a cultura da organizao,
A tipologia das ferramentas de GC pode ser baseada em assim como a infraestrutura de trabalho e as prticas
quatro parmetros: funcionalidade essencial, processo da institucionais;

Categoria Processos Tipo(s) de Conhecimento reas de Origem


Ferramentas voltadas para a Intranet Codificao e transferncia Explcito e tcito Redes de computadores
Sistemas de gerenciamento eletrnico de documentos Codificao e transferncia Explcito Cincia da informao
Sistemas de groupware Gerao, codificao e transferncia. Explcito e tcito CSCW (Trabalho cooperativo apoiado por computador)
Sistemas de workflow Codificao e transferncia Explcito e tcito Organizao e mtodos
Sistemas de mapas do conhecimento Gerao, codificao e transferncia. Explcito e tcito Cincia da informao e gesto do conhecimento
Estatstica e
Sistemas para descoberta de conhecimento em bases de dados Gerao, codificao e transferncia. Explcito
Inteligncia artificial

Tabela 1. Parmetros de Gesto do Conhecimento

Edio 63 - Engenharia de Software Magazine 35


4. Captura de conhecimento e saber quem faz o qu: o indi- experincia, incluindo lies aprendidas, dados de projetos,
vduo o ponto chave para o sucesso de qualquer projeto de relatrios e explicitam estas experincias atravs da criao
engenharia de software. Saber o tipo de conhecimento pos- de repositrios.
sudo por cada empregado indispensvel na criao de uma A fbrica de experincia agrega valor ao conhecimento
estratgia que previna o desaparecimento de conhecimentos atravs da criao de modelos baseados em documentos ou
valiosos; indivduos. As atividades de externalizao e internalizao
5. Colaborao e compartilhamento do conhecimento: a cola- so integradas de modo que a equipe do projeto trabalha
borao est relacionada com a troca mtua de conhecimento. em harmonia com a fbrica de experincia. A implantao
Membros de uma equipe de desenvolvimento de software da OFE envolve mudanas culturais na organizao, devido
precisam de um meio de colaborao e troca de conhecimento criao de equipes e processos distintos de trabalho. A
independente de tempo e espao. essncia da OFE no a experincia e sim o novo conheci-
mento gerado a partir da experincia.
A gesto do conhecimento requer esforo e alocao de Na pesquisa de DINGOSOYR, metade das instituies con-
recursos. No modelo chamado de A Organizao Fbrica sultadas utiliza alguma implementao semelhante OFE.
de Experincia, no so os desenvolvedores que externa- Esta pesquisa observa a presena de estratgias de gesto
lizam o conhecimento e sim uma equipe dedicada a esta de conhecimento como personalizao e codificao em
finalidade. O conceito base da Organizao Fbrica de todas as instituies pesquisadas. Observa-se a utilizao
Experincia (OFE) que os projetos de desenvolvimento de da estratgia de codificao em prticas como: transfern-
software podem obter melhores resultados se alavancados cia de conhecimento entre projetos no sentido de resolver
por experincias de projetos anteriores. Com cronogramas, problemas; preveno do retrabalho de ter que explicar a
expectativas quanto qualidade e produtividade, e desafios vrias pessoas sobre a mesma soluo tcnica; e melhora
tcnicos, a maioria dos projetos no pode dedicar recursos no ambiente de trabalho dos desenvolvedores atravs de
suficientes para explicitar o conhecimento. Contudo, esta dicas de melhor configurao das ferramentas tcnicas. J a
atividade fica com a equipe chamada de fbrica de expe- estratgica de personalizao mais utilizada em: busca por
rincia. Esta equipe analisa e sintetiza todos os tipos de competncias para solucionar problemas tcnicos; alocao

36 Engenharia de Software Magazine - A gesto de conhecimento e a TI


agilidade

de recursos; e para o desenvolvimento de competncias.


Links e Referncias:
O autor constata, ainda, que diferentes grupos de emprega-
dos utilizam diferentes ferramentas de gesto do conheci- ALBERTIN, A L. (1996). Aumentando as chances de sucesso no desenvolvimen-
mento. Os desenvolvedores demandam por conhecimento to e implementao de sistemas de informaes. Revista de Administrao
mais detalhado enquanto que os outros grupos preferem o de Empresas, So Paulo, v.36, n.3, p.61-69.
conhecimento mais abstrato.
ALAVI, M.; LEIDNER, D. Review: Knowledge management and knowledge
management systems: conceptual foundations and research issues. MIS
Concluso Quarterly, v.25, n. 1, p. 107-136, Mar. 2001.
O conhecimento tem se tornado fundamental na vida
das pessoas. Vivemos em uma era do conhecimento. ALTER, S.: Information Systems: a management perspective. Addison-Wesley
A importncia de realizar uma boa gesto do conhecimento Publishing Co. Massachusetts, 1992.
nas organizaes modernas tem sido cada vez maior. Neste BALARINE, O. F. O. (2002). Gesto da informao: tecnologia da informao
processo, faz-se necessrio compreender os diversos proces- como vantagem competitiva. Revista de Administrao de Empresas ele-
sos e metodologias necessrios gesto do conhecimento. A trnica, So Paulo, v.1, n.1.
tecnologia da informao tm se tornado uma importante http://rae.com.br/eletrnica
ferramenta para otimizao da gesto de conhecimento e
BASILI, V.R., Software Development: A Paradigm for the Future, Procee-
tem auxiliado na implementao dos processos e na meto-
dings. 13th Internacional Computer Software and Applications Conference
dologia de gesto de conhecimento.
(COMPSAC 89) IEEE CS Press, Los Alamitos, California, 1989, p. 471485.
A engenharia de software pode se beneficiar das tcnicas
de gesto de conhecimento. O aprendizado e a utilizao de BENETT, Gordon. Intranets: Como Implantar com Sucesso na sua Empresa.
Organizao de Fbricas de Experincias podem aperfeioar Rio de Janeiro: Campus, 1997.
os processos de construo de softwares melhorando cada BERGER, P. L.; LUCKMANN, T. The social construction of reality. New York:
vez mais a atuao nos projetos de software. Ela tambm Anchor, 1966.
pode se beneficiar pelos diversos produtos de software que
podem ser utilizados para auxiliar na gesto de conhecimen- BEUREN, I.M. (2000). Gerenciamento da informao: um recurso estratgico
to orientado aos projetos de construo de software. no processo de gesto empresarial. 2. ed. So Paulo: Atlas.
Finalmente, importante verificar que, dentro da viso CRUZ, TADEU. Workflow: A Tecnologia que vai Revolucionar Processos. So
de futuro de gesto de conhecimento, a construo de um Paulo: Atlas, 1998.
software orientado integrao dos conceitos de produtos
DAVENPORT, Thomas H.; PRUSAK, Laurence. Conhecimento Empresarial:
orientados gesto de conhecimento uma forte tendncia.
como as organizaes gerenciam o seu capital intelectual. Rio de Janeiro:
O software integrador de conhecimento ser uma tendncia
Campus, 1998.
de futuro para as organizaes e dever ser um desafio para
a tecnologia da informao uma vez que envolve diversos DELPHI GROUP. Enterprise Portals Shape Emerging Business Desktop
conceitos inovadores e desafiantes ao profissional de tec- http://www.delphigroup.com
nologia. Alm disso, os prprios profissionais podero se DINGOSOYR, Torgeir. Knowledge Management in Medium-Sized Software
utilizar dos softwares de integrao para melhoria do pro- Consulting Companies. Trondheim: Norwegian University of Science and
cesso de engenharia de software e otimizao dos resultados Technology. 2002. 256p. (Tese, Doutorado em Cincia da Computao).
nos projetos de software.
DRUCKER, Peter. Desafios Gerenciais para o Sculo XXI. So Paulo: Pio-
neira, 1999.
Voc gostou deste artigo?
DRUCKER, Peter. Sociedade ps-capitalista. So Paulo: Pioneira, 1993.
D seu voto em www.devmedia.com.br/esmag/feedback FALCO, S. D.; BRESCIANI FILHO, E. Gesto do conhecimento. Revista da III
Ajude-nos a manter a qualidade da revista! Jornada de Produo Cientfica das Universidades Catlicas do Centro-Oeste,
Goinia, v. 2, set. 1999.

Edio 63 - Engenharia de Software Magazine 37


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

Gerncia de variabilidades em linhas de


processos
Identificando e representando variabilidades com a abordagem SMartySPEM

Porque esse artigo til:


Neste artigo ser apresentada a abordagem
Edson A. Oliveira Junior SMartySPEM que prope uma formalizao

D
edson@din.uem.br urante o desenvolvimento de para representao de variabilidades em linhas
Professor de Engenharia de Software na produtos de software, a defi- de processo de software definidas com SPEM.
Universidade Estadual de Maring (UEM). nio de processos de software Para isso, o SMartySPEM introduz um mecanis-
Doutor em Cincia da Computao pelo adaptados a determinados ambientes mo baseado na abordagem SMarty para repre-
Instituto de Cincias Matemticas e de
Computao (ICMC) da Universidade de
de produo um importante fator sentar variabilidades em elementos de proces-
So Paulo (USP). Principais temas de pes- para a reduo de custos e melhoria sos definidos pelo SPEM. Esse tema til para
quisa: linha de processo de software, linha da qualidade do produto final. Con- gerentes, arquitetos, estudantes e engenheiros
de produto de software, arquitetura de sequentemente, existe a necessidade de software interessados em aprofundar seus
software e avaliao, mtricas, engenharia de uma rpida e efetiva customizao conhecimentos sobre mtodos e tcnicas para
de software experimental, modelos e me-
tamodelos UML.
de processos de software que englobe gerenciamento de variabilidades em processos
a variedade de cenrios, tecnologias, de software.
culturas e escalas envolvidas em cada
Maicon Giovane Pazin
maiconpazin@gmail.com novo projeto. Dessa forma, fica clara a
Graduado em Informtica pela Universi- necessidade de tcnicas e mecanismos
dade Estadual de Maring. Trabalha com que auxiliem o processo de adaptao de a partir de um conjunto de processos
sistemas para Web, com experincia em processos que atendam a determinados bsicos comuns. Para isso, necessrio
tecnologias como PHP, Javascript, CSS,
domnios de aplicao. Recentemente identificar as similaridades e gerenciar
HTML5 e Java.
diversos trabalhos relacionados a Linhas as variabilidades dos elementos de pro-
de Processo de Software (LPrS) vm cessos, a fim de promover vantagens na
Sandra Ferrari sendo desenvolvidos para auxiliar nessa adoo da abordagem.
sferrari@din.uem.br demanda. Atualmente, o Software & Systems
Professora de Engenharia de Software na Entende-se por LPrS como um fa- Process Engineering Metamodel (SPEM)
Universidade Estadual de Maring (UEM).
mlia de processos com um conjunto a notao padro da OMG para
Doutora em Engenharia de Produo pela
Universidade Federal de Santa Catarina. gerenciado de caractersticas que satis- modelagem de processos de desen-
Principais temas de pesquisa: linha de pro- fazem necessidades especficas de uma volvimento de software e seus com-
duto de software e qualidade de software. organizao e que so desenvolvidos ponentes. Apesar de o SPEM propor

38 Engenharia de Software Magazine - Gerncia de variabilidades em linhas de processos


agilidade

uma maneira para gerenciamento de definidos em seu metamodelo. Esses Linha de processo de software
variabilidades entre seus elementos cones so utilizados para representar Linha de processo de software (LPrS)
de processos, diversos estudos contes- seus esteretipos. A Tabela 1 apresenta refere-se aplicao de tcnicas e princ-
tam esses mecanismos. Neste artigo alguns desses cones, seus respectivos pios de conceitos provenientes de linhas
apresentada a abordagem Stereotype- esteretipos e uma breve descrio. de produto, no contexto de processos de
based Variability Management for SPEM A Figura 1 apresenta o Workflow de software. Seu objetivo fornecer tcnicas
(SMartySPEM) que busca introduzir Anlise do Processo Unificado mode- e mecanismos para:
um novo mecanismo para identificao lado com SPEM. Nesse modelo existem (i) a modelagem de similaridades e va-
e representao de variabilidades em quatro tarefas identificadas: Architectu- riabilidades existentes em uma famlia de
elementos de processos de software ral Analysis, Analyze a Use Case, Analyze processos de software, e
baseados no SPEM. a Class e Analyze a Package. Cada uma (ii) a derivao automtica de processos
dessas tarefas representada por um de software customizados que atendam
Modelagem de Processos de cone do tipo Uso da Tarefa. Associado s necessidades especficas de um deter-
software com SPEM s tarefas existem elementos do tipo minado projeto de desenvolvimento de
O Software and System Process En- Uso do Papel, com o elemento Architect, software.
gineering Metamodel (SPEM) u m responsvel pela conduo da tarefa
metamodelo especificado pela OMG Architectural Analysis. Por fim, elemen- O termo variabilidade em linha de pro-
que suporta a modelagem, apresen- tos do tipo Uso do Produto de Trabalho duto se refere forma como os membros
tao, gerenciamento, intercmbio e definem os artefatos gerados ou consu- de uma famlia de produtos podem se
definio de mtodos e processos de midos nas tarefas associadas. diferenciar entre si. Em uma LPrS, esses
desenvolvimento de software. A espe-
cificao formal da verso 2.0 do SPEM
dividida em duas partes:
O SPEM 2.0 Metamodel, que define todas
as regras de estruturao, especificadas
como um modelo MOF e reutiliza algu-
mas classes fundamentais da UML 2.
Tambm define a notao de diagramas
de processo especficos;
O perfil do SPEM 2.0, que define um
conjunto de esteretipos da UML 2. Tal
definio abrange apenas sua repre-
sentao, tornando-se dependente do
SPEM 2.0 Metamodel para as declaraes
semnticas e de restries.

O SPEM tambm suporta, como um


recurso opcional, um conjunto de co-
nes para representao de elementos Figura 1. Workflow de Anlise do Processo Unificado modelado com SPEM

cone Esteretipo Descrio


Elemento Atividade, que representa um agrupamento de elementos, tais como, outras instncias de Atividades (Activity), Uso de Tarefas (Task Uses), Uso de
Activity
Papis (Role Uses) e Uso de Produtos de Trabalho (Work Product Uses).

TaskUse Elemento Uso da Tarefa (Task Uses), que representa uma Tarefa sendo realizada por um Papel no contexto de uma Atividade.

Step Elemento Passo (Step), que representa um dos passos necessrios para realizar a Tarefa.

WorkProductUse Elemento Uso do Produto de Trabalho (Work Product Uses), que representa um Artefato consumido ou produzido no contexto de uma Atividade especfica.

RoleUse Elemento Uso do Papel (Role Uses), que representa um Papel responsvel por uma ou mais Tarefas especficas.

Tabela 1. Principais cones do SPEM 2.0

Edio 63 - Engenharia de Software Magazine 39


membros podem ser identificados pelos elementos de proces- <<variant>> que representa o conceito de variante. Este
sos que se diferenciam em uma famlia de processos. esteretipo pode ser ainda especializado por quatro outros
Assim como em linhas de produto, LPrS podem conter pontos esteretipos para representar o comportamento das varian-
de variao, os quais so elementos de processo que podem ser tes: <<mandatory>>, <<optional>>, <<alternative_OR>> e
instanciados de diferentes formas, dependendo de uma situa- <<alternative_XOR>>;
o especfica. Para cada ponto de variao, existem elementos <<mandatory>> que representa variantes mandatrias
variantes, os quais so elementos do processo que podem ser ou obrigatrias que devem ser parte de todos os produtos
selecionados para resolver um ponto de variao. derivados de uma linha de produto;
Uma LPrS possui similaridades e variabilidades associadas <<optional>> que representa variantes que podem ser
aos elementos do processo, como atividades, artefatos, papis selecionadas para resolver um ponto de variao ou uma
e aes. Exemplos de variabilidades que podem ser modeladas variabilidade;
em uma LPrS so: (i) para representar um nvel especfico de <<alternative_OR>> que representa variantes em que
modelo de maturidade de processo de software; (ii) para repre- diferentes combinaes podem resolver pontos de variaes
sentar alternativas para o uso de uma determinada tcnica de ou variabilidades;
especificao de requisitos, modelagem do projeto de software <<alternative_XOR>> que representa variantes em que
ou atividades de execuo de testes; (iii) para representar apenas uma dessas pode ser selecionada para resolver um
a escolha de um estilo de documentao da arquitetura do ponto de variao ou uma variabilidade;
software; ou (iv) para representar a escolha de uma especfica <<mutex>> que representa o conceito de restrio de
linguagem de programao. Essas variabilidades representam variantes em linhas de produto. uma relao mutuamente
pontos onde elementos de processos podem ser estendidos exclusiva entre duas variantes. Isso significa que quando um
ou refinados. variante selecionada, outra variante associada no pode ser
Nos ltimos anos, vrios trabalhos tm sido publicados selecionada para um mesmo produto;
explorando a adaptao de conceitos de linhas de produto <<requires>> que representa o conceito em que a seleo
voltadas gerncia de variabilidades em linhas de processo. de uma variante requer a seleo de outra para um mesmo
Esses trabalhos propem tcnicas de modelagem que so produto;
utilizadas para promover uma gesto adequada dessas varia- <<variable>> que indica que um determinado elemento
bilidades e derivao de processos customizados. Entretanto, composto por outros elementos que possuem algum tipo
existem desafios a serem perseguidos j que esses trabalhos de variabilidade como, por exemplo, um componente que
evidenciam que ainda existe a necessidade de estudos mais formado por classes que possuem variabilidade.
empricos e avaliaes de suas propostas.
A Figura 2 ilustra a modelagem UML de casos de uso do Ar-
A abordagem de SMarty para gerencimento de cade Game Marker (AGM) que utiliza a abordagem SMarty para
variabilidade representar as variabilidades do modelo. Nessa modelagem
A UML Stereotype-based Management of Variability (SMarty) possvel identificar dois atores, GamePlayer e GameInstaller,
uma abordagem para gerenciamento de variabilidades em os quais so associados a diferentes casos de uso como o Save
linhas de produto. Essa abordagem composta por um perfil Game, Exit Game e Play Selected Game. Note como os esteretipos
UML, o SMartyProfile, e um processo sistemtico para o ge- definidos pelo SMarty so introduzidos no modelo.
renciamento de variabilidades, o SMartyProcess.
O SMartyProfile contm um conjunto de esteretipos para
representar variabilidade em modelos de linhas de produto. SMartySPEM para gerenciamento de variabilidades LPrS
Basicamente, o SMartyProfile utiliza uma notao padro A abordagem Stereotype-based Variability Management for the
orientada a objetos junto ao seu perfil UML para promover SPEM metamodel (SMartySPEM) tem como objetivo apoiar a
uma extenso da UML, permitindo assim, a representao identificao e representao de variabilidades em elemen-
grfica dos conceitos de variabilidade. O SMartyProcess um tos de processos modelados com SPEM. Adicionalmente, o
processo sistemtico que guia um utilizador na identificao, SMartySPEM tambm busca auxiliar na derivao de pro-
delimitao, representao e rastreabilidade de variabilidades cessos customizados a partir de linhas de processo. Entre-
em modelos de linhas de produto. tanto, o processo de derivao ainda no ocorre de maneira
Os principais conceitos envolvidos no gerenciamento de va- automatizada.
riabilidades em linhas de produto so adotados pelo SMarty. O SMartySPEM composto por um perfil UML, o SMar-
So identificados quatro principais conceitos: variabilidade, tySPEMProfile, e um conjunto de diretrizes que direcionam
ponto de variao, variante e restrio entre variantes. um usurio na identificao e representao de variabili-
Com base nesses conceitos, o SMartyProfile composto pelos dades em modelos baseados no SPEM. A Figura 3 descreve
seguintes esteretipos: as atividades necessrias para a definio de uma LPrS e
<<variationPoint>> que representa o conceito de ponto derivao de processos customizados baseado na abordagem
de variao em linhas de produto; SMartySPEM. Obseve que para a realizao da primeira

40 Engenharia de Software Magazine - Gerncia de variabilidades em linhas de processos


agilidade

atividade nomeada Apply SMarySPEM


Guidelines necessrio ter em mos
artefatos do tipo SPEM-based Process
Models. Esses artefatos so modelados
utilizando o meta-modelo SPEM. O
artefato resultante da execuo da pri-
meira atividade uma LPrS baseada no
SMartySPEM. Nesse momento, a LPrS
j possui todas as variabilidades iden-
tificadas e representadas, o que habilita
a possibilidade de executar a prxima
atividade denominada Resolve Varia-
bilities/Derive Specific Processes. Nessa
atividade, diferentes processos custo-
mizados podem ser derivados a partir
da LPrS previamente modelada. Essa
derivao ocorre resolvendo os pontos
de variao encontrados na LPrS, com
base no projeto ou domnio no qual o
processo derivado ser utilizado.
As diretrizes fornecidas pelo SMar-
tySPEM basicamente direcionam o
processo de identificao de variabili-
Figura 2. Arcade Game Marker modelado utilizando o SMart
dades e a modelagem de elementos de
processos baseado no SPEM, aplicando
esteretipos UML definidos pelo SMar-
tySPEMProfile. Na Figura 4 possvel
visualizar como esses esteretipos do
perfil UML SMartySPEMProfile reali-
zam a extenso de outros esteretipos
do perfil UML do SPEM 2.0. O mesmo
ocorre para as metaclasses da UML.
Dessa forma, possvel aplicar os este-
retipos definidos pelo SMartySPEM
diretamente em elementos UML e ele-
Figura 3. Modelando LPrS e derivando processos customizados baseados na abordagem SMartySPEM
mentos do SPEM.
Os esteretipos definidos pelo SMarty-
SPEMProfile estendem aos seguintes <<variationPoint>> que representa <<alternative_XOR>> que repre-
esteretipos do perfil UML do SPEM: especficos elementos de processo que senta a seleo de apenas um elemento
<<Step>>, <<Activity>>, <<RoleUse>>, variam de acordo com o ambiente; de processo do tipo exclusivo, para
<<TaskUse>> e <<WorkProductUse>>. <<variant>> que representa o concei- resolver um ponto de variao ou
Tais esteretipos representam os ele- to de elementos de processos variantes variabilidade;
mentos Passo, Atividade, Uso do Papel, em LPrS; <<mutex>> que representa o conceito
Uso da Tarefa e Uso do Produto de <<mandatory>> que representa ele- de restrio de variantes com relaciona-
Trabalho respectivamente, os quais so mentos de processos mandatrios que mento mutuamente exclusivo entre dois
utilizados para representar elementos devem estar presentes em qualquer deri- elementos de processo;
de processos em modelos baseados no vao de processo a partir de uma LPrS; <<requires>> que representa o con-
SPEM. Nesse contexto, apenas um con- <<optional>> que representa ele- ceito de variante que ao ser selecionada
junto especfico de metaclasses UML so mentos de processos opcionais que po- implica na seleo de outro elemento
estendidas pelos perfis UML do SPEM e dem ser parte de um processo derivado para um especfico processo;
SMartySPEM. de uma LPrS; <<variable>> que indica que uma
O SMartySPEM formado pelos se- <<alternative_OR>> que representa partio em um diagrama de classes
guintes esteretipos: diferentes combinaes de elementos de contm um conjunto de elementos
<<variability>> que representa o processos do tipo inclusivo, para resolver de proc e s s os com va r iabi l idade s
conceito de variabilidade em LPrS; um ponto de variao ou variabilidade; explcitas.

Edio 63 - Engenharia de Software Magazine 41


O SMartySPEM define o seguinte ponto de variao ou Atividade como D8. elementos variantes que, ao serem
conjunto de diretrizes que auxiliam na uma variante, podem ser marcados com selecionados para fazer parte de um
identificao e representao de varia- <<variable>>; processo, exigem a presena de outro(s)
bilidades em elementos de processos D5. elementos Uso do Papel, Uso da determinado(s) elemento(s) variante(s)
modelados, levando em considerao os Tarefa e Uso do Produto de Trabalho do mesmo tipo, devem ter seus relacio-
esteretipos do SMartySPEMProfile: definidos no SPEM 2.0 podem sugerir namentos de dependncia marcados
D1. elementos DecisionNode em diagra- pontos de variao marcados com <<va- com o esteretipo <<requires>>;
mas de atividade sugerem pontos de va- riationPoint>> j que podem representar D9. elementos variantes mutuamente
riao marcados com <<variationPoint>> elementos passveis de seleo em dife- exclusivos do mesmo tipo para um de-
j que representam explicitamente mlti- rentes processos de software; terminado processo, devem ter seus rela-
plos caminhos para diferentes atividades D6. elementos Uso do Papel, Uso da cionamentos de dependncia marcados
de processos de software; Tarefa, Passo e Uso do Produto de Tra- com o esteretipo <<mutex>>.
D2. elementos Atividade do SPEM 2.0 balho definidos no SPEM 2.0 podem ser
em diagramas de atividade podem ser marcados como variantes obrigatrias A abordagem SMartySPEM prope o
definidos como variantes obrigatrias ou ou opcionais, respectivamente, com mesmo conjunto de cones do meta-modelo
opcionais marcadas, respectivamente, <<mandatory>> e <<optional>>. Isso SPEM conforme apresentado na Tabela 1.
com <<mandatory>> e <<optional>>; ocorre quando esses elementos especia- Entretanto, para cada cone do SPEM, o
D3. elementos Atividade do SPEM 2.0 lizam ou so composies/agregaes de SMartySPEM define diversos cones do
em diagramas de atividade, os quais outros elementos do mesmo tipo; recebem marcaes para identificao
representam fluxos alternativos de D7. elementos Uso do Papel, Uso da de variabilidades. Tais marcaes so:
sada a partir de um DecisionNode su- Tarefa, Passo e Uso do Produto de MDT para elementos mandatrios, OPT
gerem Atividades variantes inclusivas Trabalho definidos no SPEM 2.0 que para elementos opcionais, OR para ele-
(<<alternative_OR>>) ou exclusivas especializam ou so composies/ mentos variantes inclusivos, XOR para
(<<alternative_XOR>>); agregaes de elementos do mesmo elementos variantes exclusivos e VP para
D4. elementos ActivityPartition em tipo marcados com <<variationPoint>>, representar pontos de variao. Essas
diagramas de atividades os quais sugerem elementos variantes inclusivos marcaes so necessrias para melho-
contm elementos com variabilidade (<<alternative_OR>>) ou exclusivos rar a legibilidade de LPrS baseadas no
associada, DecisionNode como um (<<alternative_XOR>>); SMartySPEM.

Exemplo de aplicao do
SMartySPEM
Para ilustrar a aplicao da aborda-
gem SMartySPEM, foi projetada uma
LPrS hipottica baseada no Workflow de
Anlise do Processo Unificado, o qual
passou ainda por uma adaptao para
representar a realizao de atividades
relacionadas ao desenvolvimento base-
ado em componentes.
A Figura 5 apresenta o diagrama de
atividades de uma LPrS baseada no SMar-
tySPEM. As atividades desse modelo so
representadas pelo elemento Atividade
proveniente do SPEM e modificado pela
abordagem SMartySPEM. Dessa forma,
cada elemento do modelo recebe uma
marcao baseada nos esteretipos do
SMartySPEMProfile. Note que a primeira
atividade nomeada Architectural Analysis
est marcada como mandatria, de acor-
do com a diretriz D2. O primeiro decision
node marcado como ponto de variao,
conforme diretriz D1. Associado ao
decision node existe o elemento Analyse
Figura 4. O SMartySPEMProfile e seus esteretipos Type Select o qual informa detalhes como

42 Engenharia de Software Magazine - Gerncia de variabilidades em linhas de processos


agilidade

name, min e max selection e binding time. Os


elementos Analyze a Use Case e Analyze
Interfaces so as variantes associadas ao
ponto de variao Analyse Type Select.
A marcao desses elementos indicam
que so variantes do tipo exclusivas, ou
seja, apenas uma das opes pode ser
selecionada para resolver o ponto de
variao. Note que a atividade Analyze
a Package opcional, conforme diretriz
D2 do SMartySPEM. Sendo assim, essa
atividade poder ser executada opcional-
mente caso a variante Analyze a Use Case
seja selecionada para resolver o ponto de
variao Analyze type Select.
A Figura 6 apresenta a modelagem
da atividade Architectural Analysis,
assim como os elementos de processos
relacionados. Neste modelo, o elemento
Architectural Analysis representa um
ponto de variao com trs variantes Figura 5. LPrS hipottica modelada com SMartySPEM
inclusivas relacionadas. Essas variantes
so: Identifying Obvious Entity Classes,
Identifying Common Special Requirements
e Develop Business Type Model. O elemen-
to Architect associado uma variante
mandatria do tipo Uso do Papel que
identifica o responsvel por realizar a
atividade Architectural Analysis. Outro
ponto de variao encontrado no mode-
lo o elemento nomeado Analysis Class,
o qual representa um dos artefatos
gerados pela atividade e possui trs
variantes inclusivas associadas: Control
Class, Entity Class e Boundary Class.
A partir da LPrS e da atividade Archi-
tectural Analysis apresentadas respecti-
vamente nas Figuras 5 e 6, possvel
derivar diferentes modelos customiza-
dos, de acordo com os critrios de cada
projeto onde esses modelos podem ser
aplicados. Para isso, necessrio resol-
ver os pontos de variao encontrados e
selecionar quais elementos sero parte
do modelo final.
Na Figura 7 apresentado um exemplo
da atividade Architectural Analysis que
foi derivada a partir da LPrS hipottica Figura 6. Atividade Architectural Analysis modelada com SMartySPEM
utilizada para exemplificar a utilizao
da abordagem SMartySPEM neste arti-
go. Note que os elementos mandatrios e Business Type Model no foram sele- Entity Classes foram selecionados.
encontrados na Figura 6 tambm esto cionados durante a derivao da ativi- Da mesma forma, os seguintes elementos
presentes na atividade derivada na dade. Para resolver o ponto de variao foram selecionados para resolver o ponto
Figura 7. Por outro lado, elementos op- Architectural Analysis, os elementos de variao Analysis Class: Entity Class e
cionais como Suplementary Requirements Analysis Packages e Identifying Obvious Boundary Class.

Edio 63 - Engenharia de Software Magazine 43


Links e Referncias:

1. Alegria, J.A.H., Bastarrica, M.C.: Building Software Process Lines with CAS-
PER. In: Proceedings of the International Conference on Software and System
Process. pp. 170-179. IEEE Computer Society, Zurich, Switzerland (2012).

2. Aleixo, F.A., Freire, M.A., Santos, W.C., Kulesza, U.: Automating the Varia-
bility Management, Customization and Deployment of Software Processes:
A Model-Driven Approach. Lecture Notes in Business Information Processing
73(1), 372-387(2011).

3. Armbrust, O., Katahira, M., Miyamoto, Y., Mnch, J., Nakao, H., Ocampo,
A.: Scoping Software Process Lines. Software Process: Improvement and
Practice. Software Process: Improvement and Practice - Examining Process
Design and Change 14(3), 181-197 (2009).
Figura 7. Modelo da atividade Architectural Analysis derivado da LPrS
4. Barreto, A., Duarte, E., Rocha, A.R., Murta, L.: Supporting the Denition
of Software Processes at Consulting Organizations via Software Process
Concluses Lines. In: Proceedings of the International Conference on the Quality of
A abordagem SMartySPEM apresenta um mecanismo para Information and Communications Technology. pp. 15-24. IEEE Computer
gerenciamento de variabilidades em LPrS baseadas no SPEM. Society, Porto, Portugal (2010).
composta pelo SMartyProfile e um conjunto de guias que 5. Bosch, J.: Preface. In: Proceedings of the 2nd Groningen Workshop on Sof-
auxiliam na identificao e representao de variabilidades em tware Variability Management: Software Product Families and Populations.
elementos de processos de software provenientes do SPEM. pp. 1-2. University of Groningen, Groningen, The Netherlands (2004).
O foco principal da abordagem introduzir um mecanismo
6. Fiori, D.R., Gimenes, I.M.S., Maldonado, J.C., Oliveira Junior, E.A.: Variability
para representar precisamente elementos variantes opcionais,
Management in Software Product Line Activity Diagrams. In: International
inclusivos e exclusivos, alm de outras categorias de elementos
Conference on Distributed Multimedia Systems. pp. 89-94 (2012).
que tornam a modelagem de LPrS fcil e efetiva. Dessa forma,
novos mecanismos podem se beneficiar da abordagem para, 7. Jacobson, I., Griss, M.L., Jonsson, P.: Software Reuse: Architecture, Process,
por exemplo, introduzir uma maneira automtica de derivao and Organization for Business Success. Addison-Wesley Professional, Boston,
de processos customizados a partir de uma LPrS baseada no MA, USA (1997).
SMartySPEM. Como exemplo de aplicao da abordagem, 8. Linden, F.J., Schmid, K.v.d., Rommes, E.: Software Product Lines in Action:
foi apresentada uma LPrS hipottica baseada no Workflow The Best Industrial Practice in Product Line Engineering. Springer-Verlag,
de Anlise do Processo Unificado, modificada para suportar New York (2007).
atividades relacionadas ao desenvolvimento de produtos de
9. Oliveira Junior, E.A., Gimenes, I.M.S., Maldonado, J.C.: Systematic Ma-
software baseados em componentes.
nagement of Variability in UML-based Software Product Lines. Journal of
Universal Computer Science 16(17), 2374-2393 (2010).
Voc gostou deste artigo?
10. OMG: Software & Systems Process Engineering Metamodel (SPEM)
http://www.omg.org/spec/SPEM
D seu voto em www.devmedia.com.br/esmag/feedback
Ajude-nos a manter a qualidade da revista!

44 Engenharia de Software Magazine - Gerncia de variabilidades em linhas de processos


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

Introduo ao guia de conhecimento de


anlise de negcio

Porque esse artigo til: cando transformar as necessidades do negcio


O mercado de software vem expandindo para em requisitos estruturados atravs da enge-
diferentes setores, buscando melhorar e agili- nharia de software importante. Em particular,
zar rotinas de trabalho, automatizando o que esta preocupao com a anlise do negcio
antes era manual. Os sistemas comumente so encontrada em diferentes frameworks, como o
carentes de rotinas que possibilitem a gesto BABOK, que um guia que norteia a anlise de
especfica do negcio correspondente devido negcio sugerindo alternativas no processo de
complexidade e a carncia de analistas capaci- anlise, auxiliando analistas na coleta, modela-
tados, o que resulta em processos de negcio gem e validao de requisitos, reduo tempo e
parcialmente automatizados. A busca por alter- custo na execuo de atividades.
nativas geis e produtivas para descobrir o que A discusso deste tema til para organizaes
seu usurio necessita e o que o satisfaz a reali- de pequeno e mdio porte, ou equipes que bus-
dade atual das softhouses, porm a aplicao de cam modelos que lhe auxiliem a estruturar um
Ivnia Ramos dos Santos aes bsicas como o mapeamento do processo processo de anlise. O artigo se aplica tambm a
ivania.ramos.santos@gmail.com de negcio, entrevista a envolvidos, identifica- profissionais que gostariam de conhecer o mode-
Bacharel em Sistemas de Informao pela lo para se especializarem na rea.
o das necessidades e possveis solues, bus-
Faculdade Mater Dei (2008), especialista
em Engenharia de Software pela Faculdade
Mater Dei (2011). Atualmente Gerente de
Servios de TI da empresa AInova., profes-

A
sora na Faculdade Mater Dei, FESC e Sesi/ engenharia de software trata uma dessas partes, uma soluo deve
Senai. Experincia gesto de processos de
de aspectos relacionados ao ser elaborada. Ao combinarmos mto-
qualidade utilizando metodologia MPS.BR.
estabelecimento de processos, dos abrangentes para todas as fases de
mtodos, tcnicas, ferramentas e am- desenvolvimento do software, melhores
Fabio Pereira dos Santos bientes de suporte ao desenvolvimento ferramentas para automatizar esses
fabiosantos@viasoft.com.br de software. Assim como em outras re- mtodos, blocos de construo mais
Tecnlogo em Anlise e desenvolvimento as, em uma abordagem de engenharia de poderosos para a implementao do sof-
de Sistemas pela UTFPR Pato Branco(2013). software, inicialmente o problema a ser tware, melhores tcnicas para garantia
Atualmente Coordenador de Atendimen-
tratado deve ser analisado e decompos- de qualidade do software e uma filosofia
to no ramo de Agronegcios na empresa
VIASOFT to em partes menores, onde para cada de coordenao predominante, controle

Edio 63 - Engenharia de Software Magazine 45


e administrao, podemos conseguir Toronto, Canad, em outubro de 2003, patrocinadora. O modelo constitudo
uma disciplina para o desenvolvimento para apoiar a comunidade de anlise conforme mapa mental apresentado na
do software disciplina esta chamada de negcios atravs das seguintes Figura 1.
engenharia de software. iniciativas: A abordagem do mapa mostra o fra-
Embora o software seja algo essencial, Criao de desenvolvimento de cons- mework composto por tcnicas, compe-
ainda traz consigo muitos problemas cincia e reconhecimento do valor e da tncias, reas de conhecimento e tarefas,
que afligem seu desempenho como o contribuio do analista de negcios; sendo essas sugeridas pelo modelo
custo, muitas vezes alto, a falta de pro- Definio de um Guia para o Corpo de equipe desenvolvedora do trabalho.
dutividade da equipe desenvolvedora, Conhecimento de Anlise de Negcios As tarefas a serem executadas tm sua
demonstrada pelo nmero de erros e (BABOK); ordem sugerida pelo modelo, embora ou-
principalmente o no atendimento das Estabelecimento de um frum para tros fatores permitam uma variao, mas
necessidades do usurio. Esses pontos compartilhamento do conhecimento e cada uma contribui de alguma forma, di-
negativos vm sendo subterfugidos des- contribuio para a profisso de Anlise reta ou indiretamente, para um objetivo
de o incio da histria do software. de Negcios; global definido pelo negcio procurando
A engenharia de software pode ser des- Reconhecimento pblico e certificao um resultado que direcione a soluo do
crita como mtodos e princpios que tm dos praticantes de anlise de negcios problema da forma mais eficaz.
como objetivo chegar a um software de atravs de um programa de certificao
melhor qualidade, que atenda as neces- internacionalmente reconhecido. Anlise de negcio
sidades do usurio, com um custo mais A anlise de negcio um conjunto
baixo, sendo a criao e a utilizao de O guia BABOK contm a descrio de de atividades e tcnicas utilizadas
slidos princpios de engenharia a fim prticas geralmente aceitas no campo da para servir como elo entre as partes
de obter software de maneira econmica, anlise de negcio. Os dados levantados interessadas no produto a ser desen-
que seja confivel e que trabalhe eficien- deixam claro que as tcnicas descritas volvido com objetivo de compreender
temente em mquinas reais. nessa verso so utilizadas pela maio- estrutura, polticas e operaes de uma
Para obter um software com melhor ria dos praticantes. Destacando que o organizao, procurando solues para
qualidade, buscando solues eficientes, guia deve ser interpretado e adaptado que a empresa alcance suas metas. Ela
imprescindvel a aplicao de conceitos conforme situao de sua aplicao, per- pode ser utilizada para compreender
de anlise de negcios, utilizando ele- mitindo a implantao de outras prticas o estudo atual de uma organizao ou
mentos da engenharia de software, em em conjunto. para servir como base na identificao
conjunto com uma ferramenta de anlise Outro propsito do guia definir a pro- de necessidades de negcio, tambm na
de negcio, conforme sugerido pelo Guia fisso do analista de negcio, discutindo definio e validao de requisitos que
BABOK, apresentado a partir de agora. tarefas e habilidades do profissional. atendam as necessidades do negcio,
O BABOK considerado um fra- suas metas e objetivos.
O guia de conhecimento de anlise mework, por descrever tarefas de anlise Analistas de negcio so responsveis
de negcios (BABOK) de negcios que devem ser executadas por analisar informaes repassadas por
O IIBA (Instituto Internacional de no intuito de compreender como uma so- pessoas envolvidas na parte operacional
Anlise de Negcios) foi fundado em luo ir gerar valor para a organizao do processo, sejam colaboradores, clien-
tes ou profissionais de TI (Tecnologia
de Informao). Sendo de responsabili-
dade dos analistas descobrirem as reais
necessidades de cada usurio e buscar
maneiras para facilitar a comunicao
entre as partes interessadas.
Qualquer indivduo pode ser analista
de negcio, independente do cargo, des-
de que seja uma pessoa que desenvolva
tarefas de anlise, ou seja, analistas de
processos, engenheiros, responsveis
pelo produto ou gerentes de produtos.
O analista deve compreender as re-
as de conhecimento, destacando que
esses tendem a executar tarefas de
todas as reas de conhecimento no
processo de forma rpida, iterativa ou
Figura 1. Mapa Mental BABOK simultaneamente.

46 Engenharia de Software Magazine - Introduo ao guia de conhecimento de anlise de negcio


agilidade

reas de conhecimento
reas de conhecimento definem o que
um praticante de anlise de negcios
precisa compreender e as tarefas que se
deve executar em uma sucesso rpida,
iterativa ou simultaneamente.
As reas de conhecimento no repre-
sentam fases em um projeto, mesmo
sendo possvel e permissvel partir das
atividades de anlise corporativa para
as atividades de anlise de requisito e,
ento, para a avaliao e validao da
Soluo, e tratar cada uma como uma
fase distinta em um projeto.
As reas de conhecimento que compe
o BABOK so:
Anlise Corporativa: descreve como
os analistas identificam uma necessi-
dade de negcio, refinam e esclarecem
a necessidade, tambm definem um Figura 2. Relacionamento entre as reas de Conhecimento
escopo de soluo, que pode ser imple-
mentado pelo negcio de forma vivel Gerenciamento e comunicao dos A ordem de execuo das reas de
descrevendo a definio e anlise do requisitos: representa como analistas conhecimento, sugerida pelo BABOK,
problema, estudos de viabilidade e es- gerenciam conflitos, questes e mu- apresentada pela Figura 2.
copo da soluo; danas, no intuito de garantir que as O processo apresentado na Figura 2
Anlise de Requisitos: define como os partes interessadas e o time do projeto inicia com a anlise corporativa, que iden-
analistas priorizam e elaboram os requi- permaneam em acordo com o escopo tifica uma necessidade de negcio e define
sitos das partes interessadas e da soluo, da soluo. Tambm descreve como os um escopo de soluo, o qual pode ser im-
com objetivo de que a equipe de projeto requisitos so comunicados s partes plementado pelo negcio de forma vivel.
implemente a soluo que ir atender as interessadas e como o conhecimento ob- Seguindo para a anlise de requisitos, que
necessidades do solicitante. Envolve an- tido pelo analista de negcios mantido tem como objetivo permitir que a equipe
lise da necessidade, para definir solues para o futuro; de projeto implemente a soluo que ir
que atendam o solicitado, avaliando o Planejamento e monitoramento da atender as necessidades do solicitante, sen-
estado atual do negcio para identificar anlise de negcios: est relacionada do posteriormente realizada a avaliao e
e recomendar melhorias, e a verificao e em como os analistas determinam as validao da Soluo, que descreve como
validao dos requisitos resultantes; atividades necessrias para que seja analistas avaliam as solues propostas
Avaliao e Validao da Soluo: executada uma iniciativa de anlise de para determinar qual se encaixa melhor
detalha como analistas avaliam as so- negcio. Descreve e identifica as partes nas necessidades do negcio identificando
lues propostas para determinar qual interessadas, seleciona as tcnicas e o lacunas e falhas de solues.
se encaixa melhor nas necessidades do processo que ser utilizado para geren- As trs primeiras reas a serem execu-
negcio identificando lacunas e falhas ciar os requisitos e avaliar o progresso tas so apresentadas pela Figura 3.
de solues. Tambm descreve como os do trabalho; A prxima rea a ser abordada, con-
analistas avaliam solues entregues Competncias fundamentais: descre- forme ilustrado pela Figura 4 a de
para ver quo bem atendem neces- vem comportamentos, conhecimentos Elicitao, onde se tornam explcitos os
sidade original para que a solicitante e outras caractersticas que apoiam requisitos, ou seja, garantido que as
possa julgar o desempenho e eficcia o desempenho efetivo da anlise de reais necessidades das partes interessa-
da soluo; negcio. das sero compreendidas. Na sequncia
Elicitao: registra como os analistas temos a rea de Gerenciamento e Comu-
trabalham junto com as partes interes- O guia BABOK no exige que voc nicao de Requisitos.
sadas para identificar e compreender proceda desta forma e ele no deve ser A rea de Gerenciamento e Comunica-
suas necessidades e preocupaes. A imposto como uma metodologia para o de Requisitos aborda como analistas
elicitao garante que as reais neces- a execuo da anlise de negcios. gerenciam conflitos, questes e mudanas,
sidades das partes interessadas sejam As tarefas podem ser executadas em no intuito de garantir que as partes interes-
compreendidas e no somente seus qualquer ordem, contanto que as entra- sadas e o time do projeto permaneam em
desejos explcitos e superficiais; das necessrias estejam disponveis. acordo com o escopo da soluo.

Edio 63 - Engenharia de Software Magazine 47


A fase de Planejamento e Monitora- conhecimentos e outras caractersticas Propsito: Breve descrio da razo
mento da Anlise de Negcios, tambm que apoiam o desempenho efetivo da pela qual a tarefa executada, tambm
apresentada pela Figura 3, tem influncia anlise de negcios. o valor criado por sua execuo.
e tambm influenciada tanto pela pri- Cabe esclarecer que essas reas no Descrio: A tarefa parte fundamen-
meira quanto pela segunda etapa, sendo precisam ser executadas na ordem des- tal do processo e deve ser desempenhada
essa rea a responsvel por determinar crita no guia, pois o modelo no exige como parte do negcio. Cada uma delas
as atividades necessrias para que seja um procedimento padro imposto e sim deve ser executada ao menos uma vez
executada uma iniciativa de anlise de um coerente com as caractersticas da durante o processo, no havendo limite
negcio. Nela se identifica as partes in- organizao, do negcio e da equipe. de quantidade. Porm, cada uma tem sua
teressadas, se seleciona tcnicas a serem prpria caracterstica a qual deve estar
utilizadas e o processo que ser imple- Tarefas detalhada na sua descrio possuindo
mentado, para ento gerenciar os requisi- Cada rea de conhecimento descreve caractersticas claras e permitindo o
tos e avaliar o progresso do trabalho. as tarefas desempenhadas por analistas alcance de resultados na sua sada que
As competncias fundamentais que de negcio para atingir um propsito da gerem valor ao solicitante. Tambm
abrangem todas as reas do modelo rea correspondente, onde cada tarefa importante que seja completa, onde ta-
a rea que descreve comportamentos, apresentada no seguinte formato: refas sucessoras que fazem uso de suas
sadas devem poder ser executadas por
outra pessoa ou grupo.
Entrada: Representa informaes ou
pr-condies necessrias para que uma
tarefa seja iniciada. Pode ser gerada fora
do escopo da anlise de negcios, por
exemplo, no caso da construo de um
software, ou por uma tarefa de anlise
de negcio.
Elementos: O formato e a estrutura des-
sa seo so nicos para cada tarefa. Tal
seo descreve os principais conceitos
que so necessrios para compreender
como executar uma tarefa.
Tcnicas: Proveem informaes adi-
cionais sobre as diferentes maneiras que
uma tarefa pode ser executada, ou ainda,
diferentes formas que uma sada pode
assumir devendo essa estar relacionada
Figura 3. Primeira etapa das reas de conhecimento a pelo menos uma tcnica, como:
- Brainstorming: tcnica dedicada
a produzir um conjunto amplo ou
diverso de opes auxiliando na
resposta a questes especficas como:
Quais opes esto disponveis para
atuar sobre a questo em mos?,
Quais fatores esto impedindo o
grupo de avanar com uma aborda-
gem ou opo? ou O que poderia
estar causando atraso nas ativida-
des?. Essa tcnica funciona atravs
do foco de um tpico ou problema, e
ento, levanta-se vrias solues pos-
sveis para ele. Esta tcnica melhor
aplicada em grupo, por se alimentar
da experincia e criatividade de todos
os seus membros.
- Anlise de regras de negcio: tcni-
Figura 4. Primeira e segunda etapa ca que permite a anlise de polticas e

48 Engenharia de Software Magazine - Introduo ao guia de conhecimento de anlise de negcio


agilidade

regras que direcionam e restringem a organizao e a sua de maneira formal ou informal, atravs de uma conversa com
operao. A poltica de negcio trata-se de uma diretiva no um entrevistado, na qual so feitas perguntas relevantes e as
acionvel que apoia um objetivo do negcio. J a regra de respostas so documentadas.
negcio uma diretiva especfica, acionvel e testvel que Observao: forma de elicitar requisitos atravs da con-
est sob o controle de uma organizao e que apoia uma dio de uma avaliao de ambiente de trabalho da parte
poltica do negcio. Um conjunto de princpios bsicos guia interessada. Esta tcnica apropriada para documentar deta-
o analista de negcios quando so declaradas ou gerencia- lhes sobre processos atuais ou quando o projeto se destina a
das as regras de negcio, as quais devem ser: melhorar ou alterar um processo atual.
- Declaradas em termos apropriados para permitir que Prototipagem: detalha os requisitos da interface dos
especialistas no assunto validem as regras; usurios e as integra com outros requisitos como caso de uso,
- Documentadas independentemente de como elas so cenrios, regras de dados e de negcio. Essa tcnica pode ser
impostas; categorizada de duas formas:
- Declaradas em nvel atmico e em formato declarativo; - Escopo funcional: um prottipo horizontal que modela
- Separadas dos processos que a regra apoia ou restringe; uma viso superficial e abrangente da funcionalidade do
- Mantidas de forma que permita que a organizao mo- sistema. Normalmente no tem qualquer lgica de negcio
nitore e adapte as regras conforme as polticas do negcio rodando por trs da visualizao. Um prottipo vertical
mudam. modela uma fatia profunda e limitada da funcionalidade
Grupos focais: tcnica que permite elicitar ideias e atitudes completa do sistema.
a respeito de um produto, servio ou oportunidade em um - Prottipo: visa detectar e esclarecer rapidamente os
ambiente de grupo interativo. Os participantes compartilham requisitos de interface, utilizando ferramentas simples,
suas impresses, preferncias e necessidades guiadas por um algumas vezes apenas papel e lpis. Como o nome sugere
moderador. tal prottipo usualmente descartado quando o sistema
Entrevistas: abordagem sistemtica projetada para elicitar final desenvolvido. O foco est na funcionalidade que
informaes junto a uma pessoa ou a um grupo de pessoas, no facilmente elicitada por outras tcnicas, que possui

Edio 63 - Engenharia de Software Magazine 49


pontos de vista conflitantes ou que difcil de compreender. A sequncia prtica de aplicao do modelo BABOK deve
As partes interessadas frequentemente consideram a pro- ser determinada pelas caractersticas do negcio e tambm
totipagem como um meio concreto de identificar, descrever da softhouse e do cliente.
e validar suas necessidades de interface.
Anlise de riscos: permite identificar e gerenciar reas de Concluso
incerteza que podem impactar em uma iniciativa, soluo Esse artigo apresentou a metodologia BABOK, que possibilita
ou organizao. Lembrando que um risco descreve uma a identificao de dificuldades e necessidades de organizaes
ocorrncia ou um evento incerto que podem ter um efeito na que pretendem implantar um sistema, bem como apontar
capacidade do analista de negcio, equipe do projeto ou orga- uma possvel soluo atravs de um sistema automatizado
nizao de atingir um objetivo. Riscos podem ser positivos ou gerencial.
negativos. A anlise de riscos envolve uma compreenso dos A importncia das organizaes a se adequarem a um
nveis de tolerncia a risco da organizao, avaliando riscos e novo modelo de trabalho, mais atualizado e coerente com
identificao das respostas. suas caractersticas para posterior automatizao tambm se
Anlise de causa-raiz: tem o propsito de determinar a apresenta fundamental, criando um padro de como devem
fonte implcita do problema. um exame estruturado de uma ser executados os processos, levando em considerao que os
situao para estabelecer as causas-razes e efeitos resultantes usurios comumente demonstraram dificuldades tcnicas na
do problema. Um elemento chave da anlise de causa-raiz rea da informtica e na regra do negcio em questo.
garantir que o pensamento do negcio e processo sejam A utilizao de prottipos umas das tcnicas fundamentais
desafiados. para a compreenso da equipe de desenvolvimento e dos usu-
Pesquisa / Questionrio: meio de elicitar informaes de rios do sistema a ser desenvolvido, permitindo a validao do
muitas pessoas, algumas vezes de forma annima, em um produto com sucesso, o esclarecimento de dvidas de usurios
perodo relativamente curto de tempo. Uma pesquisa pode e comprovao visual de que o produto a ser desenvolvido
coletar informaes sobre clientes, produtos, prticas de tra- facilita as atividades executadas.
balho e atitudes. Uma pesquisa pode tambm ser chamada
de questionrio.
Histrias de usurio: descries breves de funcionalidades Links e Referncias:
que os usurios precisam para que uma soluo atenda a
um objetivo do negcio. uma descrio textual de aes IIBA-International Institute of Business Analysis. Um guia para o Cor-
que a soluo precisa permitir aos usurios. As histrias so po de Conhecimento de Anlise de Negcios (Guia Babok) Verso 2.0.
Toronto,2011.
geralmente sentenas que descrevem quem usa a histria, a
meta que se est tentando alcanar e quaisquer informaes A Engenharia de Software e a Otimizao dos Resultados organizacionais.
adicionais que possam ser crticas para compreender o escopo www.webartigos.com
da histria.
PFLEEGER, Shari Lawrence. Engenharia de Software, Teoria e Prtica. 2 ed.
Partes interessadas - Cada tarefa possui uma ou mais partes
Pearson, 2004.
interessadas que tendem a participar da execuo daquela
tarefa. Representa uma classe de pessoas que provavelmente PREESMANN, Roger S. Engenharia de Software. So Paulo. Makron
o analista de negcios ir interagir de alguma forma. Qualquer Books, 1995.
parte interessada pode ser uma fonte de requisitos, suposies YIN, Roberto K. Estudo de caso: planejamento e mtodos. 2 Ed. Porto Alegre.
ou restries. Editora: Bookmam. 2001.
Sada - Resultado necessrio do trabalho descrito na tarefa.
As sadas so criadas, transformadas ou mudam de estado
como resultado bem sucedido de uma tarefa. Uma sada pode Voc gostou deste artigo?
ser uma entrega, ou parte de uma entrega maior (uma tarefa
pode ter mais de uma sada). D seu voto em www.devmedia.com.br/esmag/feedback
Ajude-nos a manter a qualidade da revista!
Esse detalhamento das tarefas mostra qual a funo de cada
uma delas, baseando-se no modelo BABOK.

50 Engenharia de Software Magazine - Introduo ao guia de conhecimento de anlise de negcio


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

Automao de testes funcionais para


aplicaes da plataforma Android
Utilizando a ferramenta Robotium

Porque esse artigo til:


Este artigo til quando j se tem certa fami-
liaridade ou interesse no desenvolvimento de

O
s testes de software podem ser aplicaes para a plataforma Android e encon-
Jeanne de Castro Trovo classificados por diferentes tc- tra-se a necessidade de um apoio ferramental
jeanne.trovao@icomp.ufam.edu.br
Mestranda em Informtica e Bacharel em
nicas. No artigo Introduo a para desenvolver e executar testes funcionais
Cincia da Computao pela Universidade Teste de Software, publicado na edio para aplicaes desta plataforma atravs da
Federal do Amazonas (UFAM). Faz parte 1 da Engenharia de Software Magazine, automatizao dos testes. Para isso, o artigo
do Grupo de Pesquisa em Experimentao os autores comentam os tipos de tcnicas ir abordar alguns conceitos sobre testes fun-
e Teste de Software (ExperTS) da UFAM, de teste que podem ser aplicadas em cionais (caixa-preta) e automao de testes. Em
onde participa de projetos de P&D em par-
ceria com o Instituto Nokia de Tecnologia
projetos de software, destacando que seguida, ser discutido o tema de teste de sof-
(INdT), atuando na rea de testes. Possui as os conceitos por trs de tais tcnicas tware de aplicaes para dispositivos mveis e,
certificaes internacionais: ISTQB Certified permanecem inalterados independente por fim, ser apresentado um framework, Ro-
Tester e IREB Certified Professional for Re- da plataforma do software ou paradig- botium, para automao de testes funcionais
quirements Engineering. ma de desenvolvimento aplicado no de aplicaes para a plataforma Android com
projeto. Alm disso, o objetivo principal um exemplo prtico usando um ambiente real
Arilo Claudio Dias Neto destas tcnicas continua a ser o mesmo: de desenvolvimento de software
arilo@icomp.ufam.edu.br revelar falhas durante a execuo de um
Mestre e Doutor em Engenharia de Sis- software.
temas e Computao pela Universidade As tcnicas de teste so classificadas de
Federal do Rio de Janeiro (COPPE/UFRJ).
acordo com a origem das informaes O foco deste artigo discutir a tcnica
Possui 10 anos de experincia na rea
de Engenharia de Software. Atualmente utilizadas para estabelecer os requisitos de Teste Funcional, que se caracteriza
professor do Instituto de Computao de teste. Elas contemplam diferentes como um dos tipos de teste mais im-
da Universidade Federal do Amazonas perspectivas do software e impe-se portantes para a deteco de defeitos e,
(IComp/UFAM). Lidera o Grupo de Pesquisa a necessidade de se estabelecer uma consequentemente, a garantia da quali-
em Experimentao e Teste de Software
estratgia de teste que contemple as dade em um software, pois ele verifica
(ExperTS) da UFAM. Possui o certificado
de Implementador do Modelo MR-MPS. vantagens e os aspectos complementares cada funcionalidade especificada pelos
Possui a certificao internacional ISTQB dessas tcnicas. As tcnicas existentes requisitos do software, observando seu
Certified Tester. so: tcnica funcional e estrutural. comportamento e resultado para avaliar

Edio 63 - Engenharia de Software Magazine 51


se ela est executando conforme o esperado. Ao longo do artigo manualmente. Uma vez que os testes foram automatizados,
ser discutida a aplicao de uma tcnica de teste funcional eles podem ser executados rapidamente, logicamente que
por meio de uma ferramenta de automao em um aplicativo proporcionalmente quantidade de casos de teste a serem
desenvolvido para uma plataforma de dispositivos mveis. executados. Como sua principal vantagem, este representa,
Para aplicar a tcnica de teste funcional, devem ser criados na maioria dos casos, o mtodo de teste com custo mais efeti-
vrios cenrios visando testar as diferentes possibilidades de vo para produtos que possuem uma longa vida, com muitas
uso para uma funcionalidade atravs de possveis entradas manutenes, pois pequenas modificaes em certas partes
para o sistema com resultados esperados j conhecidos. Para do software ao longo de sua vida podem fazer com que outras
cada entrada e resultado esperado definido, executamos o teste partes do software que estariam funcionando anteriormente
e comparamos o resultado para saber se o sistema atingiu ou deixem de funcionar. Neste cenrio, existem duas abordagens
no o resultado ou comportamento esperado, em outras pala- gerais para automao dos testes: os testes dirigidos a cdigo e
vras, saber se o teste passou ou falhou. os testes de interface. Este artigo possui como foco a aplicao
O sucesso do teste funcional influenciado pela cobertura dos de automao de testes de interface.
testes, ou seja, quanto maior o nmero de entradas testadas, Os testes de interface consistem na avaliao de um software
maior ser a confiabilidade no software. No entanto, quase a partir da interao com sua interface grfica, por meio de
impraticvel, ou invivel, testar todas as possveis entradas de eventos como digitao de teclas ou cliques do mouse, onde
um sistema (como por exemplo, quando o nmero de entradas so observadas as mudanas que ocorrem na interface do
corresponde ao conjunto de nmeros naturais). Para resolver usurio e se estas atendem aos resultados esperados aps
isso, existem critrios de gerao de testes para a tcnica de cada evento realizado no software. Assim, podemos validar
teste funcional que ajudam a encontrar um subconjunto de se o comportamento observado do software aps tais eventos
testes que diminuem o esforo de teste, mas no diminuem esto corretos.
a confiabilidade do mesmo. Alguns exemplos de tcnicas co- Muitas ferramentas de automao provm funcionalidades
nhecidas so: particionamento por classes de equivalncia e de gravar a execuo de um software e rodar esta gravao
a anlise do valor limite. Mais uma vez, o artigo Introduo que permitem aos usurios interativamente filmar as aes
a Teste de Software, publicado na edio 1 da ESM, contm do usurio e repeti-la quantas vezes quiser, comparando os
detalhes sobre estes critrios de gerao de testes funcionais. resultados e comportamentos obtidos com aqueles esperados.
A vantagem desta abordagem, chamadacapture-replay, que
Automao de testes ela requer pouco ou nenhum desenvolvimento de software.
Mesmo com a ajuda de tcnicas que ajudam a diminuir o Nesta abordagem, uma ferramenta de teste grava as entradas
esforo de teste, quando se trata de sistemas mais complexos, a de teste como se estivesse sendo submetido ao software que
execuo de testes funcionais de forma manual pode se tornar est sendo testado. Os casos de entrada armazenados podem
um gargalo no cronograma de desenvolvimento do sistema. ento ser usados para reproduzir os testes posteriormente.
O problema se torna ainda maior ao ter que executar o teste Entre as ferramentas disponveis atualmente para realizao
de regresso, onde todos os testes funcionais j executados de testes de interface do tipo capture-replay, uma das mais
anteriormente para antigas verses do software devem ser utilizadas o framework Selenium IDE, que um ambiente
reexecutados para verificar, por exemplo, se uma nova verso implementado como um plugin do Firefox e permite a gra-
do sistema continua estvel ou se algum efeito colateral foi vao, criao, edio e execuo de scripts para testes fun-
observado aps a correo de falhas no software. cionais para aplicaes Web. Ao executar os testes, os scripts
Por este motivo, cada vez mais profissionais da indstria simulam a execuo dos casos de teste no sistema e ao final da
procuram ferramentas que apoiem a automatizao dos tes- execuo, uma barra de status indica se o teste passou ou no.
tes funcionais, na tentativa de diminuir o tempo de criao e A aplicao desta ferramenta em um exemplo prtico foi tema
execuo dos testes. do artigo Automatizando Testes Funcionais em Aplicaes
Automao dos testes consiste no uso de algum apoio com- Web, publicado na edio 24 da ESM. Neste artigo, iremos
putacional, ferramentas, para controlar a execuo dos testes, trabalhar com a aplicao de automao de testes funcionais
a comparao dos resultados e comportamentos obtidos com a para aplicaes desenvolvidas para dispositivos mveis, como
execuo dos testes em relao aos resultados e comportamen- iremos descrever a partir da prxima seo.
tos esperados, a configurao das pr-condies dos testes e
outras atividades do controle dos testes e relato de seus resulta- Testes em aplicaes para dispositivos mveis
dos. Comumente, a automao dos testes envolve automatizar O recente crescimento de dispositivos mveis (aparelhos
um processo manual j estabelecido em uma organizao que celulares, smartphones e tablets) torna-os cada vez mais comuns
utiliza um processo de testes formalizado. no nosso dia-a-dia. Com essa evoluo tecnolgica, surge
Conforme o artigo Automatizando Testes Funcionais em uma grande demanda por aplicaes para esses dispositivos.
Aplicaes Web, publicado na edio 24 da ESM, a automao possvel ter aplicaes dos mais variados tipos que comple-
dos testes um processo de escrever um programa computa- mentam as funes de um sistema para dispositivos mveis
cional para realizar testes que, caso contrrio, seriam feitos e compe um novo mercado que o de venda de aplicativos,

52 Engenharia de Software Magazine - Automao de testes funcionais para aplicaes da plataforma Android
agilidade

as chamadas app stores. Todo ano, milhes de aplicaes so necessidade de disponibiliz-lo rapidamente ao mercado (time-
criadas para esse tipo de plataforma. Estima-se que em 2013 to-market), o que requer um gerenciamento de teste de software
cerca de sete bilhes de downloads de aplicativos mveis especializado para este cenrio. Contextualizando o cenrio
arrecadaro em torno de $4.2 bilhes de dlares somente nos de teste de software para plataformas mveis, observa-se que
Estados Unidos. poucas solues so providas para este cenrio, enquanto que
Com a atual gerao de smartphones e tablets, vrias empre- um nmero mais amplo de alternativas disponibilizado para
sas esto investindo neste mercado e a cada dia milhares de outras plataformas, como Web e Desktop. Assim, solues para
aplicaes so desenvolvidas para as plataformas existentes, o teste de software para a plataforma mvel um grande de-
dentre as quais, a plataforma Android se destaca como a pla- safio que se superado pode trazer grande evoluo e inmeros
taforma de cdigo-fonte aberto mais popular disponvel para benefcios para essa rea.
o desenvolvimento de aplicaes mveis. Para desenvolver Existem alguns obstculos em um contexto de testes baseados
aplicaes Android, existe o ambiente de desenvolvimento em modelos para interfaces de dispositivos mveis, tais como a
padro fornecido pela Google composto pelo popularmente co- preparao e manuteno dos modelos que representam a in-
nhecido ambiente Eclipse IDE, integrado com o Android SDK terface ao longo das mudanas que ocorrem nos projetos, tem-
e com o plugin ADT, que oferecem bibliotecas e ferramentas po necessrio para o aprendizado da tcnica de modelagem,
necessrias para a construo das aplicaes Android e podem dificuldade da equipe em se adaptar a mudanas, dificuldade
ser facilmente instalados e configurados. O desenvolvimento em convencer os usurios das vantagens desta estratgia de
destas aplicaes amplamente influenciado pela Google, teste, falta de apoio ferramental e pessoas qualificadas para esta
possibilitando que qualquer pessoa que saiba programar em estratgia e existncia de outras ferramentas aplicadas a outras
Java, inclusive pessoas de outras empresas, consiga criar seus plataformas que so adaptadas, nem sempre com sucesso,
prprios aplicativos e utiliz-los em qualquer dispositivo que plataforma de dispositivos mveis. Tambm possvel notar
possua a plataforma. que h muito interesse entre os profissionais da rea em rela-
Com essa grande demanda por aplicativos para dispositi- o ao assunto. No entanto, necessrio fazer mais pesquisas
vos mveis, faz-se necessrio cada vez mais o aumento da para tornar o teste de software para plataformas mveis to
produtividade num espao curto de tempo, o que muitas fcil quanto possvel.
vezes pode prejudicar a qualidade do produto final. A cons-
truo de aplicaes de qualidade e que atendam a todas as Robotium Framework de Automao de Teste para
necessidades dos usurios j deixou de ser um diferencial Android
no mercado e tornou-se uma exigncia. Uma das formas de Robotium um framework para criao de testes funcionais
garantir a qualidade destes aplicativos por meio da apli- em aplicaes para dispositivos Android que possibilita a
cao de tcnicas de teste de software. Para a plataforma criao de casos e sutes de teste mostrando o resultado da
Android, por exemplo, no ambiente de desenvolvimento execuo no prprio IDE. Neste, possvel visualizar quais
citado anteriormente possvel realizar testes atravs do os testes que passaram e quais falharam de forma semelhante
framework de teste da prpria plataforma (Android Testing aos testes realizados no ambiente Selenium IDE, citado ante-
Framework). Porm, existem alternativas baseadas neste riormente neste artigo e altamente conhecido na comunidade
framework que facilitam a criao e execuo de scripts de de desenvolvimento de software.
testes funcionais automatizados para Android, e esta a Este framework disponibilizado gratuitamente pelos seus
proposta da ferramenta apresentada a seguir. desenvolvedores (ver endereo na seo Links ao final do
Nos testes de software desenvolvidos para uma plataforma artigo), regularmente atualizado, possui documentao de
mvel, dificuldades adicionais so introduzidas. Uma das prin- suas verses, alm de ser facilmente configurado. Ele possui
cipais dificuldades seria a simulao exata do ambiente onde funes baseadas no framework de testes do Android que
tal software ir funcionar, devido s limitaes de recursos tornam mais fcil a escrita dos casos de teste. O framework
existentes nestes dispositivos e a necessidade de interao do de testes de Android, por sua vez, consiste em uma extenso
aplicativo com os demais servios providos pelo dispositivo, do framework JUnit, bastante conhecido entre os desenvol-
tais como atender chamadas, oscilao de carga da bateria, vedores de aplicaes Java. Outra vantagem, que ele pode
comunicao por redes wi-fi, bluetooth, acesso cmera foto- ser usado para testar tanto aplicaes cujo cdigo-fonte est
grfica, dentre outros, o que no pode ser simulado totalmente disponvel, quanto aplicaes em que apenas o arquivo .apk
pelos emuladores providos para cada plataforma. Assim, (executvel) est disponvel e no se tem acesso aos detalhes
uma alternativa seria a realizao dos testes com o software de sua implementao.
j embarcado no dispositivo. No entanto, h uma limitao de A partir deste ponto iremos apresentar um exemplo da utili-
tcnicas e ferramentas que possibilitam a automao de testes zao do framework Robotium na realizao de testes funcio-
de software nos prprios dispositivos que so o ambiente final nais para um aplicativo simples de calculadora (Figura 1). Esta
do software a ser desenvolvido. aplicao um exemplo disponibilizado pelos desenvolvedores
Outra dificuldade est relacionada ao usual curto tempo des- do Robotium e est disponvel tambm na pgina do Robotium
tinado aos projetos de software para este plataforma devido (ver endereo na seo Links ao final do artigo).

Edio 63 - Engenharia de Software Magazine 53


teste para testar a principal classe da nossa aplicao (Android-
CalculatorActivitity.java).
Em algumas verses anteriores do SDK e do Eclipse, era
possvel criar um projeto de teste no momento em que estava
sendo criado o projeto da aplicao. Na verso que estamos
usando, essa opo no est mais disponvel, ento iremos criar
um projeto de teste para Android desde o comeo.
O primeiro passo clicar no menu File, em seguida New
Other... Na nova janela, expanda a opo Android e selecione
Android Test Project e clique em Next, conforme mostra a
Figura 2.
Na janela a seguir (Figura 3), j que iremos testar a aplicao
Android Calculator, podemos dar ao projeto o nome de Android-
CalculatorTest que deve ser digitado no campo Project Name
e prosseguir clicando em Next.

Figura 1. Tela inicial do aplicativo de calculadora

Configurao do Framework Robotium


Dando incio parte prtica deste artigo, iremos
explicar quais os requisitos necessrios para configurao do
ambiente, e demonstrar como ele pode ser utilizado para apoiar
a construo e execuo de testes funcionais para aplicaes
da plataforma Android.
Para utilizar o Robotium, necessrio inicialmente configu-
rar o ambiente com os seguintes requisitos:
1. Eclipse IDE 3.6.2 (ou superior) instalado com o JDK 6 (ou
superior);
2. Android SDK e Android Development Tools (ADT) instalados
e configurados de acordo com o passo a passo existente na
comunidade de desenvolvedores Android;
3. Criar um Android Virtual Device (AVD) - dispositivo virtual
onde ser feita a simulao da aplicao a ser testada e deve
corresponder verso do Android qual o aplicativo imple-
mentado atende;
4. Criar um Android Project no Eclipse IDE com a aplicao a Figura 2. Janela Select a Wizard para criao do Projeto de Testes
ser testada.

Para quem j desenvolve aplicaes Android, at aqui no h


nenhuma novidade, pois todos os requisitos citados acima j
fazem parte do ambiente de desenvolvimento da plataforma
Android. Atualmente, existe at um pacote chamado ADT
Bundle disponibilizado na pgina da comunidade de desen-
volvedores (veja a sesso de links ao final do artigo) que j
inclui os dois primeiros requisitos listados acima, alm de
outras facilidades que agilizam a configurao do ambiente.
A principal diferena est na biblioteca Robotium.jar (disponvel
na pgina do Robotium referenciada na sesso de links), que
deve ser adicionada build path do projeto da aplicao.

Construo do projeto de teste da aplicao usando


Robotium
Para testar uma aplicao do Android usando Robotium,
preciso primeiramente criar um projeto de teste associado a
esta aplicao, onde iremos adicionar as classes de casos de Figura 3. Janela Create Android Project

54 Engenharia de Software Magazine - Automao de testes funcionais para aplicaes da plataforma Android
agilidade

Na janela Select Test Target (Figura 4) devemos escolher o


projeto ao qual o projeto de teste ser associado. Neste caso,
deve ser selecionado o projeto da nossa aplicao AndroidCal-
culator. Agora podemos finalizar clicando em Finish.
Com o projeto de teste criado, agora precisamos criar os casos
de testes que iro avaliar o aplicativo.

Figura 5. Janela Select a wizard

Figura 4. Janela Select Test Target

Criao dos Casos de Teste


No projeto de teste (AndroidCalculatorTest) que aparece na aba
Package Explorer do Eclipse, clique na pasta src e em seguida
clique com o boto direito no pacote com.calculator.test,
selecione New e em finalmente na opo Others. Na janela
New, expanda a opo Java em seguida JUnit e selecione JUnit
Test Case. Com isso, chegaremos tela da Figura 5 e ento
devemos clicar em Next.
Na janela New JUnit Test Case (Figura 6), digite o nome do
caso de teste no campo Name (o nosso ser CalculatorTest). Em
seguida marque as opes setUp(), tearDown() e constructor.
Estas opes faro com que tais mtodos sejam criados no caso
de teste e eles significam:
setUp: mtodo a ser executado antes da execuo do caso de
teste. til para a configurao de pr-requisitos para o caso
de teste sem interferir em sua execuo. Figura 6. Janela JUnit Test Case
tearDown: mtodo a ser executado aps a execuo do caso
de teste. til para a finalizao de objetos ou qualquer outra
configurao a ser desfeita aps a execuo do caso de teste Antes de criarmos o cdigo do nosso caso de teste, iremos
sem interferir em sua execuo. adicionar o framework da ferramenta Robotium ao ambiente
constructor: mtodo a ser executado no momento da criao Eclipse, que possibilitar a automatizao do nosso teste.
do objeto de teste em questo.
Adicionando o arquivo Robotium.jar ao Eclipse
Em seguida, clique em Finish. A verso do arquivo robotium.jar utilizada neste artigo
Com isso, um novo caso de teste com o nome CalculatorTest. a verso 3.2.1, que pode ser baixada atravs da pgina de
java ser criado dentro do pacote com.calculator.test com os m- downloads no site do Robotium. Para uso do framework
todos citados anteriormente j criados, porm sem contedo, Robotium, precisamos referenci-lo em nosso projeto. Isso pode
conforme mostra a Figura 7. ser feito clicando-se com o boto direito no projeto de teste,

Edio 63 - Engenharia de Software Magazine 55


selecionando Build Path, e ento clicando em Configure Build 2. Digitar os valores a serem multiplicados.
Path. Na janela Properties, devemos clicar na aba Libraries e 3. Acessar e clicar no boto Multiply.
em seguida clique no boto Add External JARs para adicionar 4. Realizar uma assertiva para verificar o resultado da multi-
o arquivo robotium.jar baixado ao projeto (Figura 8). plicao no campo do resultado.
Em seguida, clique na aba Order and Export e marque as
opes Android 2.2, referente verso do Android que o Este cdigo deve ser copiado para a classe CalculatorTest.java
aplicativo implementado atende Android Dependencies e o criada no projeto de teste.
arquivo do Robotium (Figura 9).
Listagem 1. CalculatorTest.java

01 package com.calculator.test;
02
03 import android.test.ActivityInstrumentationTestCase2;
04 import com.calculator.AndroidCalculatorActivity;
05 import com.jayway.android.robotium.solo.Solo;
06
07 public class CalculatorTest extends
ActivityInstrumentationTestCase2<AndroidCalculatorActivity> {
08 private Solo solo;
09
10 public CalculatorTest() {
11 super(com.calculator, AndroidCalculatorActivity.class);
12 }
13 @Override
14 protected void setUp() throws Exception {
Figura 7. Classe de teste CalculatorTest.java 15 super.setUp();
16 solo = new Solo(getInstrumentation(), getActivity());
17 }
18 public void testValues1() { //Primeiro caso de teste
19 solo.enterText(0, 1); //Digita 1 no primeiro editfield
20 solo.enterText(1, 0); //Digita 0 no segundo editfield
21 solo.clickOnButton(Multiply); //Clica no boto Multiply
22 assertTrue(solo.searchText(0)); //Valida o resultado de 1x0
23 }
24 public void testValues2() { //Segundo caso de teste
25 solo.enterText(0, 10); //Digita 10 no primeiro editfield
26 solo.enterText(1, 20); //Digita 20 no segundo editfield
27 solo.clickOnButton(Multiply); //Clica no boto Multiply
28 assertTrue(solo.searchText(200)); //Valida o resultado de 10x20
29 }
30 @Override
Figura 8. Adio do Robotium ao Eclipse 31 protected void tearDown() throws Exception{
32 solo.finishOpenedActivities();
33 }
34 }

Os testes criados neste exemplo so apenas demonstrativos


e cobrem as duas possveis sadas para o sistema (produto
da multiplicao com valor 0 e outro produto com valor
diferente de 0). Cada caso de teste utilizou trs mtodos do
Robotium e um mtodo do framework JUnit, outro conheci-
do framework para testes tambm utilizado pelo framework
de teste nativo do Android. Os mtodos do Robotium uti-
Figura 9. Seleo das classes adicionadas na aba Libraries lizados nos casos de teste foram:
void enterText(android.widget.EditText editText, String text):
simula a entrada de dados em um campo de texto editvel da
Escrevendo o cdigo do caso de teste interface por meio de seus parmetros;
O caso de teste deste exemplo, como pode ser visto na Lis- void clickOnButton(String name): clica no boto cujo nome
tagem 1, ir acessar a aplicao AndroidCalculator e realizar dado por parmetro;
dois testes com valores diferentes, onde cada teste realiza os boolean searchText(String text): funo que procura por uma
seguintes passos: string dada por parmetro na interface do sistema e retorna
1. Chamar/acessar os dois primeiros campos de edio verdadeiro se ao menos um item encontrado na tela do apli-
(EditField). cativo com o texto da string a ser buscada.

56 Engenharia de Software Magazine - Automao de testes funcionais para aplicaes da plataforma Android
agilidade

Em seguida, utilizado o mtodo assertTrue (boolean Os principais mtodos providos pelo framework JUnit
condition), nativo do JUnit para validar se a condio dada (veja na sesso Links) e que so aplicveis no frameowork
por parmetro verdadeira. Caso seja, o teste passa, caso Robotium so:
contrrio, ele falha. assertEquals: verifica se dois nmeros do tipo double ou float
Para cada verso do framework Robotium que atualizada, so iguais em relao a um nmero delta positivo.
tambm disponibilizado um arquivo javadoc onde so lis- assertFalse/True: verifica se uma condio falsa/verdadeira.
tados (dentre outras informaes) os mtodos criados neste assertNull/NotNull: verifica se um objeto (ou no) nulo.
framework e uma breve descrio de cada um deles. Este assertSame/NotSame: verifica se dois objetos se referem (ou
documento pode ser encontrado na seo de downloads na no) ao mesmo objeto.
pgina do Robotium (veja na sesso Links) e pode ser til fail: falha um teste apresentando uma mensagem especificada.
para que os desenvolvedores conheam a abrangncia desta
ferramenta na aplicao de testes funcionais automatizados Executando os testes
para a plataforma Android. Tais mtodos implementam Para executar o teste criado, basta clicar com o boto direito
simulaes de diferentes aes que podem ser realizadas no arquivo CalculatorTest.java, selecionar a opo Run As e fi-
por meio da interface grfica de um aplicativo Android, tais nalmente clicar em Android JUnit Test. necessrio tambm
como preenchimento de dados, clique de botes, seleo selecionar o simulador, previamente criado durante o projeto
de itens em uma lista, tirar uma foto da tela, entre outras da aplicao, e esperar enquanto o teste carregado.
aes. Estes mtodos se assemelham a mtodos providos Ao ser executado com sucesso:
em outros frameworks para testes funcionais a partir de 1. O simulador ir carregar e, caso necessrio, desbloqueie a
interface grfica como, por exemplo, o framework Selenium tela para que a aplicao possa ser executada.
para aplicaes Web, j citado anteriormente. 2. A aplicao AndroidCalculator ir carregar.
Os principais mtodos providos pelo framework Robotium 3. Ele ir automaticamente entrar com os valores configurados
para tratar de testes para aplicaes que rodam em dispositivos nos casos de teste e clicar no boto Multiply (exatamente como
mveis so: nos passos do script).
assertMemoryNotLow: verifica se a memria disponvel no 4. Aps ter executado a assertiva e o resultado for igual ao
considerada baixa pelo sistema. esperado pelo script, ir aparecer uma barra verde no Eclipse
clearEditText: limpa o valor de um EditText. indicando que a execuo foi bem sucedida e que todos os
clickLongOnScreen: longo clique nas coordenadas espe- testes passaram, conforme mostra a Figura 10.
cificadas.
clickOnMenuItem: clica no MenuItem relacionado ao texto Em caso de falha na assertiva, por exemplo, se o valor que foi
indicado. Existem mtodos simulares para elementos do tipo colocado como resultado esperado estiver incorreto, aparecer
edit, image, checkbox, radiobutton, screen, dentre outros. uma barra vermelha no Eclipse indicando a falha. Neste ltimo
drag: simula tocar na tela e arrastar de um local para outro. caso, mesmo que apenas um dos casos de teste tiver falhado e
goBack(): simula pressionar o boto de voltar do dispositivo. os outros passarem, a barra indicar uma falha, porm, acima
hideSoftKeyboard(): oculta o teclado virtual. da barra podemos ver a quantidade de testes que passaram e
pinchToZoom: realiza zoom in ou zoom out. a quantidade dos que no passaram.
scrollDown()/scrollUp(): rola a
tela para baixo/cima.
scrollViewToSide: rola a tela
para o lado especificado.
sleep: pausa o Robotium por
um tempo especificado.
takeScreenshot(): tira uma foto
da tela.
waitForText: espera um deter-
minado texto aparecer na tela.

Alm dos mtodos especfi-


cos do framework Robotium,
podem ser utilizados mtodos
nativos do framework JUnit,
principalmente aqueles que
realizam assertivas para verifi-
cao dos resultados dos testes
funcionais. Figura 10. Resultado da execuo do teste funcional

Edio 63 - Engenharia de Software Magazine 57


Concluso Links e Referncias:
Apesar de o framework de teste nativo do Android j oferecer
inmeras funes e ferramentas que possibilitam a criao Pgina oficial do Robotium
de todo tipo de teste, a complexidade deste framework pode, https://code.google.com/p/robotium/
em alguns casos, tornar a escrita dos casos de teses mais
complicada. Aplicativo Calculadora (Exemplo)
https://robotium.googlecode.com/files/ExampleTestProject_v3.0.zip
Para facilitar o desenvolvimento dos testes, algumas alterna-
tivas tm sido criadas, e o framework Robotium tem sido uma Tutorial de Criao do Aplicativo Calculadora
das mais bem sucedidas j que possvel fazer quase tudo que https://robotium.googlecode.com/files/CreateAndroidSampleApplication.pdf
o framework nativo faz, porm com mtodos que facilitam e
Arquivo javadoc do Robotium com a listagem dos mtodos
tornam a elaborao dos teses muitos mais simples e rpida.
https://robotium.googlecode.com/files/robotium-solo-4.2-javadoc.jar
Ele ainda possui algumas limitaes que outros frameworks
alternativos tentam suprir, mas ainda assim bastante til, Arquivo javadoc do JUnit com a listagem dos mtodos
considerando tambm o suporte que dado pela comunidade http://junit.sourceforge.net/javadoc/org/junit/package-summary.html
de seus desenvolvedores. ADT Bundle
http://developer.android.com/sdk/index.html#

Collins, Eliane F. et. al., Experincia em Automao do Processo de Testes em


Voc gostou deste artigo?
Ambiente gil com SCRUM e ferramentas OpenSource, Simpsio Brasileiro
de Qualidade de Software, 2010.
D seu voto em www.devmedia.com.br/esmag/feedback
Dias-Neto, A. C.; Introduo a Teste de Software. Em: Engenharia de Software
Ajude-nos a manter a qualidade da revista! Magazine, Edio 01,pp. 54-59
http://www.devmedia.com.br/artigo-engenharia-de-software-introducao-a-teste-
de-software/8035

58 Engenharia de Software Magazine - Automao de testes funcionais para aplicaes da plataforma Android
Desenvolvimento
Nesta seo voc encontra artigos voltados para diferentes
abordagens de apoio ao desenvolvimento de projetos de software

Arquiteturas de sistemas Web 3.0


Concepo arquitetural de sistemas concebidos pela Internet e pela
engenharia de software modernas

Porque esse artigo til:


Este artigo relevante para aqueles que ne-
cessitam estruturar uma aplicao preparada

E
m tempos longnquos, a arqui- para funcionar sobre as condies diversas que
tetura de software era basica- a Internet moderna pode ofertar. Na verdade,
mente voltada para os sistemas a utilidade nortear os desenvolvedores para
cliente-servidor, onde uma mquina boas prticas de concepo arquitetural, ao
exercia o papel de cliente requisitante passo que auxilia no entendimento de uma
e a outra mquina o papel de servidor engenharia de software cada vez mais voltada
com a responsabilidade de atender as para novos padres de negcios e tecnologias.
requisies. Deste modo, a arquitetura
cliente-servidor tornou-se padro na
engenharia de software. Atualmente
tal arquitetura ainda muito utilizada A construo de sistemas est cada vez
e, sobretudo, mesclada a outras arqui- mais imersa nas inovaes tecnolgicas,
teturas para atender ao objetivo de um inovaes causadas pelo surgimento
software. de novos negcios, novos frameworks,
A mistura de estilos arquiteturais pos- novas linguagens e novos protocolos
Elaine G. M. de Figueiredo sibilita a existncia de arquiteturas cada que surgem em um intervalo cada vez
mira.figueiredo@gmail.com vez mais heterogneas, onde estilos e menor de tempo. A tendncia tambm
Mestrado em Ciencias da Computano tecnologias diferenciadas formam novas em projetar sistemas que so mais de-
com enfase em engenharia de software,
ps graduao em gerncia de projetos,
verses de representaes arquiteturais. pendentes da Internet, a fim de atender
oito anos de atuao na rea de desen- Contudo, por que as arquiteturas esto aos modelos de negcio mais exigentes,
volvimento e qualidade de software. Atu- to heterogneas? Ao que se baseia essa com regras mais complexas.
almente gerente de projetos na multina- afirmao? Tais questionamentos pode- Neste aspecto o que parece haver
cional espanhola Indra Company, membro ro ser inexistentes ao final da leitura, um cenrio muito favorvel existncia
colaborador do grupo de pesquisa ASSERT
Advanced System and Software Engi-
contudo cabe um simples raciocnio de uma engenharia de software, onde
neering Research Technologies Lab pela no prximo pargrafo que auxiliar no a arquitetura de software est imersa,
universidade federal de Pernambuco. entendimento futuro. e ambas focadas em acompanhar tais

Edio 63 - Engenharia de Software Magazine 59


exigncias e inovaes, bem como a trabalhar com uma Inter- aps adicionar amigos, apenas o envio de mensagem entre
net programvel, caracterizada como uma moderna rede de perfis da rede. Ou seja, o SixDegrees no possua bons recur-
computadores sociveis e interoperveis. sos tecnolgicos para se gerar e utilizar apps na rede social,
o que agregaria funcionalidades interessantes aos usurios,
A Internet como mquina propulsora como: jogos, trocas de vdeos, fotos ou URLs. Apesar dos
A Internet vem alcanando nmeros gigantescos. Como pontos negativos, o SixDegrees foi a primeira rede social a
exemplo, a quantidade de usurios apenas na Amrica Latina possibilitar a criao de um perfil virtual combinado com o
chega a aproximadamente 143 (cento e quarenta e trs) milhes, registro e publicao de contatos, o que viabilizou a criao e
segundo dados do site INTERNET WORLD STATS especiali- navegao dos usurios por outras redes sociais que surgiram
zado em pesquisas estatsticas sobre a internet. Os meios de posteriormente, como o: Friendster, Ryze e Fotolog.
acesso so variados, desde conexo banda larga at telefones Em contrapartida, o Facebook um servio de alta dispo-
celulares com tecnologia 3G. Os servios tambm so diver- nibilidade que oferta desde uma ferramenta de conversao
sos: ferramentas de buscas, blogs, sites empresariais, e-mail, imediata at APIs Java para a reutilizao de seus componentes
ferramentas de comunicao instantnea, comrcio eletrnico, por outras aplicaes, ou seja, ele uma rede social progra-
abreviadores de URL, ferramentas de programao e etc. mvel que qualquer instituio, ou grupo de pessoas, pode
Na Internet as empresas pblicas, privadas e governamen- formar sua prpria rede semelhante ao Facebook, utilizando
tais trocam informaes importantes, vrios paradigmas e para isso apenas a API da prpria rede social. O Facebook for-
tecnologias surgem em prol da Internet, alm das transaes taleceu consideravelmente a popularizao das redes sociais.
bilionrias como, por exemplo, a compra de sites e servios. O trabalho dos usurios com estas redes to forte que uma
Assim, a Internet se caracteriza como um rico instrumento pesquisa estatstica feita pelo ConScore, Inc., mostrou um au-
de comunicao, negcios, transaes, propagandas e ensino. mento de 4% nos acessos das mesmas somente nos primeiros
Sobre o aspecto tecnolgico, o grande feito da Internet foi sua seis meses do ano de 2010.
evoluo. A facilidade em se reprogramar as redes sociais faz com
A Internet evoluiu de uma rede anteriormente classificada que elas compem a Web 3.0 reprogramvel. Entretanto,
como Web 1.0, onde as informaes somente poderiam ser nesta Internet ainda ocorre a proliferao dos Mashups, que
visualizadas, para a rede programvel, a Web 3.0. A Web 3.0 so aplicaes Web constitudas de outras aplicaes. Com os
classificada por meio de dois conceitos distintos. Um deles Mashups possvel ter uma combinao de servios em um
considera a Web 3.0 como uma plataforma de desenvolvimen- nico aplicativo (Benslimane, Dustdar, e Sheth, 2008). Um bom
to de softwares independentes de infraestrutura fsica local, exemplo de Mashups so os sites de imobilirias que inserem
conceito aplicado por Marc Benioff. A outra ideia classifica a o servio do Google Maps para que o usurio possa fazer a
Web 3.0 como a Web Semntica, segundo BERNERS-LEE em localizao do imvel nas ruas da cidade. Vale ressaltar que os
2001. Independente da conceituao, a Web 3.0 mudou defini- Mashups personificam muito bem a comunicao e interao
tivamente o aspecto da Internet, transformando a mesma em entre as aplicaes Web.
algo mais interativo, inteligente e independente. As aplicaes Web 3.0 adicionam um diferencial na Internet,
dentro desta temtica de Internet programvel, ou Web 3.0, inovaes ao seu desenvolvimento e facilidade aos negcios,
que este artigo estabelecer suas bases. Essa Web fez a enge- tudo isto a fim de atender aos modelos de negcio cada vez
nharia de software se transformar procurando acompanhar mais exigentes, com regras mais complexas. Dentro deste con-
tal evoluo da Internet para que os aplicativos construdos texto a Internet desempenha um papel fundamental, alm de
por meio desta, ou para esta, fossem concebidos e estruturados instrumento, passa a ser provocadora de negcios, de inovaes
de forma satisfatria. Isto j configura a questo das inovaes e de junes empresariais.
tecnolgicas citadas na introduo do texto. Por tudo que foi exposto at o momento, pode-se verificar que
atualmente j se vive neste contexto de Web 3.0. Na prxima
Uma nova gerao de aplicativos web seo ser possvel verificar que a engenharia de software
Existe uma nova gerao de aplicativos Web. Isto fica evidente acompanhou tal evoluo da rede mundial, ao mesmo tempo
quando pensamos que os mesmos servios disponibilizados em que ofertar suporte aos desenvolvimentos das aplicaes
pela rede mundial h 10 (dez) anos, agora so disponibilizados Web 3.0.
pela mesma rede com mais completitude e eficincia. Um exem-
plo disto se v na comparao da maior rede social do mundo, Preocupaes de uma Engenharia de Software
o Facebook, tendo mais de setecentos milhes de usurios, com Moderna
o SixDegrees, a primeira rede social do mundo, criada em 1997, As aplicaes Web 3.0 possuem caractersticas interes-
que atingiu o mximo de um milho de usurios. santes, pois elas so elementos absolutamente sociveis, ou
O SixDegrees foi descontinuado no ano de 2000, pois o projeto seja, interagem com a Internet e com os outros sistemas ao
apresentou srios problemas financeiros que foram causados seu redor. Tais aplicaes tambm devem ser independente
pelos poucos acessos feitos pelos usurios. Tais usurios no de qualquer tecnologia, justamente para ter autonomia de
se sentiram atrados pela rede, pois no havia muito que fazer funcionamento sobre qualquer circunstncia. Tais aplicaes

60 Engenharia de Software Magazine - Arquiteturas de sistemas Web 3.0


agilidade

devem saber encontrar os servios que lhe possam ser Arquitetura Cloud Computing
teis na Internet. Outra importante caracterstica de uma A Figura 1 retrata uma das arquiteturas concebidas para o pa-
aplicao Web a capacidade de oferecer seus servios de radigma Cloud Computing. Ela constituda pela camada Cloud
modo que outras aplicaes no necessitem saber, ou se Applications que a mais bsica, trata-se de uma camada de
preocupar com a forma como, quando e onde os servios aplicao onde os usurios finais podem manter seus progra-
foram implementados. mas na nuvem. Nesta camada tambm esto os aplicativos e os
Tendo conhecimento de tais caractersticas, a engenharia de SaaS, todas as aplicaes podem ser adquiridas pelos usurio
software precisa atender as demandas de construo dessas de forma dinmica conforme a necessidade do mesmo. Abaixo
aplicaes Web modernas. Para isso, no entanto, precisa re- desta camada est a camada Cloud Programming, a relao entre
solver problemas clssicos na construo de sistemas, como: elas reside no fato da camada inferior dar suporte camada
manutenes demoradas e crticas; requisitos mal trabalhados; superior, sendo assim, a camada mais baixa Cloud Programming
ausncia de arquitetura; ausncia de uma estratgia de negcio disponibiliza os servios e os recursos para se implementar o
que adapte aplicaes Web resoluo dos problemas, entre software sob demanda.
outros pontos.
Alm das questes supracitadas, a engenharia de software
precisar ofertar solues que viabilizem:
O desenvolvimento de aplicaes interoperveis que esto
cada vez mais entrelaadas e dependentes dos servios umas
das outras;
O desenvolvimento de software sob demanda, pois estes
necessitam de uma arquitetura diferenciada, haja vista, eles se-
jam desligados de um repositrio fsico para armazenamento,
compartilhando tal repositrio com outro software (conceitos
de Software as a Service SaaS, estes no precisam de servidor
fsico, eles so armazenados em servidores virtuais, os chama-
dos Cloud, estes podem comportar vrios SaaS e distribuem os
recursos, como memria por exemplo, entre eles);
O autogerenciamento de sistemas Web que compartilham
atividades com outros sistemas distribudos na rede.

Projetos de aplicaes Web esto suscetveis aos proble- Figura 1. Arquitetura Cloud Computing Fonte: Adaptada da literatura
mas pontuados. Uma vez que os problemas aconteam, Software plataform for.NET-based Cloud Computing
as iniciativas para san-los devem ser precisas e rpidas.
Dependendo da natureza do problema, o projeto pode at
ser descontinuado. Apenas para exemplificar, este foi o caso A Cloud Programming tambm pode ser chamada de
de algumas ferramentas, o Google, no ano de 2009, precisou Middleware User-Level. Nela podem ser desenvolvidos os
cortar gastos, com isso resolveu paralisar o desenvolvimento aplicativos e regulado o suporte ao desenvolvimento. So
de alguns de seus produtos que geravam problemas, entre basicamente ferramentas e ambientes que podem possuir
eles estava o Google Mashups Editor. O mesmo ocorreu interface Web 2.0, recursos de programao distribuda, bi-
com o Microsoft Popfly tambm em 2009. Este caso poderia bliotecas e linguagens de programao, alm de ferramentas
ocorrer a qualquer aplicao Web que contivesse alguns dos para o desenvolvimento de sistemas Mashups. Esta camada
problemas citados. similar a uma PaaS.
Alguns dos maiores problemas relacionados ao desenvolvi- A penltima camada de Middleware Core responsvel pelo
mento de aplicaes Web, os quais a engenharia de software gerenciamento da infraestrutura fsica. Tal camada oferta
deve tratar, so os oriundos da arquitetura. A arquitetura de servios para a manuteno de QoS e SLAs, servios de virtua-
software uma ferramenta que auxilia na descoberta precoce lizao e outros. Todos os recursos dispostos nesta camada so
de problemas que s se manifestam geralmente na codificao acessados pela camada diretamente acima dela, pois somente
da aplicao ou quando a mesma est desenvolvida. assim, o usurio poder usufruir dos recursos, haja vista o
acesso camada Middleware Core seja negado.
Arquiteturas para a Web 3.0 Por fim, a camada de mais baixo nvel a de infraestrutura
Nesta seo sero expostos dois exemplos de arquitetura fsica que contm Data Centers e conjuntos de CPUs, alm de
moderna. Trata-se de uma arquitetura Cloud Computing, que outros recursos de hardware, os quais podem ser agregados
se preocupa em otimizar a disponibilizao e o comparti- ou subtrados com liberdade, oferecendo assim, bastante flexi-
lhamento dos recursos computacionais na Internet. A outra bilidade arquitetura. Estas duas ltimas camadas inferiores
arquitetura abordada ser a das redes sociais. se comportam como IaaS.

Edio 63 - Engenharia de Software Magazine 61


O estilo da arquitetura Cloud Computing abordada tipica- BOX 1. JSON e Rails
mente em Camadas, toda camada tem uma responsabilidade
JSON uma notao JavaScript que possibilita a troca de dados entre mquinas. J o Rails,
distinta, alm disto, os recursos de cada camada podem ser
tambm chamado de Ruby on Rails, ou apenas RoR, um framework de cdigo aberto escrito
reorganizados, pois a prpria vai se readaptando. Deste modo,
na linguagem Ruby. Seu objetivo aumentar a velocidade e a facilidade de desenvolvimento
quando houver necessidade de economia no investimento, e
dos sites.
consequentemente a retirada de uma camada, as outras estaro
preparadas; enquanto isso, o gerenciamento de cada camada
pode ser feito independentemente.
Esse modelo arquitetural, em camadas, pode ofertar solu-
es para a manuteno da aplicao e independncia entre
as partes que a compem, e certamente foi uma necessidade
do negcio adotar tal estilo; tal necessidade s foi verificada
durante o processo da engenharia de software voltado para a
concepo arquitetural.

Arquitetura de redes sociais


Aproveitando que o modelo arquitetural em camadas j foi
comentado na arquitetura anterior, as arquiteturas investiga-
das para as redes sociais so tambm baseadas no estilo ca-
madas. Entretanto, esse estilo arquitetural ostenta formatos
diferenciados que dependem das caractersticas e no apenas
dos requisitos de cada rede. O mesmo formato arquitetural Figura 2. Arquitetura simplificada do Twitter
explorado tanto pelo microblog Twitter quanto pelo Facebook.
No entanto, so abordagens diferentes da mesma arquitetura, A arquitetura do Facebook contm uma camada a mais em
explorando tecnologias diferentes. relao ao Twitter, uma camada dedicada comunicao, pois
Vale salientar que as redes sociais exploradas nessa seo o Facebook trabalha com recursos de mdia mais complexos,
so plataformas programveis. Com elas, possvel criar como fotos e vdeos. Esta rede ainda possui um chat para
novas aplicaes utilizando-se apenas a Internet. A seguir, conversao entre as pessoas conectadas e registradas como
exploremos uma breve sinopse sobre cada rede, com as res- amigos. Por essas caractersticas e outras, o Facebook, que hoje
pectivas tecnologias adotadas e sua arquitetura. O Twitter a maior rede social do mundo, tornou-se tambm um desafio
iniciar a seo. para a escalabilidade.
O Twitter foi aberto ao pblico em meados do ano de 2006, Para prover a escalabilidade, os arquitetos do Facebook usam
alm de ser um microblog ele uma rede social propriamente uma combinao de tecnologias, principalmente softwares
dita e ainda uma ferramenta de Broadcast. A rede, em abril do para escalar, como o Map Reduce para processar e analisar
ano de 2010, segundo seu cofundador Biz Stones, conquistou a grande volume de dados. Utiliza ainda o Varnish como balan-
cifra de 105 milhes de usurios. Abaixo, delineamos algumas ceador de carga e o Haystack para a recuperao de fotos.
caractersticas importantes dessa rede. O Facebook alm de ser a rede social mais notvel da atuali-
O Twitter pode ser acessado via dispositivos mveis. Atual- dade, se caracteriza fortemente por ser uma plataforma para
mente o microblog possui integrao com outras redes sociais. gerao de aplicativos e servios, que disponibiliza uma API e
No ano de 2008, foi incorporado um mecanismo de busca ao possui integrao com plataformas diferenciadas. Apesar dis-
microblog. Outra caracterstica importante do Twitter a sua to, as arquiteturas das duas redes possuem particularidades.
API. Ela oferece, entre outros, a busca de servios que possam O servio de Cloud Computing auxiliou as redes sociais no
ser indexados em aplicaes terceiras. A arquitetura do micro- armazenamento de dados e na disponibilidade de recursos, o
blog ilustrada na Figura 2. que facilitou a escalabilidade. Tanto Facebook quanto Twitter
Na arquitetura Twitter a camada de apresentao trabalha utilizam banco de dados NoSQL. O software Memcached (ver
com os servios dos clientes, algumas tecnologias so em- BOX 2), por sua vez, foi implementado dentro da camada de
pregadas como: JSON e Rails (ver BOX 1), a camada realiza negcio de ambas as redes para melhorar o desempenho, visto
ainda renderizao e caching. Logo abaixo est a camada de que o Memcached armazena a informao em memrias dis-
negcio, trabalhada por meio das linguagens C, Java e Scala. tribudas, recuperando-a mais rapidamente, evitando assim,
Esta ltima favorece a escalabilidade em relao ao crescimento tarefas repetitivas e demoradas de recuperao de informao
do nmero de seguidores. Por ltimo encontra-se a camada de em banco de dados.
dados suportada por bancos de dados no relacionais, os cha- Concluindo esta sesso, vale registrar que a arquitetura
mados NoSQL, que oferecem resilincia e escalabilidade; como do Facebook no foi ilustrada neste captulo, pois no foram
exemplo desses bancos encontra-se o Cassandra e o HBase. Em encontrados materiais que explicassem em detalhes maiores
seguida examinaremos a arquitetura do Facebook. como as camadas de tal arquitetura interagem.

62 Engenharia de Software Magazine - Arquiteturas de sistemas Web 3.0


agilidade

Requisitos Caractersticas e necessidades das aplicaes Web Soluo de atendimento

1. Controle sobre a gerao de eventos;


Reatividade, Infraestrutura, Autonomia, expanso e
Performance 2. Diminuir os elementos intermedirios de comunicao;
Servios
3. Trabalhar bem com a infraestrutura e com a conectividade.

Constncia, Sociabilidade, Reatividade, Infraestrutura, 1. Redundncia: caso um elemento fique indisponvel, a redundncia (outro elemento igual) deve ocupar o seu
Disponibilidade Servios, Colaborao e Comunicao facilitada lugar;
2. Mecanismos que verifiquem e alertem sobre possveis falhas.

1. Elementos arquiteturais que facilitem a manuteno;


2. Separar responsabilidades em camadas;
Sociabilidade,
Modificabilidade 3. Manter a coerncia semntica para facilitar a identificao do elemento arquitetural;
Manuteno facilitada, e Autonomia
4. Isolar funcionalidades que possam ser facilmente alteradas;
5. Inserir elementos intermedirios que diminuam a dependncia.

1. Identificar e trabalhar com as interfaces providas e requeridas;


Interoperabilidade Colaborao, Infraestrutura, Sociabilidade e Conectividade.
2. Trabalhar com padres de interoperabilidade.

Tabela 1. Necessidades e solues arquiteturais de aplicaes web reprogramveis

BOX 2. Memcached Desta maneira a problemtica focada se relaciona seriamente


um sistema de cache de objetos em memria concebido para aumentar a velocidade de com a necessidade de se especificar corretamente sistemas da
aplicaes dinmicas aliviando a carga do banco de dados. Web, neste sentido, a arquitetura que o arcabouo de qualquer
software, faria total diferena.
Toda arquitetura deve ser coerente aos requisitos no funcio-
Os materiais capturados faziam referncia apenas s decises nais. Com isto, na exibio de uma arquitetura, importante
de projeto e tecnologias adotadas. Alis, as arquiteturas das deixar claro quais os requisitos atendidos por elas. A Tabela 1
redes sociais exploradas trabalham mais com questes tecno- exibe outras necessidades e solues (decises de projeto) dos
lgicas. Neste aspecto foi possvel notar que estas arquiteturas principais requisitos no funcionais de uma atual aplicao
se diferem mais em relao s decises de projeto, ou seja, de Web reprogramvel.
quais tecnologias utilizarem.
Para a definio de qualquer arquitetura fundamental de- Concluso
clarar as decises de projetos. Estas esto diretamente ligadas Neste artigo houve a preocupao em mostrar caractersti-
ao design da arquitetura. Assim, os resultados da questo cas que diferenciam os sistemas e, sobretudo, as arquiteturas
sobre as arquiteturas de redes sociais se adaptam mais s contemporneas; mas do que isso mostrou-se brevemente
decises de projeto. solues de projetos arquiteturais ou ainda estratgias que
podem viabilizar a obteno de requisitos fundamentais aos
Necessidades das arquiteturas web sistemas Web atuais.
O processo de concepo de uma arquitetura por vezes Em se tratando de sistemas construdos para a Web e pela
mal executado ou no executado. Um exemplo clssico de Web, a interoperabilidade um ponto preocupante na anlise
problemas com arquitetura, ou projeto arquitetural, foi o caso deste estudo, os elementos arquiteturais devem trabalhar bem
do Twitter (arquitetura aqui j explorada). O micro blog trocou sobre este ponto, arquiteturas orientadas a servios, e adoo
seu banco de dados MySQL pelo Cassandra em virtude do alto de protocolos como REST e SOAP, so iniciativas inteligentes
crescimento da taxa de dados transitados. No momento das que podem gerar resultados produtivos para a colaborao,
decises arquiteturais do Twitter no houve um raciocnio conectividade e sociabilidade.
sobre o crescimento exacerbado do mesmo, com isto optou-se Em se tratando de sistemas construdos pela Web, a Com-
pelo banco de dados errado. putao nas Nuvens, ou Cloud Computing, um ponto de
Uma forte caracterstica da engenharia de software das apli- grande desafio, impulsionando os padres que facilitam a
caes Web atuais especificar e desenvolver aplicaes dis- comunicao e interoperabilidade em plataformas e aplicativos
tribudas e conectveis, aplicando mtodos e tecnologias que nas nuvens, bem como a criao de pacotes de desenvolvimen-
tratem corretamente suas particularidades, no as deixando to SDK que algumas linguagens de programao como Java
vulnerveis aos problemas. A engenharia de software deve e PHP possuem. Uma das arquiteturas exemplificada neste
mensurar ainda na concepo da arquitetura o tratamento de artigo mostra como a arquitetura Cloud organizada para
muitos problemas. prover recursos necessrios criao de sistemas.

Edio 63 - Engenharia de Software Magazine 63


As arquiteturas Cloud Computing tambm podem constituir
Links e Referncias:
um modelo que compartilha recursos fsicos, o que poder
ser um fator de insegurana para alguns sistemas, apesar de Informaes sobre a Web 3.0 reprogramvel
favorecer fortemente o crescimento da aplicao, em virtude http://www.richappsconsulting.com/blog/blog-detail/web-30/
da facilidade dos recursos, ento aqui se tem um ponto de
controvrsia. Artigo sobre a Web 3.0
No contexto de desenvolvimento de sistemas, to importante http://www.zdnet.com/blog/saas/marc-benioff-heralds-web-3-0-at-dreamforce-
quanto o aspecto tecnolgico, o processo de concepo ar- europe/514
quitetural. extremamente relevante conhecer o que se deseja
construir, quais servios so necessrios, onde podem ser Endereo com informaes sobre o desenvolvimento de aplicativos para
o Facebook
encontrados, como ser feita a comunicao e como eles iro
http://developers.facebook.com/
impactar no comportamento do software ou aplicao.
Endereo com informaes sobre o desenvolvimento de aplicativos para
o Twitter
http://apiwiki.twitter.com/
Voc gostou deste artigo? Blog de Silvio Meira. Especialista em inovao tecnolgica
http://terramagazine.terra.com.br/silviomeira/blog
D seu voto em www.devmedia.com.br/esmag/feedback
Ajude-nos a manter a qualidade da revista! PANGEA: Comunidade de arquitetura de software
http://pangeanet.org/

64 Engenharia de Software Magazine - Arquiteturas de sistemas Web 3.0


agilidade

Edio 63 - Engenharia de Software Magazine 65

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