95
SISTEMA DE GESTÃO DE INFORMAÇÃO DE CONTADORES DE ELECTRICIDADE DA EMPRESA ELECTRICIDADE DE MOÇAMBIQUE, DELEGAÇÃO BEIRA Tomás Manuel Chibai

Agora

Embed Size (px)

DESCRIPTION

Teste

Citation preview

Page 1: Agora

SISTEMA DE GESTÃO DE INFORMAÇÃO DE CONTADORES DE

ELECTRICIDADE DA EMPRESA ELECTRICIDADE DE MOÇAMBIQUE,

DELEGAÇÃO BEIRA

Tomás Manuel Chibai

Page 2: Agora

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

Page 3: Agora

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

Page 4: Agora

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)

Page 5: Agora

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.

Page 6: Agora

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.

Page 7: Agora

EPIGRAFE

As más conversações corrompem os bons costumes. 1 Coríntios 15:33

Page 8: Agora

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

Page 9: Agora

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

Page 10: Agora

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.

Page 11: Agora

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.

Page 12: Agora

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

Page 13: Agora

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

Page 14: Agora

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

Page 15: Agora

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

Page 16: Agora

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

Page 17: Agora

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;

Page 18: Agora

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

Page 19: Agora

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:

Page 20: Agora

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

Page 21: Agora

6

e recomendações da continuidade da pesquisa, assim como a bibliografia, apêndices e anexos

que suportam a mesma.

Page 22: Agora

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

Page 23: Agora

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.

Page 24: Agora

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).

Page 25: Agora

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.

Page 26: Agora

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).

Page 27: Agora

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.

Page 28: Agora

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.

Page 29: Agora

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.

Page 30: Agora

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

Page 31: Agora

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.

Page 32: Agora

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>

Page 33: Agora

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

Page 34: Agora

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.

Page 35: Agora

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

Page 36: Agora

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

Page 37: Agora

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

Page 38: Agora

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:

Page 39: Agora

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).

Page 40: Agora

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

Page 41: Agora

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.

Page 42: Agora

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

Page 43: Agora

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.

Page 44: Agora

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.

Page 45: Agora

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.

Page 46: Agora

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.

Page 47: Agora

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.

Page 48: Agora

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,

Page 49: Agora

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

Page 50: Agora

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.

Page 51: Agora

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).

Page 52: Agora

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

Page 53: Agora

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

Page 54: Agora

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

Page 55: Agora

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.

Page 56: Agora

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

Page 57: Agora

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

Page 58: Agora

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.

Page 59: Agora

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).

Page 60: Agora

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)

Page 61: Agora

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.

Page 62: Agora

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".

Page 63: Agora

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;

Page 64: Agora

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

Page 65: Agora

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

Page 66: Agora

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.

Page 67: Agora

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.

Page 68: Agora

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.

Page 69: Agora

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.

Page 70: Agora

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.

Page 71: Agora

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.

Page 72: Agora

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

Page 73: Agora

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.

Page 74: Agora

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.

Page 75: Agora

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.

Page 76: Agora

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.

Page 77: Agora

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.

Page 78: Agora

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.

Page 79: Agora

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.

Page 80: Agora

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

Page 81: Agora

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

Page 82: Agora

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

Page 83: Agora

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.

Page 84: Agora

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?

Page 85: Agora

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?

Page 86: Agora

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

Page 87: Agora

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

Page 88: Agora

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

Page 89: Agora

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

Page 90: Agora

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

Page 91: Agora

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.

Page 92: Agora

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

Page 93: Agora

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

Page 94: Agora

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

Page 95: Agora

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)