View
6
Download
0
Category
Preview:
DESCRIPTION
Teste
Citation preview
SISTEMA DE GESTÃO DE INFORMAÇÃO DE CONTADORES DE
ELECTRICIDADE DA EMPRESA ELECTRICIDADE DE MOÇAMBIQUE,
DELEGAÇÃO BEIRA
Tomás Manuel Chibai
UNIVERSIDADE ZAMBEZE
FACULDADE DE CIÊNCIA DE TECNOLOGIA
ENGENHARIA INFORMÁTICA
SISTEMA DE GESTÃO DE INFORMAÇÃO DE CONTADORES DE
ELECTRICIDADE DA EMPRESA ELECTRICIDADE DE MOÇAMBIQUE,
DELEGAÇÃO BEIRA
Autor: Tomás Manuel Chibai
BEIRA
2015
UNIVERSIDADE ZAMBEZE
FACULDADE DE CIÊNCIA E TECNOLOGIA
ENGENHARIA INFORMÁTICA
Autor: Tomás Manuel Chibai
Orientador: Prof. Dr. C. Eng. José Alberto Vigueras Moreno
Monografia submetida à Faculdade de Ciências e
Tecnologia, Universidade Zambeze – Beira, em
parcial cumprimento dos requisitos à obtenção do
grau de Licenciatura em Engenharia Informática.
BEIRA
2015
DECLARAÇÃO
Eu, Tomás Manuel Chibai declaro que esta monografia é resultado do meu próprio trabalho e
está a ser submetido para a obtenção do grau de licenciatura na Universidade Zambeze, Beira.
Ela não foi submetida antes para obtenção de nenhum grau ou para avaliação em nenhuma
outra Universidade.
Beira, aos ___ de ___________, 2015.
_____________________________________________
(Tomás Manuel Chibai)
DEDICATÓRIA
Aos meus pais, meus irmãos, meus pastores e aos meus pares na fé da msv, e a todos
que directa ou indirectamente contribuíram para a minha formação como profissional e como
pessoa na sociedade.
AGRADECIMENTO
Agradeço primeiro a Deus que é o autor e consumador da minha vida, pela
oportunidade que tem-me concedido de ver o sol de cada novo dia e pela sua inquestionável
graça, pois sei que muito desejaram o mesmo mas descansam na sombra da morte. Em
especial a minha família, aos meus pais Manuel Chibai (em memória) e Elisa Brizo Lucas,
pela educação, paciência e o amor que tem transmitido em mim, aos meus irmãos, Amélia
Chibai, Lauro Chibai, Célia Chibai, Aline Chibai, pelo companheirismo e irmandade.
Sou grato também aos meus condiscípulos da academia que me apoiaram durante a jornada
naquilo que podiam, quero ressaltar aqui os amigos na academia, Gerônimo Muamudo,
Adriano J. Canate, Michael Mesquita, Benessone Bonomar, Martinho Amimo, Queirós
Figueredo, e os demais que se sentem no direito dessa interminável lista.
Ao meu supervisor Dr. C. Eng.º José Alberto Vigueras Moreno pela devoção, durante o
desenvolvimento deste trabalho.
Agradeço também aos meus Pastores dr. Antonio C. Macuengue e Amelia C. Macuegue, aos
meus amigos e irmãos na fé Charles Magombe, Sergio Tomocene, Daniel Magombe, Moreira
Justino, Selito Vilanculos, Prisca Alfinete, Júlia Nhambo, Manuel Bulande, Cremildo
Mussatine, Marcelina Duarte, Luis Massambo, Moreira Silva por ter acreditado em mim e
que sempre me apoiarem em toda as incursões decisórias ao longo da caminhada.
Por fim o meu muito obrigado para todos aqueles que directa ou indirectamente acabou
influenciando na minha carreira académica.
EPIGRAFE
As más conversações corrompem os bons costumes. 1 Coríntios 15:33
SUMÁRIO
RESUMO ................................................................................................................................... I
ABSTRACT .............................................................................................................................. II
LISTA DE FIGURAS .............................................................................................................. III
LISTA DE TABELAS ............................................................................................................. IV
LISTA DE SIGLAS E ABREVIATURAS............................................................................... V
INTRODUÇÃO ......................................................................................................................... 1
1.CAPITULO I: FUNDAMENTAÇÃO EPISTEMOLÓGICA ................................................ 7
1.1.SISTEMA DE GESTÃO DE INFORMAÇÃO ................................................................... 7
1.2. TECNOLOGIAS DO LADO CLIENTE (FRONTEND) ................................................. 10
1.2.1 Hypertext markup language (html) ............................................................................. 10
1.2.2. Jquery ......................................................................................................................... 13
1.2.3 CSS .............................................................................................................................. 17
1.3. TECNOLOGIAS DO LADO SERVIDOR (BACKEND) ................................................ 18
1.3.1. Hypertext preprocessor (PHP) ................................................................................... 18
1.3.2 Mysql ........................................................................................................................... 20
1.4. ANDROID ........................................................................................................................ 22
1.5. AMAZON WEB SERVICES ........................................................................................... 25
2. CAPITULO II: DESENHO DO SISTEMA GESTÃO DE INFORMAÇÃO DE
CONTADORES DE ELECTRICIDADE ................................................................................ 29
2.1 REQUISITOS .................................................................................................................... 29
2.1.1. Requisitos não funcionais do sistema de gestão de informação de contadores de
electricidade ......................................................................................................................... 30
2.1.2. Requisitos funcionais do sistema de gestão de informação de contadores de
electricidade ......................................................................................................................... 32
2.2. DIAGRAMA DE CASO DE USO ................................................................................... 35
2.3. MODELO RELACIONAL LÓGICO ............................................................................... 43
2.4. DIAGRAMA DE CLASSE .............................................................................................. 44
2.5. ARQUITECTURA PARA IMPLANTAÇÃO DO SISTEMA ......................................... 45
2.6. METODOLOGIA DE APLICAÇÃO (OPERACIONALIDADE DO SISTEMA).......... 48
2.6.1 Acesso a aplicação ...................................................................................................... 48
2.6.2 Tela principal para o cliente ........................................................................................ 49
2.6.2.1. Tela de reclamação do cliente ................................................................................. 50
2.6.3 Tela principal para o administrador ............................................................................ 51
2.6.3.1. Telas de gerenciamento de clientes ......................................................................... 53
2.6.3.2. Tela de gerenciador do contador ............................................................................. 54
2.6.3.3. Tela de gerenciador de funcionário ......................................................................... 55
2.6.3.4. Tela de gerenciador do contador ............................................................................. 56
2.6.3.5 Cadastro de cliente ................................................................................................... 57
2.6.3.6 Supervisões no dispositivo móvel ............................................................................ 58
CONCLUSÕES GERAIS ........................................................................................................ 61
RECOMENDAÇÕES .............................................................................................................. 63
BIBLIOGRAFIA ..................................................................................................................... 64
APÊNDICES............................................................................................................................ 68
ANEXOS: ................................................................................................................................ 71
I
RESUMO
No tempo que se chama hoje o acesso a informação associado ao tempo e as formas
de acesso da mesma informação tem sido um diferencial nos processos desenvolvimento de
negócios, determinando a rapidez em que se tratam os negócios no actual panorama do
ambiente corporativo. O presente trabalho tem por objectivo propor um sistema de gestão de
informação de contadores de electricidade baseado em tecnologias web e móvel para a
empresa “Electricidade de Moçambique”, delegação Beira, com vista a solucionar limitada
gestão da informação dos contadores de electricidade dessa empresa, que vai possibilitar a
melhoria na forma da equipa de campo prover dados ao repositório central de dados da
empresa, bem como atualizar em termos de informação os agentes envolvido no processo de
negocio logo que preciso. Para o alcance do objectivo da investigação, foram utilizados
diferentes métodos científicos, teóricos, empíricos e estatísticos no processo de investigação.
Palavras-chaves: Sistema de Gestão de Informação, Tecnologias WEB, Amazon
Web Services, Electricidade de Moçambique, Contadores de Electricidade.
II
ABSTRACT
In the time it is called today access to information associated with the time and forms
of the same information access has been a differential in the business development process,
determining the speed in which they treat the business in the current panorama of the
corporate environment. This paper aims to propose an information management electricity
meters based on web and mobile technology system for the company "Electricidade de
Moçambique" delegation Beira, in order to solve limited information management of
electricity meters that company, which It will enable the improvement in the form of
providing data field team to the central repository of enterprise data and updating in terms of
information the agents involved in the business process as soon as necessary. To reach the
aim of the research, they used different scientific, theoretical, empirical and statistical
methods in the research process.
Keywords: Information Management System, Web technologies, Amazon Web
Services, Electricity Mozambique, Electricity meters.
III
LISTA DE FIGURAS
Figura 1:Arquitetura Web (Cliente Servidor). Fonte: (DEITEL, 2004). ................................... 9
Figura 2: Arquitetura do Android. Fonte: (FREITAS, 2012) .................................................. 22
Figura 3: Processo de geração dos bytecodes .dex (Dalvik Executable). Fonte: (FREITAS,
2012). ....................................................................................................................................... 24
Figura 4: Arquitectura da Amazon Web Services. Fonte: (LECHETA, 2014). ...................... 27
Figura 5: Diagrama de casos de uso do sistema. Fonte: PRÓPRIA. ....................................... 37
Figura 6: Modelo relacional do banco de dados. Fonte: PRÓPRIA ........................................ 44
Figura 7: Diagrama de classe do sistema. Fonte: PRÓPRIA ................................................... 45
Figura 8: Arquitectura de Implantação. Fonte: PRÓPRIA ...................................................... 46
Figura 9 login. Fonte: PRÓPRIA ............................................................................................. 48
Figura 10:Tela principal para o Cliente. Fonte: PRÓPRIA ..................................................... 49
Figura 11:Reclamações do Cliente .......................................................................................... 50
Figura 12 Tela principal para o Administrador. Fonte: PRÓPRIA ......................................... 51
Figura 13: Gerenciamento de Clientes ..................................................................................... 53
Figura 14: Gerenciador de Contador........................................................................................ 54
Figura 15:Gerenciar Funcionários ........................................................................................... 55
Figura 16: Gerenciar Reclamação ............................................................................................ 56
Figura 17: Tela de Cadastro do Cliente. Fonte: PRÓPRIA ..................................................... 57
Figura 18: Lista de supervisões no dispositivo móvel. Fonte: PROPRIA ............................... 59
IV
LISTA DE TABELAS
Tabela 1: Requisitos não Funcionais do Sistema. Fonte: PRÓPRIA....................................... 31
Tabela 2: Requisitos Funcionais do Sistema. Fonte: PRÓPRIA. ............................................... 35
Tabela 3: Descrição textual do caso de uso supervisão. Fonte: PRÓPRIA ................................ 38
Tabela 4: Descrição textual do caso de uso login.Fonte: PRÓPRIA. ...................................... 39
Tabela 5: Descrição textual do caso de uso Cadastrar funcionário.Fonte: PRÓPRIA. ........... 39
Tabela 6: Descrição textual do caso de uso Cadastrar contador.Fonte: PRÓPRIA. ................ 40
Tabela 7: Descrição textual do caso de uso Cadastrar Cliente.Fonte: PRÓPRIA. .................. 41
Tabela 8: Descrição textual do caso de uso reclamação.Fonte: PRÓPRIA. ............................ 41
Tabela 9: Descrição textual do caso de uso Actualizar contador.Fonte: PRÓPRIA. .............. 42
Tabela 10: Descrição textual do caso de uso Actualizar Funcionário.Fonte: PRÓPRIA. ....... 43
V
LISTA DE SIGLAS E ABREVIATURAS
AJAX Asynchronous JAVASCRIPT and XML
API Application Programming Interface
ARIA Accessible Rich Internet Applications
AWS Amazon Web Service
CLI Common Language Infrastructure
CSS Cascading Style Sheet
CPU Central Processing Unit
EC2 Elastic Compute Cloud
EUA Estados Unidos da America
GIF Graphics Interchange Format
GNU General Public License
HTML HiperText MarkUp Languege
IAAS Infrastruture As A Service
IE Internet Explorer
ISAM Indexed Sequential Access Method
JSON JAVASCRIPT Object Notation
mSQL mini SQL
ODBC Open Database Connectivity
OHA Open HandSet Alliance
PAAS Platform As A Service
PDF Portable Document Format
PDO PHP Data Object
PHP PHP Hypertext Preprocessor
VI
RDS Relational Database Service
REST Representational State Transfer
RF Requisito Funcional
RNF Requisito Não Funcional
S3 Simple Storage Service
SAAS Software As A Service
SDK Software Development Kit
SES Simple E-mail Service
SGBD Sistema de Gerenciamento de Banco de Dados
SOAP Simple Object Access Protocol
SQL Structured Query Language
SSL Secure Socket Layer
TB Tera Byte
TIMS Tecnologias de Informação Móveis
TTL Time To Live
EU União Europeia
UI User Interface
URL Uniform Resource Locator
VM Virtual Machine
XHTML eXtensible Hypertext Markup Language
XML eXtensible Markup Language
W3C World Wide Web Consortium
WAI Web Accessibility Initiative
WHATWG Web Hypertext Application Technology Working Group
1
INTRODUÇÃO
Desde dos primórdios da humanidade um conjunto de necessidades viveu em
sociedade com o homem, dentre várias necessidades, a necessidade capital era a de colecta,
acesso e processamento de informação a respeito dos pertences do próprio homem para gerar
conhecimento e consequentemente melhor gerência dos seus bens. O advento do tempo
condicionou o crescimento do volume de informação a ser gerida e em paralelo a necessidade
da gestão da informação para posterior interpretação da mesma informação.
Se segundo (PLUTÃO, s.d) a necessidade que é a mãe da invenção, para
(BALZAC,s.d) a necessidade é com frequência a espora de génio, (PITAGORAS, s.d) diz
que o ser capaz mora perto da necessidade e segundo (DA VINCI, s.d) a necessidade é terna
e inventora, então a necessidade de homem gerir informação condicionou a recrudescimento
da capacidade intelectual no que concerne a invenção e inovação de artefactos mecânicos,
analógicos e digitais para atender a cada novo panorama da gestão de informação de acordo
com o tempo.
Neste contexto uma simples observação da sociedade moderna no que concerne a
gestão de informação constata que o que se vive hoje é a inferência das necessidades
primitivas em escalas cada vez maiores, isto é, além dos homens apenas gerirem informações
pessoais passaram a ser grandes organizações a gerirem as informações a respeito das suas
actividades rotineiras, análises estatísticas, recursos humanos e financeiros entre outras
informações organizacionais e em volumes cada vez mais maiores, o que consequentemente
maiores exigências de artefactos para auxiliar as organizações para uma gestão de informação
com qualidade.
Em um passado breve ou mesmo na actualidade em algumas empresas usa-se fichas
de papel que são organizadas em arquivos físicos através de pastas como meio de persistência
2
dos dados organizacionais, mas entende-se que na era actual essa solução não é
definitivamente viável, pois para (RAQUEL, 2005) em base de dados tradicionais, o registo
suportado em papel e cartão é de fácil deterioração, sendo difícil a alteração e pesquisa de
informação armazenada quando o arquivo toma grandes proporções. Em detrimento disto o
uso de bases de dados baseadas em computadores tem solucionado os inconvenientes
supracitados.
Dentro de este panorama de gestão de informação, o autor dessa monografia propõe
particularizar o estudo desse contexto gestão de informação nessa monografia baseada na
Empresa “Electricidade de Moçambique”, delegação da Beira, a qual para a gestão de suas
informações usa “técnicas híbridas” a saber: uma parte informatizada e outra ainda em fichas
de papel, se segundo (SENDERS,2013) “Se não tiver quebrado não concerte”, um
pensamento como esse é uma antítese do progresso das melhorias, então o autor começa uma
pomposa jornada rumo ao progresso das melhorias na Empresa “Electricidade de
Moçambique”, delegação Beira, com um estudo pragmático desse contexto baseado em
entrevistas aos funcionários da Empresa “Electricidade de Moçambique”, delegação Beira
(VER APENDICE I,II), a qual resultou com a identificação das seguintes manifestações
fácticas:
Incerteza de chegada do supervisor no local de contadores de electricidade da
Empresa “Electricidade de Moçambique”, delegação Beira;
Morosidade no processamento de relatórios;
Maior possibilidade de incoerência de informação colhida nos locais de supervisão
dos contadores de electricidade;
Limitação do cliente no acesso a informação a respeito do seu contador de
electricidade;
3
Demora na disponibilização da informação colhida no campo de supervisão dos
contadores de electricidade da Empresa “Electricidade de Moçambique”, delegação
Beira;
Uso de papel no acto de colecta de informação na supervisão dos contadores de
electricidade da Empresa “Electricidade de Moçambique”, delegação Beira.
De acordo com as manifestações fácticas encontradas, se identifica o seguinte problema
de investigação a desenvolver nessa monografia: limitada gestão da informação dos
contadores de electricidade da Empresa “Electricidade de Moçambique”, delegação Beira, o
que dificulta a tomada de decisão com maior eficiência, eficácia e rapidez.
As manifestações é o problema anteriormente identificados são consequências de várias
causas, dentre elas destaca-se:
Insuficiência de sistema que certifique a presença de um supervisor em um dado local
dos contadores de electricidade a serem supervisionados a um dado momento o que
limita a fiabilidade das informações a serem colhidas.
Limitação tecnológica para equipa de campo prover dados em tempo real ao
repositório central o que retarda a actualização do servidor central de dados da
empresa.
Fracos artefactos tecnológicos (Base de Dados Distribuídos) para a disponibilização
das informações necessárias aos agentes envolvidos no negócio logo que necessário o
que torna moroso o acesso a informação, consequentemente retarda os processos que
dependam de conhecimento de informações prévias para o seu andamento.
Para a solução do problema o objecto de estudo desta investigação é o sistema de gestão de
informação da empresa “Electricidade de Moçambique”, delegação da Beira, onde seu
4
objectivo é propor um sistema de gestão de informação de contadores de electricidade e sua
metodologia de aplicação para a Empresa “Electricidade de Moçambique”, delegação Beira.
Para atingir o objectivo geral, têm-se os seguintes objectivos específicos:
1. Fundamentar epistemologicamente as tecnologias web (HTML5, CSS3, Jquery e
PHP5), MYSQL, Android e Amazon Web Services que serão usadas para o desenho
do sistema de gestão informação de contadores de electricidade da empresa
“Electricidade de Moçambique”, delegação Beira.
2. Desenhar o sistema de gestão de informação de contadores de electricidade da
Empresa “Electricidade de Moçambique”, delegação Beira, baseada nas tecnologias
web (HTML5, CSS3, Jquery e PHP5), MYSQL, Android e Amazon Web Services.
De acordo com a dicotomia problema e objectivos se estabelece a seguinte hipótese de
investigação:
Se se desenhar um sistema de gestão de informação de contadores de electricidade da
Empresa “Electricidade de Moçambique”, delegação Beira baseado em tecnologias web
(HTML5, CSS3, Jquery, PHP5), MYSQL, Android e Amazon Web Services irá melhorar a
gestão da informação dos contadores de electricidade deles, some-se a isto o desempenho da
equipe do campo ou fora de escritório, controle das actividades externas, reduzir as operações
manuais de dados ou seja a digitalização das informações colhidas, aumentar o índice de
fiabilidade de dados a serem processados, reduzir o tempo de processamento de relatório,
disponibilização dos dados em tempo real e por conseguinte o aumento do poder de tomada
de decisão por parte dos membros seniores da organização como também a produtividade
corporativa.
Para se alcançar o objectivo, foram utilizados os seguintes métodos científicos:
5
Histórico-lógico: será usado na revisão bibliográficas, de trabalhos relacionados permitindo
uma maior compreensão da lógica de investigação e determinação de tendências históricas do
processo de implementação de sistemas de gestão nas empresas;
Análise-síntese- consistirá no processamento de informação obtida de documentos e
assuntos relacionados a esta investigação, principalmente servirá para a caracterização do
objecto e elaboração de conclusões gerais;
Hermenêutico dialéctico vai auxiliar na compreensão, explicação e interpretação de
assuntos que servem de fundamento para a necessidade de implementação de sistema de
gestão de informação de contadores de electricidade;
Sistémico Estrutural funcional método que permitira elaborar, estruturar e fundamentar
o desenho do sistema de gestão de informação de contadores de electricidade;
Entrevistas: foram feitas entrevistas aos técnicos supervisores de contadores
electricidade e técnicos de tecnologias de informação na empresa electricidade da Empresa
“Electricidade de Moçambique”, delegação Beira (Ver Apêndice I, II);
A importância e significado prático e que recrudescimento exponencial de volume
de informação conforme aumentam os valores das variáveis de negócios, geram assim novas
necessidades no ambiente de negócios dinâmicos em termos de tecnologias de informação
para atender a cada novo panorama, com isso com implementação de base de dados
distribuídos pode se melhora esse cenário.
A presente monografia está dividida em quatro secções, sendo Introdução, Capitulo I
referente a fundamentação epistemológica, onde é apresentada a revisão bibliográfica sobre o
tema, as tecnologias, Capítulo II será apresentado o desenho do sistema de gestão de
informação de contadores de electricidade da empresa “Electricidade de Moçambique”,
delegação Beira, finalmente, a secção de conclusões de aspectos tratados na presente pesquisa
6
e recomendações da continuidade da pesquisa, assim como a bibliografia, apêndices e anexos
que suportam a mesma.
7
1.CAPITULO I: FUNDAMENTAÇÃO EPISTEMOLÓGICA
Nesta secção é apresentada a fundamentação epistemológica sobre os aspectos
científicos e tecnológicos que contribuem para a concretização da proposta, como Sistemas
de gestão de informação, mobilidade corporativa, tecnologias web (HTML5, CSS3, JQUERY
e PHP5), MYSQL, Android, Amazon Web Services, arquitetura.
1.1.SISTEMA DE GESTÃO DE INFORMAÇÃO
Antes de se apresentar o conceito de Sistema de gestão de informação é necessário
conceptualizar a cada lexema que faz a expressão em questão.
Assim sendo, Sistema é um conjunto de elementos dinamicamente relacionados entre
si, formando uma actividade para atingir um objectivo, operando sobre entrada e fornecendo
saída. Para (LAUDON, 2004) sistema é um conjunto de partes, componentes que interagem
entre si, de forma ordenada, a fim de atingir um objectivo em comum. Também é extrema
importância frisar que o termo sistema foi abordado no sentido mais lato possível, devendo se
particularizar para atender as especificações dessa monografia, para tal ver atentamente os
itens que se seguem:
Segundo (MARTINEZ, 2015) Gestão é um conjunto de tarefas planejadas,
organizadas e executadas que garantam de maneira eficaz e eficiente, a aplicação dos
recursos de uma organização, com o objectivo de serem atingidos os objectivos pré-
determinados.
Na visão (MAX,2010), Informação é o resultado do processamento, manipulação e
organização de dados, de tal forma que represente uma modificação no conhecimento do
sistema que a recebe.
Neste contexto, diante dos conceitos supracitados, para (MARTINEZ, 2015) Sistemas
de gestão de informação são sistemas ou processos que fornecem as informações
8
necessárias para gerenciar com eficácia as organizações. Um sistema de gestão de informação
gera produto de informação que apoiam muitas necessidades de tomada de decisão
administrativa e são o resultado de interacção coordenativa entre pessoas, tecnologias e
procedimento, que ajudam uma organização a atingir as metas.
No estágio da era actual os sistemas de gestão de informação são inerentes as
tecnologias de informação, por conseguinte nota-se que se vive uma era da mobilidade em
termos de tecnologia de informação o que facilita integração remota de sistemas de gestão de
informação, provendo a facilidade das pessoas acederem aos sistemas independentemente do
lugar, simulando um ambiente corporativo móvel ou seja uma mobilidade corporativa.
Para (VICARI,2015) Mobilidade corporativa é o termo adoptado pelo mercado para
denominar a implantação das Tecnologias de Informação Móveis e sem Fio nos processos
organizacionais. A adopção da mobilidade representa uma melhoria nos processos de
negócios das organizações ao permitir que seus colaboradores estejam continuamente
conectados e inseridos nos processos corporativos a qualquer hora e em qualquer lugar.
Neste contexto, entende-se que no estágio anterior da mobilidade corporativa, era
necessário armazenar informações de um dia inteiro de trabalho nos arquivos físicos ou em
outros sistemas computacionais para posterior alimentação do repositório de dados ou
sincronização com servidor de forma presencial na organização.
O despontar dessa nova era organizacional com a mobilidade corporativa trouxe uma
nova forma de estar as organizações provendo muitas vantagens, algumas das quais segundo
(VICARI,2015) se destacam a seguir:
Reduzir erros com operações manuais de dados, uma vez que sua actualização ocorre
em tempo real;
Aumentar a agilidade dos processos que necessitam de retorno da equipe de campo da
organização.
9
Aumentar a produtividade da equipe de campo, uma vez que informações
operacionais cruciais podem ser acessadas independentemente do local, dia ou hora;
Obter maior controlo das actividades externas, garantindo maior produtividade.
Por outro lado, apesar da tamanha vantagem de implementação da mobilidade corporativa, a
consciência de segurança entre os usuários móveis, seu descuido do dispositivo móvel são os
dois principais factores de risco no uso de dispositivos móveis nas organizações.
O foco da mobilidade corporativa é a conectividade de todos os agentes inseridos no
ambiente de negócios independentemente de espaço e tempo, para que se consiga a tal proeza
e necessários uma plataforma com arquitetura que permita uma abrangência global, e em
termos tecnológicos a arquitetura web e que atende as especificações para tal e tem sido a que
geralmente tem sido usada em vários ambientes corporativos.
A Web consiste em milhões de clientes e servidores, conectados através de redes
cabeadas e sem fio, quando um determinado usuário acessa uma determinada URL pelo
navegador, uma solicitação é enviada para o servidor Web. O servidor normalmente responde
para o cliente enviando a página Web solicitada (DEITEL, 2004), (Ver figura 1).
Figura 1:Arquitetura Web (Cliente Servidor). Fonte: (DEITEL, 2004).
10
A programação de sistemas para Web geralmente é feita separadamente em dois lados
distintos: lado Cliente (Frontend) e lado Servidor (Backend), cujo cada lado tem tecnologias
próprias para programação.
1.2. TECNOLOGIAS DO LADO CLIENTE (FRONTEND)
As tecnologias do lado cliente são muito importante no sistema web, haja visto que a
combinação delas provem experiencia ao usuário final do produto web sendo essas
tecnologias responsáveis pela formatação dos dados (HTML), apresentação (CSS) e
interactividade com o usuário (JAVASCRIPT).
1.2.1 Hypertext markup language (html)
HTML em português significa linguagem para marcação de hipertexto, porém esta
linguagem foi publicado pela primeira vez em 1993 como um esboço para a Internet, com
decorrer do tempo nos anos 1990 viram uma quantidade enorme de actividade em torno de
HTML, com a versão 2.0, as versões 3.2 e 4.0 (no mesmo ano) e, finalmente, em 1999, a
versão 4.01. No seu desenvolvimento, a W3C assumiu o controlo da especificação.
Após a rápida entrega destas quatro versões, o foco dos padrões da Web mudaram de
HTML para XML e XHTML, e o HTML foi colocado em segundo plano. Entretanto, a
linguagem HTML se recusava a morrer, pois a maioria do conteúdo da Web continuava a ser
colocado em HTML.
No entanto para levar a plataforma HTML ao nível em que se encontrava
anteriormente ou mesmo superior, fundou-se em 2004 a WHATWG1 que criou a
especificação HTML5, que segundo (CROWTHER et al, 2013), HTML5 não é apenas a
última versão da linguagem de marcação da Web, mas também define um padrão totalmente
1 Grupo de trabalho de pessoas interessadas na evolução do HTML e as tecnologias ligadas a
tal.
11
novo para o desenvolvimento de aplicativos Web, ou seja, o enfoque de HTML deixa de ser
apenas uma linguagem de marcação de documentos, mas também passa a ser uma plataforma
de desenvolvimento de aplicativos Web.
Portanto, em 2008 foi publicado o primeiro esboço de HTML5, devido à linguagem
HTML5 resolver problemas muito práticos fornecedores de navegadores estão
implementando febrilmente seus novos recursos. De acordo com (LUBBERS, 2012) a
linguagem HTML5 é baseada em diversos princípios de projecto que personifica uma nova
visão de possibilidades e praticidade, no entanto esta nova visão baseia-se nos seguintes
princípios:
1. Compatibilidade e automatização do processo de negócio, garante-se que os
recursos de HTML5 que não forem suportados, o comportamento devem se degradar
de forma organizada.
2. Utilidade e prioridade de constituintes, especificação HTML5 são escritas baseada
em uma prioridade dos constituintes definidos. E, no que concerne as prioridades, “o
usuário é o rei”, isso significa que, quando em dúvida, a especificação valoriza
usuários mais que autores, mais que navegadores, mais que especificadores
(W3C/WHATWG) e mais que a pureza teórica, como resultado, HTML5 é
extremamente prática embora, em alguns casos, menos que perfeita.
3. Separação da apresentação e do conteúdo, HTML5 dá um passo enorme na
direcção da separação clara da apresentação e do conteúdo. HTML5 empenha-se em
criar esta separação sempre que possível, e o faz usando CSS3. Os problemas com a
marcação de apresentação são:
Acessibilidade pobre.
Complexidade desnecessária (é mais difícil ler o código com todos os estilos
inline).
12
Documentos maiores (devido à repetição de conteúdo de estilo), o que se
traduz em páginas com carregamento mais lento.
4. Simplificação da interoperabilidade do HTML5 tem a ver com simplificação e com
evitar complexidades desnecessárias, aqui estão exemplos disso:
Capacidade nativa de navegador em vez de código JAVASCRIPT complexa;
Um novo DOCTYPE2 simplificado;
Uma nova e simplificada declaração de conjunto de caracteres;
APIs HTML5 poderosas, mas simples.
5. Acesso universal, este princípio é dividido em três conceitos:
Acessibilidade para dar suporte a usuários com deficiência, o HTML5
trabalha de perto com um padrão relacionado chamado Web Accessibility
Initiative (WAI) Accessible Rich Internet Applications (ARIA), uma vez que
comportamentos WAI-ARIA, que são suportados por leitores de tela, já
podem ser adicionados aos seus elementos HTML;
Independência de mídia, funcionalidade HTML5 deve funcionar em todos os
diferentes dispositivos e plataformas, se possível;
Um paradigma sem plugins3, fornece suporte nativo para muitos recursos
que eram possíveis apenas com plugins, no entanto estes apresentam os
seguintes problemas:
o Nem sempre podem ser instalados;
2 É a maneira de você dizer para qualquer navegador como ele deve agir ao ler seu código
HTML.
3 Programa de computador usado para adicionar funções a outros programas maiores, provendo
alguma funcionalidade especial ou muito específica.
13
o Podem estar desabilitados ou bloqueados;
1.2.2. Jquery
Foi-se o tempo em que os usuários apenas seguiam links4 e submetiam formulários na
Web. Hoje em dia, todo mundo espera que uma aplicação Web tenha uma interface rica, com
componentes inteligentes e interacções suaves, isso porque transferimos grande parte das
aplicações que eram tipicamente Desktop para a Web e precisamos manter, e mesmo
melhorar, a usabilidade dessas aplicações.
Por um tempo se supriu essa necessidade com pequenas aplicações em Flash5, que
eram bastante lentas e tinham músicas e animações totalmente desnecessárias, com o famoso
“pular introdução”, agora que a maioria da internet não usa mais o famigerado Internet
Explorer 6, temos condição de criar interfaces ricas usando apenas o que o navegador nos dá:
HTML, CSS e JAVASCRIPT (CAVALCANTE, 2013).
Apesar da tricotomia HTML, CSS e JAVASCRIPT, com mais enfoque no
JAVASCRIPT proverem grandes vantagens, pois possibilitam a alteração de vários aspectos
da página, como: conteúdo, estilo e seu comportamento mediante interações de usuário
contribuindo o bastante para a usabilidade, (LENGSTORF, 2010) afirma que JAVASCRIPT
possui reputação de ser bastante difícil de se usar em aplicações Web. Uma falta de suporte
consistente a navegadores, depuração difícil e uma sintaxe intimidadora podem fazer com
que a curva de aprendizado de JAVASCRIPT pareça impossível.
Como consequência da realidade dos pensamentos acima citado (JASON, 2010)
acrescenta ainda, que programadores desenvolvem bibliotecas com o objectivo de fornecer
4 Ligação entre documentos na Internet.
5 Tecnologia mais utilizada no Web que permite a criação de animações vetoriais.
14
uma sintaxe mais simples para tarefas comuns, o que traduz-se em fluxo de trabalho mais
rápido para programadores e uma curva de aprendizado fácil, além de minimizar os
problemas de compatibilidade de navegadores, o que economiza o tempo ao se codificar.
Neste contexto várias Bibliotecas JAVASCRIPT podem ser listadas, a saber:
Prototype, MooTools, Yahoo! UI Libraries, em foco Jquery, entre outras. Dentre elas a
jQuery foi concebida em projecto no ano de 2005 por John Resig que alinhado com ideologia
de (JASON, 2010) e (LENGSTORF, 2010) acima citados, escreveu em seu blog6 à 22 de
Agosto um artigo a respeito da sua tediosa e árdua experiencia em escrever em
JAVASCRIPT para obter resultados relativamente simples, nesse artigo publicou alguns
exemplos no qual propunha o uso de selectores CSS com objectivo de simplificar e dar maior
versatilidade ao código, assim sendo estava lançada a ideia da qual nasceria a Biblioteca
Jquery, focalizada na simplicidade de escrita de código (Write Less, Do more).
Por volta de 5 meses depois da publicação do artigo em seu blog John Resig
apresentou publicamente os resultados dos seus estudos em uma palestra intitulada “Jquery, a
nova onda para JAVASCRIPT” realizada no BarCampNYC, no dia 14 de janeiro de 2006.
Segundo (BALDUÍNO, 2013), jquery é uma biblioteca JAVASCRIPT que simplifica a
manipulação de documentos HTML, eventos, animações e interacções com AJAX para
desenvolvimento rápido de aplicações Web.
Além de isso, destina-se a adicionar interactividade e dinamismo as paginas Web,
proporcionando ao desenvolvedor funcionalidades necessárias a criação de script que visa
incrementar de forma progressiva e não obstrutiva, a usabilidade, acessibilidade e o design,
enriquecendo a experiencia do usuário, como também foi concebida para estar em
6 Contração do termo inglês web log, "diário da rede" é um site cuja estrutura permite a
atualização rápida de artigos.
15
conformidade com padrões Web, ou seja, compatível com qualquer sistema operacional e
navegador, além de oferecer suporte total para CSS3.
Para usar jQuery em um projecto, a biblioteca precisa ser carregada em um documento
HTML para lhe dar acesso de script aos métodos da biblioteca, se ela não for carregada
primeiro, quaisquer scripts usando a sintaxe de biblioteca provavelmente resultarão em erros
de JAVASCRIPT. Felizmente carregar jQuery é muito simples e há diversas opções para
carregara-lo, a saber:
Incluir uma cópia baixada da biblioteca jquery, a primeira opção para incluir
Jquery em um projecto é gravar uma cópia da biblioteca na estrutura dos arquivos do
projecto e incluí-la da mesma forma que qualquer outro arquivo JAVASCRIPT:
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>.
Incluir uma cópia hospedada remotamente da biblioteca jquery, a segunda opção
é incluir uma cópia de biblioteca jquery hospedada no Google Code; isto é, feito na
esperança de que os visitantes do site tenha uma cópia da biblioteca já em cache do
outro site incluindo o mesmo arquivo, o que diminui o tempo de carga para os
usuários do site, sondo que a cópia remota e incluída da mesma forma que a cópia
baixada:
<scripttype="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jq
uery.min.js">
</script>.
Usando a API google ajax libraries, O Google Code também oferece uma opção
para carregar jQuery chamada API AJAX Libraries API, nas Palavras do Google,” a
API AJAX Libraries é uma arquitectura de carga e rede de distribuição de conteúdo
16
para as bibliotecas JAVASCRIPT mais populares e open source7”, para incluir jQuery
no Web site usando a API AJAX Libraries, usa-se o seguinte trecho:
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1.4.2");
</script>
A partir de estudos realizados foi possível constatar várias características que
sucedem da biblioteca JQuery, características esse que são vistas como principais elementos
que fazem com que essa biblioteca seja mais utilizada no mundo de desenvolvimento de
aplicações Web, dentre os quais se destacam:
Utiliza selectores CSS para localizar elementos de componentes da estrutura de
marcação HTML da página;
Possui arquitectura compatível com instalação de Plug-ins e extensões em geral;
Indiferente a consistência de renderização entre navegadores Cross-Browser;
Admite programação encadeada, ou seja, a cada método retorna um objecto;
Extensível, pois admite a criação e inserção de novas funcionalidades na biblioteca
existente.
Em outras palavras, tais características possibilitaram a criação de uma biblioteca
bastante compacta e ao mesmo tempo poderosa o bastante para oferecer funcionalidades
que tornam o processo de desenvolvimento igualmente compacto e extremamente
simples.
7 Programas que tem seu código fonte aberto. Qualquer um pode baixar o código fonte do programa,
estudá-lo ou mesmo aperfeiçoá-lo.
17
Para conferir a evolução do jquery em cada versão, data lançamento e característica de cada
versão, pode ver o ANEXO I.
1.2.3 CSS
Segundo (SILVA,2013), CSS é a abreviação para o termo em inglês Cascading Style
Sheet, traduzido para o português como folhas de estilo em cascata. As folhas de estilo CSS
são definidas pelo W3C (1999) como “um mecanismo simples para acrescentar estilo a
documentos Web”, isto é, CSS é uma linguagem de layout padrão para a Web que controla
cores, tipografia, tamanho e posicionamento de imagens entre outros elementos de
estilização. Para adicionar esses estilos de estilização, o CSS baseia-se em regra, uma regra
CSS é composta de duas partes: o seletor e a declaração. A declaração compreende uma
propriedade e um valor. A Integração no documento HTML pode ser feito de quatro (4)
formas distintas a saber:
CSS inline, declarações aplicadas a um elemento individual através do atributo style.
<div style="background:#FFF; color:#000;"> Exemplo </div>
CSS incorporado, declarações embutidas no conteúdo através do elemento style no
cabeçalho de um documento XHTML;
<head>
<style type="text/css">
body{
color:#333;
}
</style>
</head>
CSS externo, as declarações são colocadas em um arquivo externo com a extensão “.css” e
incluídos em um ou vários documentos através do elemento <link>. As alterações no
arquivo CSS afectam a todos os documentos que referenciarem este arquivo como folha de
estilo.
<head>
18
<link rel="stylesheet" href="estilo_externo.css" type="text/css" />
</head>
CSS Importado, as declarações também são chamadas a partir de um arquivo CSS externo,
porém, não através do elemento hiperligação, mas sim da declaração @import.
@import url (estilo_importado.css).
Declarações inline e embutidas devem ser evitadas ao máximo, pois retiram as
vantagens da flexibilidade do CSS e da separação entre conteúdo e apresentação. Sendo
assim, é recomendado que a apresentação visual seja definida via arquivos externos,
facilitando a manutenção nas páginas, como já citado anteriormente, além de possibilitar a
utilização do mecanismo de cache do navegador, não sendo necessário que sejam requisitadas
informações visuais pela rede toda vez que uma página é carregada.
1.3. TECNOLOGIAS DO LADO SERVIDOR (BACKEND)
As tecnologias do lado servidor desempenham um papel muito importante no
desenvolvimento de sistema web, haja visto que estas é que dão dinamismo ao sistema,
permitindo que o usuário final possa fazer explicita ou implicitamente operações sobre os
dados do sistema, para tal sempre duas categorias de tecnologias são necessárias a saber:
sistema de gerenciamento de base de dados e linguagem de programação dinâmica, para
atender as especificações dessa monografia serão usadas como sistema de gerenciamento de
Base de dados MYSQL e como linguagem de programação dinâmica o PHP.
1.3.1. Hypertext preprocessor (PHP)
Segundo (ACHOUR et al, 2015) PHP é uma linguagem de programação de ampla
utilização, interpretada, que é especialmente interessante para desenvolvimento para a Web e
pode ser mesclada dentro do código HTML. A sintaxe da linguagem lembra C, Java e Perl. O
19
código PHP é executado no Servidor Web e gera HTML ou outra saída que pode se
visualizada.
O PHP tem sido uma das linguagens de programação do lado servidor a ser
preferencialmente usado por desenvolvedores de aplicações para web hoje devido a um
conjunto de características, que de acordo com (WELLING & THOMSON, 2009) são:
Alto desempenho, o PHP é muito eficiente, com um único servidor pode atender
milhões de acessos por dia;
Interfaces para muitos sistemas diferentes de banco de dados, o PHP tem
conexões activas disponíveis para muitos sistemas de banco de dados, a saber:
MYSQL, PostgreSQL, Msql, Oracle,dbm, FilePro.HypeWave, Informix,InterBase,
Sybase, SQLite entre outros. Usa o Open Database Connectivity Standard (ODBC),
para conectar qualquer banco de dados que forneça um driver de ODBC, incluindo
produtos da MICROSOFT;
Bibliotecas integradas para muitas tarefas comuns da web, como o PHP foi
projectado para a utilização na Web, ele tem muitas funções integradas para realizar
muitas tarefas úteis relacionadas na Web. Podendo-se com PHP gerar GIF
instantâneas, conectar-se a outros serviços de rede, enviar correio electrónico,
trabalhar com cookies, gerar documentos PDF, entre outras funções.
Baixo custo, tendo em conta que o PHP é gratuito, isto faz com que a sua utilização
no desenvolvimento de projecto não acarretes custa acrescidos;
Facilidade de aprender e utilizar, a sintaxe do PHP esta baseada em linguagens de
programação, principalmente C e PERL, se já se conhece o PERL ou uma do tipo C,
como C++ou JAVA há facilidade de aprendizado;
Orientado a objecto, possui óptimo suporte quando desenvolvido em quando de
forma em orientado a objecto.
20
Portabilidade, O PHP esta disponível para vários sistemas operacionais diferentes, o
código escrito em um sistema operativo certamente funcionará no outro sem qualquer
modificação;
Para conferir a evolução do PHP em cada versão, data lançamento e característica de cada
versão, pode ver o ANEXO II,
1.3.2 Mysql
O MySQL é um servidor e gerenciador de banco de dados (SGBD) relacional, de
licença dupla (sendo uma delas de software livre), projectado inicialmente para trabalhar com
aplicações de pequeno e médio portes, mas hoje atendendo a aplicações de grande porte e
com mais vantagens do que seus concorrentes.
Neste contexto o MySQL teve origem quando os desenvolvedores David Axmark,
Allan Larsson e Michael “Monty” Widenius, na década de 90, precisaram de uma interface
SQL compatível com as rotinas ISAM que utilizavam em suas aplicações e tabelas. Em um
primeiro momento, tentaram utilizar a API mSQL, contudo a API não era tão rápida quanto
eles precisavam, pois utilizavam rotinas de baixo nível (mais rápidas que rotinas normais).
Utilizando a API do mSQL, escreveram em C e C++ uma nova API que deu origem ao
MySQL.
Uma das tecnologias que tem sido muito usada paralelamente com o PHP para escrita de
aplicações Web e sem dúvidas alguma o MYSQL, que a semelhança do PHP tem ganho
muito espaço na Web devido as suas características, que segundo (WELLING &
THOMSON,2009):
SGBD,além de possuir banco de dados, o MySQL contém todas as características de
um SGBD, que é o MySQL Server, também este possui capacidade de armazenar
dados, para tal esta ferramenta provê todas as características de multiacesso, entre
21
outras funcionalidades de um SGBD, tais como: gerenciamento de acesso; integridade
dos dados e relacional; concorrência, transacções, entre outros;
Portabilidade, este foi desenvolvido utilizando as linguagens de programação C e
C++, unido com o uso de GNU (General Public License) Automake, Autoconf e
Libtool, torna o MySQL uma aplicação altamente portável entre diferentes sistemas,
plataformas e compiladores. Além disso, fornece sua API de conexão para várias
outras linguagens, como Java, Python, PHP, Perl, C, C++, entre outras.
Multithreads, permite a utilização da programação de threads disponível no kernel da
plataforma. Além de aumentar significativamente a velocidade de processamento, este
ainda facilita a integração da ferramenta em hardwares com mais de uma CPU.
Formas de armazenamento, é feita pela disponibilização de vários tipos de tabelas
para armazenamento de dados, tendo cada tipo sua própria característica, visto que a
vantagem dessa variedade de tabelas é a possibilidade de escolher o tipo em cada
situação diferente, enquanto um tipo prioriza velocidade, outro prioriza volume de
dados, entre outras características.
Velocidade, possui maior velocidade no acesso aos dados em razão de vários factores
em seu desenvolvimento como tabelas ISAM (substituídas pelo novo mecanismo
MyISAM na versão 5), utilização de cachês em consultas, utilização de indexação
BTREE para tabelas do tipo HEAP, algoritmos de buscas, entre outros recursos.
Segurança, é aplicado em sistema gerenciador de conexões que trabalha com
criptografia no tráfego de senhas.
Capacidades, o MySQL tem um alto poder de execução e de armazenamento, uma
vez que este depende da plataforma onde a ferramenta será utilizada, suas tabelas
poderão armazenar espaços extraordinários, ficando limitadas somente ao tamanho
máximo de arquivos com que a plataforma em questão pode manipular. No caso de
22
tabelas do tipo InnoDB, cujo armazenamento pode ser realizado por um ou mais
arquivos separados, é possível armazenar até 65.536 TB (terabytes).
Para conferir a evolução do Mysql em cada versão, data lançamento e característica de cada
versão, pode ver o ANEXO III.
1.4. ANDROID
Android é uma plataforma aberta voltada para dispositivos móveis desenvolvida pela
Google e actualmente é mantida pela Open Handset Alliance (OHA). Para (MONTEIRO, s.d)
Android é uma plataforma desenvolvida especialmente para dispositivos móveis como
aparelhos celulares e tablets, composta de um sistema operacional, middlewares e um
conjunto de aplicativos principais como os contactos, Navegador de Internet e o Telefone
propriamente dito e apresenta uma arquitetura muito em camadas.
Segundo (FREITAS, 2012), o Android possui uma arquitectura dividida em quatro (4)
níveis ou camadas que se representam de acordo com a figura 2:
Figura 2: Arquitetura do Android. Fonte: (FREITAS, 2012)
Nível 1- Linux Kernel, é este nível que é responsável pela inicialização do sistema,
gerenciamento da memória do dispositivo, gerenciamento dos processos do dispositivo,
gerenciamento das threads em execução e gerenciamento da energia, basicamente todos os
23
drivers responsáveis pela comunicação com os recursos de hardware do dispositivo
encontram-se neste nível, como módulos do kernel do Linux.
Como o Android roda em Linux, ele acaba se beneficiando de vários recursos deste
Sistema Operacional, como:
Suporte multitarefa: possibilita ao Android executar várias tarefas ao mesmo tempo;
Suporte multiusuário: permite ao Android disponibilizar um usuário para cada
aplicação instalada, garantindo maior segurança e privacidade dos dados dos
aplicativos, o que impede que um aplicativo instalado prejudique os dados de outro
ou acesse sua base de dados e seus arquivos.
Nivel 2- Libraries e Android runtime, o segundo nível da arquitectura Android pode ser
dividido em dois sub-niveis, a saber:
a) As libraries, são as bibliotecas nativas do Android, são basicamente bibliotecas
escritas em linguagem C e C++ que rodam directamente no Linux, sabendo que o
acesso a essas bibliotecas é feito pela camada superior, a Application Framework, que
abstrai todo o acesso a essas bibliotecas quando se desenvolve um aplicativo para o
Android, ou seja, não se acessa directamente, dentre essas bibliotecas, destacam-se
algumas:
SQLite: biblioteca para acesso ao banco de dados utilizado pelo Android;
WebKit: motor de funcionamento do navegador do Android;
SSL: biblioteca que provê o uso de conexões segura;
OpenGL | ES: biblioteca para renderização de gráficos 3D;
b) Android runtime
O Android Runtime também encontra-se no segundo nível da arquitectura do Android
e está subdividido em duas partes:
24
As core libraries são as bibliotecas do Java e compreende praticamente todas as
bibliotecas do Java SE, com isto, permite se desenvolver aplicativos usando as
APIs padrões do Java, programando praticamente da mesma forma como se fosse
desenvolver um aplicativo para desktop.
Dalvik virtual machine é a máquina virtual do Android, onde os aplicativos são
executados, uma vez que os aplicativos desenvolvidos para Android são escritos
em Java e toda aplicação desenvolvida em Java precisa de uma Máquina Virtual
para ser executada, e no Android essa máquina virtual é denominada de Dalvik
VM.
Neste caso, cada aplicativo roda em sua própria instância da Dalvik VM, e cada
instância é gerenciada pelo seu próprio processo no Linux, ou seja, os aplicativos não
compartilham a mesma instância da Dalvik VM, isto garante maior segurança pois um
aplicativo não poderá interferir na execução de outro aplicativo.
Portanto, a Dalvik VM não executa bytecodes do Java, mas sim bytecodes .dex
(Dalvik Executable), ao desenvolver um aplicativo no android e ao compila-lo no seu SDK,
irá gerar os arquivos .class (bytecodes do Java) referentes a cada classe .java (arquivo de
código fonte) e posteriormente ele irá traduzir todos os arquivos .class em arquivos .dex
(bytecodes da Dalvik VM), ou seja, existe um passo a mais no processo de compilação,
(Ver Figura 3).
Figura 3: Processo de geração dos bytecodes .dex (Dalvik Executable). Fonte: (FREITAS, 2012).
25
Nivel 3- Application framework, compreende as APIs do Android que são usados no
desenvolvimento de aplicativos, esta camada abstrai o acesso às bibliotecas escritas em C e
C++ da camada Libraries, facilitando o trabalho dos programadores de aplicativos para
Android.
Nivel 4- Applications, compreende os aplicativos escritos em Java para o Android, nesta
camada encontram-se tantos os aplicativos nativos do Android quanto os aplicativos
desenvolvidos por terceiros. Aplicativos nativos e os desenvolvidos por terceiros estão no
mesmo nível, na camada Applications, o que permite terceiros desenvolverem aplicativos que
substituam os aplicativos nativos, sendo possível, por exemplo, criar um aplicativo de
contactos que substitua o que já vem nativo no Android.
Por fim, Para conferir a evolução do Android em cada versão, data lançamento e
característica de cada versão, pode ver o ANEXO IV.
1.5. AMAZON WEB SERVICES
Antes de aprofundar no estudo da Amazon Web Services, faz-se necessário conhecer
um pouco de computação em nuvem.
Neste contexto (LACHETA, 2014) afirma que, computação em nuvem é o termo
usado para a possibilidade de acessar seus arquivos como: música, documentos, vídeos, fotos,
dentre outros pela internet usufruindo de recursos infinitos de armazenamento. Do mesmo
modo, (GARTNER, s.d) acrescenta que é um estilo de computação no qual recursos
habilitados de TI escalonáveis e elásticos são fornecidos como um serviço para clientes
externos usando tecnologias de internet.
Dessa forma, Amazon Web Services ou simplesmente AWS fornece uma plataforma
de computação em nuvem flexível, económica, escalonável e fácil de usar para empresas de
todos os tamanhos. (LECHETA,2014) diz que a Amazon Web Services é uma plataforma
26
global de serviços na nuvem, oferecendo potência de computação, armazenamento,
distribuição de conteúdo e outras funcionalidades que permitem às empresas implantar
aplicativos e serviços a custos reduzidos, com maior flexibilidade, escalabilidade e
confiabilidade.
A AWS fornece basicamente serviços de computação em nuvem nas principais
categorias de serviços em nuvem, a saber:
SAAS (Software As A Service), é um software que pode ser usado como serviço na
nuvem, um bom exemplo disso é o serviço Relational Database Service (RDS) que é
um banco de dados na nuvem ou seja um software de base dados na nuvem;
IAAS (Infrastructure As A Service), fornece infra-estrutura para executar servidores
virtuais na nuvem de forma escalável e segura, o que permite que não haja
preocupação com memória, capacidade de processamento e armazenamento;
PAAS (Platform As A Service), fornece um grande ambiente que permite executar
aplicações, facilitando o gerenciamento e a manutenção.
O serviço da nuvem da Amazon permite escalar aplicações em abrangência mundial,
possibilitando que as aplicações possam ser instaladas em várias regiões do mundo, bem
como garantir a disponibilidade e bom funcionamento das aplicações mesmo que haja
desastres naturais, graça aos conceitos de regiões e de zonas de disponibilidades.
Uma região representa uma determinada região geográfica do mundo, a cada região
possui dois ou mais datacenters8 isolados chamados de zonas de disponibilidade, existem até
a data em que é escrita essa monografia nove zonas de disponibilidade, a saber: Leste dos
EUA (Norte da Virgínia), Oeste dos EUA (Oregon), Oeste dos EUA (Norte da Califórnia),
8 Ambiente projetado para abrigar servidores e outros componentes como sistemas de armazenamento de
dados e ativos de rede.
27
UE (Irlanda), Ásia-Pacifico (Singapura), Ásia-Pacifico (Tóquio), Ásia-Pacifico (Sidney),
América do Sul (São Paulo) e AWS GovCloud- dedicada as agências do governo Americano.
Os recursos da AWS podem ser acessados e configurados através do console que a
Amazon Web Services disponibiliza para os seus clientes ou então pode ser automatizado por
através de APIs e SDKs das principais linguagens de programação como: .NET, JAVA, PHP,
PYTHON, RUBY, entre outras linguagens.
A plataforma da AWS é bastante extensa que não seria possível descrever todos os
serviços nessa monografia, por isso a figura: resume o importante a se saber no escopo dessa
monografia com um esquema de arquitectura web de uma aplicação de alta disponibilidade,
com o monitoramento de recurso e escalabilidade automática conforme a demanda.
Figura 4: Arquitectura da Amazon Web Services. Fonte: (LECHETA, 2014).
Conforme supracitado a AWS é um serviço de nuvem composto por vários serviços na
categoria IAAS, SAAS, PAAS, a seguir estão conferidos os principais serviços necessários
para a o escopo do problema a ser resolvido nesta monografia:
S3 (Simple Storage Service), é um serviço de armazenamento de dados da AWS
altamente escalável e escalonável.
EC2 (Elastic Compute Cloud), é um dos serviços mais usados da AWS e permite
criar instâncias de servidores virtuais na nuvem com variadas configurações de
28
sistemas operacionais, como o Linux e o Windows, assim como diferentes
configurações de processador, memória e armazenamento em disco.
Route 53 é um serviço DNS altamente disponível e escalonável, projectado para
oferecer aos programadores e empresas uma maneira extremamente confiável e
económica de direccionar os usuários finais para aplicativos de Internet, ao traduzir
nomes de domínio em endereços IP de Servidores.
RDS (Relational Database Service) é um serviço da Web criado para facilitara
configuração, o gerenciamento, os backups e a escalabilidade do banco de dados.
SES (Email Simple Service), é um serviço da Web de envio de e-mail altamente
escalável e barato, comparando com outras soluções do mercado.
Dessa forma para concluir esse capítulo, importa referir que nesta sessão fez-se a
fundamentação epistemológica de todo artefacto científico ou tecnológicos necessários para
elaboração do projecto e fico evidente a extrema importância de abordar as teorias
actualizadas de: HTML5, CSS3, JQUERY, PHP,MYSQL, ANDROID e AWS, pois são
ferramentas que carregam consigo o poder de concretização da antevisão da solução para o
problema supracitado.
Contudo, o anteriormente exposto faz que cada uma dessas tecnologias é uma unidade
com tarefa específica na formação da solução do problema como um todo, devendo a cada
uma delas participar com as especificações que lhe convém para fazer do sistema de gestão
de contadores de electricidade da empresa “Electricidade de Moçambique”, delegação Beira,
um sistema robusto em vários aspectos como a usabilidade, escalabilidade, segurança,
experiência do usuário, portabilidade, performance entre outros.
29
2. CAPITULO II: DESENHO DO SISTEMA GESTÃO DE
INFORMAÇÃO DE CONTADORES DE ELECTRICIDADE
Nesta sessão faz descrição do desenho da proposta do sistema de gestão de
informação de contadores electricidade bem como as suas metodologias de implantação,
análises de requisitos para a projeção do software e infraestruturas para a hospedagem do
mesmo sistema de gestão de informação.
2.1 REQUISITOS
Um requisito de um sistema é uma característica do sistema ou a descrição de algo que o
sistema é capaz de realizar para atingir seus objectivos, ou seja, é alguma coisa que o produto
tem de fazer ou uma qualidade que ele precisa apresentar. Na visão de (SOMMERVILLE,
2007) requisitos de um sistema são descrições dos serviços que devem ser fornecidos por esse
sistema e as suas restrições operacionais.
Assim, com base nessas e em outras definições, pode-se dizer que os requisitos de um
sistema incluem especificações dos serviços que o sistema deve prover, restrições sob as
quais ele deve operar, propriedades gerais do sistema e restrições que devem ser satisfeitas no
seu processo de desenvolvimento.
As definições acima apresentadas apontam para a existência de diferentes tipos de
requisitos, uma classificação amplamente aceita quanto ao tipo de informação documentada
por um requisito faz a distinção entre requisitos funcionais e requisitos não funcionais.
Requisitos não funcionais, descrevem restrições sobre os serviços ou funções
oferecidos pelo sistema (PFLEEGER, 2004); isto é, as quais limitam as opções para criar uma
solução para o problema. Neste sentido, os requisitos não funcionais são muito importantes
para a fase de projecto, servindo como base para a tomada de decisões nessa fase.
30
Com isso, estes têm origem nas necessidades dos usuários, em restrições de
orçamento, em políticas organizacionais, em necessidades de interoperabilidade com outros
sistemas de software ou hardware ou em factores externos como regulamentos e legislações.
2.1.1. Requisitos não funcionais do sistema de gestão de informação de
contadores de electricidade
Com base nas entrevistas efectuadas aos Técnicos de Informática e aos supervisores
de contadores electricidade da empresa da Electricidade de Moçambique, delegação Beira
(VER APÊNDICES I, II), para se desenvolver o sistema foram considerados os requisitos
não funcionais tabelados na tabela 6.
RNF01 O sistema deve possuir um sistema de segurança a fim de evitar
o acesso indevido a informações dos usuários
RFN02 Deve ser implementado um mecanismo de criptografia de dados
para a autenticação do usuário;
RNF03 A interface do Web site e do aplicativo móvel devem ser
intuitivas, possibilitando o fácil entendimento e uso da
ferramenta ou seja seguir os princípios da experiencia do usuário;
RFN04 O desempenho do sistema deverá atingir um nível
satisfatoriamente alto, a fim de minimizar os problemas de time-
out e maximizar a experiência do usuário;
RFN05 Todos os dados modificados no sistema devem ter sua
integridade garantida a fim de evitar qualquer inconsistência no
banco de dados;
RFN06 As tecnologias HTML5, CSS3 e jQuery serão usadas para o
desenvolvimento FrontEnd.
31
RFN07 A tecnologia PHP5 será usada para o desenvolvimento BackEnd.
RFN08 As funções do PHP deve ser consumíveis como Web Services as
tecnologias REST para facilitar a futura integração de outros
sistemas caso os requisito alterem.
RFN09 Para Hospedagem de sistema deve ser feita na infraestrutura da
nuvem da Amazon Web Services (AWS).
RFN10 O sistema Web deve ser portável em vários navegadores, ou seja,
deve ser Cross-Browser9
RFN11 A aplicação deve ser hospedada em vários servidores de
aplicação gerenciados com um balanceador de carga, a fim de
facilitar a escalabilidade horizontal.
RFN12 Ao nível da base de dados o SGBD a ser usado será MYSQL
RFN13 Padrão de projecto MVC
RNF14 Padrão de Projecto Singleton10
Tabela 1: Requisitos não Funcionais do Sistema. Fonte: PRÓPRIA.
Requisitos funcionais, são declarações de serviços que o sistema deve prover,
descrevendo o que o sistema deve fazer. Como descrito por (PFLEEGER, 2004), um
requisito funcional descreve uma interacção entre o sistema e o seu ambiente podendo
descrever, ainda o autor dessa monografia acrescenta que, o sistema deve reagir a entradas
9 Refere-se à habilidade de um site, Aplicação Web, contructor HTML suportar múltiplos
navegadores. Esta aplicação deve ser construída através de uma forma de programação que utiliza
tecnologias compatíveis com qualquer navegador Web que suporte as especificações do W3C.
10 Padrão de projeto que tem o objetivo garantir que existe apenas uma instância de uma certa classe
a qualquer instante e em qualquer ponto de um sistema.
32
específicas, como o sistema deve se comportar em situações específicas e o que o sistema não
deve fazer.
2.1.2. Requisitos funcionais do sistema de gestão de informação de
contadores de electricidade
Com base nas entrevistas efectuadas aos Técnicos de Informática e aos supervisores
de contadores de electricidade da empresa “ Electricidade de Moçambique “, delegação Beira
(VER APÊNDICES I, II), para se desenvolver o sistema foram considerados os requisitos
funcionais tabelados na tabela 7.
Ref. Requisito
RF01 Efectuar login: Antes de se aceder o sistema em propriamente
dito haverá necessidade dos usuários do sistema (Cliente,
Supervisor, Administrador) informar o usuário e a senha.
RF02 Cadastrar Cliente: O administrador tem a possibilidade de fazer o
cadastro dos clientes da organização, devendo apenas informar
os dados necessários.
RF03 Actualizar Cliente: O administrador tem a possibilidade de
actualizar os dados dos clientes previamente cadastrados na base
de dados, como também o cliente pode actualizar parte dos seus
próprios dados.
RF04 Remoção de Cliente: O administrador tem a possibilidade de
remover o Cliente caso haja necessidade para remoção.
RF05 Ler dados dos Clientes: O administrador tem a possibilidade de
ler os dados de todos clientes e o cliente tem a possibilidade de
ver seus próprios dados.
33
RF06 Cadastrar Funcionário: O administrador tem a possibilidade de
fazer o cadastro dos Funcionários da organização, devendo
apenas informar os dados necessários.
RF07 Actualizar Funcionários: O administrador tem a possibilidade de
actualizar os dados dos funcionários previamente cadastrados na
base de dados, como também o Funcionário pode actualizar parte
dos seus próprios dados.
RF08 Remover Funcionário: O administrador tem a possibilidade de
remover o funcionário caso haja necessidade para remoção.
RF10 Ler dados dos Funcionários: O administrador tem a possibilidade
de ler os dados de todos clientes e o cliente tem a possibilidade
de ver seus próprios dados.
RF11
Reclamar: O cliente tem a possibilidade de reclamar caso algo
não esteja conforme ele previa no seu quadro, desde que o
inconveniente seja da responsabilidade da organização.
RF12
Actualizar reclamação: O Cliente tem a possibilidade de
actualizar a reclamação no que ele mesmo efectuou dentro de 48
horas.
RF13
Atender Reclamação: O administrador e outro funcionário caso
tenha o privilégio podem atender a reclamação do cliente
RF14 Confirmar o atendimento a Reclamação: O cliente tem a
possibilidade de confirmar o atendimento da sua reclamação, em
como avaliar o resultado do atendimento.
RF15 Ler reclamação: O Administrador e os funcionários com
privilégios podem ler as relações do cliente previamente feitas,
34
bem como o cliente pode ler todas as suas reclamações.
RF16 Cadastrar Contador: O administrador tem a possibilidade de
fazer o cadastro dos contadores de electricidade da empresa,
devendo apenas informar os dados necessários.
RF17 Actualizar Contador: O administrador tem a possibilidade de
actualizar os dados dos contadores de electricidade da empresa,
previamente cadastrados na base de dados
RF18 Remover contador: O administrador tem a possibilidade de
remover o contador de electricidade caso haja necessidade para
remoção.
RF19 Ler dados do contador: O administrador e os funcionários com
privilégios tem a possibilidade de ler os dados de todos os
contadores de electricidade e o Cliente tem a possibilidade de ver
apenas os dados do seu contador de electricidade.
RF20 Registar supervisão: O administrador, o supervisor ou outros
funcionários com privilégios tem a possibilidade de fazer o
registo da supervisão dos contadores electricidade da empresa
nos clientes.
RF21 Actualizar Informações da Supervisão: O administrador e o
supervisor (só em supervisão que participou) têm a possibilidade
de actualizar a informação de uma dada supervisão.
RF22 Remover Supervisão: O administrador tem a possibilidade de
remover supervisão caso haja necessidade para remoção.
RF23 Ler informações da supervisão: O administrador, o supervisor
(só em supervisão que participou) e o cliente (só supervisão do
35
seu quadro pessoal) têm a possibilidade de ler os dados de todos
clientes e o cliente tem a possibilidade de ver seus próprios
dados.
RF24 Gerar Relatório: O sistema deve gerar relatório de dados
estatísticos para facilitar na tomada de decisão por parte das
instâncias superiores da organização.
Tabela 2: Requisitos Funcionais do Sistema. Fonte: PRÓPRIA.
2.2. DIAGRAMA DE CASO DE USO
Tipicamente, a funcionalidade a ser provida por um sistema é muito grande para ser
analisada como uma única unidade e, portanto, é importante ter um mecanismo de dividir
essa funcionalidade em partes menores e mais gerenciáveis. Conclui (OLIVÉ, 2007), que o
conceito de caso de uso é muito útil para esse propósito.
Neste caso, um caso de uso é uma porção coerente da funcionalidade que um sistema
pode fornecer para atores interagindo com ele, segundo (BLAHA; RUMBAUGH, 2006).
Nesta pesquisa é considerada que, um caso de uso corresponde a um conjunto de acções
realizadas pelo sistema (ou por meio da interacção com o sistema), que produz um resultado
observável, com valor para um ou mais atores do sistema.
Geralmente, esse valor é a realização de uma meta de negócio ou tarefa (OLIVÉ,
2007), assim, um caso de uso captura alguma função visível ao actor e, em especial, busca
atingir uma meta desse actor.
Dessa forma, considerar-se que um caso de uso corresponde a uma transacção
completa, ou seja, um usuário poderia activar o sistema, executar o caso de uso e desactivar o
sistema logo em seguida, e a operação estaria completa e consistente e atenderia a uma meta
desse usuário.
36
O Diagrama de caso de uso apresentado pela Figura 5 ilustra a interação dos actores
com o sistema de gestão, o cliente, o administrador, o supervisor e qualquer funcionário que
tiver privilégios para lidar com sistema. Só esses autores poderão acessar o sistema e nenhum
outro tipo de usuário será permitido pelo sistema, pessoas não cadastradas não conseguirão se
autenticar no sistema. O cliente poderá consulta, editar e até reclamar todos os recursos
inconvenientes ligados a ele, o administrador tem a visão global do sistema, bem como os
supervisores tem acesso a toda as funcionalidades ligadas a supervisão dos contadores de
electricidade e por fim os funcionários tem acesso apenas a aquilo que lhe foi concedido o
privilégio (VER FIGURA 5).
37
Figura 5: Diagrama de casos de uso do sistema. Fonte: PRÓPRIA.
Caso de Uso RF0 registar supervisão
Atores Principais: Administrador, Supervisor e Funcionário com privilégios.
Propósito
Pré-condição O autor deve estar logado e com Privilégios para efectuar esta
operação.
Fluxo Principal
38
1. O Autor acesso ao sistema móvel
2. Buscar Coordenadas de quadro mais próximas
3. Com o GPS do dispositivo móvel capta as coordenadas geográficas actuais
4. Verificação da aproximação das coordenadas geográficas actuais com as coordenadas
cadastradas na base de dados para o contador electricidade em supervisão e no
máximo 1 m.
5. Preencher as informações da supervisão
6. Enviar a informação para a base de dados remota.
7. Sistema informa o estado da operação.
Fluxo de exceção (4): Caso a aproximação seja mais de 1 m.
a) O sistema retorna a mensagem para se aproximar do alvo mais próximo das
coordenadas captadas de modo a estar a menos ou igual a 1 m.
b) Caso de uso continua a partir do passo 2
Pós-condição Supervisão registada. O sistema retorna uma mensagem
informando que a operação foi efectuada com sucesso.
Tabela 3: Descrição textual do caso de uso supervisão. Fonte: PRÓPRIA.
Caso de uso RF01 : Fazer Login
Actores Primários Todos funcionários e clientes
Pré-condição O autor estar previamente cadastrado na base de dados do sistema.
Fluxo Principal
1. Acesso tela de login
2. Informar as credenciais
3. Envio de dados para a verificação clicando em login
39
4. O sistema permite acesso
Fluxo de exceção (3): credenciais erradas
a) O acesso o sistema negado
b) Caso de uso continua no passo 2
Pós-condição O acesso da área de trabalho do sistema para a realização das
demais operações disponíveis para o actor logado.
Tabela 4: Descrição textual do caso de uso login. Fonte: PRÓPRIA.
Caso de Uso RF0 Cadastrar Funcionário
Actores Primários: Administrador
Pré-condição Actor usuário valido, logado e com privilégios para cadastro de
funcionários.
Fluxo Principal
1. O actor escolhe no menu o item Funcionário> Cadastro
2. Preencher o formulário com os dados do funcionário por cadastrar.
3. Registar os dados do funcionário na base de dados do sistema, clicando no botão
cadastrar.
Fluxo exceção: Validação de campos de formulário não verificada
a) O sistema mostra os erros na validação dos campos
b) O actor volta preencher os campos de acordo com a validação e termina no passo 3
Pós-Condição Funcionário registado, o sistema retorna uma mensagem de
confirmação da realização da operação.
Tabela 5: Descrição textual do caso de uso Cadastrar funcionário. Fonte: PRÓPRIA.
Caso de Uso RF0 Cadastrar Contador
40
Actores Primários: Administrador e funcionário com privilégio
Pré-condição Actor usuário valido, logado e com privilégios para cadastro
contador de electricidade
Fluxo Principal
1. O actor escolhe no menu o item Contadores -> Cadastro
2. Preencher o formulário com os dados do quadro por cadastrar.
3. Registar os dados do quadro na base de dados do sistema, clicando no botão
cadastrar.
Fluxo exceção: Validação de campos de formulário não verificada
a) O sistema mostra os erros na validação dos campos
b) O actor volta preencher os campos de acordo com a validação e termina no passo 3
Pós-Condição Quadro registado, o sistema retorna uma mensagem de
confirmação da realização da operação.
Tabela 6: Descrição textual do caso de uso Cadastrar contador. Fonte: PRÓPRIA.
Caso de Uso RF0 Cadastrar Cliente
Actores Primários: Administrador e funcionário com privilégio.
Pré-condição Actor usuário valido, logado e com privilégios para cadastro
contador electricidade.
Fluxo Principal
1. O actor escolhe no menu o item Cliente -> Cadastro
2. Preencher o formulário com os dados do Cliente por cadastrar.
3. Registar os dados do Cliente na base de dados do sistema, clicando no botão
cadastrar.
41
Fluxo exceção: Validação de campos de formulário não verificada
c) O sistema mostra os erros na validação dos campos
d) O actor volta preencher os campos de acordo com a validação e termina no passo 3
Pós-Condição Cliente registado, o sistema retorna uma mensagem de
confirmação da realização da operação e uma credencial padrão
para o acesso do sistema, devendo alterar depois.
Tabela 7: Descrição textual do caso de uso Cadastrar Cliente. Fonte: PRÓPRIA.
Caso de Uso RF0 Reclamação
Actores Primários: Cliente
Pré-condição Actor usuário valido, logado e com privilégios para a reclamação.
Fluxo Principal
1. O actor escolhe no menu o item contador -> reclamação
2. Escolher tipo de assunto a reclamar e escrever no campo de reclamação, o teor da
reclamação.
3. Registar reclamação, clicando no botão reclamar.
Fluxo exceção: Campo reclamação vazio
a) O sistema mostra os erros na validação d campo reclamação
b) O actor volta preencher os campos de acordo com a validação e termina no passo 2
Pós-Condição Reclamação registada, o sistema retorna uma mensagem de
confirmação da realização da operação.
Tabela 8: Descrição textual do caso de uso reclamação. Fonte: PRÓPRIA.
Caso de Uso RF0 Actualizar Contador
Actores Primários: Administrador e Funcionário com privilégio
42
Pré-condição Actor usuário valido, logado e com privilégios para actualizar
contador de electricidade.
Fluxo Principal
1. O actor escolhe no menu o item contador ou pesquisa o contador por número
2. O actor escolhe o contador a actualizar na lista retornada pela pesquisa.
3. O actor clica em actualizar o contador
4. O sistema carrega os dados do contador e atribui por defeito os campos do formulário.
5. O actor edita os campos caso necessário actualizar os mesmos com novas
informações.
6. O actor actualiza o contador, clicando no botão reclamar.
Pós-Condição Contador de electricidade actualizado, o sistema retorna uma
mensagem de confirmação da operação realizada com sucesso.
Tabela 9: Descrição textual do caso de uso Actualizar contador. Fonte: PRÓPRIA.
Caso de Uso RF0 Atualizar Funcionário
Actores Primários: Administrador e Funcionário com privilégio
Pré-condição Actor usuário valido, logado e com privilégios para actualizar
contador de electricidade.
Fluxo Principal
1. O actor escolhe no menu o item funcionário ou pesquisa o contador electricidade por
número
2. O actor escolhe o funcionário a actualizar na lista retornada pela pesquisa.
3. O actor clica em actualizar o funcionário
4. O sistema carrega os dados do funcionário e atribui por defeito os campos do
43
formulário.
5. O actor edita os campos caso necessário actualizar os mesmos com novas
informações.
6. O actor actualiza o funcionário, clicando no botão reclamar.
Pós-Condição Funcionário actualizado, o sistema retorna uma mensagem de
confirmação da operação realizada com sucesso.
Tabela 10: Descrição textual do caso de uso Actualizar Funcionário. Fonte: PRÓPRIA.
2.3. MODELO RELACIONAL LÓGICO
Modelo relacional lógico são conjuntos de dados vistos segundo um conjunto de
tabelas e as operações sobre elas são feitas por linguagens que manipulam álgebra relacional,
não sendo procedurais ou seja, manipulando conjunto de uma só vez. (GOUVEIA,2014) diz
que o modelo relacional foi proposto pelo matemático Edgar Codd em 1970, o que na altura
alterou a forma como se utilizavam as bases de dados, que consistiam essencialmente na
manipulação de estruturas físicas, muito próximas de representação informática de estruturas
físicas.
Ao permitir a utilização de uma linguagem de mais alto nível e abstração,
independentemente da representação física de dados permitiu, o modelo relacional melhorou
a produtividade dos utilizadores de bases de dados, assim os utilizadores e programadores
não precisam se preocupar com estrutura de apontadores físicos.
Na figura 6 a seguir esta representado o diagrama de entidade relacionamento lógico
do sistema de gestão de informação de contadores de electricidade, onde pode-se ver que os
clientes e funcionários são usuários do sistema, onde os funcionários de acordo com nível de
cada um podem supervisionar um ou mais contadores de electricidade dos clientes, como
também podem responder as possíveis reclamações iniciadas pelos clientes.
44
Figura 6: Modelo relacional do banco de dados. Fonte: PRÓPRIA
2.4. DIAGRAMA DE CLASSE
Um diagrama de classes é um modelo fundamental de uma especificação orientada a
objetos. Produz a descrição mais próxima da estrutura do código de um programa, ou seja,
mostra o conjunto de classes com seus atributos e métodos e os relacionamentos entre
classes. Classes e relacionamentos constituem os elementos sintáticos básicos do diagrama de
classes (SILVA, 2007).
45
Figura 7: Diagrama de classe do sistema. Fonte: PRÓPRIA
2.5. ARQUITECTURA PARA IMPLANTAÇÃO DO SISTEMA
Para atender alguns requisitos não funcionais (VER TABELA 1) sempre e necessário
conjunto de infraestrutura que faz uma plataforma coesa para maior agilidade das
funcionalidades propostas nos requisitos funcionais (VER TABELA 2), atendendo e
considerando que para o sistema proposto a segurança, flexibilidade, escalabilidade são
imprescindível e a entrevista (VER APENDICE I,II) aponta que a empresa “Electricidade de
Moçambique”, delegação Beira, não possui infraestruturas autónomas para atender esses
requisitos não funcionais, o autor dessa monografia propõe o uso dos serviços de nuvem da
Amazon Web Services como ambiente de hospedagem do sistema, (VER FIGURA 7)
46
Figura 8: Arquitectura de Implantação. Fonte: PRÓPRIA
De acordo com a figura 8 usa-se o serviço Amazon Route53 para resolução de DNS; o
Amazon Elastic Load Balance (Amazon ELB) como distribuidor de cargas11 entre as
instâncias de servidores de aplicação (EC2); instâncias de Amazon Elastic Compute Cloud
(Amazon EC2) como servidores de aplicação; o Amazon Simple Storage Service (Amazon
S3) utilizados backups e armazenamento de todos os recursos estáticos da aplicação e o
Amazon RDS como instâncias de servidores de base de dados relacional.
Conforme ilustra a figura 7 a requisição de qualquer funcionalidade hospedada na
AWS começa com um cliente que requisita qualquer recurso na nuvem apontado o ROUTE
11 é um software para a solução de picos de tráfego de acesso; usando algoritmos inteligentes,
a tecnologia é capaz de multiplicar virtualmente a infraestrutura de qualquer sistema
operacional para que ele esteja sempre disponível para o usuário.
47
53 que faz a resolução do DNS, por sua vez ROUTE 53 não encaminha a requisição
directamente para os IPs dos servidores de aplicação (Instâncias de EC2) com o recurso
requisitado, mas sim a para o IP do balanceador de carga (Elastic Load Balancer) que de
tempo em tempo enviar pacotes TTL ou seja PING12 para os servidores de aplicação, sendo
depois reencaminhada a requisição ao servidor que o seu tempo de resposta for inferior aos
demais indicando que está menos sobrecarregado.
Por sua vez a cada servidor de aplicação, requisita todos os recursos estáticos como
CSS, JAVASCRIPT, imagens entre outros no serviço de armazenamento S3, como também
conecta a uma mesma instância de base de dados (Amazon RDS), permitindo que a
requisição leve caminhos distintos para a persistência da mesma base de dados, em principio
um servidor de aplicação fica em activo devendo automaticamente ligar outras instancias de
servidores de aplicação caso necessário, ou seja, quando o primeiro servidor estiver
sobrecarregado, permitindo a Auto escalabilidade, devendo também desliga-los caso não haja
sobrecarga no servidor mãe.
Já os servidores de Base de dados trabalham com um conceito da AWS chamado
deploy a-z, que consiste em replicar a instância de servidor de base de dados em outras zonas
de disponibilidade, o que garante a durabilidade e a disponibilidade das informações, haja
visto que toda vez que se persiste um dado no servidor mãe e replicado em outros servidores,
permitindo assim que as operações de leitura possam ser feitas em servidores de base de
dados com uma mesma instância de banco de dados.
12 Comando que serve para testar a conectividade entre equipamentos de uma rede utilizando o
protocolo ICMP. A palavra "ping" é a abreviação do termo em inglês "Packet Internet Network
Grouper", que significa algo como "Agrupador de Pacotes da Internet".
48
2.6. METODOLOGIA DE APLICAÇÃO (OPERACIONALIDADE DO
SISTEMA)
O pequeno manual que se segue foi desenvolvido com o intuito de ajudar e
demonstrar algumas funcionalidades do sistema proposto que permitirão uso do sistema com
conhecimento de causa por parte dos utilizadores, neste contexto o manual foca as principais
funcionalidades do sistema devidos por usuários, a saber para o cliente as supervisões
relacionadas ao quando que lhe esta associado, suas informações gerais e suas reclamações.
Para o Administrador todas as supervisões, informações e acções sobre todos os clientes,
informações e acções sobre todos os contadores de electricidade, informações e acções sobre
todos os funcionários, os relatórios e por fim todas as reclamações dos clientes.
2.6.1 Acesso a aplicação
O acesso ao sistema é feito usando o mesmo endereço como todos os usuários do
sistema independentemente do nível dos usuários, terão acesso a tela de login que se segue na
figura 9.
Figura 9 login. Fonte: PRÓPRIA
a) Abra o seu navegador e digite na barra de endereço o url de onde o sistema estará
hospedado, isso lhe dará o acesso a tela de controlo de acesso, “Login”
b) Preencher os Campos Usuário e Senha com os seus dados de acesso;
49
c) Clicar em logar.
Nota: Caso tenha-se esquecido dos seus dados de acesso clique na hiperligação “Precisas de
ajuda?” e o sistema lhe ajudara na aquisição ou recuperação dos seus dados de acesso.
Caso os dados de acesso sejam validos o usuário será redirecionado para tela principal da
aplicação que varia de acordo com o tipo de usuário, a saber: cliente, supervisor,
administrador ou seja, as opções de menu variam de acordo com os privilégios de cada tipo
de usuário, ver algumas telas de acordo com o tipo de usuário, nas figuras 11 e 12.
2.6.2 Tela principal para o cliente
Apos a validação das credenciais do usuário ser aprovada, se o usuário for um cliente
lhe será redirecionado para a tela da figura 11 que contem privilégios só para os clientes, o
menu do cliente tem os seguintes itens: dados pessoais, supervisões, informações gerais e
reclamações.
Figura 10:Tela principal para o Cliente. Fonte: PRÓPRIA
50
O item Supervisões, hiperligação que dá acesso a lista na ordem cronológica todas a
supervisões efectuadas ao contador de electricidade associado ao cliente. Onde para cada
supervisão pode-se ler as a data da supervisão, o funcionário que efetuou a supervisão, a
descrição, o estado do contador de electricidade e uma hiperligação para a reclamação
daquela supervisão da aparte do cliente caso necessário.
O item Informações Gerais, hiperligação que da acesso a apresentação de todas as
informações relacionadas ao cliente e ao contador de electricidade associadas ao cliente.
O item Reclamações, hiperligação que dá acesso a lista das reclamações efectuadas
pelo cliente (ver figura 11), dando a possibilidade de confirmar o atendimento a cada
reclamação caso não tenha sido confirmado atendimento pelo cliente bem como o estado da
reclamação (atendida ou pendente).
O Item Dados Pessoais apresenta o resumo das informações relacionadas ao usuário e
a possibilidade de editar algumas delas.
2.6.2.1. Tela de reclamação do cliente
Ao clicar na hiperligação Reclamação da tela principal do cliente, será redirecionado
para a seguinte tela da figura 11.
Figura 11:Reclamações do Cliente
51
Na tela reclamação do cliente apresenta-se uma tabela com todas as reclamações com
os seguintes dados da reclamação: assunto, data, detalhes para ver com mais detalhes a
reclamação, editar para edição da reclamação, alem disso também apresenta-se na mesma tela
um pequeno formulário para a adição de nova reclamação tendo para isso informar o assunto
e a mensagem da reclamação.
2.6.3 Tela principal para o administrador
Apos a validação das credenciais do usuário ser aprovada, se o usuário for um
Administrador lhe será redirecionado para a tela da figura 12 que contém todos os privilégios
do sistema, o menu do Administrador tem os seguintes itens: dados pessoais, supervisões,
clientes, contadores, funcionários, relatórios e reclamações.
Figura 12 Tela principal para o Administrador. Fonte: PRÓPRIA
O item Supervisões, essa hiperligação dá acesso a lista na ordem cronológica todas a
supervisões efectuadas ao contador de electricidade associado a cada cliente cadastrado.
52
Onde para cada supervisão pode-se ler as a data da supervisão, o funcionário que efetuou a
supervisão, a descrição, o estado do contador de electricidade, bem como a possibilidade do
administrador editar, remover e atender uma reclamação caso haja uma reclamação não
atendida para aquela supervisão.
O item Clientes, essa hiperligação dá acesso a tela com as informações associadas aos
clientes (ver figura 13), com as seguintes subitens: Novo – para cadastro de um novo cliente
editar – edição de informações de um cliente já existente, Remover – para remover um cliente
já existente, Ler – para visualização de um cliente já existente.
O item Contadores, essa hiperligação dá acesso a tela com as informações associadas
ao contador de electricidade, com as seguintes subitens: Novo – para cadastro de um novo
contador de electricidade, Editar – edição de informações de um contador de electricidade já
existente, Remover – para remover um contador de electricidade já existente, Ler – para
visualização e dados de um contador de electricidade já existente.
O item Funcionários, e hiperligação que dá acesso a tela com as informações
associadas ao usuário que e funcionário da empresa Electricidade de Moçambique, delegação
Beira, com as seguintes subitens: Novo – para cadastro de um novo funcionário, Editar –
edição de informações de um funcionário já existente, Remover – para remover um
funcionário já existente, Ler – para visualização e dados de um funcionário já existente. O
item Relatórios, e uma hiperligação que dá acesso a tela que permite gerar relatórios como:
estatísticas e listagens.
O item Reclamações, hiperligação que mostra a lista das reclamações efectuadas
pelos clientes, com os seguintes subitens: Ler- para visualizar as reclamações, Atender- para
atender as reclamações, delegar- para delegar a um funcionário caso seja necessário a sua
intervenção no cliente. O Item Dados Pessoais apresenta o resumo das informações
relacionadas ao administrador a possibilidade de editar os seus dados.
53
2.6.3.1. Telas de gerenciamento de clientes
Ao se clicar na hiperligação do Cliente na tela principal do administrador (ver figura
12), será redirecionado para a seguinte tela da figura 13 de gerenciamento de clientes.
Figura 13: Gerenciamento de Clientes
Ao abrir a tela de gerenciamento de clientes será apresentados os dados tabelados com
os dados de cliente, a saber Nome, Morada, E-mail e o contacto, ao clicar em uma linha que
representa um cliente abre uma janela com todos os detalhes do cliente, em cada linha
também apresenta-se dois botões com a seguinte descrição editar e remover, ao clicar em
editar abre se um formulário de cadastro para edição do cliente e remover remove o cliente.
Na mesma tela apresenta-se um botão descrito como Novo Cliente ao clicar nesse
botão redireciona para uma tela de cadastro de novo Cliente para o sistema. Os Clientes
podem ser filtrados em campo de pesquisa bem como serem carregados outros em oculto no
botão carregar mais clientes.
54
2.6.3.2. Tela de gerenciador do contador
Ao se clicar na hiperligação do Contadores na tela principal do administrador (ver
figura 12), será redirecionado para a seguinte tela da figura 14 de gerenciamento de
contadores.
Figura 14: Gerenciador de Contador
Ao abrir a tela de contador ilustra-se os dados dos contadores tabelados com os dados
a seguir Numero de Contador apresenta o número de contador, Tipo com o tipo de contador,
nome com nome do cliente que lhe foi atribuído o quadro da mesma linha e por fim o estado.
Também em cada linha apresenta-se dois botões a saber editar e remover, onde editar abre a
janela para edição do contador da linha selecionada e remover remove o contador da linha
selecionada.
55
Na mesma tela apresenta-se um botão descrito como novo contador ao clicar nesse
botão redireciona para uma tela de cadastro de novo contador para o sistema. Os contadores
podem ser filtrados em campo de pesquisa bem como serem carregados outros em oculto no
botão carregar mais contadores.
2.6.3.3. Tela de gerenciador de funcionário
Ao se clicar na hiperligação dos funcionários na tela principal do administrador (ver
figura 12), será redirecionado para a seguinte tela da figura 15 de gerenciamento de
contadores.
Figura 15:Gerenciar Funcionários
Ao abrir a tela de contador ilustra-se os dados dos funcionários tabelados com os
dados a seguir nome apresenta o nome do funcionário, morada com morada do funcionário,
e-mail com o email do funcionário, e por fim o contacto do funcionário. Também em cada
linha apresenta-se dois botões a saber editar e remover, onde editar abre a janela para edição
do funcionário da linha selecionada e remover remove o funcionário da linha selecionada.
56
Na mesma tela apresenta-se um botão descrito como novo funcionário ao clicar nesse
botão redireciona para uma tela de cadastro de novo funcionário para o sistema. Os
funcionários podem ser filtrados em campo de pesquisa bem como serem carregados outros
em oculto no botão carregar mais funcionários.
2.6.3.4. Tela de gerenciador do contador
Ao se clicar na hiperligação dos funcionários na tela principal do administrador (ver
figura 12), será redirecionado para a seguinte tela da figura 16 de gerenciamento de
contadores.
Figura 16: Gerenciar Reclamação
Nesta tela mostram-se todas as reclamações efectuadas pelos clientes tabeladas, com
os seguintes dados: assunto que mostra o assunto principal da reclamação, cliente mostra ao
cliente que efectuou a reclamação, data mostra a data que foi efectuada a reclamação e estado
por fim o estado da reclamação.
57
Em cada linha da tabela que representa a cada reclamação há dois botões a saber
botão detalhes que mostra com mais detalhes as informações de cada reclamação e o botão
responder para responder a reclamação.
2.6.3.5 Cadastro de cliente
Para o acesso do formulário de cadastro de Cliente figura 13, deve-se acessar o
sistema como administrador clicar na hiperligação cliente e depois clicar em novo par poder
efectuar o cadastro do cliente.
Figura 17: Tela de Cadastro do Cliente. Fonte: PRÓPRIA
NOTA: A tela da figura x ilustra o mecanismo para o cadastro do cliente, para não
encher o trabalho com outros formulários de cadastro de outras entidades do sistema, baseado
58
nesse formulário o mecanismo e quase idêntico para o cadastro de outras entidades do
sistema bastando especificar os campos certos para aquela entidade especifica.
Para prosseguir preencher os campos Nome, Apelido, Contador, Contacto, E-mail,
Morada e Bilhete de entidade nr. Se todos os campos forem preenchidos devidamente e
forem validados pelo sistema e clicar no botão “Cadastrar”, o sistema cadastra os dados do
cliente e retorna o estado da operação, que pode ser “ A Operação efectuada com Sucesso” ou
“A Operação Falhou” dependendo se o cadastro foi efectuado ou não, respectivamente.
2.6.3.6 Supervisões no dispositivo móvel
Para o acesso das supervisões feitas pelo supervisor por cliente no dispositivo móvel
ver figura 13, onde a cada supervisor poderá ver as supervisões feitas por ele por contador de
cliente.
59
Figura 18: Lista de supervisões no dispositivo móvel. Fonte: PROPRIA
Para concluir esse capítulo, importa referenciar que após o capítulo anterior tratar das
tecnologias necessárias para pôr em prática o sistema desta vez, foi feito o estudo a respeito
do sistema propriamente dito, começando pelos requisitos funcionais e não funcionais que
provém a antevisão do sistema em termo de serviços ou funcionalidade e as restrições dos
mesmos serviços ou funcionalidades. Desenho de base de dados e alguns artefactos do UML
para a diagramação de alguns elementos de programação, também nesta secção foi
apresentado o pequeno manual do uso do sistema com a captura das telas do sistema, onde
está explicito o fluxo entre elas provendo a excelente experiencia para o usuário ou seja
provendo um outro paradigma nos processos corporativos.
60
Contudo com a proposta do sistema de gestão de informação de contadores
apresentado nesse capítulo espera-se melhorar as formas de trabalho da equipa de campo
provendo lhes mobilidade nas suas actividades rotineiras, facilidade de controlo das
actividades externas, reduzir as operações manuais de dados, reduzir o tempo de
processamento de relatório, disponibilização dos dados em tempo real, facilidade de acesso a
informação as entidades envolvidas no negocio, em fim uma melhor gestão das informações
necessários para a empresa e maior fluidez negócios.
61
CONCLUSÕES GERAIS
Desde da era dos computadores até a era da informação, a informação tem conhecido
um crescimento em proporções exponencias quer em volume, quer em formas de
armazenamento, quer em formas de persistência e acesso a mesma, o que paralelamente
afecta forma em que os dados são tratado dentro das organizações, o que até certo ponto pode
tornar rudimentar as técnicas e os sistemas (manuais ou automatizados) a serem usados no
tratamento da informação até um dado momento, daí a necessidade de crescimento continuo
das ferramentas de gestão de informação nas organizações.
Neste contexto a elaboração dessa monografia é a resposta e a solução de mais um
problema fruto dessas constantes mudanças acima referidas no panorama da gestão da
informação, tendo como caso de estudo a empresa “Electricidade de Moçambique”,
delegação Beira.
Para se alcançar o desejado, foi imprescindível a fundamentação epistemológica de todo
artefacto científico ou tecnológicos necessários para elaboração do projecto, como também
foi de extrema importância abordar os conceitos de: HTML5, CSS3, JQUERY, PHP,
MYSQL, ANDROID e AWS, pois são ferramentas que carregam consigo o poder de
concretização da antevisão da solução para o problema em causa.
A cada uma dessas tecnologias é uma unidade com tarefa específica na formação da
solução do problema como um todo, devendo a cada uma delas participar com as
especificações que lhe convém para fazer do sistema de gestão de contadores de electricidade
da empresa “Electricidade de Moçambique”, delegação Beira, um sistema robusto em vários
aspectos como a usabilidade, escalabilidade, segurança, experiência do usuário, portabilidade,
performance entre outros.
62
Por tanto fica evidente o cumprimento neste trabalho dos objetivos especificos traçados
que levaram alcançar o objetivo geral para no fim chegar a cumprir a hipótese que serviu para
direccionar tudo o desempenho inquiridor.
63
RECOMENDAÇÕES
Para o ambiente de produção, recomenda-se a formação dos usuários do sistema que
sejam funcionários da empresa electricidade de Moçambique, para que possam explorar os
mais atómicos detalhes de cada recurso do sistema no auxílio das actividades rotineiras que
estão dentro do escopo das funcionalidades do sistema.
Já que o mundo está em constante mudanças e a única coisas constante no mundo é a
própria mudança, recomenda-se também que a cada usuário do sistema tenha um senso
critico no uso do sistema no que concerne as regras do negócio, devendo quando necessário
reportar a cada mudança detectada nas regras de negócio, para facilitar quando necessário a
integração de novos artefactos no sistema para atender a cada novo panorama proposto pelas
mudanças nas regras de negócios.
Adicionalmente recomenda-se a capacitação dos TI em conhecimento sobre a nuvem
da Amazon Web Services para permitir maior gestão de infraestrutura virtual da organização.
O trabalho de pesquisa está aberto a novas mudanças, reestruturação e ampliação do
sistema de acordo a com a evolução das tecnologias de informação e comunicação e as
necessidades futuras.
64
BIBLIOGRAFIA
BALDUINO, Plinio. Dominando Javascript com jQuery.1ed.Brasil: Casa de Código.
BEAULIEU, A. Learning SQL. 2ed. United States of America: O’Reilly Media, Inc., 2009.
BIBEAULT, Bear; KATZ, Yehuda. jQuery em Ação. Brasil: Alta Books, 2009.
CANALTECH (2014).O que é ping?<Disponível em: http://canaltech.com.br/o-que-
e/internet/O-que-e-ping/ , acesso dia 04 de Abril de 2015.
CROWTHER, Rob; LENNON, Joe; BLUE, Ash; WANISH, Greg. HTML5 em
Acção.1ed.Brasil:Novatec Editora Ltda,2014.
DEITEL, H.M. e DEITEL, P.J. Java How to Program, 6th Edition. Prentice Hall, 2004.
EVALDO, Júnior Bento. Desenvolvendo Web com PHP e MYSQL.1ed.Brasil:Casa de
Código.
FERRARI, Fabrício Augusto. Crie Banco de Dados em MYSQL Desvende os Recursos
desta poderosa Ferramenta.1ed.Brasil:Digerati Books,2007.
FILHO, Luiz Carlos Querino. Desenvolvendo o seu aplicativo Android. 1ed.Brasil:Novatec
Editora Ltda,2014
FREITAS, Lucas Medeiros . Android – Desenvolvendo aplicativos para dispositivos
Móveis.1ed.Brasil: hichi Tecnologia,2012.
GOUVEIA, L. B. RANITO, J. Sistemas de Informação de Apoio à Gestão. Porto:
Sociedade Portuguesa de Inovação, 2004.
INFO ESCOLA (SD).Sistema de Informação Gerencial. Disponivel em:
http://www.infoescola.com/administracao_/sistema-de-informacao-gerencial/ , acesso em 14
de Janeiro 2015
JAVAFREE.ORG (s.d).Singleton. < disponível em: http://javafree.uol.com.br/wiki/Singleton,
acessado em 05 de Abril de 2015
LAUDON, K. C.; LAUDON, J. P. Sistemas de Informação. Rio de Janeiro: LTC, 2004.
65
LAUDON, K. C.; LAUDON, J. P. Gerenciamento de Sistemas de Informação. 3ed. Rio
de Janeiro: LTC, 2001.
LEAL, Nelson Glauber de Vasconcelos. Dominando o Android do básico ao
avançado.1ed.Brasil: Novatec Editora Ltda., 2015.
LEANDRO GARCIA(s.d).O que é e para que serve um DOCTYPE?. <disponível em:
http://www.leandrogarcia.com/blog/o-que-e-e-para-que-serve-um-doctype/ , acessado em 03
de Abril.
LECHETA, Ricardo R. AWS para desenvolvedores.1ed. Brasil: Novatec Editora Ltda,2014
LECHETA, Ricardo R. Google Android Aprenda a criar aplicações para dispositivos
móveis com SDK do Android. 3ed.Brasil:Novatec Editora Ltda,2013.
LEWIS, Joseph R.; Moscovitz, Meitar.CSS Avançado.
MEDNIEKS, Zigurd; DORNIN, Laird; MEIKE, G. Blake; NAKAMURA, Masumi.
Programando o Android. 2ed.Brasil:Novatec Editora Ltda,2013
MÜLBERT, A. L.; AYRES, N. M. Fundamentos para Sistemas de Informação. 2ed.
Universidade do Sul de Santa Catarina, 2005.
OLHAR DIGITAL(2014).Entenda o conceito de balanceamento de carga. < disponível em:
Http://olhardigital.uol.com.br/pro/noticia/entenda-o-conceito-de-balanceamento-de-
carga/43275 , acesso dia 02 de Abril 2015.
SILVA, Maurício Samy. Desenvolva aplicações web profissionais com uso dos poderosos
recursos de estilização das CSS3. 1ed. Brasil: NOVATEC, 2012
SILVA, Maurício Samy. Construindo Sites com CSS e (X) HTML sites controlados por
folhas de estilo em cascata.
SILVA, Maurício Samy.HTML5 a linguagem que revolucionou a web.1ed.Brasil:Novatec
Editora Ltda, 2011
66
SILVA, Maurício Samy. CSS3 desenvolva aplicações web profissionais com uso dos
poderosos recursos de estilização das CSS3. 1ed.Brasil:Novatec Editora Ltda, 2012.
SILVA, Maurício Samy.jQuery A Biblioteca do Programador
javascript.3ed.Brasil:Novate Editora Ltda, 2014.
SOMMERVILLE, I. Engenharia de software/ Ian Sommerville; tradução André Maurício de
Andrade Ribeiro; revisão técnica Kechi Hirama. São Paulo: Addison Wesley, 2007.
SOVIS SISTEMA(2015).Mobilidade Corporativa para Automação de Equipes de Campo.
<disponivel em: http://www.blog.sovis.com.br/mobilidade-corporativa-para-automacao-de-
equipes-de-campo/, acessado de 20 de Março.
SUEHRING, Steve; CONVERSE, Tim; PARK, Joyce.PHP6 and MYSQL.1ed.United State
of America:Wiley Publishing, Inc, 2009.
SUEHRING, Steve; VALADE, Janet. PHP, MYSQL, JAVASCRIPT & HTML5.United
State of AmericaJohn Wiley & Sons, Inc, 2013.
VARIA, Jinesh; MATHEW, Sajee. Overview of Amazon Web Services.1ed.United States
of America.
WELLING, L; THOMSON, L. PHP e MYSQL. Desenvolvimento Web. 3ed. Rio de
Janeiro, Campus, 2005. Tradução: Docware Traduções Técnicas e Adriana Kramer. Tradução
de: PHP and MYSQL Web Development.
WEB ARTIGOS(2010).Fundamentos da Administração da Informação <disponível em Web
Artigo::http://www.webartigos.com/artigos/fundamentos-da-adminstracao-da-
informacao/36162/, acesso em 15 de Novembro de 2014.
WIKIPEDIA (2015).Blog <disponivel em Wikipedia: http://pt.wikipedia.org/wiki/Blog,
acessado em 21 de Março.
WIKIPEDIA (s.d).Plug-in.<disponível em: http://pt.wikipedia.org/wiki/Plug-in, acessado em
06 de Abril de 2015
67
WIKIPEDIA (2013). Web Hypertext Application Technology Working Group. <disponível
em: http://pt.wikipedia.org/wiki/Web_Hypertext_Application_Technology_Working_Group,
acessado em 07 de Abril de 2015
WOOD, Keith. Estendendo a jQuery.1ed.Brasil:Novatec Editora Ltda,2013
68
APÊNDICES
APÊNDICE I: Guião de entrevista aos supervisores de contadores de electricidade da
empresa “Electricidade de Moçambique”, delegação Beira
Objectivo: levantamento de requisitos funcionais para o sistema de gestão de informação de
contadores de electricidade na empresa “Electricidade de Moçambique”, delegação Beira.
Perguntas:
1.Quais as informações colhidas no campo de supervisão?
2.Quanto tempo em media leva para gerar relatórios de cada supervisão?
3.Quais os parâmetros que são considerados ao criar relatórios?
4.Quais as possíveis medidas que podem ser tomadas pela organização face ao cliente
dependendo do resultado da supervisão?
5.Quais os resultados que mais frequentes no acto de supervisão?
6.Quando se depara com um diagnóstico novo no campo quais os procedimentos para
sistematizar o diagnóstico?
7.No seu ponto de vista a automatização do sistema de gestão de informação de
contadores de electricidade vai melhorar o seu trabalho?
Obrigado por colaborar.
69
APENDICE II: GUIÃO DE ENTREVISTA AOS TÉCNICOS DE INFORMÁTICA
(DBA) DA EMPRESA “ELECTRICIDADE DE MOÇAMBIQUE”, DELEGAÇÃO
BEIRA
Objectivo: levantamento de requisitos funcionais e não funcionais param o desenho
de sistema de gestão de informação de contadores electricidade na empresa “Electricidade de
Moçambique”, delegação Beira
1. O armazenamento dos dados dos contadores de electricidade e suas supervisões é feita
em arquivo físico ou banco de dados relacional?
2. A organização tem infraestruturas de redes preparada para alocar um Banco de Dados
Distribuído que possa ser acessado remotamente?
3. O Sistemas em vigor actualmente são em tempo real?
4. Quais são as políticas segurança de aplicação ao nível de Banco de Dados e
servidores de Banco de Dados actual?
5. Termo Mobilidade Corporativa e uma realidade na organização? Caso não, a
implementação da mobilidade corporativa aumentaria o poder computacional e a
produtividade da organização no seu ponto de vista? Fundamente.
6. Atendendo e considerando o poder computacional da actualidade no seu ponto de
vista e aceitável o tempo gasto para o processamento da informação das supervisões
de contadores de electricidade? Caso não, achas que a proposta dessa investigação
pode melhorar o tempo de processamento?
7. Quais os procedimentos usados para actualização de informações dos clientes quando
necessário?
8. Quais os procedimentos usados para disponibilizar as informações aos clientes quando
precisar?
70
9. O departamento que lida com contadores electricidade tem algum sistema
informatizado?
10. O uso de servidores remotos implicaria nas políticas de segurança da organização?
71
ANEXOS:
ANEXO I: VERSÕES E EVOLUÇÃO DO JQUERY
Versão Data do Código Tamanho Observações
1.0 26 De Agosto 2006 44.3 KB Primeira Versão estável
1.0.4 12 De Dezembro de 2006 52.2 KB Ultima correcção de bugs na 1.0
1.1.4 14 De Janeiro de 2007 55.6 KB Melhoria no desempenho dos
selectores
1.2 10 De Setembro de 2007 77.4
1.2.6 26 De Maio de 2008 97.8
1.3
13 De Janeiro 2009
114 KB Engine de selecçãoSizzle introduzido
no núcleo (Core), live eventos e
inspecção de eventos
1.3.2 19 De Fevereiro de 2009 117 KB
1.4 13 De Janeiro de 2010 154 KB Melhoria no desempenho e no Ajax
1.4.1 25 De Janeiro 2010 156 KB Height () width (); parsejSON
1.4.2
13 De Fevereiro de 2010
160KB Delegate () adicionado, melhorias no
desempenho
1.4.3 14 De Outubro de 2010 176KB Modulo CSS restrito, manipulação de
metadata.
1.4.4 11 De Novembro de 2010 178 KB
1.5
31 De Janeiro de 2011
207 KB Gerenciamento de callback
disponibilizado, reescrita do módulo
Ajax, desempenho em travessia
1.5.2 31 De Março de 2011 214 KB
72
Tabela: Versões e evolução do Jquery. Fonte: (SILVA, 2013)
1.6
2 De Maio de 2011
227 KB Melhorias significativas no
desempenho de funções attr (),prop ()
adicionado
1.6.4 12 De Setembro de 2011 232 KB
1.7 3 De Novembro de 2011 243 KB Novas APIs de eventos: on() e off(),
desempenho em delegação de eventos.
1.7.2 21 De Março de 2012 246 KB
1.8.0 9 De Agosto de 2012 253 KB Sizzle reescrito, reinvenção de
animações mais modularidade
1.8.3 13 De Novembro de 2012 261 KB
1.9.0 14 De Janeiro de 2013 261 KB Reestruturação para jQuery 2.0
1.9.1 4 De Fevereiro de 2013 262 KB Correcção de bugs e de regressão
2.0.0 18 De Abril de 2013 234 KB Suporte para IE 6-8 removido
1.10.0 24 De Maio de 2013 267 KB Sincronização da Versão/recurso com
a linha 2.x
1.10.2 3 De Julho de 2013 266 KB
2.0.3 3 De Julho de 2013 236 KB
73
ANEXO II: VERSÕES E EVOLUÇÃO DO PHP
Versão Data de lançamento Novidades
1.0 08 de Junho de 1995 Oficialmente chamado de ”Personal
Home Page Tools”.Este foi o primeiro
uso para o nome PHP.
2.0 01 de Novembro de 1997
3.0 06 de junho de 1996 A programação passou a ser feita por
vários programadores em colaboração.
Zeev Suraski e Andi Gutman
reescreveram toda a base do PHP nessa
versão.
4.0 -Foi adicionado um melhor sistema de
análise sintática (parser) chamado de
motor Zend (Zend engine).
-Introduzidas as 'superglobais' ($_GET,
$_POST, $_SESSION, etc.
-Introduziu sua interface de linha de
comando (command-line interface - CLI),
para complementar o CGI.
5.0 Melhorias na performance com a
introdução de variáveis de compilação na
reengenharia do motor PHP;
Adicionada biblioteca PHP Data Objects
(PDO) como uma nova interface de
74
acesso aos bancos de dados;
Pacote de segurança para corrigir
vulnerabilidade em chamadas PHP-CGI;
Conserto de erro crítico relacionado a
ponto flutuante.
Tabela : Versões e evolução do PHP.Fonte: wikipedia.com
75
ANEXO III: VERSÕES E EVOLUÇÃO DO MYSQL
Versão Data de lançamento Novidades
1.0 08 de Junho de 1995 Oficialmente chamado de ”Personal
Home Page Tools”.Este foi o primeiro
uso para o nome PHP.
2.0 01 de Novembro de 1997
3.0 06 de junho de 1996 A programação passou a ser feita por
vários programadores em colaboração.
Zeev Suraski e Andi Gutman
reescreveram toda a base do PHP nessa
versão.
4.0 -Foi adicionado um melhor sistema de
análise sintática (parser) chamado de
motor Zend (Zend engine).
-Introduzidas as 'superglobais' ($_GET,
$_POST, $_SESSION, etc.
-Introduziu sua interface de linha de
comando (command-line interface - CLI),
para complementar o CGI.
5.0 Melhorias na performance com a
introdução de variáveis de compilação na
reengenharia do motor PHP;
Adicionada biblioteca PHP Data Objects
(PDO) como uma nova interface de
76
acesso aos bancos de dados;
Pacote de segurança para corrigir
vulnerabilidade em chamadas PHP-CGI;
Conserto de erro crítico relacionado a
ponto flutuante.
77
ANEXO IV: VERSÕES E EVOLUÇÃO DO ANDROID.
Versão Codinome Data Novidade
1.0
23 de setembro de
2008
Aplicação Android Market
realiza download e atualiza
através do aplicativo
Market;
Navegador Web para
exibir, dar zoom e suporte
total a paginas em HTML e
XHTML- Multiplas são
mostradas em janelas.
Suporte a camara
1.1
9 de fevereiro de 2009
Adiciona suporte para
letreiro em layouts;
Suporte para salvar anexos
Comentarios e mais
detalhes quando um usuário
faz uma busca no Google
maps.
1.5 Cupcake 30 de Abril de 2009 Baseado no kernel Linux
2.6.27
Primeira versão em que o
nome basea em uma
sobremesa.
1.6 Donut 15 de setembro de
78
2009 Baseado no kernel Linux
2.6.29 2.0
Eclair
26 de outubro 2009
2.0.1 03 de dezembro de
2009
2.1 11 de Janeiro de 2010
2.2-
Froyo
20 de maio de 2010
Baseado no kernel Linux
2.6.32
2.2.1 18 de Junho de 2010
2.2.2 22 de Junho de 2010
2.2.3 21 de Novembro de
2010
2.3
Gingerbread
06 de dezembro de
2010
Baseado no kernel Linux
2.6.35
2.3.3 09 de fevereiro 2011
2.3.4 28 de Abril de 2011
2.3.5 25 de Junho de 2011
2.3.6 2 Setembro de 2011
2.3.7 21 de setembro de
2011
3.0
Honeycomb
22 de fevereiro de
2011
Primeira atualização so de
tablet.
Baseado no kernel Linux
2.6.36
3.1 10 de maio de 2011
3.2 15 de julho de 2011
3.2.1 30 de agosto de 2011
3.2.2 20 de outubro de 2011
79
3.2.6 Fevereiro de 2012
4.0 ,1
Ice Cream
Sandwich
19 de outubro de 2011
Baseado no kernel Linux
3.0.1
4.0.2 28 de novembro de
2011
4.0.3 16 de dezembro de
2011
4.04 29 de março de 2012
4.1.1 Jelly Bean 09 de Julho de 2012 Baseado no kernel Linux
3.0.31;
Melhora no desempenho;
Project Butter
4.1.2 09 de outubro de 2012
4.2 26de outubro de 2012
4.2.1 27 de novembro de
2012
4.2.2 30 de Abril de 2013
4.3 24 de julho de 2013
4.4 KitKat 30 de outubro de 2013
Tabela: Versões e evolução do Android. Fonte: http://Wikipedia.com
80
AVALIAÇÃO FINAL – PARECER DO ORIENTADOR
Dr. C. Eng°José Alberto Vigueras Moreno, docente na Faculdade de Ciências e Tecnologias
da Universidade Zambeze, vem na qualidade de orientador da Monografia de Licenciatura
submetida por Tomás Manuel Chibai, com o tema “SISTEMA DE GESTÃO DE
INFORMAÇÃO DE CONTADORES DE ELECTRICIDADE DA EMPRESA
ELECTRICIDADE DE MOÇAMBIQUE, DELEGAÇÃO BEIRAˮ, declarar que o trabalho
apresentado pelo aspirante reune qualidade científica e condições necessárias para que o
estudante seja submetido à prova de defesa para obter o grau de Licenciatura em Engenharia
Informática.
Beira, aos ___ de ____________2015
_________________________________________
(Dr. C. Eng° José Alberto Vigueras Moreno)
Recommended