Академический Документы
Профессиональный Документы
Культура Документы
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.
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 ]
Feedback
Artigo no estilo Prtico eu
s
D
sobre e
[ Edson A. Oliveira Junior, Maicon Giovane Pazin e Sandra Ferrari ]
s
ta
Contedo sobre Boas Prticas edio
Nesta seo voc encontra artigos voltados para as prticas e mtodos geis.
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
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.
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?
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
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.
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
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.
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.
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.
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.
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
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.
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
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.
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.
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.
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;
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
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.
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.
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
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!
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
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.
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
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
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).
54 Engenharia de Software Magazine - Automao de testes funcionais para aplicaes da plataforma Android
agilidade
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 }
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.
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
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
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.
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.