ultimate 1.0

118
DECLARAÇÃO

Upload: tomas-chibai

Post on 11-Jan-2016

223 views

Category:

Documents


0 download

DESCRIPTION

KKKDKDK

TRANSCRIPT

Page 1: Ultimate 1.0

DECLARAÇÃO

Page 2: Ultimate 1.0

DEDICATORIA

Page 3: Ultimate 1.0

AGRADECIMENTO

Page 4: Ultimate 1.0

EPIGRAFE

Page 5: Ultimate 1.0

SUMARIO

Page 6: Ultimate 1.0

RESUMO

Page 7: Ultimate 1.0

ABSTRACT

Page 8: Ultimate 1.0

LISTA DE FIGURAS

Page 9: Ultimate 1.0

LISTA DE TABELAS

Page 10: Ultimate 1.0

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

RDS Relational Database Service

Page 11: Ultimate 1.0

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

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 12: Ultimate 1.0

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.

Page 13: Ultimate 1.0

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

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;

Page 14: Ultimate 1.0

Limitação do cliente no acesso a informação a respeito do seu contador de

electricidade;

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.

Limitação tecnológica para equipa de campo prover dados em tempo real ao

repositório central.

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.

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.

O objectivo desta investigação é propor o desenho de um sistema de gestão de

informação de contadores de electricidade da Empresa “Electricidade de Moçambique”,

delegação Beira.

Page 15: Ultimate 1.0

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. Desenho de um 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 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 Service 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:

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;

Page 16: Ultimate 1.0

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

Revisão bibliográfica;

Análise estatística descritiva.

A presente monografia está dividida em quatro (4) 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 e recomendações da continuidade da pesquisa.

Page 17: Ultimate 1.0

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.

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:

Page 18: Ultimate 1.0

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.

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

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.

Page 19: Ultimate 1.0

Vantagens da Mobilidade Corporativa

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

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

Page 20: Ultimate 1.0

Figura 1:Arquitetura Web (Cliente Servidor). Fonte: (DEITEL, 2004).

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.

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

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.

Page 21: Ultimate 1.0

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 WHATWG 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

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:

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.

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

Page 22: Ultimate 1.0

(W3C/WHATWG) e mais que a pureza teórica, como resultado, HTML5 é

extremamente prática embora, em alguns casos, menos que perfeita.

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

Documentos maiores (devido à repetição de conteúdo de estilo), o que se

traduz em páginas com carregamento mais lento.

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 DOCTYPE simplificado;

Uma nova e simplificada declaração de conjunto de caracteres;

APIs HTML5 poderosas, mas simples.

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;

Page 23: Ultimate 1.0

Independência de Mídia: funcionalidade HTML5 deve funcionar em todos

os diferentes dispositivos e plataformas, se possível;

Um Paradigma sem Plugins, fornece suporte nativo para muitos recursos que eram

possíveis apenas com plugins, no entanto estes apresentam os seguintes problemas:

Nem sempre podem ser instalados;

Podem estar desabilitados ou bloqueados;

JQUERY

Foi-se o tempo em que os usuários apenas seguiam links 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 Flash, 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.

Page 24: Ultimate 1.0

Como consequência da realidade dos pensamentos acima citado (JASON, 2010)

acrescenta ainda, que programadores desenvolvem bibliotecas com o objectivo de fornecer

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 blog à 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

Page 25: Ultimate 1.0

conformidade com padrões Web, ou seja, compatível com qualquer sistema operacional e

navegador, além de oferecer suporte total para CSS3.

Benefícios da biblioteca Jquery:

A aplicação dessa biblioteca, possibilita para desenvolvedores Web aquisição de

inúmeros benefícios dente os quais são considerados os mais importantes:

Tamanho de arquivo pequeno (Aproximadamente 23KB a partir da versão 1.4);

Sintaxe extremamente simples;

Métodos encadeáveis;

Arquitectura de plug-in fácil para estender o framework;

Uma enorme comunidade em online;

Óptima documentação em http://api.jquery.com

Extensões opcionais de jquery para mais funcionalidades, com JqueyUI.

Inclusão do Jquery em Páginas Web

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 é,

Page 26: Ultimate 1.0

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/

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

para as bibliotecas JAVASCRIPT mais populares e open source”, 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>

Características de Jquery

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;

Page 27: Ultimate 1.0

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.

Evolução do Jquery

(Ver ANEXO I), para conferir a evolução do jQuery em cada versão, data lançamento e

característica de cada versão.

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.

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

código PHP é executado no Servidor Web e gera HTML ou outra saída que pode se

visualizada.

Page 28: Ultimate 1.0

CARACTERÍSTICAS DO PHP

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 29: Ultimate 1.0

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;

Versões e evolução do PHP

(Ver ANEXO II), para conferir a evolução do PHP em cada versão, data lançamento e

característica de cada versão.

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.

CARACTERÍSTICAS DO 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 (Sistema Gerenciador de Banco de Dados),além de possuir banco de dados, o

MySQL contém todas as características de um SGBD, que é o MySQL Server,

Page 30: Ultimate 1.0

também este possui capacidade de armazenar dados, para tal esta ferramenta provê

todas as características de multiacesso, entre 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

Page 31: Ultimate 1.0

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

tabelas do tipo InnoDB, cujo armazenamento pode ser realizado por um ou mais

arquivos separados, é possível armazenar até 65.536 TB (terabytes).

Versões e evolução do MYSQL

(Ver ANEXO III), para conferir a evolução do MYSQL em cada versão, data lançamento e

característica de cada versão.

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.

ARQUITECTURA DO ANDROID

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:

Page 32: Ultimate 1.0

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

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:

Page 33: Ultimate 1.0

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 browser 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:

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

Page 34: Ultimate 1.0

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

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.

Versões e evolução do Android

Page 35: Ultimate 1.0

(Ver ANEXO IV), para conferir a evolução do Android em cada versão, data lançamento e

característica de cada versão.

AMAZON WEB SERVICE

Antes de aprofundar no estudo da Amazon Web Service, 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 Service é uma plataforma

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;

Page 36: Ultimate 1.0

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 datacenters 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), 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 Service 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.

ARQUITETURA AMAZON WEB SERVICES-HOSPEDAGEM DE APLIACAÇÃO WEB

A plataforma da AWS e 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.

Page 37: Ultimate 1.0

Figura 4: Arquitectura da Amazon web Service. Fonte: (LECHETA, 2014).

ALGUNS SERVIÇOS DO AWS

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

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.

Page 38: Ultimate 1.0

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.

Conclusão

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

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 39: Ultimate 1.0

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.

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 40: Ultimate 1.0

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.

REQUISITOS NÃO FUNCIONAIS DO SISTEMA DE GESTÃODE 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.

RFN07 A tecnologia PHP5 será usada para o desenvolvimento BackEnd.

Page 41: Ultimate 1.0

RFN08 As funções do PHP deve ser consumíveis como Web Service 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 Service (AWS).

RFN10 O sistema Web deve ser portável em vários navegadores, ou seja,

deve ser Cross-Browser

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 Singleton

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

específicas, como o sistema deve se comportar em situações específicas e o que o sistema não

deve fazer.

REQUISITOS FUNCIONAIS DO SISTEMA DE GESTÃODE 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

Page 42: Ultimate 1.0

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

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.

Page 43: Ultimate 1.0

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,

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

Page 44: Ultimate 1.0

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 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: (PROPRIA).

Page 45: Ultimate 1.0

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.

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

Page 46: Ultimate 1.0

electricidade e por fim os funcionários tem acesso apenas a aquilo que lhe foi concedido o

privilégio (VER FIGURA 5).

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

Page 47: Ultimate 1.0

operação.

Fluxo Principal

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

Page 48: Ultimate 1.0

2. Informar as credenciais

3. Envio de dados para a verificação clicando em login

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.

Page 49: Ultimate 1.0

Tabela 5: Descrição textual do caso de uso Cadastrar funcionário. (Fonte: PRÓPRIA).

Caso de Uso RF0 Cadastrar Contador

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

Page 50: Ultimate 1.0

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.

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.

Page 51: Ultimate 1.0

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

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

Page 52: Ultimate 1.0

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

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

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.

Page 53: Ultimate 1.0

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.

Figura 6: Modelo relacional do banco de dados. (Fonte: PRÓPRIA).

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,

Page 54: Ultimate 1.0

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

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 service como ambiente de hospedagem do sistema, (VER FIGURA 7)

Figura 8: Arquitectura de Implantação. Fonte:

Page 55: Ultimate 1.0

De acordo com a figura 7 usa-se o serviço Amazon Route53 para resolução de DNS; o

Amazon Elastic Load Balance (Amazon ELB) como distribuidor de cargas 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

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 PING 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

Page 56: Ultimate 1.0

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.

MANUAL

Nesta sessão

Figura 9: login. Fonte: Própria

Acesso a aplicação

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;

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 d acordo com os privilégios de cada tipo de

usuário, ver algumas telas de acordo com o tipo de usuário, nas figuras ().

Page 57: Ultimate 1.0

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 10 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 11: Tela principal para o Cliente. Fonte PROPRIA

O item Supervisões, contem 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, apresenta todas a informações relacionadas ao cliente e

ao contador de electricidade associadas ao cliente.

Page 58: Ultimate 1.0

O item Reclamações, contem a lista das reclamações efectuadas pelo cliente, 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.

Tela principal para o administrador

Apos a validação das credenciais do usuário ser aprovada, se o usuário for um

Administrado lhe será redirecionado para a tela da figura x que contem 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 PROPRIA

O item Supervisões, contem a lista na ordem cronológica todas a supervisões

efectuadas ao contador de electricidade associado a cada cliente cadastrado. 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

Page 59: Ultimate 1.0

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 ao

cliente, 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 60: Ultimate 1.0

Cadastro de Cliente

Para o acesso do formulário de cadastro de Cliente figura x, 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 13: Tela de Cadastro do Cliente. Fonte: PROPRIA

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

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

Page 61: Ultimate 1.0

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.

Conclusão:

Para concluir esse capítulo, importa referenciar que apos do capítulo anterior tratar

das tecnologias necessárias para por 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 provem a antevisão do sistema em termo de serviços ou funcionalidade e as

restrições dos mesmos serviços ou funcionalidades. A combinação das tecnologias HTML5,

CSS3, Jquery, PHP5, MYSQL e Android deu a luz

Page 62: Ultimate 1.0

CONCLUSÕES E RECOMENDAÇÕES

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 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 63: Ultimate 1.0

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.

Recomenda-se também a capacitação dos TI para ajudarem os membros seniores na

gestão económica haja visto que a plataforma e altamente gerenciável economicamente.

Page 64: Ultimate 1.0

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.

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

LAUDON, K. C.; LAUDON, J. P. Sistemas de Informação. Rio de Janeiro: LTC, 2004.

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.

Page 65: Ultimate 1.0

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.

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

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.

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.

Page 66: Ultimate 1.0

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.

WOOD, Keith.Estendendo a jQuery.1ed.Brasil:Novatec Editora Ltda,2013

Page 67: Ultimate 1.0

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 68: Ultimate 1.0

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

Page 69: Ultimate 1.0

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?

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 70: Ultimate 1.0

APRNDICE III: GLOSSÁRIO

Backend

Blog - contração do termo inglês web log, "diário da rede" é um site cuja estrutura permite a

atualização rápida a partir de acréscimos dos chamados artigos:

Cross-Browser 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.

Deploy a-z

Design

Desktop

Distribuidor de cargas ou Balanceador de cargas – e 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.

DOCTYPE é a maneira de você dizer para qualquer navegador como ele deve agir ao ler seu

código HTML.

Flash é a tecnologia mais utilizada no Web que permite a criação de animações vetoriais.

Frontend

Link é uma ligação entre documentos na Internet.

Page 71: Ultimate 1.0

Ping é um 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".

Plugins ou módulo de extensão (também conhecido por plug-in, add-in, add-on) é um

programa de computador usado para adicionar funções a outros programas maiores, provendo

alguma funcionalidade especial ou muito específica.

Open source 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.

Singleton é um 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.

Web abreviatura de World Wide Web, Literalmente “Teia (Rede) Mundial”. A World Wide

Web é um acervo universal de páginas da Web (Web pages) interligadas por vínculos

(links),as quais fornecem ao usuário informações de um completo banco de dados

multimídia, utilizando a Internet como mecanismo de transporte.

WHATWG é um grupo de trabalho de pessoas interessadas na evolução do HTML e as

tecnologias ligadas a tal.

Page 72: Ultimate 1.0

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 DeJaneiro 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

Page 73: Ultimate 1.0

Ajax, desempenho em travessia

1.5.2 31 De Março de 2011 214 KB

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

Tabela: Versões e evolução do Jquery. Fonte: (SILVA, 2013)

Page 74: Ultimate 1.0

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

Page 75: Ultimate 1.0

(PDO) como uma nova interface de

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

ANEXO III: VERSÕES E EVOLUÇÃO DO MYSQL

Page 76: Ultimate 1.0

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

acesso aos bancos de dados;

Page 77: Ultimate 1.0

Pacote de segurança para corrigir

vulnerabilidade em chamadas PHP-CGI;

Conserto de erro crítico relacionado a

ponto flutuante.

ANEXO IV: VERSÕES E EVOLUÇÃO DO ANDROID.

Versão Codinome Data Novidade

Page 78: Ultimate 1.0

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

2009 Baseado no kernel Linux

2.0 26 de outubro 2009

Page 79: Ultimate 1.0

Eclair 2.6.292.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

3.2.6 Fevereiro de 2012

4.0 ,1 19 de outubro de 2011

4.0.2 28 de novembro de

Page 80: Ultimate 1.0

Ice Cream

Sandwich

2011 Baseado no kernel Linux

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