Escolar Documentos
Profissional Documentos
Cultura Documentos
ENGENHARIA INFORMÁTICA
BEIRA
2021
I
UNIVERSIDADE ZAMBEZE
ENGENHARIA INFORMÁTICA
II
DECLARÃ
Eu, Cláudio José Manuel Chirunguze declaro que esta monografia é resultado do
meu próprio trabalho e está a ser submetida 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.
____________________________________
III
DEDICATÓRIA
Dedico este Trabalho de Conclusão de Curso a minha família que esteve comigo de
perto durante a caminhada, especialmente a minha mãe Odília Luís Valoi que sempre me
deu forca durante a caminhada, ao meu Pai Manuel ValigeChirunguze, aos meus irmãos
Moisés Manuel Chirunguze, Luisa Odília Manuel Chirunguze, Valgy Manuel Chirunguze,
Manuela ValigeChirunguze, Aliama Manuel Chirunguze, Megui Alzira SitoleChipaBila,
Aissa Manuel Chirunguze e aos meus sobrinhos.
IV
AGRADECIMENTOS
Em primeiro lugar agradeço ao Soberano senhor meu Deus pelo seu amor, que
iluminou a minha caminhada desde o inicio ao fim, que sempre afasta os obstáculos que
tenho tido durante a longa caminhada apesar de eu ser um grande pecador.
Agradeço a minha Mãe, grande mulher que o senhor colocou na minha vida pelo
apoio que sempre teve por mim, de nunca me abandonar, e por sempre ter confiado no meu
potencial.
Agradeço ao meu Pai, irmãos e sobrinhos por sempre confiar em mim, a grande família que
o senhor colocou no meu caminho.
Agradeço a todos meus familiares que me apoiaram financeiramente pela minha estadia na
cidade da Beira no âmbito académico do curso de engenharia Informática na Universidade
Zambeze.
Agradeço aos meus amigos, colegas, e todos que estivemos juntos durante a
caminhada na Universidade Zambeze, pela ajuda e apoio que me deram, assim também que
nos demos uns aos outros, visto que todos juntos cooperamos pela minha grande vitoria de
conclusão do curso de engenharia Informática, a união faz a forca.
V
EPÍGRAFE
``Já estou crucificado com Cristo; e vivo, não mais eu, mas Cristo vive em mim; e a vida
que agora vivo na carne vivo-a na fé do Filho de Deus, o qual me amou e se entregou a si
mesmo por mim. ´´
John Ghatti
VI
INDICE
RESUMO ...............................................................................................................................
v
ABSTRACT ..........................................................................................................................
vi
INTRODUÇÃO ....................................................................................................................
10
ii
1.1.11. Web Apps ........................................................................................................... 27
iii
1.6.6. Conceitos relacionados ao Flutter ...................................................................... 44
iv
CAPITULO IV - CONCLUSÕES E RECOMENDAÇÕES ................................................
64
4. CONCLUSÃO ............................................................................................................
64
5. RECOMENDAÇÕES .................................................................................................
65
RESUMO
v
uma compra sem sair de casa, tendo apenas a posse de um dispositivo movel com acesso a
internet.
ABSTRACT
Mozambique, based on the Flutter Framework for the development of a hybrid application
that will run on mobile devices such as Android and IOS. This application will allow the
user to make purchase requests, informing which products are desired, their quantities and
the chosen method of payment, as the user will not travel long distances to be able to
identify a supermarket to be able to make their purchases, and You will also be informed of
the promotions that the supermarket proposes through a mobile device. Apps for shopping
in supermarkets allow the use of mobile resources in an application that provides services
vi
related to the purchase of various products. products, see available products, see product
prices and so on. The market employee will be responsible for separating the order of
products from their customers. With the application, the customer will be able to make a
purchase without leaving home, having only a mobile device with internet access.
LISTA DE FIGURAS
Figura 8: ArquitecturaFlutter…………………………………………………....…...……42
vii
Figura 10:LocalizaçãoGeográfica da Província de Gaza……………….....…..…......……46
viii
Tabela 9:Descrição do caso de uso Apagar produto............................................................60
ART AndroidRuntime
AOT Ahead-of-time
.dex DalvikExecutable
ix
GC GarbageCollector
MV Model-View-Controller
VM Virtual Machine
UI User Interface
APP Aplicativo
x
INTRODUÇÃO
Desde o início das tecnologias, o homem procurou sempre desenvolver soluções que o
pudesse ajudar cada vez mais nas tarefas operacionais, podendo ser realizadas de forma
automática e eficiente.
Apesar de todo este avanço em busca da melhoria na qualidade de vida das pessoas,
algumas tarefas ainda continuam sendo obrigatórias, até que se implemente uma nova
tecnologia que consiga fazer essa actividade no lugar dos humanos, ou pelo menos deixe a
experiência menos frustrante. A título de exemplo são os caixas electrónico, que
diminuíram consideravelmente a ida das pessoas às agências de banco, e os sistemas de
1
drive thru, que agilizaram os processos de pedido em locais como redes de fastfood.
COSTA (2016).
Estamos num momento em que o avanço tecnológico está sendo uma realidade, o
homem procura a cada dia simplificar a sua vida, na Informática e notório através dos
inúmeros softwares que o homem te desenvolvido nos últimos anos, a imigração do sistema
analógico para o digital e um dos exemplos do avanço tecnológico, assim colo o número de
programadores tem vindo a aumentar.
De uma forma lacónica, uma das situações que gera incomodo a população é a compra de
produtos em supermercados de forma tradicional. A experiência de ser obrigado a dirigirse
a um estabelecimento comercial, perder tempo procurando por produtos e posteriormente
perder tempo em filas de pagamento ou até mesmo não encontrando o produto desejado,
faz com que as pessoas se estressem ainda mais a pois uma rotina intensa de trabalho. Foi
baseando-se nestas linhas de pensamento que é proposto um sistema de compra de produtos
em supermercados remotamente.
11
Portanto, o trabalho tem por finalidade à criação de um sistema que possibilite a realização
de compras em supermercados, de onde estiver, com rapidez, segurança e comodidade,
devendo para tal fazer o uso de um dispositivo mobile com conexão a internet.
Com o avanço tecnológico tem notado um número elevado de dispositivos móveis ao redor
do mundo. Os dispositivos do tipo android e IOS têm conquistado o mercado nos últimos
anos, e são inúmeras aplicações desenvolvidas em ambientes de dispositivo móvel.
Fonte:Canaltech
Conforme ilustra a figura, os dispositivos moveis que usam o sistema operativo Android
eIOS são os mais importados segundo uma estatística feita em2012, representando um
acumulo de 91.1% de telefones mais comprados.
12
Problematização
Todo cliente adora sentir-se especial em um estabelecimento, nem que seja somente por
este entrar para apreciar os produtos que possuem no mesmo, ou efectuar uma compra de
um produto no supermercado, pese embora esta seja referente a um produto de baixo custo
(como uma garrafa de água mineral). Entretanto, pelos supermercados tornarem-se locais
de bastante movimentação, torna-se complicado estabelecer-se um atendimento excelente.
Por um lado, verifica-se uma elevada concorrência por parte dos supermercados em
tentarem aproximar os seus produtos aos clientes, por outro, tem clientes que procuram
uma forma eficiente e menos dispendiosa para aquisição de produtos.
A ausência de um aplicativo para a compra de produtos em supermercados (na Shoprite)
tem limitado os consumidores a estarem informados dos preços baixos, assim como das
promoções temporárias que os supermercados têm dado, deste modo tem se notado uma
vasta gama de produtos a serem descartados por parte dos supermercados, produtos esses
que estavam próximos a vencerem a data de validade e colocados em promoção não
acabaram na sua totalidade.
3
Os supermercados têm produzido papeis, colando panfletos na via púbica informando aos
consumidores dos seus novos produtos, assim como a das suas promoções, papeis esses que
de certo modo tem poluído a via pública, deste modo preocupando os agentes responsáveis
pela via pública, assim como os agentes do meio ambiente. Deste modo, com a existência
de um aplicativo que visa a compra de produtos em supermercados em Moçambique
(Shoprite) vai minimizar o uso de papeis que são usados para o efeito de informar os
consumidores das novas promoções assim como dos seus novos produtos.
Problema
13
Objectivos
Objectivo Geral
➢ Desenvolver umsistema de compra de produtos em supermercados de
Moçambique.
Objectivos específicos
Justificativa
Com a crescente pressão do dia-a-dia, fazer compras nos supermercados tem se tornado
um fardo extra para a camada trabalhistas e para aquelas pessoas com dificuldades de
locomoção, pois torna-se fatigante realizar uma lista de produtos (por comprar ou
consultar) em casa e dirigir-se aos supermercados e não os encontrar ou se deparar com um
valor superior ao esperado.
Hipóteses
Apresenta-se como hipótese que vai de acordo com o presente trabalho de pesquisa como
possível solução diante do problema levantado.
Metodologia de trabalho
15
Métodos e técnicas empíricas
➢ Revisão bibliográfica – realizar-se-á com base em livros, sites, revistas, teses e
artigos científicos relacionados a desenvolvimento de soluções de compra de
produtos em supermercados.
Métodos teóricos
Delimitação da pesquisa
A constante evolução das tecnologias tem sido um forte aliado ao crescimento dos
supermercados, mesmo assim denotasse a escassa existência de aplicações que auxiliam os
consumidores no processo de compra de produtos de forma eficiente em supermercados.
Neste âmbito, pretendem-se com o presente trabalho, apresentar uma proposta de
desenvolvento um aplicativo que auxilie os consumidores na compra de produtos em
supermercados em Moçambique. A sua proposta de implementação terá início na cidade
de Xai-Xai Província de Gaza.
Estrutura da Monografia
16
Na sua introdução são apresentados os aspectos básicos para se ter uma ideia de como será
o trabalho.
Capítulo I –Será feita uma abordagem teórica onde será abordado as tecnologias
que serão usadas para a elaboração da monografia, as ferramentas que serão usadas na
elaboração do sistema, e as possíveis propostas para a elaboração do sistema.
Capitulo II – Será abordada a localização Geografica do local onde pretende-se
propor o sistema.
Capitulo III –Será feita a apresentação do sistema, o seu funcionamento, as ideias
que visam solucionar o possível problema e recomendações e conclusão da monografia.
18
Figura 2 – Full Template Multipurpose eCommerce Grocery App
Supermercado Now
19
Figura 3: Supermercado Now
Fonte: <https://supermercadonow.com
Superlist
Figura 4: Superlist
20
Fonte:https://superlist.com
21
O aplicativo AppSmarket
22
CAPÍTULO I – CONTEXTUALIZAÇÃO
No presente capítulo, será apresentado uma contextualização, cujo seu principal objectivo
e de fornecer as informações necessárias e de extrema importância para a melhor
compreensão do presente trabalho de pesquisa, abordando de uma forma lacónica
informações concisas para a melhor compreensão do mesmo.
1.1.FUNDAMENTAÇÃO TEÓRICA
1.1.1. Compra
Refere-se a aquisição de um bem ou serviço mediante pagamento; ato ou efeito de
comprar. (INFOPEDIA, 2021).
Os supermercados são empresas criadas para unem diversos tipos de produtos. Maior parte
dos produtos que vendidos nestas empresas fazem parte do dia a dia de uma casa.
Alimentos, bebidas, produtos de limpeza, produtos de beleza, conveniência, produtos para
animais. (SEBRAE MINAS, 2013, TRAPASSON 2015).
23
Segundo BASTOS (2018), existem cinco principais motivos que os proprietários de
supermercados devem considerar para tomar a decisão de investir em vendas online e
garantir a participação no crescimento do sector:
Ainda de acordo com o mesmo autor refere que as soluções tecnológicas oferecidas aos
supermercadistas representam uma alternativa eficiente, capaz de ajudar no incremento das
vendas, na fidelização de clientes pelo sistema de autoatendimento e dando mais
visibilidade à marca.
1.1.5. Frameworks
24
A escolha de um framework é de fundamental importância para todo o desenvolvimento
do trabalho, pois ele será a base de tudo. Assim, comparamos três dos principais
frameworks disponíveis para o desenvolvimento de aplicativo móvel multiplataforma:
Xamarin, PhoneGap e Ionic. Segundo QUINTÃO (2010).
Fonte: https://www.linkedin.com/in/costaeverton
25
O desenvolvimento de aplicações móveis possui vários aspectos similares ao
desenvolvimento de software embarcado: integração com o hardware do dispositivo,
Questões relacionadas à segurança, desempenho, confiabilidade e limitações de
armazenamento.
Outros factores importantes a serem considerados são a privacidade e a segurança
(El-Kassas , 2017).
Portanto, uma questão importante que deve ser considerada pelo desenvolvedor e qual tipo
de desenvolvimento optar: nativo ou multiplataforma.
26
1.1.9. Segurança
A segurança dos sistemas operacionais é processo iniciado na aceitação
dadisponibilização dos aplicativos para o usuário.
‘’A quantidade de aplicativos aceitos mostram
que estes testes realizados não asseguram que o
Usuário esteja instalando um aplicativo seguro
em seu aparelho, então è necessário que
ele tome preocupações como evitar usufruir de
Aplicativos disponíveis na internet ‘’(Gilbert, 2011).
O desenvolvedor durante a programação do seu projecto fornece as permissões
necessárias para funcionamento do seu aplicativo, seja ele desenvolvido no Android ouno
iOS. Por exemplo, se um aplicativo aceder dados pessoais ou informações sigilosaspara os
quais não foi concedida a permissão, estamos diante de um caso de violação de segurança.
A violação ocorre quando um aplicativo realiza alguma acçãoalém das permissões
definidas pelo desenvolvedor (Gilbert, 2011).
As permissões de uso dos recursos dos sistemas pelo aplicativo não é ocultam para
os usuários. Depois realizar o download da aplicação, o usuário ao instalar será notificado
das permissões e ao concordar com a instalação, estará assim aceitando todos os termos.
O número crescente de usuários das plataformas moveis acabou chamando à
atenção dos hackers. Termos como antivírus,malware e hackers que anteriormente estavam
relacionados apenas ao mundo dos computadorespessoais acabaram tornando frequentes no
mundo dos dispositivos móveis.A segurança no Androidè herdada do kernel Linux que
permite cada aplicativo execute dentro de sua própria máquina virtual, isolada assim das
outras aplicações. TalIsolamentoimpede que uma ameaça se espalhe pelo sistema de forma
direita, mas ainda existe o fato que uma aplicação pode requerer comunicação com outra
aplicação para executar uma acção como acessar a caixa de entrada do e-mail (Nachenberg
2011).
27
apropriadas exigidas para esta plataforma. As aplicações estão relacionadas a este
ambiente, e são executados apenas nos dispositivos que possuem esta plataforma.
‘’Em relação aos dispositivos Moveis, a
s principais plataformas móveis são
Android e iOS ‘’(Constantin , 2016).
O desempenho obtido na execução da aplicação è um dos principais benefícios do
desenvolvimento nativo. Porém, a grande variedade de características existentes nos
dispositivos móveis, como tamanho de tela, especificações de hardware, sistemas
operacionais e mecanismos de entrada e saída, torna o desenvolvimento nativo um desafio
para desenvolvedores que visam alcançar o maior número de usuários (Charland e Leroux
2011).
Como tempo de desenvolvimento e conhecimento intensivo do funcionamento
daLinguagem de cada sistema também devem ser considerados quando se desenvolve
emPlataformas nativas (Constantin, 2016).
28
possibilitando o acesso de recursos nativos por meio de APIs especializadas (Xanthopoulos
e Xinogalos 2013).
Aplicações híbridas oferecem maior facilidade de desenvolvimento pois utilizam
tecnologias populares. Porem, apresentam desempenho menor, variações de experiencia de
usuário para usuário e acesso restrito a funcionalidades (Malavolta, 2015).
29
Competitividade Fácil instalação Suporte Off-line
Fonte: https://www.linkedin.com/in/costaeverton
Essa aliança tem como objectivo também lançar handsetse serviços usando a
plataforma Android (GIROLLETE, 2012). Portanto, percebe-se que o sucesso do Android
se baseia no investimento da Google, pois ela é uma empresa que segue revolucionando a
internet e o grupo chamado OHA, cujos integrantes são empresasde telefonia como
Motorola, LG, Samsung, Sony Ericsson e muitas outras.
30
1.2.1. Arquitectura Android
A arquitectura do sistema operacional Android é distribuída em camadas, onde cada
uma delas é responsável por gerênciar seus respectivos processos (LECHETA, 2016).
Fonte: Android B
Activity fornece uma tela com a qual os usuários podem interagir para fazer algo
(ANDROID DEVELOPERS, 2017).
Contudo, pode-se perceber que uma activity pode ser considerada uma classe que
faz a interação do usuário com a interface.
São elas:
➢ freetype;
➢ system c library;
➢ Webkit;
➢ Sqlite;
4 activity – Fornece uma tela responsável pelainteração do usuário com a
interface.
32
➢ Sgl;
➢ surface manager;
➢ Media;
➢ libraries, libwebcore e;
➢ 3d libraries (PEREIRA E SILVA, 2009).
Por exemplo:
Com relação ao parágrafo anterior pode-se constatar que o Dalvik traduz o bytecode
em um código legível pela máquina em questão, código que é de fato executado pelo
33
processador principal. Essa tradução (compilação) ocorre durante a execução do aplicativo,
cujo o nome é JIT (Just In Time) (LEIVA, 2016).
Com a criação do Android 4.4 (Kitkat) foi desenvolvida a máquina virtual ART
(AndroidRuntime) com o objectivo de substituir a Dalvik que podia ser activado
opcionalmente nas configurações presentes no dispositivo.
34
e osoftware, a partir de uma acção realizada pelo usuário o software em questão acciona
ohardware. Como exemplo pode-se citar, o usuário tirando uma foto ou enviando um SMS.
Ele foi desenvolvido pela Apple e sua execução é restrita aos hardwares construídos por
ela. Portanto, somente os dispositivos da própria Apple é que executam com sucesso o iOS
(MILANI, 2012). Logo, pode-se perceber que os famosos hackintosh(computadores não
fabricados pela Apple que possuem o sistema operacional iOS), além de ilegal com
certezanão possuem a eficiência do sistema operacional híbrido e o usuário também não irá
usufruir da capacidade original do sistema operacional. ´
35
1.3.1. Arquitectura iphone iOS
A arquitectura do iOS2 é concebida de quatro camadas:
CocoaTouch;
Media Services;
Core Services e;
Core OS.
Cada uma delas, disponibiliza um conjunto de frameworks que podem ser utilizados no
desenvolvimento de aplicações para dispositivos móveis (Silva, Pires e Neto, 2015).
Segundo Anvaari e Jansen (2010), arquitectura do iOS é semelhante a arquitectura básica
encontrada no Mac OS X.
Deste modo, quem possui computador de mesa utilizando o sistema operacional leva
grande vantagem no manuseio do smartphone que por sua vez possui aplicativos nativos
como o navegador safari. Os aplicativos desenvolvidos para o iOS raramente se comunicam
directamente com o hardware do dispositivo, ao invés disso, os aplicativos se comunicam
como hardware através de um conjunto de interfaces de sistema bem definidas que
protegem seuaplicativo de alteração de hardware (APPLE, 2017).
1.3.2. CocoaTouch
Os principais frameworks para o desenvolvimento de aplicações são encontrados na
camada CocoaTouch. Ela determina a infraestrutura para as tecnologias fundamentais, tais
como multitarefa, serviço de notificação Apple push e diversos serviços de alto nível do
sistema (Rocha e Neto, 2011).
36
1.3.3. Media Services
Essa camada é responsável por fornecer recursos de áudio, vídeo e gráficos e disponibilizar
uma série de frameworks que podem ser utilizados no desenvolvimento de aplicações
multimédia para dispositivos móveis iOS (MENDONÇA, BITTAR E DIAS, 2011).
Contudo, percebe-se que ela foi projetada para tornar mais prática a implementação de
aplicações com o uso do frameworkIUKit (User Interface Kit) que por sua vez disponibiliza
recursos como Core Graphics, Core Animation, OpenGL ES, Texto Core, Image I/O e
Framework AssetsLibrary que são tecnologias de implementação de gráficos e animações,
tecnologia de áudio que possibilita o dispositivo reproduzir e gravar áudios de alta
qualidade com a utilização dos seguintes frameworks: Media Player, AV Foundation e Core
Áudio, cada uma com funções que variam de alto para baixo nível.
E a tecnologia de vídeo que pode ser utilizada para realizar a reprodução e gravação
de conteúdo baseados em vídeos, com ela o determinado desenvolvedor pode utilizar suas
tecnologias para capturar e incorporar vídeos em sua aplicação com os frameworks UI
ImagePickerController (presente na UIKit), Media Player, AvFundation e Core Media
(ROCHA, MENDES e NETO, 2011).
37
pode fazer isso utilizando os frameworks presentes nessa camada (APPLE, 2017). Devido
a característica de manipulação do hardware externo percebe-se que a função da camada
Core OS é fornecer suporte ao hardware do dispositivo iOS onde o desenvolvedor poderá
ter o controlo sobre a segurança do dispositivo e comunicação, através dos frameworks
AccelerateeExternalAccessory.
38
Figura 7: Arquitectura de sistema operativo IOS
39
1.5.programação híbrida
O desenvolvimento híbrido é a união entre as tecnologias web e a utilização
simultânea de recursos considerados nativos. É uma abordagem utilizada para que um
aplicativo possa atingir várias plataformas utilizando um único código, assim o custo de
desenvolvimento e manutenção se tornam mais baixo e a mão de obra mais fácil de
encontrar, o tempo de desenvolvimento também é menor, pois um único código poderá ser
replicado para todas as plataformas (Mendes; Garbazza; Terra, 2014, p. 2).
Nesta forma de desenvolvimento grande parte do código é escrito com Html,Csse
Javascript que são tecnologias web, e o desenvolvimento pode ser feito utilizando
frameworks que criam uma arquitetura sem necessariamente ter vínculo com alguma
plataforma (Bassoto, 2014, p. 24).
Normalmente aplicativos híbridos funcionam através de um browser , que interpreta a
classe e exibe o conteúdo web . (Mendes; Garbazza; Terra, 2014, p. 2).
Deste modo, assim como os aplicativos nativos, os híbridos podem ser lançados nas
lojas virtuais e armazenados no dispositivo, sendo semelhantes para os usuários (Bassoto,
2014, p. 24).
A sua maior desvantagem está no fato de que as funcionalidades do dispositivo não
são acessadas naturalmente, mas sim através de uma ponte que possibilita conectar-se as
funcionalidades nativas e assim executá-las (Mendes; Garbazza; Terra, 2014, p. 3).
Apesar de terem um custo menor, aplicativos que exigem maior qualidade gráfica,
como jogos, ou que precisam constantemente acessos ao hardware do dispositivo, terão um
melhor resultado se forem construídos nativamente, agregando ainda a experiência do
usuário (Mendes; Garbazza; Terra, 2014, p. 3).
1.6.Flutter
Flutteré um framework desenvolvido pela Google , apresentado pela primeira vez
em2015 lançado oficialmente em 2018, que pode ser utilizado para o desenvolvimento
nativo de aplicações Android e IOS (Muller; Soares, 2019, p. 14).
Apesar do Flutterjá ter sido apresentado com uma proposta de inovação genial, a
comunidade de desenvolvedores possuía desconfiança, principalmente pelo fato da Google
ser conhecida por abandonar seus projectos, entretanto o sucesso do Flutterfoi imediato,
atraindo desenvolvedores ecriando comunidades sólidas ao redor do mundo.
40
O Fluttertambém pode ser definido como um conjunto de ferramentas de user
interface portáteis tornando o desenvolvimento de interfaces gráficas um de seus pontos
fortes,pois é possível com grande facilidade criar interfaces agradáveis e ter acesso a
umaextensa biblioteca de widgets e animações que vem por padrão no framework
(Muller;Soares, 2019, p. 14).
Assim como o ReactNative, ele possui uma funcionalidadeconhecida como hot
reload, que permite que o aplicativo possa ser recarregado comvelocidade, mantendo o
estado da última seção e assim testar as mudanças em temporeal (Santos, 2018. p. 23).
Para o desenvolvimento Android é necessário a utilização do Android Studio ou do
VisualStudio Code, sendo que o sistema operacional pode ser de acordo com a preferência
dodesenvolvedor, entretanto para a construção de aplicações IOS poderá ser utilizado
oXCODE junto ao sistema operacional Mac OS .
41
Windows e Linux será necessário instalar o Android Studio embora a sua utilizaçãono
desenvolvimento seja opcional. Já no Mac OS o Xcodeé a ferramenta necessária.
Independente do sistema operacional, o Flutterdisponibiliza uma ferramenta
conhecidacomo FlutterDoctor, ela tem a tarefa de auxiliar durante a instalação, verificando
se tudoestá de acordo, se por acaso faltar algo para o funcionamento correto, o próprio
FlutterDoctormostra qual a solução. Sendo assim o processo de instalação do Fluttertende
aser descomplicado e fácil.
1.6.2. Arquitectura
As camadas de Flutter são construídas e implementadas uma sobre a outra, e é
compostapela engine, que é considerada uma camada fina de código c/c++ (Corazza, 2018,
p. 23).
42
Figura 8: Arquitetura Flutter
Fonte: https://flutter.dev/docs/resources/technical-overview
1.6.3. dart
Darté uma linguagem de programação criada pelo Google em 2011 que tinha como
propósito substituir o Javascriptse tornando a principal linguagem a ser utilizada nos
navegadores. Ela é uma linguagem moderna, orientada a objectos, e concisa (Corazza,
2018, p. 23).
Sua sintaxe é clara e consistente, tendo o propósito de ser rápida, portátil,
multiplataforma e reactiva (Santos, 2018, p. 23).
Ela é muito parecida com outras linguagens populares como o Java ,C# , PHP e
Javascript, não trazendo grandes dificuldades para quem conhece estas linguagens.
Pode ser considerada uma linguagem altamente versátil pois pode ser utilizada
emdesenvolvimento de aplicações móveis nativas, desktop,web , criação de scripts e
atémesmo no back-end, porém para cada tipo de aplicação a ser desenvolvida
seránecessário a utilização de um framework diferente e que terá o suporte para tal.
Dartpossui como característica a capacidade de poder inferir os tipos, tornando-se opcional
declarar o tipo da variável ao criá-la, visto que a linguagem assumira o primeiro
tipoassociado a variável.
43
A linguagem Dartpossui algumas características interessantes como o ahead-of-
time quepossibilita que o código seja compilado para o armnativo, proporcionando assim
umdesempenho de uma aplicação nativa, e o just-in-timeque permite que as
alteraçõessejam vistas em tempo real, assim que o código for modificado.
Existem muitosframeworks já criados que tem o Dartcomo linguagem, sendo o
Fluttero mais conhecidoe também um dos grandes responsáveis pela disseminação da
linguagem.
Para a parte de web existem o Angulardart,Material Design Lite , Overreacte o Vuedart,
jápara o back-endos mais populares são o Aqueduct, Angel e o Jaguar . A escolha do
editorde código para a codificação fica a gosto do desenvolvedor, pois Dartpossui
pluginscompatíveis com os principais editores do mercado.
1.6.4. Vantagens do uso de Flutter
Funciona para Android e iOS
Um open-source toolkit, desenvolvido pela Google
Custo reduzido de desenvolvimento
Fácil de integrar
Suporte Offline
Manutenção simplificada
Qualidade
Velocidade
Competitividade
Interações avançadas de UI
Um código único que compile nativamente
1.6.5. Clientes, usuários, dev, designers querem?
Custo reduzido de desenvolvimento
UI/UX Avançadas
Fácil de integrar
Suporte Offline
Manutenção simplificada
Qualidade
Velocidade
44
Competitividade
Interações avançadas de UI
Um código único que compile nativamente
45
CAPITULO II: O CONTEXTO SOCIAL DA INVESTIGAÇÃO
2. Localização Geográfica
Moçambique é um país localizado no sudeste do Continente Africano, banhado pelo
Oceano Índico a leste e que faz fronteira com a Tanzânia ao norte, Malawi e Zâmbia a
noroeste, Zimbabwe a oeste e Suazilândia e África do Sul a sudoeste. Segundo Muchangos
(1999, p.11), a superfície continental de Moçambique é de 786.380 km². Esta área
corresponde a cerca de 2,6% da superfície do continente africano que é de
aproximadamente 30 milhões de km².
É dividido territorialmente em 11 províncias administrativas (nomeadamente, Cabo
Delgado, Niassa, Nampula, Zambézia, Tete, Manica, Sofala, Inhambane, Gaza, Maputo e
Maputo cidade), tendo como capital a Cidade de Maputo que é igualmente a maior cidade
do país.
46
Moçambique, Maputo. Com uma área de 75.709 km2 e uma população de 1.446.645
habitantes em 2017, essa província è dividida em distritos e possui, desde 2013, 6
municípios: Chibuto, Chokwe, Macia, Manjacaze, praia do Bilene e Xai-xai.
Gaza è atravessada pelo rio Limpopo, sendo o seu centro vital. E ele que torna a província
importante sobre diferentes pontos de vista: Agricultura, política e desenvolvimento.
Complementando o topo da região sul do país, Gaza está ligado, à norte, a província de
Manica, Também a sul faz fronteira com a África Do Sul e já a oeste com Zimbabwe. Na parte
sudoeste tem ainda cerca de 200 km de costa de oceano indico. (Wikipedia 2018b)
Fonte:Wikipedia
47
Ela está situada no vale do rio Limpopo, sendo banhada por este rio alguns Kilometros a
montanha da sua foz. Dista 224 Km, a nordeste, de Maputo. De acordo com o censo de
população de 2017, tem uma população de 141.963, um aumento de 25620 (22.02%) em
relação aos 116.343 habitantes registados em 2007.
Fonte: Wikipedia
➢ Supermercado Shoprite
➢ Supermercado Saverite
➢ Supermercado Limpopo
Alem disso, existem 3 grandes mercados:
48
➢ Mercado Limpopo;
➢ Mercado Grossista;
➢ Mercado central.
E uma vasta gama de lojas, centros comerciais, etc,
49
Figura 12: LocalizaçãoGeográficade Shoprite Xai-xai
Fonte: Autor.
50
CAPÍTULO III - DESENVOLVIMENTO DO SISTEMA
De salientar também que no projecto, será abordada uma proposta de uma aplicação
para smartphones com suporte ao sistema Operativo IOS e Androidpara compras em
supermercados no nosso País
➢ Nível de Usuário;
➢ Nível do Administrador; ➢ Nível do Cliente.
3. Analise de Requisitos
Nesta fase foram levantados os requisitos necessários para a concepção do sistema,
onde pode-se contatar os requisitos funcionais e não funcionais.
No geral, requisitos são os serviços e as restrições que um sistema oferece. Estes
refletem as necessidades dos clientes para um sistema que serve a uma finalidade
determinada (SOMERVILLE, 2011).
51
3.1.Requisitos funcionais
Segundo (SOMERVILLE, 2011, p. 59) Requisitos funcionais de um sistema descrevem
o que ele deve fazer. Eles dependem do tipo de software a ser desenvolvido, de quem são
os possíveis usuários e da abordagem geral adaptada pela Organização ao escrever os
requisitos. E para osistema que se pretende criar foram identificados os seguintes requisitos
funcionais: RF1: Comprar produtos (fechar compra ou efectuar pagamento) –O
sistema deve permitir que o usuário possa comprar produtos desde o momento que este
adicione produtos ao carrinho e feche a compra com uma das várias formas de pagamento.
RF02: Adicionar Produtos ao Carrinho - O sistema deve permitir adicionar produtos ao
carrinho e actualiza-los se necessário antes da compra.
RF03:Comentar a respeito de um produto –O sistema deve conter um campo e permitir
que um usuário comente a respeito de um produto.
RF04: Enviar mensagem - O sistema deve permitir o envio de mensagens dos usuários
para o administrador e vice-versa, afim de permitir o contacto entre o vendedor e o cliente.
RF05: Cadastrar - O sistema deve permitir que o primeiro administrador cadastre outros
administradores.
RF06: Login – O sistema deve permitir que administrador chefe cadastraste outros
administradores.
RF07: Gerenciar produtos (incluir, excluir, actualizar produtos) - O sistema deve
permitir ao administrador gerenciar produtos desde que tenha feito login.
52
RNF02: Acessibilidade - Acessibilidade do sistema, para que seja facilmente
encontrado e utilizado pelo público alvo, é necessário que seja corretamente visualizado em
diferentes tipos de dispositivos.
RNF03: Navegabilidade Do sistema - Navegabilidade do sistema simples, fácil de
navegar o que implica estar a menos de três clicks de distância, mais intuitiva possível para
facilitar a vida dos usuários, em particular leigos.
RNF04 Conteúdo - Conteúdo deve ir de acordo com os objetivos comerciais, ser fácil
ler e conter menos erros ortográficos possível.
RNF05: Iteratividade - Iteratividade do sistema, fazendo com que usuários da loja
sejam atendidos, assim que entrem em contacto com a equipe.
RNF06 : Segurança - O sistena dever ser actualizado constantemente para prover
maior segurança cibernética.
RNF07: Loja disponível - A loja deverá estar disponível.
Cada caso de uso que deve ser exposto de forma detalhada, descrevendo as actividades
com os seguintes atributos, que para alguns desenvolvedores de sistema isto torna-se
opcional.
➢ Fluxos principais: descreve todos caminhos possíveis do caso de uso;
➢ Fluxos Alternativos: são caminhos alternativos e casos diferentes a considerar;
➢ Pré-condição: condições que precisam, necessariamente, estarem presentes para
que um caso de uso possa ser dado como iniciado
➢ Pós-condição: condições que precisam, necessariamente, estarem presentes para
que um caso de uso possa ser dado como realizado.
No diagrama de caso de uso serão ilustrada os privilégios que cada nível terá.
53
No caso do nível do administrador, ele terá o privilégio de cadastrar os produtos
dos clientes, assim como cadastrar os clientes.
Na figura abaixo são ilustradas as principais actividades que serão executadas nesses
níveis:
54
Fonte: autor
3.4.Diagrama de Actividades
O diagrama de actividade descreve um conjunto de actividades dinâmicas que serão
abordadosna aplicação. O diagrama de actividades é um fluxograma para representar o
fluxo de actividades que serão abordados ao longoda aplicação. No diagrama de
actividades, são apresentados um diagrama com os fluxos detalhados das actividades.
Fonte: Autor
55
3.5.Diagrama de Classes
O diagrama de classes mostra as diferentes classes que fazem um sistema e como
elas se relacionam, é um dos mais importantes da UML, pois representa os vários objectos
do sistema, suas propriedades, comportamentos e relacionamentos, e a partir dele são
elaborados os diagramas de comunicação, sequência e estados. Também ajuda a todos os
envolvidos no projecto a entenderem a estrutura do sistema e suas funcionalidades.
Cada classe é composta pelo nome, atributos e respetivas operações, que representa
o papel dos actores no sistema. Diferente do diagrama entidade relacionamento, que
representa o banco de dados, o diagrama de classes se encontra em um alto nível de
abstração, representando o comportamento de cada classe através das suas operações e
métodos.
Fonte: Autor
56
3.6.Diagrama de Actividades da Aplicação
Autor
57
3.7.Diagramas de Sequencia
Autor
Fluxo Básico
58
Tabela 3. Descrição do caso de uso comprar produtos.
Fonte: Autor
Fluxo Básico
Fonte: Autor
Fluxo Básico
Fluxo Alternativo
59
Tabela 5. Descrição do caso de uso Se Cadastrar.
Fonte: Autor
Autor
60
Actor principal Administrador
Fonte: Autor
Fonte: Autor
Caso de Uso: Alterar Produtos
Actor principal Administrador
Pré-condição Fazer login
Pós-Condição Ambiente de trabalho apresentado para o
administrador, com permissão para
gerenciar o sistema
Fluxo Básico
61
3. Apagar produtos.
3.9.Interface do sistema
62
Figura 18: Interface do usuário, Pagina inicial Fonte: Autor
Fonte: Autor
63
3.9.3. Interface do usuario, tela principal “HOME”
Fonte: Autor
64
CAPITULO IV - CONCLUSÕES E RECOMENDAÇÕES
4. CONCLUSÃO
É possível constatar que, o mundo actual tem apresentado várias dinâmicas, sejam elas
socioculturais, econômicas, tecnológicas e de outra índole, que obrigam as sociedades a
adoptarem novas tendências ou formas de agir para fazer face à essas alterações. As
empresas, em particular, devem estar aptas para acompanhar esse cenário, com destaque
para o avanço tecnológico de modo a satisfazer os seus clientes, maximizar os ganhos e ser
competitivas a nível do mercado onde estão inseridas.
65
5. RECOMENDAÇÕES
O presente projecto tem uma influência positiva devido a vários factores, vem
minimizar certas preocupações na aquisição de produtos que os clientes têm tido no seu
diaa-dia. Actualmente, o modo de desenvolvimento de aplicações móveis assim como o de
desenvolvimento Web continua mudando rapidamente, visto que há um número elevado de
programadores, números esses que tendem a aumentar com o decorrer do tempo comparado
com os anos passados.
Hoje em dia, o mercado está cada vez mais agressivo, a necessidade de novas ferramentas
que ofereçam desenvolvimento simplificado e que apresentem maior qualidade. Foina base
dessa ordem de ideia que o sistema foi desenvolvido em uma Framework Flutter, visto que
é uma nova ferramenta, e existem vários desenvolvedores de dispositivos moveis activos e
pioneiros da mesma devido a sua simplicidade, gestão de tempo, e segurança.
O surgimento constante de novas ferramentas que atendam as váriasrestrições e
particularidades do desenvolvimento de aplicações móveis exige que sejam desenvolvidas
Pesquisas que possibilitem realizar comparações entre as mesmas. A utilização dos
sistemas operacionais Android e iOS para dispositivos móveis é referência no comércio de
celulares, factor esse tem contribuído aos programadores optarem no desenvolvimento de
aplicações para dispositivos moveis, tanto para quem utiliza seus recursos para realizar
determinadas tarefas quanto para quem tem interesse em desenvolver aplicações através de
suas IDES (IntegratedDevelopmentEnvironment), ou seja, devido os seus vários recursos
esses sistemas operacionais vêm se destacando na atualidade perante o favoritismo dos
consumidores, foi com base nos pontos acima citado que se pretende implementar o
sistema, visto que o mesmo estará munida de uma vasta gama de ferramentas atrativas e
que facilitarão a navegação dos clientes no sistema que se pretende propor.
66
5.REFERENCIAS BIBLIOGRAFICAS
HOINASKI, Fábio. Software de Compras: O que é e por que usar. 2016. Disponível
em: https://ibid.com.br/blog/software-de-compras-o-que-e-e-por-que-usar/. Consultado aos
25 de Março de 2021 ;
67
Curso – Instituto de Informática – Universidade Federal do Rio Grande doSul, Rio Grande
Do Sul, Porto Alegre, 2018.
https://www.linkedin.com/in/costaeverton Acesso mo dia 05 de 05de 2021.
Malavolta, I., Ruberto, S., Soru, T., e Terragni, V. 2015. End users’ perception
ofhybrid mobile apps in the google play store. In Mobile Services (MS), 2015
IEEEInternational Conference on, pages 25–32. IEEE.
Picurelli, L. 2017. Advantages and disadvantages of web app development.
68
Dispon´ıvel em: <https://www.linkedin.com/pulse/ advantages-disadvantages-web-
appdevelopment-luis-picurelli/>. Acesso em: 05 maio. 2021 as 20:11.QUINTÃO, Ícaro
Bicalho,
Desenvolvimento de um aplicativo multiplata
Sin, D., Lawson, E., e Kannoorpatti, K. 2012. Mobile web apps-the
nonprogrammer’salternative to native applications. In Human System Interactions (HSI),
2012
5th InternationalConference on, pages 8–15. IEEE.[23] Xanthopoulos, S. e Xinogalos, S.
2013. A comparative analysis of cross-platform developmentapproaches for mobile
applications. In Proceedings of the 6th Balkan Conferencein Informatics
El-Kassas, W. S., Abdullah, B. A., Yousef, A. H., e Wahba, A. M. (2017).
Taxonomy ofcross-platform mobile applications development approaches. Ain Shams
EngineeringJournal, 8(2):163–190..
Lecheta, R. R. 2013. Google Android-3a Edic¸ ˜ao: Aprenda a criar aplicac¸ ˜oes
paradispositivos m´oveis com o Android SDK. Novatec Editora.
forma para compras mensais de supermercado, João Monlevade–MG, 2010
69
Nachenberg, C. 2011. Examining the security approaches employed in apple’s ios
andgoogle’s android. Mountain View, CA 94043 USA. Symantec Corporation,
SymantecCorporation.
Muchangos, A., 1999. Moçambique Paisagens E Regiões Naturais. [ebook]
p.11,15.Disponível em
https://biblioteca.isced.ac.mz/bitstream/123456789/458/1/MOCAMBIQUE%2C%20PAI AGNS%20E
%20REGIOES%20NATURAIS.pdf> [Acesso em 15 de Maio 2021].
https://pt.m.wikipedia.org/wiki/Xai-xai [Acesso em 15 de Maio 2021].
https://pt.m.wikipedia.org/wiki/Gaza [Acesso em 15 de Maio 2021].
Afroza YASMIN. Full Template Multipurpose eCommerce Grocery App. 2018.
<https://ionicbucket.com/>. Online; acessado em 5 Julho 2018. Citado na página 17.
70
APÊNDICES
APÊNDICE I: CUSTOS FINANCEIROS
Fonte: Autor
71
Apêndice II- Inquérito destinado ao publico em geral, sobre o conhecimento do comercio
electronico.
Com o presente inquérito pretende-se, recolher informação na Shoprite de
Xaixaipara um trabalho de Licenciatura no curso de Engenharia informática, afim de se
propor a criação de um sistema de compra de produtos em Supermercados em
Moçambique.
73
Apêndice III- Inquérito destinado aos funcionários da Shoprite de Xai-xai.
Com o presente inquérito pretende-se, recolher informação na Shoprite de
Xaixaipara um trabalho de Licenciatura no curso de Engenharia informática, afim de se
propor a criação de um sistema de compra de produtos em Supermercados em
Moçambique.
Parte I: 1.
Dados pessoais
1.1. Sexo:
Masculino __Feminino ___
1.2. Idade: ______
1.3. Nível de escolaridade/académico:
Básico__ Médio__ Graduação__ Pós-graduação__
Parte II
74
_____________________________________________________________________
2.5. Sabe o que é uma loja virtual?
Não__ Sim ___
2.6. Concorda com a criação de uma loja virtual para a compra de produtos em
Supermercados de Moçambique?
Não ___ Sim ___ Talvez ___
2.7. Estaria apto/a apoiar a iniciativa?
Não ___ Sim ___ Talvez___
2.8. Acha que os clientes da Shoprite optariam a compra de produtos online?
Não__ Sim___ Talvez ___
2.9. Achas que com a criação do sistema a Shoprite vai despedir alguns trabalhadores?
Não__ Sim ___ Talvez ___
75
RESULTADOS DO LEVANTAMENTO DOS DADOS DO INQUÉRITO DESTINADO
AOS FUNCIONÁRIOS DA SHOPRITE DE XAI-XAI.
Masculino
Feminino
Tabela: Sexo
Fonte: Autor
1.2. Idade
20-30
31-40
41-50
Tabela: idade
Fonte: Autor
76
1.3. Nível de escolaridade/académico
Nivel Basico
Nivel Medio
Licenciatura
Fonte: Autor
Parte II
Não
Sim
Talvez
Fonte: Autor
77
Não
Sim
Talvez
Fonte: Autor
Não
Sim
Talvez
Fonte: Autor
78
Não
Sim
Talvez
Fonte: Autor
2.6. Concorda com a criação de uma loja virtual para a compra de produtos em
Supermercados de Moçambique?
Não
Sim
Talvez
Fonte: Autor
Não
Sim
Talvez
Fonte: Autor
79
2.8. Acha que os clientes da Shoprite optariam a compra de produtos online?
Não
Sim
Talvez
Fonte: Autor
2.9. Achas que com a criação do sistema a Shoprite vai despedir alguns trabalhadores?
Não__ Sim ___ Talvez ___
Não
Sim
Talvez
Fonte: Autor
80
Eng°HaroldChate, docente na Faculdade de Ciências e Tecnologias da Universidade
Zambeze, vem na qualidade de orientador da Monografia de Licenciatura submetida por
Cláudio José Manuel Chirunguze, com o tema DENSEVOLVIMENTO DE SISTEMA
PARA COMPRA DE PRODUTOS EM SUPERMERCADOS DE MOÇAMBIQUE –
CASO DE ESTUDO SHOPRITEDE XAI-XAI, declarar que o trabalho apresentado pelo
aspirante reúne 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.
_________________________________________ (Eng°HaroldChate)
81