Você está na página 1de 60

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE

CENTRO DE ENGENHARIA ELTRICA E INFORMTICA


DEPARTAMENTO DE SISTEMAS E COMPUTAO



RELATRIO DE ESTGIO

DESENVOLVIMENTO DO SISTEMA
SMARTFEEDBACKS





NAT VENNCIO DE MELO
Estagirio

JOSEANA MACDO FECHINE RGIS DE ARAJO
Orientadora Acadmica

LEANDRO JOS VENTURA SILVA
Supervisor Tcnico



Campina Grande PB
Outubro de 2012
2
DESENVOLVIMENTO DO SMARTFEEDBACKS


APROVADO EM _____________________


BANCA EXAMINADORA


______________________________________________________
Prof. Dr. Joseana Macdo Fechine Rgis de Arajo
ORIENTADOR ACADMICO


______________________________________________________
Prof. Dr. Francisco Vilar Brasileiro
PROFESSOR DA DISCIPLINA


______________________________________________________
Leandro Jos Ventura Silva
SUPERVISOR TCNICO



3
AGRADECIMENTOS

Agradeo, primeiramente, a Deus por ter me dado condies de chegar at
aqui. A minha famlia, que sempre me apoiou e esteve ao meu lado.
A Leandro Jos, supervisor tcnico do estgio, e Eloi Rocha, diretor da
Smartiks, pela confiana e oportunidade que me deram para executar esse
trabalho to enriquecedor para a minha formao.
Aos companheiros de trabalho da Smartiks, Renato Almeida e Solon
Aguiar, que sempre me deram assistncia e colaboraram intensamente para o
sucesso desse estgio.
Aos membros da banca, em especial professora Joseana Macdo,
pela pacincia, dedicao e disponibilidade para orientar meu estgio.
Aos meus amigos e todos aqueles que colaboraram ao longo desse
perodo, meus sinceros agradecimentos.





Nat Venncio de Melo










4
APRESENTAO

Como parte das exigncias do curso de Cincia da Computao, da
Universidade Federal de Campina Grande, para cumprimento da disciplina de
estgio integrado, apresenta-se o relatrio de estgio, elaborado ao longo do
perodo de estgio, iniciado em 27 de fevereiro de 2012 e concludo em 30 de
junho de 2012.
O estgio foi realizado na empresa Smartiks Tecnologia da Informao
LTDA, na sala 06 da Fundao do Parque Tecnolgico da Paraba, situada em
Campina Grande, na Rua Emiliano Rosendo Silva, n 115, no bairro de
Bodocong.
O contedo do relatrio est distribudo conforme descrio a seguir:
Seo 1 Introduo.
Seo 2 Ambiente de Estgio.
Seo 3 Fundamentao Terica e Tecnologias Utilizadas.
Seo 4 Atividades do Estgio.
Seo 5 Consideraes Finais.
Referncias Bibliogrficas.
Apndices.







5
RESUMO

A Smartiks Tecnologia da Informao LTDA uma empresa atuante no
segmento de desenvolvimento de software, desenvolvendo solues
inteligentes para empresas de Distribuio, Transmisso e Gerao de Energia
Eltrica. Entre os principais projetos realizados pela empresa esto o SisRTM
(Sistema de Roteiros de Manobra) e o SmartAlarms. A empresa se encarrega,
tambm, por dar continuidade a projetos desenvolvidos por outros grupos,
como o SLIM (Sistema de Informao para Limites Operacionais de uma Rede
Eltrica). SisRTM um sistema web desenvolvido na linguagem de
programao Java para gerncia de Roteiros de Manobras, pertencente
CHESF (Companhia Hidro Eltrica do So Francisco). Entende-se por roteiros
de manobras documentos operacionais que descrevem as aes a serem
realizadas para liberar e normalizar equipamentos da rede eltrica. O
SmartAlarms um software capaz de realizar diagnsticos em tempo real de
falhas em equipamentos localizados em redes de transmisso e gerao de
energia eltrica. Os diagnsticos so resultados de uma correlao entre os
eventos gerados pelas UTR (Unidade Terminal Remota) e recebidos pelo
sistema SCADA (Sistemas de Superviso e Aquisio de Dados) instalado nas
subestaes e centros de controle. SLIM um sistema que apresenta os
limites de todos os equipamentos e linhas de transmisso de um sistema
eltrico de potncia de maneira completa, fornecendo informaes atualizadas
sobre os equipamentos instalados em uma rede de energia eltrica e, em
particular, limites operacionais determinantes para os equipamentos da rede
escolhidos como equipamentos principais. Em resumo, os objetivos do estgio
foram: (i) implementar novas funcionalidades para o SisRTM, (ii) desenvolver o
SmartFeedbacks, sistema de anlise dos diagnsticos gerados pelo
SmartAlarms e corrigir bugs, (iii) melhorar a interface e (iv) lanar uma verso
para testes do SLIM. O resultado final do trabalho foi a implantao da primeira
verso do SmartFeedbacks, a concluso das ltimas tarefas para finalizar o
projeto SisRTM e a disponibilizao de uma verso para testes do SLIM.

6
SUMRIO

1.INTRODUO........................................................................................................................12
1.1 Sistemas...............................................................................................................................................12
1.1.1 SmartAlarms.................................................................................................................................12
1.1.2 SLIM...................................................................................................................................................13
1.1.3 SisRTM.............................................................................................................................................14
1.1.4 Problemas.......................................................................................................................................15
1.1.4.1 SmartFeedbacks.......................................................................................................................15
1.1.4.2 SLIM...............................................................................................................................................15
1.1.4.3 SisRTM..........................................................................................................................................16
1.2 Objetivos.............................................................................................................................................16
1.2.1 ObjetivoGeral................................................................................................................................16
1.2.2 ObjetivosEspecficos...................................................................................................................16
2.AMBIENTEDEESTGIO.........................................................................................................19
2.1AEmpresa................................................................................................................................................19
2.2CargaHorria.........................................................................................................................................19
2.3Infraestrutura........................................................................................................................................21
2.4OrientaoAcadmica.........................................................................................................................21
2.5SupervisoTcnica...............................................................................................................................22
3.FUNDAMENTAOTERICA.................................................................................................24
3.1 MetodologiadeDesenvolvimento..............................................................................................24
3.2 TecnologiasUtilizadas....................................................................................................................26
3.2.1 Java....................................................................................................................................................28
3.2.2 Hibernate........................................................................................................................................28
3.2.3 EasyAccept.......................................................................................................................................28
3.2.4 SGBDMySQL...................................................................................................................................29
3.2.5 GWT...................................................................................................................................................29
3.2.6 GXT....................................................................................................................................................30
3.2.7 AJAX..................................................................................................................................................30
4.AtividadesRealizadas..................................................................................................33
4.1 EstudodastecnologiasGWTeHibernate................................................................................33
4.2 DesenvolvimentodomduloDiagnsticosdoSmartFeedbacks.....................................34
4.3 DesenvolvimentodomduloAnlisedoSmartFeedbacks................................................36
7
4.4 EntendimentodasfuncionalidadeselevantamentodebugsdoSLIM...........................38
4.5 EstudodaestruturadoSLIM........................................................................................................39
4.6 CorreodebugserevisodostestesdeaceitaodoSLIM.............................................40
4.7 DesenvolvimentodenovasfuncionalidadesparaoSisRTM.............................................41
4.7.1 CRUDdeListadeE-mails...........................................................................................................41
4.7.2 AgendamentodeOperacionalizaesdeDocumentos....................................................43
4.7.3 Realizar Operaes - Aprovar, Operacionalizar, Remover Operacionalizao
Agendada-emLote.....................................................................................................................................43
4.7.4 EnviodeE-mails............................................................................................................................45
4.7.5 Ordenao dos Resultados de Busca por Nvel de Tenso e Tipo de Equipamento
46
4.7.6 ExportaodondicedosResultadosdeBuscaparaPDFeXLS...................................47
4.7.7 IndicadoresdoTempoMdiodeExecuodosDocumentos........................................47
5.ConsideraesFinais.....................................................................................................50


















8
LISTA DE SIGLAS E ABREVIATURAS

AJAX: Asynchronous JavaScript and XML;
APP: Anlise Preliminar de Perigos;
APPM: Anlise Preliminar de Perigos de Manobra;
CHESF: Companhia Hidro Eltrica do Rio So Francisco;
CSS: Cascading Style Sheets;
EJB: Enterprise JavaBeans;
GWT: Google Web Toolkit;
GXT: Extended Google Web Toolkit;
HTML: Hypertext Markup Language;
HTTP: Hypertext Transfer Protocol;
JDBC: Java Database Connectivity;
JVM: Java Virtual Machine;
PDF: Portable Document Format;
PGM: Programa de Manobra;
RTM: Roteiro de Manobra;
RTMA: Roteiros de Manobras de Servios Auxiliares;
SGBD: Sistema Gerenciador de Banco de Dados;
SisRTM: Sistema de Roteiros de Manobra;
SLIM: Sistema de Informao para Limites Operacionais de uma Rede Eltrica;
SQL: Structured Query Language;
TDD: Test Driven Development;
XML: Extensible Markup Language;
XP: Extreme Programming.




9
LISTA DE FIGURAS

Figura 1 Fluxograma do processo de desenvolvimento de software utilizado. ........................ 25
Figura 2 - Arquitetura do SmartFeedbacks ................................................................................. 27
Figura 3 - Arquitetura de aplicaes Web clssicas versus arquitetura de aplicaes AJAX. ... 31
Figura 4 - Tela inicial do SmartFeedbacks .................................................................................. 34
Figura 5 - Tela principal do mdulo de diagnsticos ................................................................... 35
Figura 6 - Janela para importar diagnsticos .............................................................................. 35
Figura 7 - Eventos associados a um determinado diagnstico ................................................... 36
Figura 8 - Tela principal do mdulo de anlises ......................................................................... 37
Figura 9 - Tela de estatsticas sobre eventos ............................................................................. 38
Figura 10 - Erro comum detectado no SLIM: restrio de integridade ....................................... 39
Figura 11 - Tela de lista de e-mails ............................................................................................. 42
Figura 12 - Tela de edio de integrantes de uma lista de e-mails ............................................ 42
Figura 13 - Tela de operacionalizar documentos ........................................................................ 43
Figura 14 - Tela de busca do SisRTM ........................................................................................ 44
Figura 15 - Tela de aprovar documentos em lote ....................................................................... 44
Figura 16 - Tela de envio de e-mail ............................................................................................ 45
Figura 17 - Tela de estatsticas do SisRTM ................................................................................ 48










10
LISTA DE QUADROS

Quadro 1 - Cronograma final de atividades 1 ............................................................................. 20




















11


INTRODUO















SEO I
12
1. INTRODUO

O estgio uma tima oportunidade para o estudante se preparar para os
desafios da carreira. possvel colocar em prtica o aprendizado obtido
durante o curso, aperfeioando o profissional em diversas vertentes, desde o
trabalho em grupo at a aplicao dos conhecimentos tcnicos. Torna-se um
trabalho fundamental para o profissional, que tem a oportunidade de conhecer
de perto a estrutura, metodologia de trabalho e prtica de empresas do ramo.
Diante desse contexto, o estgio ora apresentado foi realizado durante o
perodo de 27 de fevereiro a 30 de junho de 2012, compreendendo a
realizao de atividades de desenvolvimento de software na empresa Smartiks
Tecnologia da Informao LTDA.
Para um melhor entendimento do objeto do estgio, a seguir sero
apresentados os sistemas desenvolvidos pela empresa, os problemas
existentes e o objetivo do estgio.

1.1 Sistemas da Smartiks
1.1.1 Smart Alarms

O Smart Alarms um sistema que recebe informaes do sistema de
monitoramento utilizado pela Chesf - Companhia Hidro Eltrica do So
Francisco, que verifica o funcionamento dos seus equipamentos e gera
diagnsticos dos problemas que ocorrem, informando os detalhes aos
operadores das subestaes e dos centros de controle.
Os diagnsticos gerados so disponibilizados em um sistema wiki
1
para
anlise e devem conter dois feedbacks: um tcnico, descrito pela Smartiks para
detalhar possveis falhas no Smart Alarms, e um ps-operao, descrito pela
Chesf para detalhar possveis falhas operacionais. Cada diagnstico
classificado com uma concluso, que identifica o tipo do problema.

1
Disponvel em: <http://pt.wikipedia.org/wiki/Wiki>. Acesso em: 09 outubro 2012.
13
1.1.2 SLIM

Em uma rede de energia eltrica, cada equipamento possui limites de operao
normal ou emergencial, que variam diuturnamente. Por exemplo, uma linha de
transmisso pode operar em regime de emergncia, com sobrecarga, o que
previsto em projeto, mas no deve ser utilizado com frequncia. Alm disso,
em certos equipamentos, os limites operacionais podem variar entre o dia e a
noite. A segurana de cada equipamento principal depende do menor limite
operacional dos equipamentos secundrios conectados a ele, chamado de
limitante.
As informaes de limites operacionais so essenciais para os diversos
setores de uma empresa de energia eltrica, incluindo o planejamento, controle
e manuteno. O sistema SLIM foi desenvolvido no Centro Regional de
Operaes do Sistema Leste (CROL), que um dos seis Centros de Operao
de Sistema da Companhia Hidro eltrica do So Francisco (CHESF), localizado
na regio Nordeste do Brasil. O domnio de atuao do CROL abrange uma
regio eletrogeogrfica que envolve os estados de Sergipe, Alagoas,
Pernambuco, Paraba e Rio Grande do Norte, possuindo 25 subestaes e
uma usina Termoeltrica. As principais atividades relativas manuteno da
rede eltrica incluem planejamento e implantao de ampliaes da rede;
alterao de configuraes na rede; e deteco de remoo de contingncias.
Cada subestao possui uma configurao prpria. Os equipamentos
considerados como fatores limitantes de uma rede de distribuio so:
Transformador, Linha de Transmisso, Barramento, Link, Disjuntor, Religador,
Chave seccionadora, Chave fusvel, Chave VCR, Chave de abertura em carga,
rels, TC, cabo ou tubo. Cada um destes elementos possui uma corrente
nominal e eventuais outros fatores trmicos, que podem determinar o fator
limitante na anlise de um certo equipamento principal. A determinao do
limite operacional ir considerar como equipamento principal um transformador,
uma linha de transmisso ou um barramento. (ARAJO, 2009)


14
1.1.3 SisRTM

Na Operao do Sistema Eltrico de Potncia (SEP), os Operadores de
Sistema, de Subestaes e Usinas da Chesf tm a complexa tarefa de
executar manobras de liberao e normalizao de equipamentos observando
os requisitos eltricos e principalmente de segurana fsica. Entende-se por
manobra uma ao ou conjunto de aes efetuadas com a finalidade de atingir
uma determinada configurao no SEP. Felizmente, os operadores da Chesf
possuem em tempo real um conjunto documentos operacionais que descrevem
os passos necessrios para a liberao e normalizao dos equipamentos em
condies programadas e de urgncias.
Entre os diversos tipos de documentos operacionais utilizados na Chesf,
e que so tratados na soluo apresentada nesse trabalho, pode-se destacar:
Roteiros de Manobra (RTM): documentos programados utilizados
pelos centros de operao e instalaes para manobrar
equipamentos;
Programas de Manobras (PGM): documentos de urgncia
utilizados pelos centros de operao e instalaes para manobrar
equipamentos;
Roteiros de Manobras de Servios Auxiliares (RTMA):
documentos programados utilizados pelas instalaes para
manobrar equipamentos de servios auxiliares;
Ordem de Manobras (OM): documentos de urgncia utilizados
pelas instalaes para manobrar equipamentos de servios
auxiliares;
Anlise Preliminar de Perigo de Manobra (APPM): documentos
que descrevem as medidas preventivas de controle e risco
associadas s manobras de equipamentos no SEP. (AGUIAR,
2010)
O SisRTM (Sistema de Roteiros de Manobra) um sistema Web capaz de
gerenciar todos esses tipos de documentos comentados anteriormente,
dispondo de funcionalidades como busca inteligente, criao, visualizao e
15
edio (com validao de acordo com as normas da empresa) de documentos,
aprovao e operacionalizao digital dos documentos, controle de verso,
gerao de PDF para impresso, padronizao de aes utilizando templates,
controle de acesso complexo com papis de usurio e poderes para realizar
cada atividade, entre outras funcionalidades no menos importantes.

1.1.4 Problemas
1.1.4.1 SmartFeedbacks

O sistema wiki utilizado pela Chesf no adequado para realizar as anlises
dos diagnsticos gerados pelo Smart Alarms, pois torna o trabalho laborioso e
toma um tempo excessivo. Dessa forma, torna-se necessrio o
desenvolvimento de um sistema que auxilie, facilite e simplifique a descrio de
anlises. Diante desses problemas, foi idealizado o SmartFeedbacks. O
sistema auxilia na importao dos diagnsticos, facilita a descrio das
anlises, gera estatsticas sobre os diagnsticos e anlises, alm de permitir
buscas de acordo com determinados filtros.

1.1.4.2 SLIM

O SLIM um sistema que no foi desenvolvido pela Smartiks. O objetivo da
empresa dar continuidade ao seu desenvolvimento para que ele possa ser
implantado na Chesf. O principal problema se encontra na interface, que no
possui fcil usabilidade. Aps cada ao efetuada no sistema, a pgina
completamente recarregada (refresh) para que o usurio perceba as
alteraes, desperdiando recursos da rede visto que a interface do sistema
Web e aparentando ao usurio final um srio problema de desempenho,
que torna o uso do sistema uma tarefa desgastante. Alm disso, foram
detectados diversos bugs tanto nos testes de aceitao quanto nos testes de
usabilidade.

16
1.1.4.3 SisRTM

Desde 2010, o SisRTM vem passando por melhorias e acrscimos de
funcionalidades. Nesse estgio, as tarefas executadas se concentraram em
incrementar novas features, so exemplos: lista de e-mails, agendamento de
operacionalizao, ordenao dos resultados de busca por nvel de tenso e
tipo de equipamentos.

1.2 Objetivos
Nesta seo, sero descritos os objetivos geral e especficos estabelecidos
como meta no incio do estgio.

1.2.1 Objetivo Geral

O propsito deste trabalho foi desenvolver o SmartFeedbacks, visando
solucionar os problemas comentados na Seo 1.1.4.1, a correo de bugs do
SLIM e a implementao de novas funcionalidades para o SisRTM.

1.2.2 Objetivos Especficos

A seguir, so elencados os objetivos especficos para atender o objetivo geral
em relao a cada um dos sistemas envolvidos.

SmartFeedbacks
Entender a estrutura dos arquivos que armazena os diagnsticos;
Estudar as ferramentas e tecnologias necessrias ao seu
desenvolvimento;
Elaborar interface grfica para o SmartFeedbacks;
Criar scripts de teste;
Implementar as funcionalidades;
Corrigir eventuais bugs encontrados durante o perodo de estgio.

17
SLIM
Entender a estrutura do sistema e as tecnologias utilizadas para o seu
desenvolvimento;
Corrigir os testes de aceitao e elaborar novos testes para aumentar o
a cobertura;
Implementao de uma nova interface grfica;
Corrigir eventuais bugs encontrados durante o perodo de estgio.

SisRTM
Entender a estrutura do sistema e as tecnologias utilizadas para o seu
desenvolvimento;
Elaborar as telas das novas funcionalidades do SisRTM;
Criar scripts de teste;
Implementar as novas funcionalidades;
Corrigir eventuais bugs encontrados durante o perodo de estgio.















18

AMBIENTE DE
ESTGIO













19
2. AMBIENTE DE ESTGIO

2.1 A Empresa

A Smartiks Tecnologia da Informao LTDA uma empresa atuante no
segmento de desenvolvimento de software, desenvolvendo solues
inteligentes para empresas de Distribuio, Transmisso e Gerao de Energia
Eltrica. Entre os principais clientes da empresa esto a CHESF (Companhia
Hidro Eltrica do So Francisco) e a CTEEP (Companhia de Transmisso de
Energia Eltrica Paulista).
Est situada Rua Emiliando Rosendo Silva, 116, sala 06 no Bairro de
Bodocong em Campina Grande, e tem trabalhado em parceria com a
Universidade Federal de Campina Grande (UFCG) e a Fundao Parque
Tecnolgico da Paraba (PaqTcPB).
Atualmente, formada por uma equipe composta de quatro integrantes,
contando com o diretor e o gerente.

2.2 Carga Horria do Estagirio

Segue a lista de atividades com suas respectivas cargas horrias.
1. Estudo das tecnologias GWT e Hibernate (20 h);
2. Desenvolvimento do mdulo Diagnsticos do SmartFeedbacks
(40 h);
3. Desenvolvimento do mdulo Anlises do SmartFeedbacks (40 h);
4. Entendimento das funcionalidades (10 h) e levantamento de bugs
do SLIM (10 h);
5. Estudo da estrutura do SLIM (20 h);
6. Correo de bugs e reviso dos testes de aceitao do SLIM (40
h);
7. Entendimento da estrutura do SisRTM (20 h);
8. Desenvolvimento de novas funcionalidades para o SisRTM (160
h).
20

No Quadro 1 apresentado o cronograma final de atividades composto
por 18 semanas, totalizando 360 horas trabalhadas.
Quadro 1 - Cronograma final de atividades.
Atividade/Semana
1 2 3 4 5 6 7 8
27/02 05/03 X
05/03 12/03 X
12/03 19/03 X X
19/03 26/03 X X
26/03 02/04 X
02/04 09/04 X
09/04 16/04 X
16/04 23/04 X
23/04 30/04 X
30/04 07/05 X
07/05 14/05 X
14/05 21/05 X
21/05 28/05 X
28/05 04/06 X
04/06 11/06 X
11/06 18/06 X
28/06 25/06 X
25/06 30/06 X

O cronograma final difere em uma atividade significativa do previsto no
plano de estgio, que pode ser visto no Apndice B. O tempo que deveria ser
dedicado atividade Implementao de uma nova interface grfica para o
SLIM foi transferido para a atividade Implementao de novas funcionalidades
21
para o SisRTM. Isso ocorreu devido necessidade de concluso do SisRTM
no ms de junho.

2.3 Infraestrutura

Segue a infraestrutura de Software e de Hardware utilizadas no ambiente de
estgio.
Infraestrutura de Software:
Sistema Operacional: Ubuntu 10.04.
Ambiente de Desenvolvimento: Eclipse 3.7.
Sistema Gerenciador de Banco de Dados: Oracle XE e MySQL.
Tecnologias: Java 5 e Java 6, GWT 2.0 e 2.4; GXT 2.2.1 e 2.2.5;
Hibernate 3.0; JSP; EasyAccept 1.0.
Infraestrutura de Hardware:
Intel Core i5 7560 2,66 GHz;
4 GB RAM;
HD de 500 GB;
Placa de vdeo Geforce 8400 GS.

2.4 Orientao Acadmica

Nome: Joseana Macdo Fechine Rgis de Arajo
Endereo: Departamento de Sistemas e Computao
Universidade Federal de Campina Grande
Avenida Aprgio Veloso, 882 CEP: 58.109-970
Bodocong, Campina Grande, PB Brasil.
Email: joseana@dsc.ufcg.edu.br



22
2.5 Superviso Tcnica

Nome: Leandro Jos Ventura Silva
Endereo: Fundao Parque Tecnolgico da Paraba
Rua Emiliano Rosendo Silva, 115, sala 06
Bodocong, Campina Grande, PB Brasil.
Email: leandro@smartiks.com



























23


FUNDAMENTAO
TERICA












SEO
III
24
3. FUNDAMENTAO TERICA

Nesta seo, sero descritos os conceitos necessrios ao entendimento das
atividades realizadas, como a metodologia de desenvolvimento empregada e
as tecnologias utilizadas.

3.1 Metodologia de Desenvolvimento

Um processo de desenvolvimento de software um conjunto de atividades que
conduzem elaborao de um produto de software. Estas atividades podem
envolver o desenvolvimento do software desde o incio utilizando uma
linguagem padro como Java ou C. (SOMMERVILLE, 2007)
O desenvolvimento de software na empresa Smartiks acontece de forma
iterativa e incremental, seguindo prticas baseadas no processo XP
2
(Extreme
Programming) com algumas adaptaes, visando atender a realidade da
empresa, descrito a seguir.
Sentar-se junto Pelo menos uma vez por semana, os membros da
equipe se juntam em uma sala para que todos trabalhem em conjunto de
forma que a comunicao seja rpida e eficaz;
Cdigo coletivo O cdigo desenvolvido deve ser de responsabilidade
de todos, de forma que qualquer um esteja preparado para modific-lo;
Integrao contnua Consiste em integrar o trabalho diversas vezes
ao dia, assegurando que a base de cdigo permanea consistente ao
final de cada integrao (TELES, 2008);
Implantao incremental A cada final de iterao uma nova verso
com o conjunto de atividades desenvolvidas implantada para anlise e
posterior feedback dos usurios responsveis pelo sistema.
Desenvolvimento orientado a testes TDD (Test Driven
Development) uma tcnica de desenvolvimento de software cujos

2
(TELES, Vincius. Extreme Programming, XP: metodologia desenvolvimento gil. Em:
<http://improveit.com.br/xp>. Acesso em: 09 outubro 2012.)
25
testes so elaborados antes e durante a implementao, de forma que o
desenvolvimento seja guiado por estes testes e o nvel de segurana
aumente (TELES, 2008).
Na Figura 1 apresentado um esboo do fluxograma de cada iterao do
processo de desenvolvimento utilizado.

Figura 1 Fluxograma do processo de desenvolvimento de software utilizado.
De acordo com a Figura 1, percebe-se que o processo inicia com a
definio de atividades e, em seguida, descrito como elas sero executadas
por meio do planejamento. Em se tratando do front-end, o processo mais
simples. Depois do planejamento, o prximo passo definir as telas, a partir
das quais so construdos esboos e descritos os detalhes de como elas
devem ser implementadas. Aps a implementao, so realizados testes
manuais com objetivo de averiguar se as telas satisfazem os requisitos no-
funcionais de desempenho e usabilidade do sistema. Quanto ao Back-end,
depois do planejamento, o gerente fornece uma bateria de testes de aceitao
(scripts EasyAccept
3
) que guiam o desenvolvimento da lgica de negcio das
funcionalidades estabelecidas para a iterao. Aps a implementao e

3
Disponvel em: <http://easyaccept.sourceforge.net/>. Acesso em: 09 outubro 2012.
26
certificados que o resultado da execuo dos testes positivo, o cdigo fonte
submetido reviso por meio da ferramenta do Google Code Review
4
.
Os membros da equipe revisam o cdigo e, mediante a aprovao, o
prximo passo implantar o sistema no servidor apropriado. Normalmente,
feito deploy na prpria empresa ou na CHESF.

3.2 Tecnologias Utilizadas

Nesta seo, sero abordadas as tecnologias utilizadas para o
desenvolvimento dos seguintes sistemas: SmartFeedbacks, SLIM e SisRTM.
A arquitetura do SmartFeedbacks baseada no padro de projeto MVC
(Model-View-Controller), que consiste em trs camadas: camada de
apresentao, camada de negcios e camada de dados. uma arquitetura
clssica no que se refere ao desenvolvimento de aplicaes Web. Na Figura 2,
apresentado um esquema em alto nvel do padro MVC. Os usurios
acessam o sistema de qualquer computador utilizando um browser, que se
comunica com o servidor Web onde a aplicao est implantada por meio da
Internet.
A camada de apresentao composta pelas pginas Web, onde so
inseridos os dados para as requisies e apresentadas as respostas destas
requisies (via browser). As principais tecnologias utilizadas para construir a
camada de apresentao foram: GWT (Google Web Toolkit), que permite a
criao de front-end AJAX (Asynchronous JavaScript and XML) escrito em
Java, eliminando completamente o refresh no browser, e o GXT ou Ext-GWT
(Extended Google Web Toolkit), biblioteca que facilita a construo de
componentes ricos e interativos para interfaces GWT. Como diferencial, o GXT
oferece um componente que torna a interface grfica do sistema semelhante a
rea de trabalho dos sistemas operacionais Windows. Desta forma, a interface
aproxima e facilita o uso do sistema pelos usurios, que esto habituados com

4
Disponvel em: <http://code.google.com/p/support/wiki/CodeReviews>. Acesso em: 09 outubro
2012.
27
essa linha de sistemas operacionais. Na Figura 2, apresentada a arquitetura
do SmartFeedBacks.


Figura 2 - Arquitetura do SmartFeedbacks.
A camada de negcios onde se encontra a lgica da aplicao. Todas
as requisies so tratadas por controladores que realizam consultas aos
dados e enviam mensagem a camada de apresentao. Para a construo
dessa camada, foi utilizada a linguagem Java.
A camada de dados responsvel por definir e gerenciar todas as
informaes referidas ao domnio da aplicao, enviando, sempre que
requisitado pelos controladores, os dados armazenados. Nessa camada foi
usado o Hibernate
5
, uma tecnologia que realiza o mapeamento objeto-
relacional dentro do ambiente Java, isolando a lgica de negcios da camada
de dados sendo possvel a troca de banco de dados facilmente. Por esse
motivo, em se tratando do SmartFeedbacks, no foi necessrio lidar
diretamente com o sistema de banco de dados utilizado: o MySQL.
A seguir sero descritas as tecnologias citadas nas Sees 3.1 e 3.2,
com informaes tcnicas coletadas durante o perodo de estudo.


5
Disponvel em: <http://www.hibernate.org/>. Acesso em: 09 outubro 2012.
28
3.2.1 Linguagem de Programao Java

Java uma linguagem de programao orientada a objeto desenvolvida na
dcada de 90. Ao contrrio de outras linguagens clssicas que so compiladas
diretamente, o cdigo Java compilado para um bytecode, que executado
pela JVM (Java Virtual Machine
6
).
uma linguagem bastante popular no mercado, assim como na
Smartiks, que utiliza Java no desenvolvimento de diversos projetos.

3.2.2 Hibernate

Hibernate uma poderosa tecnologia que faz o mapeamento objeto/relacional
no ambiente Java. O termo de mapeamento objeto/relacional, ou ORM
(Object/Relational Mapping), se refere tcnica usada para mapear uma
representao de dados de um modelo de objeto para dados de modelo
relacional, como esquemas baseados em SQL (Structured Query Language
7
).
O Hibernate no somente trata do mapeamento de classes Java para
tabelas de banco de dados (e de tipos primitivos de dados em Java para tipos
de dados em SQL), como tambm fornece mecanismos de consultas e
recuperao de dados, podendo tambm reduzir significantemente o tempo de
desenvolvimento gasto com a manipulao manual de dados no SQL e JDBC
(Java Database Connectivity
8
).

3.2.3 EasyAccept

EasyAccept uma ferramenta que facilita a criao e execuo de testes de
aceitao. Os scripts EasyAccept so simples arquivos de texto com sintaxe

6
Disponvel em: <http://www.java.com/pt_BR/>. Acesso em setembro de 2012.
7
Disponvel em: <http://pt.wikipedia.org/wiki/SQL>. Acesso em: 09 outubro 2012.
8
Disponvel em: <http://en.wikipedia.org/wiki/Java_Database_Connectivity>. Acesso em: 09
outubro 2012.
29
bastante clara e quase totalmente livre da implementao do sistema. A
ferramenta bastante usada na empresa, e pea fundamental na
metodologia de desenvolvimento adotada, comentada na Seo 3.1.

3.2.4 SGBD MySQL

Um SGBD (Sistema Gerenciador de Banco de Dados) uma ferramenta
completa e complexa para criao e manipulao de bancos de dados de
forma eficiente, fornecendo vantagens como controle de transaes,
segurana, backup, tolerncia a falhas, flexibilidade e padronizao (ULLMAN
et al., 2002).
O MySQL
9
um sistema de gerenciamento de banco de dados (SGBD),
que utiliza a linguagem SQL (Structured Query Language) como interface.
Atualmente, um dos bancos de dados mais populares, com mais de 10
milhes de instalaes pelo mundo.

3.2.5 GWT

GWT
10
um framework de cdigo aberto desenvolvido pelo Google que ajuda
o desenvolvedor de aplicaes Web a construir interfaces AJAX. O cdigo
desenvolvido em Java e o GWT se encarrega de fazer a converso e
compilao otimizada (por meio de anlise esttica, o compilador GWT elimina
todo o cdigo no utilizado para que as pginas carreguem mais rapidamente)
para o Javascript compatvel (com ressalvas) em todos os navegadores.
O cdigo Javascript gerado ainda ofuscado, gerando maior segurana,
j que usurios que tentarem visualiz-lo no podero entend-lo. O GWT
tambm prov um modo de desenvolvimento rpido, que permite visualizar
mudanas feitas na interface apenas atualizando o browser. Por fim, a
ferramenta ainda fornece uma interface simples para invocao de mtodos

9
Disponvel em: <http://pt.wikipedia.org/wiki/MySQL>. Acesso em: 09 outubro 2012.
10
Disponvel em: <https://developers.google.com/web-toolkit/>. Acesso em: 09 outubro 2012.
30
remotos, serializando e desserializando as informaes enviadas e retornadas
pelo servidor.

3.2.6 GXT

GXT
11
uma biblioteca Java desenvolvida pela empresa norte-americana
Sencha para estender os recursos de interface grfica Web do GWT, a qual
fornece uma srie de widgets
12
compatveis com todos os navegadores
convencionais de alto desempenho e facilmente customizveis.

3.2.7 AJAX

Aplicaes Web tradicionais interagem com o browser de forma sequencial. Ao
clicar em um link, por exemplo, o navegador faz uma requisio ao servidor
HTTP (Hypertext Transfer Protocol
13
), e espera pela resposta do servidor,
resultando em um refresh para carregar a pgina. Uma aplicao AJAX [20],
por sua vez, utiliza mecanismos das tecnologias Javascript e XML (Extensible
Markup Language
14
) para fazer requisies assncronas ao servidor, de forma
que a pgina no precise ser totalmente recarregada para atualizar as
informaes (apenas um trecho dela necessrio). Portanto, uma aplicao
AJAX consegue produzir pginas mais interativas com o usurio, porque no
h perda de controle da aplicao ao se comunicar com o servidor. Na Figura
3, pode ser vista uma comparao entre as arquiteturas Web clssica e Ajax.


11
Disponvel em: <http://www.sencha.com/gxtdocs/>. Acesso em: 09 outubro 2012.
12
Disponvel em: <http://pt.wikipedia.org/wiki/Widget>. Acesso em: 09 outubro 2012.
13
Disponvel em: <http://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol>. Acesso em: 09
outubro 2012.
14
Disponvel em: <http://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol>. Acesso em: 09
outubro 2012.
31

Figura 3 - Arquitetura de aplicaes Web clssicas versus arquitetura de aplicaes
AJAX.
Para os programadores GWT, a utilizao da biblioteca AJAX que
implementa estes mecanismos completamente abstrada, ficando esta a
cargo do framework.











32


ATIVIDADES
REALIZADAS















SEO
IV
33
4. Atividades Realizadas

Nessa seo sero descritas as atividades realizadas durante o estgio de
acordo com a ordem cronolgica, assim como foram listadas na Seo 2.2.
Todas as atividades de desenvolvimento seguiram a metodologia descrita na
Seo 3.1.

4.1 Estudo das tecnologias GWT e Hibernate

A primeira atividade realizada no estgio foi o estudo das tecnologias
necessrias ao desenvolvimento do SmartFeedbacks, comentadas na Seo
3.2.
Foi planejado uma semana (equivalente vinte horas) de estudo para o
aprendizado das tecnologias GWT e Hibernate, j que as demais, com exceo
de AJAX, eram bastante conhecidas e utilizadas durante a graduao pelo
estagirio.
O estudo das tecnologias no apresentou grandes dificuldades. Isso
deveu-se a trs motivos principais: o primeiro devido quantidade significativa
de contedo disponvel na Web, incluindo fruns de discusso, documentao
e diversos tutoriais, o segundo pela experincia com a linguagem Java
utilizada no GWT e, por fim, o suporte prestado pela equipe da Smartiks.
Como resultado prtico desse estudo foi desenvolvido o sistema de
autenticao do SmartFeedbacks. Existem dois tipos de perfis, cada um com
suas funcionalidades inerentes, so eles: o usurio Smart e o usurio Chesf.
Na Figura 4, apresentada a tela de autenticao do SmartFeedbacks.
34

Figura 4 - Tela inicial do SmartFeedbacks.

4.2 Desenvolvimento do mdulo Diagnsticos do
SmartFeedbacks

Para o desenvolvimento do mdulo de diagnsticos foi necessrio entender a
estrutura dos logs (em XML) de diagnsticos gerados pelo Smart Alarms e os
arquivos de texto que armazenam as anlises do sistema wiki utilizados pela
Chesf.
Em seguida, elaborou-se um modelo conceitual de banco de dados
buscando-se mapear os dados contidos nos arquivos citados anteriormente
para entidades no modelo. Com o modelo definido, foi implementada uma API
para ler esses arquivos e transferir os dados dos diagnsticos e das anlises
para um banco de dados, no caso, o gerenciador utilizado foi o MySQL.
O prximo passo foi implementar a lgica da aplicao para busca e
edio dos diagnsticos e, em seguida, desenvolver a interface relacionada a
esse mdulo. Como pode ser visto a partir da Figura 5, os diagnsticos podem
ser filtrados baseado em quatro critrios: Regional (identifica o centro de
operaes), Perodo (identifica um perodo de ocorrncia de diagnsticos),
Diagnstico (identifica o ttulo ou parte dele) e Concluso (identifica a anlise
do diagnstico).
35

Figura 5 - Tela principal do mdulo de diagnsticos.
Os dados dos diagnsticos podem ser importados fazendo-se upload de
um arquivo em formato zip e escolhendo o centro de operao ao qual se
deseja importar os diagnsticos, como pode ser visto na Figura 6.

Figura 6 - Janela para importar diagnsticos.
Alm disso, cada diagnstico possui diversos eventos associados que
revelam os motivos pelo qual esse foi gerado. Na Figura 7, pode-se visualizar
as informaes detalhadas dos eventos associados a um diagnstico.
36

Figura 7 - Eventos associados a um determinado diagnstico.
Um evento est associado a um equipamento e possui um tipo (que
descrito como cdigo). Os mais comuns so: abertura (A) e fechamento (F),
mas esses podem ocorrer outros.

4.3 Desenvolvimento do mdulo Anlise do SmartFeedbacks

Para cada diagnstico gerado pelo Smart Alarms necessrio que uma anlise
seja realizada buscando identificar a sua real causa. Cada anlise possui um
cdigo que a identifica e uma descrio. So dois os tipos de responsveis em
analisar os diagnsticos: a empresa prestadora de suporte tcnico do Smart
Alarms e alguns engenheiros da Chesf. Estes analisam os diagnsticos
relacionados a falhas em decorrncia do mal ou total no funcionamento de
equipamentos no sistema eltrico, enquanto aqueles analisam possveis
diagnsticos gerados erroneamente pelo Smart Alarms.
O primeiro passo para o desenvolvimento desse mdulo foi implementar a
lgica da aplicao para busca e edio das anlises. O segundo foi construir
consultas para levantar estatsticas sobre as anlises. Em seguida,
desenvolveu-se a interface relacionada ao mdulo.
Na Figura 8 apresentada a tela principal do mdulo de anlises. A busca
pode ser realizada de acordo com os seguintes filtros: Regional (identifica o
centro de operaes) e Perodo (identifica um perodo de ocorrncia de
37
diagnsticos). O usurio do tipo Smart pode criar, editar ou remover uma
anlise. Para editar algum campo da anlise, basta clicar em cima da clula
desejada e alterar o texto.

Figura 8 - Tela principal do mdulo de anlises.
Pode-se ver uma lista de anlises apresentadas, conforme Figura 8. A
penltima coluna diz respeito ao percentual que cada anlise representa em
relao busca realizada. Na ltima coluna de cada linha existe um cone que
serve para mostrar as estatsticas sobre os eventos associados aos
diagnsticos dessa anlise.
Na Figura 9 so mostrados os eventos associados s anlises que
possuem o cdigo OK. Na aba Por Cdigo do Evento cada linha possui as
colunas: Cdigo (que o cdigo do evento), Quantidade de eventos (nmero
de eventos relacionados ao cdigo da linha) e Quantidade de diagnsticos
(nmero de diagnsticos relacionados a cdigo da linha).
38

Figura 9 - Tela de estatsticas sobre eventos.
Tem-se ainda as opes visualizar os eventos Por cdigo do
Equipamento e Por subestao. Existe tambm a opo de listar os
diagnsticos associados a uma anlise na aba Diagnsticos Associados.

4.4 Entendimento das funcionalidades e levantamento de
bugs do SLIM

Conforme destacado na Seo 1.1.4.2, o SLIM no foi desenvolvido pela
Smartiks. Portanto, para entender suas funcionalidades utilizou-se o manual de
instrues como forma de auxiliar no aprendizado do sistema.
Percebeu-se, no entanto, que o manual no condizia com o sistema que
nos foi entregue, pois j existiam outras funcionalidades e a interface no era a
mesma. Basicamente, o SLIM possui um mdulo de cadastro de instalao,
equipamento e composio de limite operacional, que consiste em agregar
vrios equipamentos j cadastrados; um mdulo de busca por equipamento e
composio; um mdulo de operacionalizao (todas as aes no sistema
precisam ser aceitas ou rejeitadas) e, por fim, um mdulo de auditoria.
39
O aprendizado foi rpido devido ao sistema ser pequeno e as
funcionalidades simples de entender. O que requereu mais tempo foi aprender
a manipular as composies de limites operacionais, pois cada tipo tem sua
peculiaridade. Por exemplo, cada composio possui um limitante que se
refere ao equipamento com menor corrente nominal. Isso significa que nessa
composio a carga mxima suportada ser determinada pela menor corrente
nominal dos equipamentos agregados.
Ciente do comportamento correto do sistema e dos bugs detectados, foi
identificado aonde se concentravam os principais gargalos: problemas no
acesso ao banco para inserir, alterar e consultar equipamentos e
operacionalizaes, alm de erros de configurao na interface. Na Figura 10,
ilustrado um exemplo de erro comum detectado no SLIM.

Figura 10 - Erro comum detectado no SLIM: restrio de integridade.

4.5 Estudo da estrutura do SLIM

Buscou-se entender a estrutura do sistema analisando o projeto arquitetural, os
diagramas de classes e de casos de uso e, claro, o cdigo fonte. Contudo, os
diagramas de classes no ajudaram no entendimento por no serem
suficientemente representativos.
As principais tecnologias utilizadas para o desenvolvimento do SLIM
foram: JSP (JavaServer Pages
15
), tecnologia Java para o desenvolvimento de
aplicaes Web, e Oracle, o gerenciador de banco de dados. O principal

15
Disponvel em: <http://pt.wikipedia.org/wiki/JavaServer_Pages>. Acesso em: 09 outubro
2012.
40
padro de projeto, comumente utilizado no desenvolvimento Web, foi o MVC
Model View Controller
16
.
O sistema apresenta-se bem modularizado. Em geral, o cdigo
simples de entender, contudo, existem detalhes de implementao que no o
so. Por exemplo, a comunicao com o banco de dados foi implementada
pelos prprios desenvolvedores do SLIM, ou seja, no foi utilizada uma API
como o Hibernate para auxiliar nas transaes, tornando o cdigo bastante
complexo.
O mdulo de interface, que engloba as pginas em JSP juntamente com
os seus estilos, um dos pontos mais crticos do sistema pois, alm de no
apresentar uma aparncia agradvel, no possui fcil usabilidade e as
respostas s requisies requerem um refresh completo de toda a pgina.

4.6 Correo de bugs e reviso dos testes de aceitao do
SLIM

Depois de entender o funcionamento e a estrutura do SLIM, o prximo passo
foi corrigir os bugs e revisar os testes que, em sua maioria, no estavam
validados. Para os testes de aceitao, utilizou-se o EasyAccept. No total so
14 scripts de testes, cada um com duzentas linhas, em mdia. Para os testes
de unidade, utilizou-se o JUnit
17
. No total so 3 arquivos de testes com,
aproximadamente, 30 verificaes em cada um.





16
Disponvel em: <http://pt.wikipedia.org/wiki/MVC>. Acesso em: 09 outubro 2012.
17
Disponvel em: <http://www.junit.org/>. Acesso em: 09 outubro 2012.
41
4.7 Desenvolvimento de novas funcionalidades para o
SisRTM

Desde 2010, o SisRTM passa por constante evoluo. As primeiras
modificaes estavam ligadas mudana de tecnologia (de Flex
18
para GWT)
e elaborao de uma nova arquitetura.
Nesse estgio, as novas funcionalidades implementadas foram as
seguintes: CRUD de Lista de E-mails, Agendamento de Operacionalizaes de
Documentos, Realizar Operaes - Aprovar, Operacionalizar, Remover
Operacionalizao Agendada - em Lote, Envio de E-mails, Ordenao dos
Resultados de Busca por Nvel de Tenso e Tipo de Equipamento, Exportao
do ndice dos Resultados de Busca para PDF e XLS e Indicadores do Tempo
Mdio de Execuo dos Documentos.

4.7.1 CRUD de Lista de E-mails

O conceito de lista de e-mails foi criado para facilitar a seleo dos
destinatrios no momento de enviar ou salvar algum e-mail para agendamento
de operaes. Uma lista de e-mails possui um nome e, obviamente, os
endereos de e-mail que a compe.
Na Figura 11, apresentada a tela de lista de e-mails. A barra inferior
possui os botes de atualizar a busca, editar integrantes, criar nova, alterar
nome e remover uma lista. Alm disso, as listas de e-mails podem ser filtradas
por Centro de Operao.

18
Disponvel em: <http://www.adobe.com/devnet/flex.html>. Acesso em: 09 outubro 2012.
42

Figura 11 - Tela de lista de e-mails.
Para editar os e-mails de uma lista foi elaborada a tela que
apresentada na Figura 12. Do lado esquerdo aparecem os e-mails que j
compem a lista e do lado direito so listados os e-mails, filtrados por
subestao, que no fazem parte da lista. O usurio tambm tem a
possibilidade de digitar novos e-mails e adicion-los lista.

Figura 12 - Tela de edio de integrantes de uma lista de e-mails.
A tela mostrada na Figura 12 foi implementada manualmente e
necessitou combinar vrios dos elementos disponveis na API GXT para torna-
la compatvel com os navegadores Internet Explorer, Firefox, Chrome e Safari.
43

4.7.2 Agendamento de Operacionalizaes de Documentos

Os documentos Roteiros de Manobra (RTM), Programas de Manobras (PGM),
Roteiros de Manobras de Servios Auxiliares (RTMA) e Ordem de Manobras
(OM) passam por uma srie de fases: necessitam de aprovao, para garantir
que as aes descritas esto corretas, operacionalizao, para identificar que o
documento est pronto para ser executado, e execuo, para, de fato, cumprir
o que as aes determinam.
J existia a funcionalidade operacionalizar os documentos. Nesse
estgio, foi desenvolvido o agendamento de operacionalizaes. Para tanto,
basta o usurio escolher uma data futura para o sistema operacionalizar
documentos automaticamente. Na Figura 13, apresentada a tela de
operacionalizao de documentos.

Figura 13 - Tela operacionalizar documentos.

4.7.3 Realizar Operaes - Aprovar, Operacionalizar, Remover
Operacionalizao Agendada - em Lote

Alm de aprovar, operacionalizar e remover operacionalizao agendada em
um nico documento, foi requisitado realizar essas operaes em lote, a partir
da tela de busca. Assim, pode-se selecionar diversos documentos e realizar
44
essas operaes de uma s vez. Na Figura 14, apresentada a tela principal
de busca do SisRTM.

Figura 14 - Tela de busca do SisRTM.

Na barra inferior dos resultados aparecem os botes de acordo com o
estado dos documentos. Por exemplo, se um documento requer aprovao, o
boto de aprovar aparecer. Logo, s possvel realizar um tipo de operao
por vez e se todos os documentos possurem o mesmo estado. Na Figura 14
aparece o boto de aprovar (terceiro da esquerda para a direita). Ao clicar
sobre ele, uma janela semelhante apresentada na Figura 15 ser exibida.

Figura 15 - Tela de aprovar documentos em lote.
45

4.7.4 Envio de E-mails

Nesse estgio, foi desenvolvida a funcionalidade de envio de e-mails. Ao
aprovar e operacionalizar, o usurio tem a opo de enviar e-mail sobre essas
operaes. Na Figura 15, apresentada a janela de confirmao para aprovar
documentos. Na parte inferior da janela, existe um check box Notificar
usurios. Caso seja marcado, uma tela semelhante mostrada na Figura 16
ser exibida.

Figura 16 - Tela de envio de e-mail.
O usurio pode selecionar listas de e-mails como tambm adicionar e-
mails manualmente. Caso a operao realizada seja um agendamento, o e-
mail salvo e s ser enviado no dia da operacionalizao do documento.

46
4.7.5 Ordenao dos Resultados de Busca por Nvel de Tenso
e Tipo de Equipamento

Nos resultados de busca por documentos j era possvel ordenar pelo nome,
pela edio ou pela data da ltima modificao. Nesse estgio, foi
desenvolvida a opo de ordenar os documentos da busca por nvel de tenso
e tipo de equipamento. Isso porque, em geral, um documento refere-se a um
equipamento, que por sua vez descrito por um cdigo.
Considere um documento que tenha por nome RTM-CGD-14T4, extrai-
se a ltima parte, que se refere ao cdigo do equipamento, e tem-se 14T4. O
tipo desse equipamento disjuntor e sua tenso 4, pois considera-se o
segundo caractere. Na ordenao por nvel de tenso, basta obedecer a
seguinte ordem: 5, 4, 3, 2, 9, 1, 6 e, por fim, qualquer outro nvel. Na ordenao
por tipo de equipamento, a seguinte ordem utilizada: Configurao Normal,
Regulador, Trafo Aterramento, Gerador, Banco de Capacitor, Barramento,
Reator, Transformador, Disjuntor, Compensador Esttico, Compensador
Sncrono, Linha, Manobra Especial e Tipo desconhecido.
Primeiramente, ordena-se os documentos pelo nvel de tenso do cdigo
do equipamento. Em seguida, os documentos agrupados por nvel so ento
ordenados pelo seu tipo. Algumas restries so consideradas: documentos do
tipo Configurao Normal sempre devem estar no topo; Linha, Manobra
Especial e os Tipos Desconhecidos sempre deve estar no final da lista nessa
ordem. Observar que para esses tipos de documentos a ordenao por nvel
de tenso no realizada juntamente com os demais tipos.
Os seguintes documentos so considerados: RTM-L-ME-04BP-PFE
(Manobra Especial), RTM-MSI-15D1 (Disjuntor), RTM-AGD-05E1 (Reator),
RTM-GNN-CONFIG NORMAL (Configurao Normal), RTM-AGD-05B2
(Barramento), RTM-JRM-02BA (Barramento) e RTM-PRD-02A1 (Trafo
Aterramento). Ordenando por nvel de tenso e tipo de equipamento teramos:
RTM-GNN-CONFIG NORMAL (Configurao Normal), RTM-AGD-05B2
(Barramento), RTM-AGD-05E1 (Reator), RTM-MSI-15D1 (Disjuntor), RTM-
PRD-02A1 (Trafo Aterramento), RTM-JRM-02BA (Barramento) e RTM-L-ME-
04BP-PFE (Manobra Especial).
47

4.7.6 Exportao do ndice dos Resultados de Busca para PDF
e XLS

O ndice do resultados de busca gerado a partir de uma lista de documentos.
Cada linha do ndice, em geral, identifica o nome do documento, sua edio e a
data da ltima modificao. Entretanto, essas informaes podem variar
dependendo do tipo do documento que foi considerado na busca.
Para exportar o ndice nos formatos PDF (Portable Document Format
19
)
e XLS (Microsoft Excel
20
) foi utilizada uma API disponvel na Smartiks, que
encapsula a Dynamic Jasper Report
21
, famosa biblioteca para gerao de
relatrios. No Apndice A, pode-se ver um exemplo de um ndice exportado no
formato PDF.

4.7.7 Indicadores do Tempo Mdio de Execuo dos
Documentos

Os documentos do tipo OM, PGM, RTM e RTMA so aprovados,
operacionalizados e, por fim, executados. Como explicado anteriormente, a
execuo de um documento se d pelo cumprimento do conjunto de aes
descritas em um documento. Essas aes so divididas em grupos
denominados procedimentos. Depois que todas as aes forem executadas, o
documento marcado como executado.
Portanto, o tempo mdio de execuo de um documento calculado
subtraindo o instante da ltima execuo do instante da primeira execuo,
dividindo o resultado pelo nmero total de aes, ou seja, estima quanto tempo

19
Disponvel em: <http://pt.wikipedia.org/wiki/Portable_document_format>. Acesso em: 09
outubro 2012.
20
Disponvel em: <http://en.wikipedia.org/wiki/Microsoft_Excel_file_format>. Acesso em: 09
outubro 2012.
21
Disponvel em: <http://dynamicjasper.com/>. Acesso em: 09 outubro 2012.
48
cada ao levou para ser executada. O tempo mdio de execuo de um
procedimento calculado de forma semelhante, considerando apenas as
aes que o compem.
Na Figura 17 apresentada a tela de estatsticas do SisRTM. Os
indicadores comentados anteriormente so calculados em minutos:
OM_EXECUTADO (Tempo Mdio de Execuo por OM em minutos),
OM_EXECUTADO (Tempo Mdio de Execuo por procedimento de OM em
minutos), PGM_EXECUTADO (Tempo Mdio de Execuo por PGM em
minutos), PGM_EXECUTADO (Tempo Mdio de Execuo por procedimento
de PGM em minutos), RTMA_EXECUTADO (Tempo Mdio de Execuo por
RTMA em minutos), RTMA_EXECUTADO (Tempo Mdio de Execuo por
procedimento de RTMA em minutos), RTM_EXECUTADO (Tempo Mdio de
Execuo por RTM em minutos) e RTM_EXECUTADO (Tempo Mdio de
Execuo por procedimento de RTM em minutos).

Figura 17 - Tela de estatsticas do SisRTM.




49


CONSIDERAES
FINAIS














SEO
V
50

5. Consideraes Finais

Esse estgio foi um complemento muito valoroso para meu crescimento
profissional e pessoal. Pude colocar em prtica o aprendizado adquirido
durante a graduao e compreender melhor o processo de desenvolvimento de
software.
Na Smartiks tive a oportunidade de fazer parte de todas as etapas do
processo de desenvolvimento. Desde a conversa com o cliente implantao
do produto. Estive envolvido com o desenvolvimento de diversos sistemas,
podendo aprender novas tecnologias e participar de workshops com os clientes
dos projetos.
O ponto mais complicado no estgio foi o perodo que trabalhei com o
SLIM, um sistema que apresentava bastante bugs, a maior parte do cdigo no
estava documentada e os artefatos que descreviam o sistema no condiziam
com a verso atual.
Posso destacar o processo de desenvolvimento adotado pela empresa
como um fator determinante para o sucesso dos produtos produzidos.
Utilizamos TDD e realizamos bastante revises de cdigo. Essas tcnicas do
maior segurana de que a implementao no contm bugs e asseguram
maior qualidade ao cdigo produzido, j que so avaliados por pessoas mais
experientes no ramo de desenvolvimento de software.
Acredito que todos os alunos do curso de Cincia da Computao
deveriam cursar a disciplina de estgio integrado, mesmo que sua opo por
trabalho seja na rea acadmica. Lidar com o mundo real de desenvolvimento
de software faz voc enxergar de fato as dificuldades encontradas durante todo
o ciclo de desenvolvimento. O profissional deve estar sempre preparado e
aberto a mudanas para melhorar o que for possvel dentro da empresa.
Sempre soube disso e vivenciei um pouco com os projetos desenvolvidos na
graduao. Contudo, agora comprovei o quo complexo desenvolver
software.

51

REFERNCIAS
BIBLIOGRFICAS
















52

Referncias Bibliogrficas

ARAJO, A. S., SCHIEL, U., BAPTISTA, C. S., SAMPAIO, M., NICOLETTI, P.
S. SLIM - Sistema de Limites Operacionais de um Rede Eltrica. In: XIII ERIAC
Dcimo Terceiro Encontro Regional Iberoamericano do Cigr, 2009, Puerto
Iguaz. XIII ERIAC Dcimo Terceiro Encontro Regional Iberoamericano do
Cigr, 2009.

AGUIAR, Yuska; NETO, Jos Alves; VIEIRA, Maria; Avaliao da Usabilidade
do Produto SisRTM Sistema de Roteiro de Manobras (artigo). Campina
Grande: Laboratrio de Interface Homem Mquina (UFCG); 2010.

SOMMERVILLE, Ian. Software Engineering. 8.ed. China: Pearson Education,
2007.
















53

APNDICES















54

APNDICE A ndice exportado no formato PDF
ndice de Documentos
SisRTM - Relatrio gerado em: 28/10/2012 18:06:23 -0300
Nome Data Itima AIterao Edio
RTM-ACD-14L2 05/10/2012 7
RTM-ACD-01E1-11E1 17/09/2012 12
RTM-ACD-04T5 08/09/2012 15
RTM-ACD-11T4 08/09/2012 18
RTM-ACD-05B2 03/09/2012 5
RTM-ACD-14T9 18/08/2012 4
RTM-L-ME-ACD-01B1 minuta
LT COSERN 11/08/2012 2
RTM-L-ME-ACD-11T5 minuta
LT COSERN 09/08/2012 2
RTM-ACD-CONFG NORMAL 06/08/2012 7
RTM-ACD-14T8 05/08/2012 2
RTM-ACD-14T7 05/08/2012 3
RTM-ACD-11T5 05/07/2012 11
RTM-ACD-14T5 05/07/2012 9
RTM-ACD-04T9-1 05/07/2012 2
RTM-ACD-12D9 05/07/2012 2
RTM-L-03C3 ACD/POL 05/07/2012 3
RTM-L-03C4 ACD/POL 05/07/2012 3
RTM-L-03C2 SMD/ACD 05/07/2012 36
RTM-L-02F3 ACD/PNC 05/07/2012 15
RTM-L-02F1 ACD/ACU 05/07/2012 11
RTM-L-02F2 ACD/MCA 05/07/2012 7
RTM-L-02F4 ACD/EST 05/07/2012 11
RTM-L-04L2 MSD/ACD 05/07/2012 28
RTM-L-04L4 PRS/ACD 05/07/2012 2
RTM-ACD-04B2 05/07/2012 16
RTM-ACD-04T3 05/07/2012 13
RTM-ACD-13T2 05/07/2012 11
RTM-ACD-04B1 05/07/2012 17
RTM-ACD-04T2 05/07/2012 16
RTM-ACD-12F1 05/07/2012 10
RTM-ACD-14S2 05/07/2012 4
RTM-ACD-14S1 05/07/2012 4
RTM-ACD-14T2 05/07/2012 7
RTM-ACD-12F4 05/07/2012 9
RTM-ACD-12F2 05/07/2012 7
RTM-ACD-02A1 05/07/2012 16
RTM-ACD-12T6 05/07/2012 7
RTM-ACD-04T6 05/07/2012 7
RTM-ACD-13C3 05/07/2012 5
RTM-ACD-14T4 05/07/2012 8
RTM-ACD-03BA 05/07/2012 6
RTM-ACD-12T4 05/07/2012 9
RTM-ACD-12F3 05/07/2012 7
RTM-ACD-12T5 05/07/2012 9
RTM-ACD-13C2 05/07/2012 9
RTM-ACD-13C4 05/07/2012 5
RTM-ACD-14T6 05/07/2012 6

Figura 18 - ndice exportado em PDF.

55

APNDICE B Plano de Estgio

Universidade Federal de Campina Grande UFCG
Centro de Engenharia Eltrica e Informtica CEEI
Departamento de Sistemas e Computao DSC
Curso de Cincia da Computao - CC
Disciplina: Estgio Integrado
Professor: Francisco Brasileiro
Aluno: Nat Venncio de Melo
Perodo: 2012.1




Plano de Estgio


















Campina Grande, 05 de maro de 2012
56

NDICE

1.InformaesPessoais...................................................................................................57
2.Concedente.......................................................................................................................57
3.SupervisoAcadmica.................................................................................................57
4.SupervisoTcnica.......................................................................................................58
5.AmbientedeEstgio.....................................................................................................58
6.ResumodoProblemadoEstgio..............................................................................58
7.ObjetivosdoEstgio......................................................................................................59
8.AtividadesPlanejadas-Cronograma......................................................................60
9.ResultadosEsperados..................................................................................................60






















57
1. Informaes Pessoais

Nome: Nat Venncio de Melo
Curso: Cincia da Computao
Matrcula: 20811500
CPF: 073.853.934-11
RG: 3308997
Endereo: Rua Edsio Silva, 1526
Bairro: Jardim Paulistano
Cidade: Campina Grande
CEP: 58415-270
E-mail: nata.venancio.melo@gmail.com

2. Concedente

Razo Social: Smartiks Tecnologia da Informao Ltda
CNPJ: 06.141.653/0001-77
Endereo: Rua Emiliano Rosendo Silva, 115
Bairro: Bodocong
Cidade: Campina Grande
CEP: 58109-77
Telefone: (83) 8868-7025
Setor de realizao do estgio: Desenvolvimento de Software
Supervisor do Estgio: Eloi Rocha Neto

Vigncia: 27 de Fevereiro de 2012 30 de Junho de 2012
Horrio: 14h-18h
Carga Horria Semanal: 20h
Carga Horria Total: 360h
3. Superviso Acadmica
A superviso acadmica ser realizada pela Prof. Dra. Joseana Macdo, do
Departamento de Sistemas e Computao da Universidade Federal de Campina Grande.
Nome Completo: Joseana Macdo Fechine Rgis de Arajo
E-mail: joseanamf@gmail.com
Pgina pessoal: http://dsc.ufcg.edu.br/~joseana/
58

4. Superviso Tcnica
A superviso tcnica ser realizada pelo presidente da empresa Smartiks, Eloi Rocha
Neto.
Nome Completo: Eloi Rocha Neto
E-mail: eloi.rocha@gmail.com
Pgina Pessoal: http://www.eloirocha.com/

5. Ambiente de Estgio
As atividades de estgio so desenvolvidas tanto na empresa Smartiks quanto em
outro local. A empresa Smartiks dispe de uma sala climatizada, dois computadores, internet e
conta com uma equipe composta por cinco integrantes, incluindo o presidente da empresa. Ao
menos um dia por semana as atividades do estgio so desenvolvidas na empresa e nos
demais dias podem ser realizadas em outro local.
Site da Smartiks: http://www.smartiks.com/

6. Resumo do Problema do Estgio
O estgio ser composto por atividades que envolvem diversos sistemas, so eles:
Smart Feedbacks, Smart Alarms, SisRTM e SLIM. A seguir so explicitados os problemas
relacionados as principais atividades do estgio.

6.1 Anlise dos diagnsticos gerados pelo Smart Alarms
O Smart Alarms um sistema que recebe informaes do sistema de monitoramento
utilizado pela Chesf - Companhia Hidro Eltrica do So Francisco, que verifica o funcionamento
dos seus equipamentos e gera diagnsticos dos problemas que ocorrem, informando os
detalhes aos operadores das subestaes e dos centros de controle.
Os diagnsticos gerados so transferidos para um sistema wiki, onde devem ser
analisados. Os diagnsticos devem conter dois feedbacks, um dado pela Smartiks e outro pela
Chesf e uma anlise, que deve conter um responsvel encarregado para analisar o
diagnstico.

6.2 Correo de bugs e criao de nova interface para o SLIM
SLIM um sistema que apresenta os limites de todos os equipamentos e linhas de
transmisso de um sistema eltrico de potncia de maneira completa, fornecendo informaes
atualizadas sobre os equipamentos instalados em uma rede de energia eltrica e, em
59
particular, limites operacionais determinantes para os equipamentos da rede escolhidos como
equipamentos principais.
O Slim um sistema que no foi desenvolvido pela equipe da empresa Smartiks,
portanto, o objetivo da empresa dar continuidade ao desenvolvimento para que ele possa ser
implantado na Chesf. At o momento, o sistema SLIM possui diversos bugs, os testes de
aceitao so executados apresentando, em sua maioria, muitos erros e a interface mostra-se
trabalhosa para o usurio usufruir dos rescursos oferecidos pelo sistema.

7. Objetivos do Estgio

7.1 Desenvolvimento de um sistema de feedbacks para o Smart Alarms
Diante dos problemas citados (seo 6.1), em relao as anlises dos diagnsticos do
Smart Alarms, tornou-se necessrio um sistema para agilizar o processo de anlises,
automatizando o processo de importao dos diagnsticos gerados, melhorando a forma de
realizar as anlises e de descrever feedbacks. A esse sistema deu-se o nome de Smart
Feedbacks.

7.2 Correo de bugs, desenvolvimento de nova interface grfica e implantao do SLIM
na Chesf
Em se tratando dos problemas do SLIM (seo 6.2), os objetivos so: realizar um
levantamento do estado atual do sistema com relao as funcionalidades pendentes e bugs,
correo de bugs e melhorias de funcionalidades, reviso dos testes de aceitao e
implementao de uma nova interface.


7.3 Desenvolvimento de funcionalidades no SisRTM
O SisRTM um sistema de gerncia de roteiros de manobra atualmente utilizado pelo
Centro Regional de Operao de Sistema Leste - CROL - da Chesf. Um roteiro de manobra
consiste em um documento descrevendo um conjunto de aes que devem ser realizadas por
operadores de centros de operao para execuo de manobras no sistema eltrico.
O objetivo do estgio com relao ao SisRTM ser incrementar funcionalidades, como:
Importar Procedimentos em Roteiro de Manobra Auxiliar (RTMA) e Ordem de Manobra (OM).





60
Atividades Planejadas Cronograma

Data Atividade
27/02 30/03 Desenvolvimento do Smart Feedbacks
01/04 30/04 Levantamento de bugs e funcionalidades pendentes do SLIM, correo
de bugs e melhorias de funcionalidades
01/05 31/05 Implementao de funcionalidades do SisRTM e seus respectivos testes
de aceitao
01/06 30/06 SLIM - Implementao da nova interface grfica e implantao na
CHESF

As tarefas relacionadas a cada atividade so planejadas semanalmente, sendo assim,
at o momento, tem-se:
Semana Tarefas Desenvolvimento do Smart Feedbacks
27/02 04/03 Criar script de criao do Banco de Dados; Implementar addDiagnostic
na fachada (com testes EA); Criar setTechnicalAnalysis(diagId, arId,
comment) na Fachada (testes com EA); Criar setClientAnalysis(diagId,
comment) na Fachada (testes com EA); Implementar getStatistics na
Fachada (testes com EA); Implementar add|remove|set|AnalysisResult
na fachada (testes com EA).
05/03 11/03 Importar os arquivos wiki; Implementar Front-end; Coluna com data;
Coluna com nmero; Filtro por data; Detalhar eventos quando clicar em
boto (criar coluna ao lado da coluna concluso); Melhorar layout;
Alterar concluso no banco aps alterar na interface grfica; Tela de
anlise.

8. Resultados Esperados

O sucesso do estgio est no cumprimento das atividades planejadas. Dessa forma, ao final do
perodo de estgio, deve-se ter:
Sistema Smart Feedbacks concludo;
Sistema SLIM implantado na Chesf operando sem a presena de bugs e com a reviso
dos testes de aceitao realizada;
Funcionalidades adicionais do SisRTM e seus respectivos testes implementados;
Relatrio final do estgio.