Professional Documents
Culture Documents
Mestrado em:
Arquitetura e Urbanismo, Cincias do Envelhecimento, Educao Fsica e Filosofia.
Butant: Av. Vital Brasil, 1000 - Ao lado da futura estao Butant e prxima da estao Pinheiros (CPTM).
Mooca: Rua Taquari, 546 - A poucos minutos da estao Bresser-Mooca. www.usjt.br - Tel.: 11 2799-1972
EDITORIAL
P
Ano 3 - 25 Edio - 2010
Impresso no Brasil
Corpo Editorial
Colaboradores
Rodrigo Oliveira Spnola
rodrigo@sqlmagazine.com.br
Marco Antnio Pereira Arajo
Eduardo Oliveira Spnola
Capa e Diagramao
Romulo Araujo - romulo@devmedia.com.br
Coordenao Geral
Daniella Costa - daniella@devmedia.com.br
Revisor e Supervisor
Thiago Vincenzo - thiago.v.ciancio@devmedia.com.br
Na Web
www.devmedia.com.br/esmag
Apoio
Atendimento ao Leitor
A DevMedia conta com um departamento exclusivo para o atendimento ao leitor.
Se voc tiver algum problema no recebimento do seu exemplar ou precisar de
algum esclarecimento sobre assinaturas, exemplares anteriores, endereo de
bancas de jornal, entre outros, entre em contato com:
Cristiany Queirz Atendimento ao Leitor
www.devmedia.com.br/mancad
(21) 2220-5338
Kaline Dolabella
Gerente de Marketing e Atendimento
kalined@terra.com.br
(21) 2220-5338
Publicidade
Para informaes sobre veiculao de anncio na revista ou no site entre em
contato com:
Kaline Dolabella
publicidade@devmedia.com.br
Caro Leitor
Caro Leitor,
Para esta edio, temos um conjunto de 4 vdeo aulas. Estas vdeo aulas esto disponveis para download no Portal da Engenharia de Software Magazine e certamente traro uma significativa contribuio para seu aprendizado. A lista de aulas
publicadas pode ser vista abaixo:
Tipo: Validao,Verificao & Teste
Ttulo: Teste de Interface
Autor: Arilo Claudio Dias Neto
Mini-Resumo: Esta vdeo aula aborda a aplicao de testes de interface (ou teste
GUI), apresentando sua definio, desafios, estratgias, aplicabilidade e os elementos
que compem o teste de interface. Ao final, apresentado um exemplo de teste de
interface aplicado em uma aplicao do SO Windows.
NDICE
Por trs do obvio
05 - Humanos, Formigas e o Trabalho em Equipe
Glnio Cabral
Engenharia
06 - Natureza do software e a necessidade de princpios e processo
Antonio Mendes da Silva Filho
Agilidade
21 - Da Gesto Governana em Tecnologia da Informao e Comunicao TIC
Alexandre Jos de Oliveira, Cleyverson Pereira Costa e Hermano Perrelli de Moura
Planejamento e Gerncia
32 - Ferramentas para Gerncia de Projetos
Marco Antnio Pereira Arajo , Patrcia Lima Quinto e Jurema Florinda Lembe de Veiga
Desenvolvimento
40 - Reportando de forma simples os resultados dos testes
Daniel Scaldaferri Lages
Feedback
eu
www.devmedia.com.br/esmag/feedback
sobre e
s
Humanos, Formigas e o
Trabalho em Equipe
D
s
gleniocabral@yahoo.com.br
edio
ta
Glnio Cabral
Engenharia
Nesta seo voc encontra artigos voltados para testes, processo,
modelos, documentao, entre outros
Natureza do software
H aproximadamente cinco dcadas atrs, software constitua uma pequena, seno nfima, parcela dos sistemas computacionais quando comparado ao hardware. Naquela poca,
os custos de desenvolvimento e manuteno de software eram
desprezveis. Hoje, porm, software responsvel por significativa poro dos sistemas computacionais. Encontramos
software nas mais diversas aplicaes. No uso domstico,
fazemos uso de processadores de texto e planilhas (como,
por exemplo, Word e Excel da Microsoft). Adicionalmente,
software tem sido um componente importante e muito utilizado em diversos sistemas. Pode-se exemplificar seu uso no
controle e superviso dos sistemas de gerao e distribuio
de energia, bem como em sistemas de telecomunicaes, onde
ele encarregado do controle e roteamento de milhares de
ligaes telefnicas.
Cabe destacar que, hoje em dia, empresas e pessoas tm
conseguido otimizar o tempo de realizao de suas atividades,
geralmente, fazendo uso de sistemas computacionais, isto ,
sistemas onde o computador e, mais especificamente, o software, uma pea essencial.
Software compreende um conjunto de instrues que, quando so executadas em um dispositivo, fornecem funcionalidades a seus usurios com desempenho desejado. Todavia,
o software tem uma caracterstica que o diferencia de outros
produtos, e especificamente do hardware. Hardware um
artefato fsico (geralmente tecnolgico) como, por exemplo,
Engenharia de Software
Antigamente (isto , cerca de quatro dcadas atrs), o
desenvolvimento de software era realizado sem qualquer
planejamento, sem uso de tcnicas, e podemos at dizer que
era desenvolvido por tentativa e erro. Em outras palavras, no
havia qualquer disciplina de engenharia, faltavam mtodos
para o desenvolvimento e havia muitas questes que eram
feitas dcadas atrs para pequenos programas (software), que
ainda podem ser feitas hoje em dia para grandes sistemas computacionais (onde software parte essencial). Essas questes
levantadas no livro Why Software Cost so Much? (1975) de Tom
DeMarco ainda so atuais:
Por que demora tanto tempo para que os programas sejam
concludos?
Por que os custos so to elevados?
Por que no descobrimos todos os erros antes de entregarmos o software ao nosso cliente?
Por que temos dificuldades em medir o progresso enquanto
o software est sendo desenvolvido?
Responder a essas questes tem sido uma das metas da engenharia de software a qual tem uma definio clssica dada
por Fritz Bauer em 1969, onde ele a definiu como:
O estabelecimento e uso de slidos princpios de engenharia para
que se possa obter economicamente um software que seja confivel e
que funcione eficientemente em mquinas reais.
Neste momento, voc deve perceber que a engenharia de
software consiste de um conjunto de tcnicas que visam apoiar
as atividades de levantamento de requisitos, mas tambm a
Princpios de Engenharia
Cabe destacar ainda que a Engenharia de Software se baseia
em princpios de engenharia que so aplicados ao desenvolvimento de software e, mais especificamente, anlise e
modelagem de sistemas. Estes princpios compreendem:
Abstrao
Modularidade
Generalizao
Extensibilidade
Separao de interesses
Antecipao de mudanas
Modelagem (como base ao projeto)
Observe que no momento em que voc precisa criar um modelo, o que precede a essa atividade entender o problema.
Nesse sentido, voc deve entender que uma das principais
caractersticas do ser humano, quando deparado com um
problema, buscar uma soluo baseada em alguma soluo
existente de problemas similares. Todavia, se nessa busca voc
descobre que as solues existentes no so suficientes para
o problema em mos, ento voc procura estender algumas
dessas solues a fim de solucionar um novo problema.
Aqui, acoplamento deve ser entendido de duas formas: primeiro cada componente (isoladamente) deve possuir elevado
grau de acoplamento de modo a ser tratado como uma unidade. Por outro lado, cada componente deve ter um menor grau
10
Processo de Desenvolvimento
Um aspecto importante no desenvolvimento de um sistema de software o contnuo feedback durante o processo. A
importncia de ter um feedback (resposta e comentrios) do
cliente mais cedo no desenvolvimento implica na necessidade
de fazer um prottipo. Alm disso, a necessidade de melhor
planejar o desenvolvimento, fazendo um balanceamento entre
custos e benefcios. Isto requer uma avaliao preliminar se
vivel ou no desenvolver o software desejado pelo cliente.
Como consequncia, voc pode perceber que duas atividades
importantes so planejamento e anlise de riscos, que procuram exatamente responder a questo: vivel desenvolver
esse software?
Tudo isso visa minimizar custos e assegurar que o desenvolvimento ir ocorrer da forma como planejada e dentro dos
prazos propostos. Agora, voc poderia ainda questionar: Por
que tudo isso?
Se voc for analisar cuidadosamente, voc perceber que um
processo requer feedback do cliente, pois isto reduz as chances
de problemas como, por exemplo, do projeto precisar de alteraes medida que ele avana, alm de dar maior visibilidade
do sistema. Portanto, um processo de desenvolvimento de
software necessrio, porque ele:
Serve de guia para controlar as atividades de desenvolvimento do sistema;
Aloca tarefas para desenvolvedores especficos;
Especifica quais artefatos precisam ser desenvolvidos em
cada uma das etapas de desenvolvimento;
Oferece critrios para monitorar as atividades de um
projeto.
Para atender essas necessidades de modo mais adequado, um
processo como o RUP (Rational Unified Process), e customizaes
dele, tem sido empregado em projetos de software. O RUP
considerado como um framework ou arcabouo que serve para
gerar processos.
O RUP um framework porque ele configurvel, ou seja,
voc pode customizar ou especializar o processo para diversos
tipos de sistemas. Alm disso, o RUP, como processo, agrega os
mtodos empregados no desenvolvimento e tambm faz uso da
linguagem UML (Unified Modeling Language) para modelagem
do sistema a ser desenvolvido.
O RUP um processo que define bem o conjunto de atividades a serem executadas, alm de informar os responsveis
pela execuo delas. Adicionalmente, o processo explicita a
ordem de execuo das tarefas e se existe dependncias entre
seja, inicialmente, apenas as funcionalidades mais importantes so desenvolvidas e as demais so desenvolvidas em outras iteraes, incrementando
novas funcionalidades ao sistema. como se cada iterao fosse um miniprojeto no qual voc teria de levantar e analisar requisitos, fazer o projeto,
codificar e testar. Concluda parte do sistema, uma nova iterao (ou miniprojeto) seria feita at que todas as funcionalidades fossem implementadas.
Note tambm que o RUP guiado por casos de uso (ou use case).
Um caso de uso um modelo que define uma funcionalidade do sistema
sob a tica de um ator, que pode ser um usurio, subsistema de software
ou algum dispositivo de hardware (ou equipamento). Um ator, na grande maioria dos casos, ser um usurio (humano) que interage com uma
funcionalidade do sistema, descrita por um caso de uso.
Um caso de uso descreve o que um usurio deve fazer para utilizar uma
funcionalidade, e como o sistema responde. Um exemplo de caso de uso
sacar num sistema de caixa eletrnico de um banco. Para sacar, o usurio
precisa antes ter tido seu carto do banco autenticado e, no momento
que o sistema (caixa eletrnico) solicita que o usurio informe a quantia
que ele deseja sacar, o usurio ento digita o valor de saque e aguarda a
realizao da operao com sucesso (caso o usurio tem saldo suficiente)
ou no (se ele no possuir saldo).
Um conjunto de casos de uso faz parte da especificao de um sistema
de software e, para tanto, voc deve fazer uso de um diagrama de casos
de uso. Entretanto, a apresentao desse assunto est fora do escopo
11
Elaborao
Voc deve levantar, detalhar e especificar a maioria dos
casos de uso;
Tambm espera-se que voc possa implementar os casos de
uso mais essenciais;
Projetar a forma na qual o software ser estruturado (isto ,
a arquitetura do sistema), buscando valid-la;
Revisar o planejamento de atividades e estimativa dos recursos necessrios para completar o projeto.
Construo
12
Concluso
Este artigo trata de uma viso geral da engenharia de software, analisando a natureza do software e levantando a
necessidade de considerar princpios de engenharia e utilizar
um processo no desenvolvimento de software. O foco do artigo
recai em entender e explorar atributos essenciais da qualidade
como corretude e confiabilidade, em conjunto com os princpios de engenharia de software. Alm disso, verificou-se a
importncia do processo de desenvolvimento.
Links
Processo RUP
http://www.wthreex.com/rup/portugues/index.htm
Histria da Indstria de Software
www.softwarehistory.org
Software Engineering Body of Knowledge
http://www.computer.org/portal/web/swebok
Creating a Software Engineering Culture
http://www.processimpact.com/articles/culture.pdf
Processo de Desenvolvimento de Software
http://pt.wikipedia.org/wiki/Processo_de_desenvolvimento_de_software
The Nature of Software: Whats So Special About Software Engineering?
http://www.ibm.com/developerworks/rational/library/4700.html
Feedback
eu
sobre e
s
Transio
D
s
Concepo
edio
ta
PS- GRADUAO
Engenharia de Software:
Desenvolvimento Java
Engenharia de Software:
Desenvolvimento .NET
GRADUAO
Engenharia de Computao
Anlise e Desenv. de Sistemas
F ORMAES
Desenvolvedor Java
Desenv. Java: Sist. Distribudos
Gestor de TI
Desenvolvedor Web .NET 2008
MCITP Server Administrator
SQL Server 2008
r/esti
Acesse nosso site e conhea todos os nossos programas: www.infnet.edu.br/esti
TURMAS
NO RIO DE
JANEIRO
www.infnet.edu.br - cursos@infnet.edu.br - Central de Atendimento: (21) 2122-8800
13
Engenharia
Nesta seo voc encontra artigos voltados para testes, processo,
modelos, documentao, entre outros
Viviane Schneider
viviane.sch@gmail.com
14
Este artigo aborda uma nova viso de desenvolvimento de software que considera o fator humano, seus
mecanismos de processamento e armazenamento de
informaes como ponto de partida para a construo de um sistema de informao ECM. Atravs dos
preceitos da gesto do conhecimento, sistemas sob o
conceito ECM realizam o gerenciamento de contedos
estruturados (documentos digitais), semiestruturados
(URL, processos) e no estruturados (conhecimento
humano) em uma organizao.
Ges to de Conhecimento
estruturada, semiestruturada e no estruturada, como documentos, informaes em qualquer formato de sistemas legados,
textos, pginas WEB, digitalizados, PDF, grficos, vdeos,
udio, XML, aplicaes WAP, etc.
Neste contexto, ECM um nome genrico ou o conceito de
um grupo de ferramentas desenvolvidas para possibilitar o
acesso a mltiplos tipos de repositrios de contedo com a
finalidade de compartilhar conhecimento independente do
tempo e espao. A sua principal meta promover uma organizao lgica em tempo e sequncia dos processos operacionais
e estratgicos, bem como de todo o contedo oriundo destes,
que esto contidos em arquivos, planilhas, mdias, sites web,
sistemas, entre outros. O conceito de solues ECM proporciona uma nova viso na construo de sistemas de informao,
pois visa a rdua tarefa de gerenciar o conhecimento humano,
proveniente de processos de negcio e artefatos oriundos
destes processos, em uma entidade organizacional. Sob este
ponto de vista, os sistemas ECM vo ao encontro de uma nova
abordagem administrativa, que preza a inter-relao do indivduo com a organizao para gerar valor mesma.
Gesto do Conhecimento
A gesto do conhecimento surge com o intuito de apresentar
uma soluo de gesto mais abrangente, que considera alm
de dados e informaes, os mecanismos humanos de compreenso destes elementos. Esta gesto pode possuir trs pilares,
denominados os trs Cs e que compreendem consultar,
compartilhar e colaborar. Os trs pilares atuam de forma transversal, exigindo a atuao em trs dimenses: ferramentas ou
mecanismos, cultura e capital humano (Filho, 2006). Esta viso
da gesto do conhecimento surge para suprir a necessidade de
transformao de dados e informao em conhecimento relevante para decises estratgicas na otimizao dos processos
organizacionais, sendo desta forma um estgio acima da gesto
da informao, esta que somente prev o gerenciamento de dados operacionais que ainda no agregam valor a determinada
situao ou organizao como um todo.
Para Takeuchi e Nonaka (2008), a gesto do conhecimento torna possvel que o conhecimento pessoal de um indivduo possa
ser convertido em conhecimento organizacional, que permanecer agindo de forma produtiva na empresa, independente
da presena do indivduo. A vivncia dos colaboradores com
os processos operacionais, legais e estratgicos dirios, juntamente com as informaes oriundas dos ambientes externos,
formam o conhecimento corporativo. Neste ponto a gesto do
conhecimento e seu alinhamento com a tecnologia de informao pode promover vantagem competitiva, mesmo atravs das
crescentes contradies, dilemas, inconsistncias e polaridades
abundantes numa organizao do mundo moderno.
15
Tese 7
Sntese 6
Anttese
5
Sntese 3
Tese 1
Tese 4
Anttese 2
16
Ges to de Conhecimento
17
18
A escolha da UML para modelar um sistema ECM especialista pode ser a mais adequada, pois conforme Booch (2005),
modelos explcitos elaborados com uso de UML facilitam a
comunicao e a compreenso para o desenvolvedor. A UML
uma linguagem para especificao de software que possui
um vocabulrio escrito atravs de smbolos e regras para sua
combinao, totalmente focada na comunicao de uma representao conceitual e fsica de um software complexo. Desta
forma, sistemas de informao implementados com base nos
conceitos ECM podem fazer uso de mtodos e tecnologias que
promovam a construo de modelos precisos, desprovidos de
ambiguidades e que sejam completos.
Para Booch (2005), a utilizao das cinco vises interconectadas atravs da viso de caso de uso vlida para compreenso
do desenvolvimento de um sistema. As cinco vises correspondem a: viso de lgica, viso de implementao, viso de
interao, viso de implantao, onde todas as vises esto
integradas pela viso de caso de uso. Cada viso constitui uma
projeo na organizao da estrutura do sistema, conforme
apresentado na Figura 4.
Na Figura 4 possvel observar que cada viso produz diagramas que so a captura da abstrao de alto nvel do sistema.
Neste contexto so utilizados os diagramas de objetos, onde
demonstrado um conjunto de objetos com seus respectivos relacionamentos; diagramas de classes, que mostra um conjunto
de classes, interfaces e suas respectivas interaes; diagrama de
pacotes, que demonstra de forma estrutural a organizao do
modelo em pacotes; e diagrama de componentes, que apresenta
de maneira espacial as partes internas interconectadas. Vale
Ges to de Conhecimento
Figura 3. Tela de etapa de um sistema ECM especializado (Fonte: Prottipo Sistema ECM Projeto)
Conforme Bezerra (2007) e Teorey (2007), a UML 2.0 proporciona a utilizao das melhores prticas de modelagem
de sistemas, fundamentadas em estudos realizados por especialistas que criaram uma linguagem de modelagem que
pudesse ser usada por humanos e mquinas, alm de que o
desenvolvimento de um software, utilizando o paradigma de
orientao a objetos, permite a visualizao do sistema como
um conjunto de atores que se relacionam, chamados objetos.
Essa visualizao vlida por permitir abstraes de modelos
de funcionalidades de negcios, bem como funcionalidades
de sistemas, condizentes com a realidade percebida por seres
humanos no mundo real. Neste paradigma, os objetos realizam
tarefas especficas interagindo entre si, sendo que cada objeto
possui caractersticas prprias (atributos) e capacidades de
realizar determinadas tarefas (mtodos).
Para Silva (2007), o processo de desenvolvimento de um software
um conjunto de solues adotadas por um grupo para criar uma
soluo de automao, sendo que o autor divide o ciclo de vida do
sistema em anlise, projeto, implementao e testes, onde todo o
processo norteado pelo paradigma de orientao a objetos.
Baseado nestes conceitos, o desenvolvimento de um sistema
ECM pode seguir os passos descritos na Tabela 1.
Etapas de
Desenvolvimento
Anlise
Diagramas
Implementao
Finalizaes e Testes
Viso de Implantao
Diagramas de Interaes
Projeto
Vises do Projeto
19
Concluses
20
Feedback
eu
sobre e
s
Links
D
s
Ao todo so implementados sete diagramas, sendo eles: diagramas de caso de uso, diagramas de objetos, diagramas de
classes, diagramas de atividades, diagramas de componentes,
diagramas de pacotes e diagramas de interaes.
edio
ta
Segue abaixo o detalhamento de cada etapa de desenvolvimento de um sistema ECM, conforme descrito na Tabela 1:
Anlise: nessa etapa so descritos os requisitos do negcio
considerando as necessidades do usurio e compreenso dos
desenvolvedores do software ECM. Para auxiliar na visualizao das funcionalidades do sistema ECM, modelos de caso
de uso podem ser utilizados para demonstraes de funes
como cadastros e busca de informaes. Em um sistema ECM
estes modelos tambm podem demonstrar abstraes que permitam a visualizao do compartilhamento de informaes em
grupo e envio e recebimento de aes previamente moldadas
pelo conhecimento de processos anteriores. Modelos de casos
de uso so informaes essenciais para atividades de anlise,
design e testes em um projeto de software e, no caso do desenvolvimento de sistemas ECM, podem tambm possibilitar
uma reorganizao dos processos do negcio. A implantao
de uma cultura baseada nos preceitos da gesto do conhecimento pode acontecer justamente nesta primeira etapa, onde
os processos do negcio so reformulados respectivamente
com o planejamento de construo do sistema ECM;
Projeto: essa etapa constitui a concepo dos diagramas
de classe, na viso de lgica, e os diagramas de atividades
numa viso de processo. Ambas as vises so utilizadas para
desenhar o sistema ainda independente da linguagem de
implementao. Importante observar que o sucesso de um
projeto de software ECM depende concomitantemente da
correta anlise dos requisitos do negcio e de um estudo de
formao do conhecimento humano, sob a perspectiva de uma
determinada organizao;
Implementao: essa etapa ocorre aps os modelos do projeto
estarem suficientemente refinados. A representao das abstraes desenhada utilizando-se diagramas de componentes
e pacotes, atravs da viso de implementao, que considera a
linguagem de programao orientada a objetos;
Finalizaes e Testes: nessa etapa so descritos os diagramas
de interaes, e sua arquitetura definida dentro de uma viso de implantao. Os testes so realizados e o sistema pode
finalmente ser implantado.
Agilidade
Nesta seo voc encontra artigos voltados para as prticas e mtodos geis.
Possui graduao em Engenharia Eletrnica pela Universidade Federal de Pernambuco (1982), Mestrado
em Informtica pela Universidade Federal de Pernambuco (1989) e PhD in Computing Science pela University of Glasgow (1993). certificado PMP (2003) pelo
Project Management Institute. Atualmente Professor Adjunto e Vice-Diretor do Centro de Informtica da
Universidade Federal de Pernambuco.
om o crescimento populacional,
a globalizao e o desenvolvimento do capitalismo no sculo
XX, surgem novas necessidades para o
ser humano. A quantidade de dados e informaes para serem armazenas e computadas atinge um volume incalculvel.
21
22
Ges to de TI e Agilidade
Governana em TIC
A palavra de origem francesa gouvernance, vem, nestes
ltimos anos, adquirindo bastante notoriedade por intermdio
da sua traduo para o ingls: governance. Foram as instituies que participaram dos acordos da Conferncia de Bretton
Woods (BRETTONWOODS, 1944) Banco Mundial e Fundo
Monetrio Internacional que a difundiram mundialmente.
Esta palavra engloba o conjunto dos poderes legislativo, executivo e judicirio, a administrao, o governo, o parlamento, os
tribunais, as coletividades locais, a administrao do Estado, a
Comisso Europeia e o sistema das Naes Unidas.
De um ponto de vista amplo, a governana a capacidade das
sociedades humanas se dotarem de sistemas de representao,
de instituies e processos, de corpos sociais, para elas mesmas
23
24
Ges to de TI e Agilidade
ITIL
ITIL a abreviao para Information Technology Infrastructure
Library, um framework de processos de gesto de TI que surgiu
no fim da dcada de 1980 da necessidade de se ter processos organizados e claros. Percebeu-se que as organizaes esto cada
vez mais dependentes da rea de TI e que necessrio organizar
os fluxos de processos neste departamento (ITGI 2009).
Esse modelo de gesto foi formulado pelo British Central
Computer and Telecommunication Agency (CCTA), que
posteriormente foi assimilado pela Secretaria de Comrcio
do Governo Ingls Office of Government Commerce (OGC,
2009), a partir de pesquisas realizadas com especialistas em
gesto de TI, para definir uma melhor forma de funcionamento e gesto das Tecnologias da Informao e Comunicao
(ITSMF, 2009).
ITIL uma compilao das melhores prticas e processos na
planificao, aprovisionamento e suporte de servios de Tecnologia de Informao (ITSMF, 2008) e pode ser considerado
um conjunto de boas prticas de governana organizado de
forma sistemtica, e, portanto um framework. medida que as
empresas reconheceram a sua dependncia crescente nas TIC
para conseguirem satisfazer os objetivos do negcio e irem ao
encontro s necessidades da empresa, muitos determinaram
que a maior qualidade dos servios de TI, e a sua gesto efetiva,
era necessria (EUROCOM, 2006).
A principal vantagem do ITIL, no contexto das boas prticas de gesto em TIC, que os processos descritos so
genricos aplicam-se independentemente da tecnologia,
plataforma, tipo ou tamanho do negcio envolvido. Quase
todas as organizaes das TIC de qualquer tamanho tm um
help desk, um mtodo de lidar com problemas ou mudanas, alguma compreenso de gesto de configurao, nveis
de servio de acordo com os clientes, uma maneira de lidar
com problemas de capacidade e disponibilidade e uma forma
de plano de contingncia. O foco primrio da metodologia
ITIL possibilitar que rea de TI seja mais efetiva e proativa,
satisfazendo assim clientes e usurios (ITIL, 2009).
Com a verso atual do ITIL, Verso 3, lanada em 2007, uma
das principais deficincias corrigidas foi um incremento em
matrias que ajudem a identificar o retorno dos investimentos
25
COBIT
O COBIT Control Objectives for Information and related
Technology um framework de governana de TI apoiado
por um conjunto de ferramentas que permite aos gestores
fazer a ponte entre as exigncias de controle, questes tcnicas e riscos do negcio. Ele permite o desenvolvimento de
polticas claras e boas prticas de controle de TI em toda a
organizao. Alm disso, o COBIT enfatiza a conformidade
regulamentar, ajuda as organizaes a aumentar o valor
obtido atravs da TI, permite o alinhamento e simplifica
sua implementao.
O COBIT representa a viso de um grupo de experts focado
no estudo de Governana em TIC. Trata-se de um conjunto
de boas prticas sobre processos de gerenciamento da TI nas
organizaes, que aborda desde aspectos tcnicos, at processos e pessoas. Sua estrutura organizada em processos que
so interligados com o objetivo de controlar a TI, atravs da
formao de um framework de controle que tem o propsito
de assegurar que os recursos de TI estaro alinhados com os
objetivos da organizao.
O COBIT baseado na premissa de que a TI precisa entregar
a informao que a empresa necessita para atingir seus objetivos, e por isso, tem como objetivo otimizar os investimentos e
garantir a entrega dos servios com as devidas mtricas.
O princpio do framework do COBIT vincular as expectativas dos gestores de negcio com as responsabilidades dos
gestores de TI. Assim, busca fazer com que a TI seja mais capaz
de responder s necessidades do negcio. O COBIT no se
trata de um padro definitivo, ele tem que ser adaptado para
cada organizao.
Segundo o ISACA Information Systems Audit and Control
Association, a misso do COBIT Pesquisar, desenvolver,
publicar e promover um conjunto de objetivos de controle para
tecnologia que seja embasado, atual, internacional e aceito em
geral para o uso do dia-a-dia de gerentes de negcio e auditores (ISACA, 2009a). Para tanto, o COBIT trabalha principalmente dentro do seguinte conjunto de atividades:
Alinhamento da TI com o negcio da empresa;
Def in io do papel da TI TI Estratg ica ou TI
Operacional;
Auxilia na organizao das atividades da TI a partir da
adoo de um modelo de gesto;
Ajuda identificar quais recursos de TI devem ser alavancados
com maior efetividade;
Define os objetivos e controles gerenciais a serem
observados;
Estabelece claramente papeis e responsabilidades.
26
importante destacar que os princpios bsicos da Governana de TI adotados pelo COBIT so:
Responsabilidade corporativa: trata-se de pensar e agir pela
perenidade da organizao, com responsabilidade social e
ambiental;
Prestao de contas: relacionado obrigao de prestar
contas;
Equidade: ligado ao tratamento justo e igualitrio;
Transparncia: relacionado ao desejo de informar.
Em sua verso atual, 4.1, o COBIT pode ser usado para reforar o trabalho j feito com base em verses anteriores, mas
isso no invalida os trabalhos anteriores. Quando as principais
atividades esto previstas com iniciativas de governana de
TI, ou quando uma reviso do quadro de controle da empresa
esperada, recomenda-se comear de novo com a verso mais
recente do COBIT (ISACA, 2009a).
Seus focos so: Alinhamento entre a TI e o negcio, Controle
Interno e Mtricas.
BSC
O Balanced Scorecard BSC um modelo de gesto, desenvolvido em 1992 por Robert Kaplan e David Norton da
Harvard Business School, para avaliar o desempenho estratgico e, consequentemente, gerir o sistema de estratgias de
uma organizao, sendo considerada uma das ferramentas
de grande importncia na rea de planejamento estratgico
com o objetivo de traduzir estratgia em ao (KAPLAN e
NORTON, 1997).
BSC uma sigla que pode ser traduzida para Indicadores Balanceados de Desempenho, ou ainda para Campos (CAMPOS,
1994), Cenrio Balanceado. O termo Indicadores Balanceados
se d ao fato da escolha dos indicadores de uma organizao
no se restringirem unicamente no foco econmico-financeiro,
as organizaes tambm se utilizam de indicadores focados
em ativos intangveis como: desempenho de mercado junto
a clientes, desempenhos dos processos internos e pessoas,
inovao e tecnologia. Isto porque a somatria destes fatores
alavancar o desempenho desejado pelas organizaes, consequentemente criando valor futuro.
Os requisitos para definio desses indicadores tratam dos
processos de um modelo da administrao de servios e a
busca pela maximizao dos resultados baseados em quatro
perspectivas que refletem a viso e estratgia empresarial:
Financeira;
Clientes;
Processos internos;
Aprendizado e crescimento.
O BSC no s direciona comportamentos dentro de uma
organizao, como tambm monitora o desempenho empresarial em prol da estratgia. Ele difundido com sucesso em
vrias organizaes privadas, pblicas e no governamentais
no mundo inteiro. O BSC tem como uma de suas funes
traduzir a criao de valor financeiro (tangvel) a partir dos
Ges to de TI e Agilidade
IT Flex
A metodologia IT Flex, com sua proposta de transformao
da rea de TI em uma provedora de servios de forma continuada para a organizao, parte da estruturao dos diferentes processos da rea em correspondncia com a estratgia
de negcio da organizao. Desta forma, o modelo procura
prover um mecanismo de gerenciamento do desempenho que
possibilita a ela a oportunidade de fornecer servios de TI com
toda a qualidade que os seus clientes requerem, com custos e
nveis de servio associados que alinhem TI s necessidades
das diferentes reas de negcio da organizao (MAGALHES
E PINHEIRO, 2007).
Quando os servios de TI esto alinhados aos objetivos
estratgicos estabelecidos pela estratgia de negcio e otimizados para todo o ciclo de vida do servio, a organizao
consegue associar os custos da rea de TI ao valor produzido para o negcio, enxergando a verdadeira contribuio
da rea de TI. Isto obtido, segundo Magalhes e Pinheiro
(2007), atravs da aplicao da metodologia IT Flex conforme
descrito a seguir:
Responsabilidade da rea de TI pelos servios de TI, por meio
da alocao de custos baseada na utilizao real dos diferentes
servios de TI disponibilizados para as reas de negcio;
Maior produtividade e satisfao do usurio final, advinda
da automao dos processos de TI e do estabelecimento do
autoatendimento;
Menores custos e maior eficincia, integrando o Service Desk
a toda a infraestrutura de TI e gerenciando proativamente o
portflio de servios de TI;
Relaes de cooperao entre a rea de TI e as reas de
negcio, atravs do fornecimento de informaes sobre como
escolher nveis de servios que melhor atendam s necessidades da estratgia de negcio (no pagando taxas mais altas por
99,99 % de disponibilidade se o usurio no necessita realmente
desse nvel de disponibilidade) e do gerenciamento de nvel
de servio em tempo real para evitar violaes dos Acordos de
Nvel de Servio estabelecidos com as reas de negcio;
Crescimento mais rpido e constante, atendendo consistentemente as necessidades atuais das reas de negcio e suportando novas iniciativas do negcio, como a participao em novos
mercados atravs de uma maior capacidade de escalabilidade
da estrutura de entrega e suporte aos servios de TI, baseada
em um processo de gerenciamento de suprimentos adequado
estratgia do negcio;
COSO
Em 1985, foi criada, nos Estados Unidos, a National Commission
on Fraudulent Financial Reporting (Comisso Nacional sobre
Fraudes em Relatrios Financeiros) e seu primeiro objeto de
estudo foram os controles internos das organizaes. Em 1992,
atravs de uma iniciativa privada de cinco grupos (American
Accounting Association, The American Institute of Certified Public
Accountants, The Financial Executives Institute, The Institute of
Internal Auditors e The Institute of Management Accountants), foi
publicado o trabalho Internal Control Integrated Framework
(Controles Internos Um Modelo Integrado).
Esta publicao tornou-se referncia mundial para o estudo
e aplicao dos controles internos. Posteriormente a Comisso
transformou-se em Comit, que passou a ser conhecido como
C.O.S.O. The Comitee of Sponsoring Organizations (Comit
das Organizaes Patrocinadoras). O C.O.S.O. uma entidade
sem fins lucrativos e dedicada melhoria dos relatrios financeiros atravs da tica, efetividade dos controles internos e
governana corporativa (COCURULLO, 2006).
Em 2002, o ato de Sarbanes-Oxley foi criado para restaurar
a confiana de investidores dos mercados pblicos dos Estados Unidos, devastados por escndalos e lapsos nos negcios
envolvendo governana corporativa. Embora reescrevessem
literalmente as regras de contabilizao corporativa, bem como
a sua divulgao, as pginas inumerveis do ato da sustentao
legal seguem uma premissa simples: a governana corporativa
e as prticas ticas de negcio j no so mais opcionais em
TI, mas so leis.
O ato Sarbanes-Oxley SOX representa a parte a mais significativa de uma legislao sobre os negcios, desde a ltima
metade do sculo, pois evidencia a contabilizao corporativa.
Entretanto, importante enfatizar que a seo 404 no requer
apenas que as empresas estabeleam e mantenham uma estrutura interna adequada ao controle, mas avaliem tambm
sua eficcia anualmente. Em outras palavras, esta abordagem
extremamente relevante para aquelas organizaes que
comearam o processo de conformidade e que a TI exerce um
papel vital suportando os componentes de sistemas, de dados
e de infraestrutura, e que so crticos no processo de relatrio
financeiro (COSO, 2006).
Em 2003 o PCAOB emitiu um padro propondo que fosse
discutida a importncia da TI no contexto de controles internos.
A natureza e as caractersticas de uma empresa de TI que faz
uso de seu sistema de informao afeta o controle interno da
mesma sobre relatrios de desempenhos financeiros.
Recentemente vem se usando tambm a descrio Control
Objectives of Sarbanes Oxley, para a sigla COSO. Como o Internal Control Integrated Framework um modelo de trabalho
muito genrico, com viso de auditoria, muitas organizaes
27
ISO/IEC 20000
A ISO/IEC 20000 a primeira norma editada pela ISO
(International Organization for Standardization) e pela IEC
(International Electrotechnical Commission), que versa sobre
gerenciamento de servios de TIC. A ISO/IEC 20000 um
conjunto que define as melhores prticas de gerenciamento
de servios de TIC. O seu desenvolvimento foi baseado na BS
15000 (British Standard) e tem a inteno de ser completamente
compatvel com o ITIL. A sua primeira edio ocorreu em
dezembro de 2005.
O referencial ISO/IEC 20000 identifica os requisitos da Gesto
de Servios e relevante para os responsveis pela preparao,
implementao ou gesto continuada dos servios de TIC na
organizao. As organizaes podem assegurar a certificao
dos seus Sistemas de Gesto de Servios de TIC de modo independente, em conformidade com este referencial.
A ISO/IEC 20000 foi desenvolvida para responder s necessidades de uma audincia global e fornecer um entendimento
comum da gesto de servios de tecnologias de informao e
comunicao em todo o mundo. O escopo desta norma cobre
os aspectos responsveis por 80% do investimento total em
tecnologias de informao e comunicao da grande maioria
das organizaes. O ISO/IEC 20000 publicado em duas partes
e permite aos prestadores de servios compreenderem como
podem alcanar a qualidade no servio prestado aos seus
clientes, internos e externos. A certificao o resultado da
monitorao do nvel de servio face ao padro, acrescentando
valor real para as organizaes no s porque demonstram a
qualidade dos servios internos como lhes permite selecionar
parceiros externos adequados (ISO/IEC20000, 2005).
Seu foco em: certificao de organizaes sob o aspecto de
Governana em TIC.
VAL IT
O Val IT um framework baseado no COBIT e o complementa
desde a fase de negcios at as perspectivas financeiras, alm
de auxiliar a todos que tm interesse no valor de entrega de TI.
Trata-se de um framework de governana que consiste em um
conjunto de princpios orientadores e em um nmero de processos em conformidade com esses princpios, que esto mais
definidos como um conjunto de boas prticas de gesto.
O Val IT suportado por publicaes e ferramentas operacionais e fornece orientaes para:
Definir o relacionamento entre a TI e o negcio, alm
das funes da organizao com as responsabilidades de
governana;
28
MAnGve
O MAnGve Modelo gil no Apoio Governana em TIC,
um modelo gil para implantao e melhoria dos processos
e servios de governana em TIC direcionado a organizaes
de qualquer natureza e tamanho e que prov uma abordagem
de ao prtica.
Foi concebido por Luna, em 2009, para minimizar a carncia
de foco prtico encontrada nos modelos existentes. Sua grande
ambio a de complementar o corpo de conhecimento de
Governana em TIC j existente e se tornar uma alternativa
aplicao deste ICTGBOK.
O MAnGve pode ser lido como um modelo baseado em um
ciclo de vida gil, atravs da transio de princpios, valores
e boas prticas das Metodologias geis do paradigma da Engenharia de Software para o domnio de Governana em TIC.
Com isso, Luna (2009) sugere que o MAnGve possa atuar como
referncia prtica para implantao e melhoria de processos e
servios de governana em TIC, em organizaes de qualquer
Ges to de TI e Agilidade
Foco primrio
ITIL
Governana em TIC
COBIT
Governana em TIC
BSC
Gerenciamento Estratgico
IT Flex
Gerenciamento de TIC
COSO
Governana Corporativa
ISO/IEC 20000
Governana em TIC
Val IT
Governana Corporativa
CMMI
Gerenciamento Processos
MAnGve
Governana em TIC
Principais Caractersticas
Limitaes/ Carncias
29
Feedback
eu
Referncias
ALCALDE, E. L.(1991). Informtica bsica. So Paulo: Makron Books, 1991.
BERG, C. (2008). Value-DrivenIT,valuedrivenit.com. Cliff Berg Imprints, Reston VA, USA. Disponvel
em: <http://valuedrivenit.com/downloads/Value-Driven_IT.pdf>. Acesso em: 30/09/2009.
BIS - Bank for International Settlements (2006). Basel II: International Convergence of Capital
Measurementand Capital Standards. Disponvel em: <http://www.bis.org/publ/bcbs128.pdf>.
Acesso em: 22/01/2009.
BRADLEY, K. (2002). Understanding PRINCE 2. - SPOCE Project Management Limited - rsms.ac.uk,
2002. Disponvel em: < http://www.rsms.ac.uk/up2-may2-2002.pdf >. Acesso em: 03/10/2009.
BRETTONWOODS (1944), Conferncia Internacional Monetria de Bretton Woods. Disponvel em:
http://www.unificado.com.br/calendario/07/bretton.htm>. Acesso em: 22/01/2009.
C.O.S.O. (2006). INTERNAL Control Integrated Framework. The Committee of Sponsoring
Organizations of the Treadway Commission. Disponvel em: < http://www.snai.edu/cn/service/
library/book/0-Framework-final.pdf>. Acesso em: 08/09/2009.
CALAME, P.I.; TALMANT, A. (2001). Questo do Estado no Corao do Futuro - O mecano da
governana. So Paulo. Editora Vozes.
CAMPOS, Vicente Falconi. (1994). Gerenciamento pelas Diretrizes. Revista de Administrao de
Empresas. So Paulo, 1994. V. 34, n. 6, p 6-11.
COCURULLO, A. (2006). Gerenciamento de Riscos Corporativos. IBGC Instituto Brasileiro
de Governana Corporativa. Disponvel em: < http://www.ibgc.org.br/biblioteca/Download.
aspx?CodAcervo=2093 >. Acesso em: 08/09/2009.
30
sobre e
s
Nos ltimos anos a TIC Tecnologias da Informao e Comunicao tem sido objeto de investimentos e pesquisa crescente
tanto do meio acadmico quanto no ambiente organizacional,
demandando altos esforos no aperfeioamento de modelos de
gesto e implantao de prticas que trouxessem uma maior
competitividade s organizaes. Neste cenrio a Governana
em TIC tem se destacado como uma opo para o gerenciamento e controle efetivo das iniciativas de TIC nas organizaes,
garantindo o retorno de investimentos e adio de melhorias
aos processos organizacionais.
Este artigo apresentou um breve resgate do surgimento da
Informtica, como rea do conhecimento. Na sequncia, abordou-se uma sucinta narrativa da evoluo da informtica at o
que se conhece hoje como Tecnologias da Informao e Comunicao TIC. Num momento seguinte, tratou-se a relevncia
da Gesto de TIC e a evoluo do seu papel nas organizaes,
chegando at o conceito de Governana em TIC.
D
s
Concluses
edio
ta
Ges to de TI e Agilidade
Continuao: Referncias
ISACA (2009). Disponvel em: <http://www.isaca.org/ >. Acesso em: 04/09/2009.
ISACA (2009a). COBIT Case Studies by Industry. Disponvel em:< http://www.isaca.org/
Template.cfm?Section=Case_Studies3&Template=/ContentManagement/ContentDisplay.
cfm&ContentID=50973>. Acesso em: 18/10/2009.
ISO/IEC 20000 Certification web site (2005). Disponvel em: <http://www.isoiec20000certification.
com/>. Acesso em: 08/09/2009.
ITGI (2007). Information Technology Governance Institute. CobiT - Control Objectives for
Information and related Technology. 4.1. ed. Rolling Meadows: ITGI.
LUNA, Alexandre J. H. de O.; COSTA, Cleyverson P.; de MOURA, Hermano P.; NOVAES, Magdala A.;
do NASCIMENTO, Csar A. D. C. ; (2010). Governana gil de TIC: rompendo paradigmas. JISTEM
- Journal of Information Systems and Technology Management; 2009. Disponvel em: < http://
www.jistem.fea.usp.br/index.php/jistem/issue/archive >. Acesso em: 17/11/2009.
MAGALHES, I.L.E PINHEIRO W.B.(2007).Gerenciamento de Servios de TI na Prtica:Uma abordagem
com base na ITIL Editora Novatec 1 edio, Cap.2 p86, p214 - ISBN: 978-85-7522-106-8.
MANGVE (2009). Portal do Movimento de fomento Governana gil em TIC. Disponvel: <www.
mangve.org>. Acesso em: 30/09/2009.
MENDEL, T. & PARKER, A. (2005). Not all ITIL processes are created equal. Network World, March
16. Disponvel em: < http://itpapers.techrepublic.com/abstract.aspx?docid=148585&promo=300
111&tag=wpr.7106,6202>. Acesso em: 02/10/2009.
itSMF (2008), IT Service Management Forum; An Introductory Overview of ITIL V3. Disponvel
em: <http://www.best-management-practice.com/gempdf/itSMF_An_Introductory_Overview_
of_ITIL_V3.pdf>. itSMF . Acesso em: 23/01/2009.
ItSMF (2009). Information Technology System Management Forum web site.Disponvel em: <
http://www.itsmf.net)>. Acesso em: 01/10/2009.
KAPLAN, R.S.; NORTON, D.P. (1997). A Estratgia em Ao: Balanced Scorecard. 22. Edio. Rio de
Janeiro: Campus.
KENN, Peter G. W. (1996). Guia Gerencial para a tecnologia da informao: Conceitos essenciais e
terminologia para empresas e gerentes. Rio de Janeiro: Campus, 1996.
KOSHINO, L. (2004). SERPRO apresenta no Congresso Nacional de Informtica Pblica, em Braslia,
suas solues em governana de TI. Revista Tema - Ano XXVIII - Edio 175, p. 23-25, setembro/
outubro 2004.
LOBATO, D. M. (2000). Administrao Estratgica uma viso orientada para a busca de vantagens
competitivas. Rio de Janeiro: Editorao.
LUFTMAN, J.N.; LEWIS, P.R. e OLDACH, S.H. (1993):Transforming The Enterprise: The Alignment Of
Business And Information Technology Strategies. IBM Systems Journal, v.32, n.1, p.198-221, 1993.
LUNA, A. J. H. de O. (2009). MAnGve: Um Modelo para Governana gil em Tecnologia da Informao
e Comunicao. Programa de Ps-graduao stricto sensu em Cincia da Computao. Centro de
Informtica, Universidade Federal de Pernambuco. Dissertao de Mestrado. Disponvel em: <
www.cin.ufpe.br/~ajhol/mangve>. Acesso em: 17/12/2009.
OGC (2009). Office of Government Commence web site. Disponvel em: <http:// www.ogc.gov.uk>.
Acesso em: 01/10/2009.
PMI (2008). Guide to the Project Management Body of Knowledge (PMBOK Guide, 2008, 4th
Edition), Project Management Institute, Newtown Square, PA, vol. 1.
REZZY, O. (2007). Sarbanes-Oxley: Progressive Punishment for Regressive Victimization. Houston
Law Review,Vol. 44, No. 1, p. 95. Disponvel em: <http://papers.ssrn.com/sol3/papers.cfm?abstract_
id=978834>. Acesso em: 22/01/2009.
SEI. Software Engineering Institute (2009). Disponvel em: <http://www.sei.cmu.edu/ cmmi/> .
Acesso em: 05/09/2009.
SOX (2002). SARBANES , Paul; OXLEY, Michael. Sarbanes-Oxley Act. Congress of United States
of America, 30/07/2002. Disponvel em: <http://news.findlaw.com/hdocs/docs/gwbush/
sarbanesoxley072302.pdf>. Acesso em: 05/10/2009.
STEINBUCH, K. Informatik: Automatische Informationsverarbeitung.
(Technische Mitteilungen der Standard). Berlin, 1957.
(SEG-Nachrichten)
UNESCAP United Nations (2009). An Introduction to good governance by the United Nations
Economic and Social Commission for Asia and the Pacific. Disponvel em: <http://www.unescap.
org/huset/gg/governance.htm>. Acesso em: 22/01/2009.
WEILL, P. & ROSS, J. W. (2005).GOVERNANA DE TI - TECNOLOGIA DA INFORMAO. 1. Edio. So
Paulo. M.Books do Brasil. ISBN: 8589384780.
31
Planejamento e Gerncia
Nesta seo voc encontra artigos voltados para o planejamento
e gerncia de seus projetos de software
maraujo@devmedia.com.br
jurveiga@hotmail.com
32
o desenvolvimento de um
projeto existe a necessidade de
um gerenciamento de projetos
adequado, aplicando tcnicas para o
auxlio do controle das pessoas envolvidas e dos servios atribudos a elas,
preocupandose com os prazos, custos
e benefcios de cada produto.
Para tanto, o uso de ferramentas para
gerenciamento de projetos indispensvel, uma vez que contribui para auxiliar
e prover de forma rpida e eficiente as
informaes necessrias para o correto
controle e acompanhamento on-line do
trabalho realizado.
Nesse contexto, este artigo destaca
quatro ferramentas para gerenciamento de projetos existentes no mercado:
o MS Project - um sistema desktop
desenvolvido pela Microsoft; o Gantt
Project - um sistema desktop, gratuito de
Ges to de Projetos
Gantt Project
O Gantt Project uma ferramenta de gerenciamento de projeto de acesso gratuito, de cdigo aberto, baseado no grfico de
Gantt. O software um sistema desktop que possui interface
de fcil entendimento, conforme mostrado na Figura 1, que
representa a tela inicial do Gantt Project, com todos os seus
recursos iniciais para comear a cadastrar as informaes de
um projeto.
33
34
Ges to de Projetos
FERRAMENTA
RECURSOS
Gantt Project
dotProject
Project Open
MS Project
Interface Grfica
Simples
Simples
Complexa
Simples
Instalao
Simples
Complexa
Complexa
Simples
Tipo de Licena
Gratuita
Gratuita (GNU-GPL)
Gratuita
Paga
Acessibilidade
Desktop
Web
Desktop
Intercmbio
MS Project
No
Web
Gantt
Project
Grfico Utilizado
Grfico de Gantt
Grfico de Gantt
No
Grfico de Gantt
Calendrio
Sim
Sim
Sim
Sim
Relatrios
Sim
Sim
Sim
Sim
Envio de e-mail
Sim
Sim
Sim
Sim
Gantt Project
Um exemplo prtico
Agora que os conceitos relativos s ferramentas j foram
apresentados, poderemos entender como eles so aplicados
na prtica atravs de um projeto no MS-Project.
Como o gerenciamento de projetos envolve muitas etapas,
o gerente de projetos deve saber controlar todas as etapas do
projeto desde o planejamento at a sua concluso. O MS Project
vem auxiliar o gerente no seu trabalho, possibilitando planejar,
controlar e comandar o projeto de forma rpida e eficiente,
aumentando as chances de sucesso e oferecer um produto de
qualidade ao usurio final.
A Figura 4 destaca os principais elementos do ambiente MS
Project:
Menu Principal: a barra que contm todos os comandos
do MS Project.
Barra de Ferramentas: a barra que contm todos os comandos mais utilizados, e pode ser personalizada pelo usurio de
acordo as suas necessidades.
Barra de Tarefas: contm opes para as tarefas mais utilizadas pelo usurio.
rea de Tabelas: onde so cadastradas as tarefas do projeto, com nome, durao, data de incio e de fim, e tarefas de
precedncia.
Grfico de Gantt: nessa rea aparecem as visualizaes
grficas das tarefas medida que so descritas e vinculadas
umas s outras.
Iniciar um Projeto
Antes de iniciar o projeto, necessrio conhecer alguns
conceitos bsicos e importantes da ferramenta que ajudaro
a entend-la melhor:
Tarefas so todas as fases do projeto, e possuem cdigo, nome,
durao, tarefa precedente, data de incio e fim, e podem ser
do tipo fim-fim, fim-incio, incio-incio e incio-fim.
35
NOME DA TAREFA
DURAO
PRECEDNCIA
Preparar o terreno
1d
1d
2d
Preparar a massa
1d
2d
3d
Fim fundao
0d
O prximo passo, dentro da fase de listar tarefas, organizar o projeto de acordo com a hierarquia das tarefas; para
isso, necessrio selecionar a opo Organize Tasks Into Phases
(Organizar as Tarefas em Fases), e selecionar as tarefas que se
tornaro subtarefas. Com as tarefas selecionadas, clique na seta
que se encontra no lado esquerdo da Barra de Tarefas, que elas
se ajustaro automaticamente (Figura 9).
36
Ges to de Projetos
As datas das tarefas podem ser alteradas sempre que necessrio sem afetar o projeto, pois o Project reagendar automaticamente a durao das tarefas caso a data de incio, a durao
ou data de trmino forem alteradas.
Criar Dependncia Entre as Tarefas
Aps seguir todos os passos descritos anteriormente, devese criar as dependncias entre as tarefas. Na Barra de Tarefas
deve-se clicar na opo Schedule Tasks (Dependncia Entre
Tarefas), e ser aberta uma lista explicando os tipos de dependncias que o Project oferece. Aps isso, devem-se selecionar
as tarefas dependentes e clicar no tipo de dependncia desejada. Dessa maneira, as tarefas se ajustaro automaticamente
no grfico de Gantt, conforme a Figura 10.
Para quebrar a dependncia j criada, basta selecionar as
tarefas desejadas e clicar no cone de quebra de dependncia
que se ajustar automaticamente no grfico. Com a criao
das dependncias entre as tarefas, possvel ter uma viso
mais abrangente do planejamento do projeto e saber tambm
quantos dias durar a sua execuo.
37
38
Ges to de Projetos
Concluso
www.devmedia.com.br/esmag/feedback
DotProject - http://dotproject.net/
FIGUEIREDO, Francisco Constant de; FIGUEIREDO, Hlio Carlos. Dominando gerenciamento de
projetos com MS Project 2000. Rio de Janeiro: Cincia Moderna, 2001.
sobre e
s
Referncias
Feedback
eu
edio
ta
D
s
Existem coisas
que no conseguimos
ficar sem!
COMIDA
Renove J!
www.devmedia.com.br/renovacao
Para mais informaes:
www.devmedia.com.br/central
39
Desenvolvimento
Nesta seo voc encontra artigos voltados para diferentes
abordagens de apoio ao desenvolvimento de projetos de software
P
Daniel Scaldaferri Lages
dlages@gmail.com
40
41
A Figura 2 mostra outra forma de apresentao do percentual de concluso da execuo dos testes extradas da
ferramenta Testlink. O primeiro grfico mostra que 29% dos
casos de testes foram executados com sucesso e 5% executados com falhas. Os demais 66% ainda no foram executados.
No segundo grfico, 1% dos casos de testes est bloqueado,
ou seja, por algum motivo (por exemplo, falta de dados na
base ou dependncia da correo de alguma falha) no
possvel execut-los. A visualizao desses grficos melhor.
Entretanto, no exibem informaes por caso de uso, e sim
de forma geral.
A Figura 3 apresenta os dados do primeiro grfico de forma
tabular, complementando com informaes sobre a quantidade de casos de testes em cada situao em valores absolutos.
Como pode ser visto, so 58 casos de testes. Desses, 17 foram
executados com sucesso, 3 falharam e 38 ainda no foram
executados.
Sistema Fictcio
Nmero da Demanda
30450
Tipo do teste
Teste de Sistema
Data
20/3/2010
Responsvel
Daniel Lages
Nome UC
Fluxo Alternativo
Fluxo de Exceo
Requisitos Especiais
Regra de Negcio
CTs Elaborados
Perc. Por UC
50,00%
88,89%
12
100,00%
11
100,00%
10
22,73%
Total
15
18
32
43
63,24%
Sistema Fictcio
Nmero da Demanda
30450
Tipo do teste
Teste de Sistema
Data
10/4/2010
Karla Lages
N CTs
EXECUTADOS COM
SUCESSO
NO EXECUTADOS ou COM
FALHAS
Falhas
Pendentes
14
10
71,43%
100,00%
12
33,33%
11
45,45%
22
22
0,00%
Total
68
28
40
41,18%
58,82%
Nome UC
Percentuais
42
Perc. Por UC
Faltando apenas dois dias para terminar, apenas 19% da atividade foi concluda. Neste exemplo, j no primeiro dia era
possvel observar sintomas de potenciais problemas. Pois como
so apenas seis dias para executar a atividade, era esperado
no mnimo 17% de concluso. Portanto, alguma ao j teria
que ter sido tomada no primeiro dia.
43
A comparao mostra que o percentual dos casos de testes realizados est bastante prximo ao dos casos de testes possveis
44
Figura 10. Quadros retirados do MANTIS com informaes das falhas Por
Status e Por Gravidade
O eixo x representa o tempo, ou seja, os dias. O eixo y representa a quantidade de falhas registradas. No primeiro dia de
testes, dia 07/03 foram registradas 17 falhas. O grfico apresenta trs linhas. So elas: azul, que representa a quantidade
acumulada de falhas registradas ao longo dos dias; preta, que
representa a quantidade de falhas corrigidas; e vermelha, que
a diferena entre a linha azul e preta, representando as falhas
que ainda no foram corrigidas.
O ideal que a linha preta siga de perto a linha azul, mantendo a vermelha oscilando com amplitude baixa no grfico. Isso
significa que a correo est sendo feita, sem acmulo. Pelo
ltimo grfico, possvel perceber que at o dia 28/03 nunca
mais do que 20 falhas ficaram sem corrigir, e que nesse dia, j
existem quase 30 falhas ainda no corrigidas. Um alerta para o
projeto. Outra informao interessante que pode ser percebida
que os dias 14/03, 18/03 e 20/03 foram os dias onde a correo
estava mais em dia, que so os vales da linha vermelha, ou
o quase encontro das linhas preta e azul.
Registro de Ocorrncias
Este tipo de relatrio nada mais que um dirio de bordo da
atividade que est sendo realizada. O objetivo registrar os
eventos que impactam o andamento da atividade, principalmente os negativos. Os que impactam positivamente tambm
podem ser registrados. Eventos como paradas do ambiente
de testes, no existncia de dados especficos na massa de
dados, inexistncia de recursos para correo das falhas registradas, bugs de travamento que impedem o prosseguimento da
atividade, etc. so comuns nesse relatrio. Ou seja, tudo que
atrasa o andamento da atividade. Cada ocorrncia registrada
dever conter a data e a hora do registro, assim como o responsvel pelo seu cadastramento. O ideal que no se escreva
muito, apenas uma linha de texto, no mximo.
O relatrio gerado a partir dessas ocorrncias bem interessante, pois apresenta os principais eventos ocorridos durante
a atividade, um histrico de onde possvel tirar concluses
dos pontos que impactaram o andamento da atividade. Serve
para os testadores se resguardarem, pois os problemas ocorridos que no foram causados por eles estaro registrados. Mas
tambm pode apresentar suas falhas, caso tenham cometido
alguns erros, como testar uma verso incorreta do software ou
consultar uma especificao de requisitos desatualizada por
falta de ateno.
A partir de um conjunto de relatrios de ocorrncias pode-se
identificar os problemas mais recorrentes. Com essa informao torna-se possvel atacar a causa raiz desses problemas,
visando elimin-los nas prximas atividades. Esse relatrio
pode ser enviado semanalmente, ou, dependendo do nmero
de ocorrncias registradas, numa periodicidade menor. Abaixo,
um exemplo bsico de um relatrio de ocorrncias:
22/02/2010 - 08:12:20 - fulano.silva - Sistema ainda no
liberado.
22/02/2010 - 16:30:00 - fulano.silva - Sistema liberado para
iniciar os testes.
45
Nome do Sistema
ESMAG
Nmero da Demanda
22767
Tipo do teste
Teste de Sistema
Evidncias colhidas?
Sim
DE: 04/01/2010
352
DE: 04/01/2010
440
88
N de casos de testes
141
AT: 05/02/2010
%
25,00%
110
78,01%
31
21,99%
0,00%
Sistema
Boa
Qualidade da Especificao
EF
Boa
46
AT: 29/01/2010
110
Total de falhas
(Exceto No um caso, sugestes e Duplicado)
100
100
20
4,00
4,40
20,00%
Retrabalho
Total de reaberturas
10
Total de Duplicado
Total de No um caso
2,91%
0,00%
0,00%
TOTAL
Layout
9,00%
Texto
6,00%
Normal
70
70
70,00%
Grande
10
10
10,00%
Blocante
5,00%
100
100
100,00%
TOTAL
TOTAL
Ambiente
5,00%
Banco de Dados
5,00%
Cdigo-fonte
76
76
76,00%
Especificao
14
14
14,00%
Integrao
0,00%
100
100
100,00%
TOTAL
47
Concluses
www.devmedia.com.br/esmag/feedback
48
Referncias
QAI, Guide to the CSTE Common Body of Knowledge. Quality Assurance Institute, Version 6.1.1
2006, http://www.softwarecertifications.org
MARICK, Brian; Classic Testing Mistakes, STQE, 1997.
KOLAWA, A.; HUIZINGA, D. (2007). Automated Defect Prevention: Best Practices in Software
Management. Wiley-IEEE Computer Society Press. p.74.ISBN0470042125.
MARICK, B.When Should a Test Be Automated?. StickyMinds.com. Acessado em 10/03/2010.
PRETSCHNER, A. (2005), Model-based testing, Proceedings of 27th International Conference
on Software Engineering, (ICSE05), pp. 722-723.
UTTING, M.; LEGEARD, B.; (2007), Practical Model-Based Testing: A Tools Approach, ISBN-13:
978-0-12-372501-1, Morgan-Kaufmann.
CRAIG, R.D., JASKIEL, S. P.,Systematic Software Testing,Artech House Publishers, Boston, 2002.
sobre e
s
Feedback
eu
edio
ta
D
s
PRESSMAN, R. S., Software Engineering: A Practitioners Approach, McGraw-Hill, 6th ed, Nova
York, NY, 2005.
ROCHA, A. R. C., MALDONADO, J. C., WEBER, K. C. et al.,Qualidade de software Teoria e prtica,
Prentice Hall, So Paulo, 2001.
Desenvolvimento
Nesta seo voc encontra artigos voltados para diferentes
abordagens de apoio ao desenvolvimento de projetos de software
jenifer@jenifer.eti.br
Twitter: @Jenifer_Vieira
maraujo@devmedia.com.br
Mestre e Especialista em Cincia da Computao pela Universidade Federal de Viosa, professor e coordenador do Curso de Bacharelado
em Cincia da Computao da FAGOC (Faculdade Governador Ozanam Coelho) e Bacharel
em Sistemas de Informao pela Faculdade
Metodista Granbery. Gerente tcnico da Optical
Solues em Informtica Ltda.
49
50
Teste Unitrio
O Teste de Unidade, ou Teste Unitrio, classificado como
teste caixa-branca por ser baseado na estrutura lgica do
cdigo, responsvel por testar a unidade de codificao da
aplicao. Em um sistema orientado a objetos essa unidade
pode ser representada pelos mtodos das classes, ou outro
nvel de granularidade, dependendo da complexidade dos
elementos a serem testados. Esta tcnica testa apenas o cdigo
da aplicao, e podem-se testar todas as regras de negcio
da mesma.
Gerard Meszaros, em seu livro xUnit Test Patterns: Refactoring Test Code Hardcover, relata muito bem a importncia
dos testes unitrios, definindo-o para os dias atuais como um
ponto de importncia em mtodos de desenvolvimento gil,
como Extreme Programming (XP), reforando a disponibilidade dos sistemas com testes integrados automatizados.
Desta forma, permite aos desenvolvedores serem mais ousados nas modificaes do software alcanando um desenvolvimento evolutivo do que com entregas incrementais de
funcionalidades, acelerando assim, o feedback dos usurios
que contribuem para a qualidade do produto.
Praticamente todas as abordagens geis de desenvolvimento
evidenciam o teste como principal aliado para absorver o
no formalismo da documentao de software e garantir
assim que a funcionalidade correta est sendo desenvolvida
e entregue ao cliente.
Por testar a lgica da funcionalidade, o cdigo fonte analisado, e um fundamental conceito o de caso de teste, que
representa uma instncia de teste para aquela funcionalidade que percorre um determinado caminho no algoritmo de
acordo com seus valores de teste. Um algoritmo pode possuir
vrios casos de teste, cada um deles contendo os valores que
devem ser testados para analisar e percorrer os caminhos
do algoritmo.
Para definir o nmero mnimo de casos de teste para cobrir
todas as possibilidades de caminhos de processamento de um
trecho de cdigo, possvel utilizar uma mtrica de software
chamada Complexidade Ciclomtica. Esta tcnica define o
nmero de caminhos independentes que um algoritmo deve
percorrer para efetuar todos os processamentos. Juntamente
com esta tcnica, pode-se utilizar outra chamada Anlise do
Valor Limite que define os valores limites que sero utilizados
para efetuar os testes.
Teste de Cobertura
O teste de cobertura responsvel por verificar se o teste
unitrio est verificando todos os caminhos possveis do algoritmo de alguma funcionalidade do software. Apresenta a
porcentagem de cobertura de um teste unitrio, por exemplo,
sob um determinado mtodo. O objetivo ter a maior cobertura
possvel identificando reas do projeto que ainda no esto
cobertas pelos testes automatizados.
Engenharia de Software Magazine - Teste unitrio e de cobertura para Java Script com JsUnit e JsCovarage
JsUnit
JsUnit um framework open-source para testes unitrios em
Java Script e que segue as conformidades e padres do pacote
xUnit frameworks.
A famlia xUnit possui variantes que so especializaes
para diversas outras linguagens e outros propsitos. Algumas destas ramificaes so cUnit para a linguagem C, dUnit
para a linguagem Delphi, csUnit para o C# ou qualquer
linguagem .NET, jUnit para a linguagem Java, PyUnit para
a linguagem Python, DBUnit para teste em banco de dados,
PHPUnit para a linguagem PHP, entre outras.
JsUnit foi criada em 2001 e roda nas mais variadas combinaes de browser/plataformas (navegadores), conseguindo
assim, um vasto nmero de utilizadores, alm de ter sua
configurao considerada simples. O JsUnit um componente de software escrito na linguagem Java Script que disponibiliza todo o ambiente necessrio para o teste unitrio.
Para utiliz-lo, basta fazer download deste componente de
software e estender sua utilizao s funcionalidades do
Java Script.
Com o JsUnit baixado (http://www.jsunit.net/) e tendo
descompactado o arquivo em um diretrio qualquer, cabe
descrever a estrutura e principais diretrios e arquivos da
ferramenta, conforme apresentado na Tabela 1.
Elemento
testRunner.html
app
css
Descrio
pgina web configurada como um painel para a execuo dos testes unitrios
com o JsUnit.
diretrio onde o ncleo da ferramenta apresentado e onde o arquivo
jsUnitCore.js disponibilizado.
diretrio que contm arquivos de folhas de estilos que so utilizados na pgina
testRunner.html.
doc
java
diretrio que contm o cdigo fonte Java e bibliotecas (JARs) para rodar o JsUnit
diretamente em um ambiente Java.
Licenses
logs
testeB. No exemplo, o primeiro caso de teste afere o resultado de testeA como verdadeiro, e o segundo tambm para
a funo testeB. Entretanto, a funo testeB retorna falso
(linha 10), configurando assim um erro com base no valor
que seria esperado. Erro este que capturado pelo teste
unitrio como apresentado a seguir.
Listagem 1. Cdigo Exemplo para o JsUnit.
1. <html>
2. <head>
3. <title>Teste Unitrio 1</title>
4. <script type=text/javascript src=app/jsUnitCore.js> </script>
5. <script type=text/javascript>
6. function testeA() {
7. return true;
8.
}
9. function testeB() {
10. return false;
11. }
12. function teste_verificacao1() {
13. assertEquals(true, testeA());
14. }
15. function teste_verificacao2() {
16. assertEquals(true, testeB());
17. }
18. </script>
19. </head>
20. <body>
21. </body>
22. </html>
Para a execuo dos testes, necessrio executar o testRunner.html. Esse arquivo fica armazenado dentro do diretrio
app da ferramenta. Assim que executado, apresentada
a interface exibida na Figura 1, que possui uma opo para
se carregar o arquivo HTML com os testes unitrios. Onde
exibida a opo Enter the location of the Test Page/Test
Suite Page to be run, entre com o local da pgina de teste
para executar. Basta adicionar no campo o local completo do
endereo do arquivo e clicar em Run para executar os testes.
O resultado do exemplo exibido pela Figura 2.
51
Na tela de resultado possvel observar o erro que foi intencionalmente adicionado no cdigo para o exemplo. Alm de
apresentar a barra vermelha, possvel verificar detalhes do
erro na parte de baixo da interface. Ao clicar na opo com
erro exibido um detalhamento: Expected <true> but was
<false> Esperado <verdadeiro> mas foi <falso>. Fazendo
uma clara aluso funo testeB que retorna falso e o caso de
teste espera por verdadeiro. Fazendo uma pequena alterao
no caso de teste teste_verificacao2 para que ele espere falso,
alterando a linha 16 da Listagem 1 para assertEquals(false,
testeB());, o resultado exibido na Figura 3, sem erros desta
vez, conforme esperado.
JsCoverage
JsCoverage uma ferramenta que faz testes de cobertura em
programas escritos na linguagem JavaScript. Para conseguir
52
A segunda forma usar o jscoverage-server, que um servidor Web simples que instrumenta os cdigos Java Script
automaticamente, no sendo necessria a execuo de qualquer
comando adicional. Para se iniciar o servidor, basta executar
jscoverage-server.exe no prompt do MS-DOS que o servidor
ser instanciado em memria. Ele abrir o servidor na porta
8080 e, portanto, se houver algum outro aplicativo no servidor
que esteja utilizando essa porta, o JsCoverage no ir funcionar
nas suas configuraes padro.
Para testar, basta acessar em qualquer navegador o endereo
http://127.0.0.1:8080/jscoverage.html. Ao abrir este link, uma
interface para a instrumentao dos cdigos Java Script
exibida ao usurio conforme pode ser visto na Figura 4. Para
desligar o servidor, basta fechar a janela do prompt do MSDOS. Quando os cdigos so instrumentados na primeira
forma (a forma manual), gerada no diretrio destino a mesma
interface exibida nesta segunda forma basta para isso acessar
o arquivo jscoverage.html no diretrio destino.
Um detalhe que merece destaque quanto necessidade dos
arquivos de cdigo fonte do seu site (HTML, Java Script, entre
outros) a serem testados estarem no mesmo diretrio do arquivo jscoverage-server, ou ento ser chamado pelo diretrio dos
cdigos fonte do site. Mas, nesse caso, necessrio configurar
a ferramenta na varivel PATH das variveis de ambiente do
sistema operacional.
E h ainda uma terceira forma, que utilizando o jscoverageserver com a opo de proxy ativada. Com essa forma, os
cdigos so instrumentados de forma automtica ao serem
Engenharia de Software Magazine - Teste unitrio e de cobertura para Java Script com JsUnit e JsCovarage
acessados pelo proxy. Entretanto, necessria uma configurao de portas para o proxy, no sendo essa opo tratada
neste artigo.
1. <html>
2. <head>
3. <title>Teste de Cobertura</title>
4. <script type=text/javascript src=script.js> </script>
5. </head>
6. <body>
7. <form name=frmTeste action= onSubmit=enviaJavaScript()
method=post>
8. Valor: <input type=text name=inptValor>
9. <input type=submit value=Enviar...>
10. </form>
11. </body>
12. </html>
Listagem 3. Cdigo Exemplo Java Script para o JsCoverage.
1. function enviaJavaScript(){
2. var vValor = document.frmTeste.inptValor.value;
3. alert(Resultado: +vValor);
4. if (vValor > 100){
5. alert(Valor maior que 100);
6. }else{
7. alert(Valor menor ou igual que 100);
8.
}
9. }
Estudo de Caso
Buscando exemplificar o uso das ferramentas jsUnit e jsCoverage, proposto um estudo de caso criado utilizando
a linguagem Java Script. Nele criada uma funo chamada
calcularAprovacao, responsvel por verificar se um aluno, por
exemplo, foi aprovado ou no em uma disciplina. A funo
recebe por parmetro a nota 1, nota 2, nota de uma prova final (notaFinal) e a freqncia, como pode ser observado pela
Listagem 4.
53
54
Engenharia de Software Magazine - Teste unitrio e de cobertura para Java Script com JsUnit e JsCovarage
Na Figura 9 so apresentados os resultados do teste de cobertura com os trechos do cdigo fonte que esto sendo cobertos
ou no. Quando coberto, o trecho marcado em verde. Caso
contrrio, em vermelho. Nesse caso, o calcularAprovacao no
est sendo coberto onde a varivel mdia est sendo testada
com o valor 70. Esse trecho de cdigo, como pode ser visualizado, est sendo mostrado em vermelho.
Como foi dito, o caso de teste testVericarAprovacao_AprovacaoDiretoPorNota falhou sua execuo. Isso se deve ao fato
que se esperaria que alunos com mdia 70 fossem aprovados
e, na realidade, esto sendo reprovados. De acordo com o
cdigo-fonte, quem possuir mdia entre 30 e 70 (inclusive)
deve fazer prova final.
Como esse aluno possui valor 0 na sua prova final, o mesmo
foi reprovado, sendo retornado o valor falso, onde o valor
esperado deveria ser verdadeiro, falhando assim o caso de
teste. Com isso, foi possvel identificar uma falha no cdigo
fonte, uma vez que o aluno com mdia de valor 70 deveria
ser aprovado.
Deve-se ento fazer uma alterao no mtodo calcularAprovacao para que sejam aprovados os alunos com mdia superior ou IGUAL a 70. A alterao deve ser realizada na linha
referente verificao da mdia ser maior que 70. Modifique-a
para media >= 70.
As Figuras 10 e 11 apresentam os resultados do jsUnit e
jsCoverage, respectivamente, aps a modificao. Observe
que todos os casos de teste so executados de forma correta e
a funo Java Script possui cobertura de 100%.
Consideraes Finais
Uma questo importante ao se trabalhar com testes unitrios a definio do nmero de casos de teste necessrios
para avaliar os caminhos possveis de um algoritmo. Como
impossvel testar todas as situaes, torna-se primordial no
construir casos de teste desnecessrios, testando as mesmas
situaes.
Uma importante tcnica conhecida como Complexidade
Ciclomtica de McCabe, j citada, que avalia o nmero de
55
56
Engenharia de Software Magazine - Teste unitrio e de cobertura para Java Script com JsUnit e JsCovarage
Feedback
eu
sobre e
s
edio
ta
D
s
JsCoverage
http://siliconforks.com/jscoverage/
57
58
Engenharia de Software Magazine - Teste unitrio e de cobertura para Java Script com JsUnit e JsCovarage