Você está na página 1de 35

REPÚBLICA DE ANGOLA

GOVERNO DA PROVÍNCIA DE LUANDA


INSTITUTO POLITÉCNICO Nº 2039 – 30 DE SETEMBRO
CURSO TÉCNICO DE INFORMÁTICA

DESENVOLVIMENTO DE UM APLICATIVO MOBILE PARA


O PORTAL DE NOTÍCIAS STTOPNEWS

LUANDA, 2023
LAUDEMIRO MONTEIRO GUILHERME REAIS FERNANDES
SIDENE TCHINOSSOLE DE BRITO JOSÉ
TERESA IVANIRA LOPES DANIEL MBUMBA

DESENVOLVIMENTO DE UM APLICATIVO MOBILE PARA


O PORTAL DE NOTÍCIAS STTOPNEWS

Trabalho de fim de curso apresentado à


Coordenação do Curso de Informática do
Instituto Politécnico Nº 2039 “30 de
Setembro” como requisito para obtenção do
grau de Técnico Médio de Informática.

Orientado por: Cedrick Mansoni

LUANDA, 2023
FICHA CATALOGRÁFICA
Autorizamos a reprodução e divulgação total ou parcial deste trabalho, por qualquer meio
convencional ou eletrônico para fins de estudo e pesquisas, desde que citada a fonte.

LAUDEMIRO MONTEIRO GUILHERME REAIS FERNANDES


SIDENE TCHINOSSOLE DE BRITO JOSÉ
TERESA IVANIRA LOPES DANIEL MBUMBA

Data __/__/__

Fernandes, Laudemiro Monteiro Guilherme Reais; José, Sidene


Tchinossole De Brito; Mbumba, Teresa Ivanira Lopes Daniel

DESENVOLVIMENTO DE UM APLICATIVO MOBILE


PARA O PORTAL DE NOTÍCIAS STTOPNEWS

Trabalho de fim de curso apresentado à Coordenação do Curso de


Informática do Instituto Politécnico Nº 2039 “30 de Setembro” como
requisito para obtenção do grau de Técnico Médio de Informática.

Orientado por: Cedrick Mansoni

Nº de páginas: 28

Tipo de letra: Times New Roman.

Palavras-chaves: Portal, notícia, mobile.


INSTITUTO POLITÉCNICO Nº 2039 – 30 DE SETEMBRO

DESENVOLVIMENTO DE UM APLICATIVO MOBILE PARA


O PORTAL DE NOTÍCIAS STTOPNEWS

FERNANDES, LAUDEMIRO MONTEIRO GUILHERME REAIS


JOSÉ, SIDENE TCHINOSSOLE DE BRITO
MBUMBA, TERESA IVANIRA LOPES DANIEL

BANCA EXAMINADORA

Presidente do Júri
________________________________________
(Nome completo do Professor)

Primeiro Vogal
________________________________________
(Nome completo do Professor - arguente)

Segundo Vogal
________________________________________
(Nome completo do Professor - Orientador)
Queremos dedicar primeiramente este trabalho aos nossos pais por que, é graças à todo o
esforço deles que hoje podemos concluir o nosso curso. Dedicamos também à todos os
colegas do nosso curso (Técnico de Informática), que assim como nós puderam encerrar uma
etapa díficil da vida acadêmica, dedicar também à quem colaborou diretamente connosco, o
nosso Coordenador de Turma e Coordenador de Curso Cedrick Mansoni, sem ele não
teríamos conseguido concluir o nosso projecto.
AGRADECIMENTOS
Em primeiro lugar, queremos agradecer à Deus, por ter feito que um dos nossos objectivos
fossem alcançados, por ter permitido também que tivéssemos saúde e determinação para não
desanimar durante a realização do projecto. Ao professor, pelas correções e ensinamentos que
nos permitiram apresentar um melhor desempenho ao nosso processo de formação
profissional ao longo do curso.
“Que o teu trabalho seja perfeito para que, mesmo depois
da tua morte, ele permaneça.”
Leonardo da Vinci

RESUMO
Este trabalho apresenta o desenvolvimento de um aplicativo móvel para o portal de notícias
"Sttop News" utilizando a tecnologia .NET MAUI, juntamente com uma API RESTful em
linguagem C# e um banco de dados MySQL. Foram identificados e definidos requisitos
funcionais e não funcionais, além de serem elaborados diagramas de caso de uso, de classes e
de entidade e relacionamento para a modelagem do sistema. O resultado final foi um
aplicativo móvel funcional e eficiente, capaz de apresentar notícias atualizadas aos usuários
do portal "Sttop News".
ABSTRACT
This paper presents the development of a mobile application for the news portal "Sttop News"
using .NET MAUI technology, along with a RESTful API in C# language and a MySQL
database. Functional and non-functional requirements were identified and defined, in addition
to the elaboration of use case, class and entity and relationship diagrams for the modeling of
the system. The end result was a functional and efficient mobile application, capable of
presenting updated news to the users of the "Sttop News" portal.
LISTA DE FIGURAS
Figura 1 - Modelo de uma rest API..........................................................................................13
Figura 2 - Base de dados...........................................................................................................15
Figura 3 - Diagrama de caso de uso..........................................................................................20
Figura 4 - Diagrama de classes do sistema...............................................................................21
Figura 5 - Diagrama de entidade e relacionamento .................................................................22
Figura 6 - Tela de carregamento ..............................................................................................23
Figura 7 - Tela da inicial...........................................................................................................23
Figura 8 - Menu hambúrguer....................................................................................................24
Figura 9 - Tela de notícias .......................................................................................................24
Figura 10 - Tela de comentários ..............................................................................................25
Figura 11 - Tela de login e cadastramento ...............................................................................25
Figura 12 - Tela do administrador............................................................................................26
Figura 13 - Tela de visualização das tarefas do administrador.................................................26
ÍNDICE
DEDICATORIA ........................................................................................................................i
AGRADECIMENTOS............................................................................................................. ii
EPÍGRAFE...............................................................................................................................iii
RESUMO..................................................................................................................................iv
ABSTRACT...............................................................................................................................v
LISTA DE FIGURAS..............................................................................................................vi
I. INTRODUÇÃO.....................................................................................................................7
1.1 Justificativa.......................................................................................................................7
1.2 Delimitação do tema.........................................................................................................8
1.3 Problemática ....................................................................................................................8
1.3.1 Hipótese ........................................................................................................................8
1.4 Objetivos ..........................................................................................................................9
II. FUNDAMENTAÇÃO TEÓRICA....................................................................................10
2.1 Portal de notícias.............................................................................................................10
2.1.1 Portal Sttop News................................................................................................................ 10
2.1.2 Objectivo geral.............................................................................................................10
2.1.3 Missão..........................................................................................................................10
2.1.4 Visão............................................................................................................................10
2.2 Desenvolvimento de aplicativos móveis.........................................................................11
2.3 Plataformas de desnvolvimento de aplicativos móveis..................................................11
2.4 Escolha da plataforma.....................................................................................................12
2.5 Linguagem de programação C#......................................................................................13
2.6 API..................................................................................................................................17
2.7 Base de dados .................................................................................................................17
2.7.1 Sistema de gerenciamento de base de dados MSqL....................................................18
2.7.2 Linguagem Sql.............................................................................................................16
III. METODOLOGIA............................................................................................................17
3.1 Tipo de pesquisa.............................................................................................................19
3.2 Coleta de dados...............................................................................................................17
3.3 Análise de dados ............................................................................................................17
3.4 Desenvolvimento do projecto.........................................................................................17
3.5 Testes e validação...........................................................................................................17
3.6 Cronograma ....................................................................................................................18
3.7 Ferramentas utilizadas ................................................................................................... 18
IV. RESULTADOS E DISCUSSÃO ...................................................................................... 19
4.1. Requisitos do sistema ................................................................................................... 19
4.2. Diagrama de caso de uso .............................................................................................. 20
4.3 Diagrama de classes ..................................................................................................... 21
4.5. Diagrama de entidade e relacionamento ...................................................................... 22
4.6. Prototipagem ................................................................................................................ 23
V. CONCLUSÕES..................................................................................................................27
VI. BIBLIOGRAFIA..............................................................................................................28
I. INTRODUÇÃO
Com o aumento do uso de dispositivos móveis em todo o mundo, os portais de notícias
precisam se adaptar às novas demandas do mercado para manter seus leitores engajados e
satisfeitos. Um aplicativo móvel pode ser uma solução eficiente para melhorar a experiência
do usuário e oferecer uma forma mais prática e acessível de acessar as notícias.
Nesse contexto, este trabalho tem como objetivo desenvolver um aplicativo móvel para o
portal de notícias STTOPNEWS, buscando fornecer uma solução moderna e inovadora para
os usuários do portal. O aplicativo permitirá que os usuários acessem notícias de última hora,
informações relevantes sobre eventos e acontecimentos importantes, além de outras
funcionalidades que tornarão a experiência de navegação no portal mais fácil e intuitiva.
O desenvolvimento do aplicativo foi realizado utilizando as mais recentes tecnologias e
ferramentas disponíveis, com o intuito de garantir uma experiência de alta qualidade aos
usuários. Além disso, foram realizados testes e análises para garantir a usabilidade e a
funcionalidade do aplicativo, com a finalidade de atender às expectativas dos usuários e aos
objetivos do projeto.
Ao final deste trabalho, espera-se ter uma solução completa e eficiente para o portal de
notícias STTOPNEWS, que possa ser utilizada por usuários de dispositivos móveis em todo o
mundo. Com isso, o trabalho contribuirá para o aprimoramento do portal e para o aumento da
sua base de leitores, além de fornecer uma solução inovadora para a área de desenvolvimento
de aplicativos móveis para portais de notícias.

1.1 Justificativa

Atualmente, a maioria dos usuários de internet acessam os conteúdos online por meio de
dispositivos móveis, como smartphones e tablets. Nesse contexto, a oferta de um aplicativo
móvel pode ser um diferencial competitivo para um portal de notícias, permitindo que os
leitores acessem as informações de forma mais rápida, prática e conveniente.
O portal de notícias STTOPNEWS é um veículo que se destaca pela qualidade e relevância do
conteúdo produzido, mas que ainda não possui um aplicativo móvel para expandir sua
presença e melhorar a experiência do usuário. Diante disso, este trabalho se justifica pela
importância de desenvolver um aplicativo móvel eficiente e funcional para o STTOPNEWS,
que possa aumentar a base de leitores, proporcionar uma navegação mais intuitiva e ágil, e se
tornar uma ferramenta relevante para o público interessado em notícias de qualidade.

7
Ao desenvolver esse aplicativo móvel, também será possível explorar as melhores práticas de
usabilidade e experiência do usuário em aplicativos móveis, bem como avaliar a efetividade e
o impacto do aplicativo no aumento da base de leitores do portal STTOPNEWS.

1.2 Delimitação do tema

O presente trabalho delimita-se no desenvolvimento de um aplicativo móvel para o portal de


notícias SttopNews utilizando a plataforma de desenvolvimento Dotnet Maui, linguagem C# e
banco de dados MySQL. Será utilizado uma API para a integração das informações do portal
de notícias no aplicativo móvel.

1.3 Problemática

Apesar de oferecer conteúdo de qualidade e relevância para seus leitores, o portal de notícias
STTOPNEWS ainda não dispõe de um aplicativo móvel para expandir sua presença e
melhorar a experiência do usuário. Diante disso, como desenvolver um aplicativo móvel
eficiente e funcional que possa aumentar a base de leitores do portal, proporcionar uma
navegação mais intuitiva e ágil, e se tornar uma ferramenta relevante para o público
interessado em notícias de qualidade? Qual o impacto da implementação de um aplicativo
móvel para o portal de notícias STTOPNEWS na experiência do usuário e no aumento da
base de leitores, e como esse aplicativo pode ser desenvolvido de forma a atender às
necessidades e expectativas dos usuários?

1.4 Hipóteses

H1: A criação de um aplicativo móvel para o portal de notícias SttopNews irá aumentar o
número de acessos e a fidelização de usuários, pois a facilidade de acesso às notícias e a
experiência do usuário serão aprimoradas.

H2: A implementação de uma API integrada com um banco de dados em um aplicativo móvel
desenvolvido em Dotnet MAUI irá melhorar a performance e a segurança do aplicativo, além
de permitir que o portal de notícias SttopNews tenha mais controle sobre o acesso às
informações e o gerenciamento das matérias publicadas e os respetivos comentários.

8
1.5 Objectivos

1.5.1 Objectivo geral

Desenvolver um aplicativo móvel eficiente e funcional para o portal de notícias


STTOPNEWS, que possa aumentar a base de leitores, proporcionar uma navegação mais
intuitiva e ágil, e se tornar uma ferramenta relevante para o público interessado em notícias de
qualidade.

1.5.2 Objectivos específicos

 Realizar um levantamento das principais necessidades e expectativas dos usuários em


relação a um aplicativo móvel para um portal de notícias;
 Estudar as tecnologias e ferramentas disponíveis para o desenvolvimento de aplicativos
móveis e selecionar as mais adequadas para o projecto;
 Definir as funcionalidades e recursos que o aplicativo móvel da STTOPNEWS deverá
oferecer, com base na demanda dos usuários e nas melhores práticas de usabilidade;
 Desenvolver e testar um protótipo do aplicativo móvel da STTOPNEWS, garantindo a
efectividade e a usabilidade das funcionalidades implementadas;
 Realizar um estudo de caso com um grupo de usuários do portal STTOPNEWS para
avaliar a efectividade e a usabilidade do aplicativo móvel, e identificar possíveis
melhorias e ajustes a serem feitos.
 Desenvolver uma base de dados para o portal STTOPNEWS;
 Desenvolver uma API REST utilizando o asp.net webapi;
 Desenvolver o aplicativo mobile, usando o framework dotnet MAUI;

9
II. FUNDAMENTAÇÃO TEÓRICA
2.1 Portal de notícias

Segundo Pimentel (2017) um portal de notícias é uma plataforma digital que reúne diversas
fontes de informação, oferecendo ao público uma cobertura ampla e diversificada dos fatos e
acontecimentos do mundo. O autor destaca que "os portais de notícias se tornaram um
importante canal de comunicação entre os jornalistas e os leitores, permitindo uma interação
mais dinâmica e uma cobertura mais ágil dos fatos" (p. 14).
Para Moraes e Barbosa (2018), os portais de notícias são importantes ferramentas de
comunicação para empresas e organizações que buscam divulgar suas atividades e se
aproximar do público. Os autores afirmam que "os portais de notícias permitem que as
empresas publiquem conteúdos relevantes e atraiam a atenção do público, além de servir
como canal de comunicação para a resolução de problemas e atendimento aos clientes" (p.
32).

2.1.1 Portal STTOP NEWS

É uma empresa especializada em comunicação digital e programação visual no âmbito


generalista, que visa dar resposta as necessidades do mercado nacional e internacional, na
oferta diversificada de serviços de comunicação, assente 100% no formato digital, permitindo
assim o acesso a conteúdo de informação e entretenimento, com menos custos e em
qualquer lugar.

2.1.2 Objetivo geral

O objetivo geral é de promover informações nacionais e internacionais, com rigor e


credibilidade, com um caracter generalista com conteúdos de entretenimento,
desporto, educação, saúde, turismo, moda e jornalismo.

2.1.3 Missão

Comunicar com clareza e imparcialidade todos os acontecimentos atuais, bem


como cobrir e divulgar eventos promovidos por entidades publicas ou privadas.

2.1.4 Visão

Ser o maior e melhor grupo de comunicação, atingir o mais alto nível de audiência,
ser o primeiro a comunicar e torna-se líder no universo digital obedecendo um
10
plano previamente elaborado e estruturado, tendo em conta o respeito pelos valores
morais e dos bons costumes.

2.2 Desenvolvimento de aplicativos móveis

De acordo com Mattos e Barbosa (2015), o desenvolvimento de aplicativos móveis tem


crescido significativamente nos últimos anos, devido à popularização dos dispositivos móveis
e às possibilidades de interação que esses dispositivos oferecem aos usuários. Os autores
afirmam que "a partir do momento em que um aplicativo móvel é instalado em um
dispositivo, o acesso às funcionalidades e serviços nele disponíveis torna-se muito mais ágil e
simplificado" (p. 16).
Para Moraes e Barbosa (2018), os aplicativos móveis são importantes para as empresas que
buscam aumentar sua presença digital e se comunicar de forma mais direta e personalizada
com seus clientes. Os autores afirmam que "os aplicativos móveis permitem que as empresas
ofereçam serviços personalizados, aumentem a fidelização do público e, consequentemente,
melhorem sua reputação e aumentem as vendas" (p. 27).
No contexto de um portal de notícias como o STTOPNEWS, o desenvolvimento de um
aplicativo móvel pode ser uma forma de oferecer aos leitores uma experiência de usuário mais
prática e personalizada, permitindo que eles acessem as notícias em qualquer lugar e a
qualquer hora. Os aplicativos móveis oferecem recursos exclusivos, como notificações em
tempo real, integração com as redes sociais e uso de sensores, como GPS e acelerômetro, o
que pode aumentar a base de leitores e a fidelização do público.

2.3 Plataformas de desenvolvimento de aplicativos móveis

Uma plataforma de desenvolvimento móvel é um conjunto de ferramentas, frameworks e


bibliotecas que permite aos desenvolvedores criarem aplicativos móveis para diferentes
sistemas operacionais, como Android e iOS. Essas plataformas oferecem uma ampla gama de
recursos para simplificar o processo de desenvolvimento de aplicativos móveis, como
ambientes integrados de desenvolvimento (IDEs), emuladores, depuradores, bibliotecas de
componentes e outras ferramentas úteis. Além disso, as plataformas de desenvolvimento
móvel oferecem recursos para acessar as funcionalidades do dispositivo, como GPS, câmera,
sensores, armazenamento e outras. Essas plataformas ajudam os desenvolvedores a criar
aplicativos mais rapidamente, com menos esforço e com menos erros, além de permitir que os
aplicativos sejam implantados em diferentes dispositivos e sistemas operacionais.

11
Android: plataforma de desenvolvimento móvel criada pelo Google, que permite a criação de
aplicativos para smartphones e tablets Android. Os aplicativos são desenvolvidos em Java ou
Kotlin e utilizam a plataforma Android SDK.
iOS: plataforma de desenvolvimento móvel criada pela Apple, que permite a criação de
aplicativos para iPhones e iPads. Os aplicativos são desenvolvidos em Objective-C ou Swift e
utilizam a plataforma iOS SDK.
React Native: plataforma de desenvolvimento móvel criada pelo Facebook, que permite a
criação de aplicativos nativos para Android e iOS a partir de um único código base em
JavaScript. O React Native utiliza o framework React para criar interfaces de usuário.
Flutter: plataforma de desenvolvimento móvel criada pelo Google, que permite a criação de
aplicativos nativos para Android e iOS a partir de um único código base em Dart. O Flutter
utiliza o framework Flutter SDK para criar interfaces de usuário.
.NET MAUI: plataforma de desenvolvimento móvel multiplataforma da Microsoft, que
permite a criação de aplicativos nativos para Android, iOS, macOS e Windows a partir de um
único código base em C# e .NET. O .NET MAUI foi lançado recentemente em 2021 como
uma evolução do Xamarin e da plataforma de desktop .NET Multi-platform App UI (MAUI).

2.4 Escolha da plataforma

Para o desenvolvimento do aplicativo móvel proposto neste trabalho de conclusão de curso,


será utilizada a plataforma .NET MAUI. Essa plataforma permite criar aplicativos nativos
para múltiplas plataformas, incluindo Android, iOS, macOS e Windows, a partir de um único
código base em C# e .NET.
A escolha pela plataforma .NET MAUI se deu em virtude da sua alta capacidade de
desenvolvimento de aplicativos de qualidade para múltiplas plataformas, garantindo
eficiência, simplicidade e produtividade no processo de desenvolvimento. Além disso, a
plataforma conta com uma vasta gama de recursos e funcionalidades que facilitam a criação
de interfaces de usuário modernas e intuitivas, bem como a integração com outras ferramentas
e serviços de nuvem.
Outro ponto importante é que o .NET MAUI é uma plataforma de código aberto, com uma
comunidade ativa e engajada de desenvolvedores que contribuem para sua evolução e
aprimoramento constante. Isso garante a continuidade e aperfeiçoamento da plataforma, bem
como a disponibilidade de recursos e suporte por parte da comunidade.
Em resumo, o uso da plataforma .NET MAUI neste trabalho de conclusão de curso trará
benefícios significativos para o desenvolvimento do aplicativo móvel proposto, oferecendo
12
uma abordagem moderna, eficiente e flexível para a criação de aplicativos nativos
multiplataformas, com uma ampla variedade de recursos e suporte ativo da comunidade.

2.5 Linguagem de programação C#

A linguagem de programação escolhida para o desenvolvimento do aplicativo móvel proposto


neste trabalho de conclusão de curso é o C#. Segundo o livro "C# 6.0 e o .NET Framework
4.6" de ANDERSON, A. e FRANCESCHINI, F. (2016), o C# é uma linguagem de
programação moderna, de tipagem estática, orientada a objetos e projetada para fornecer uma
maneira mais simples e segura de programar.
De acordo com "Desenvolvimento Mobile com Xamarin.Forms" de SANTOS, D. (2020), o
C# possui uma sintaxe clara e objetiva, o que o torna uma linguagem de fácil compreensão,
além de ser altamente compatível com a plataforma .NET.
Além disso, "Xamarin.Forms: Desenvolvimento de Aplicativos Móveis Multiplataforma" de
TAVEIRA, H. (2019) destaca que o C# é uma linguagem com recursos avançados, como o
LINQ (Language-Integrated Query), que permite uma integração mais fácil e eficiente com
bancos de dados.
Em resumo, a escolha do C# como linguagem de programação para o desenvolvimento do
aplicativo móvel proposto neste trabalho de conclusão de curso é baseada em sua
modernidade, clareza de sintaxe, segurança e compatibilidade com a plataforma .NET,
tornando-se uma escolha adequada para o projeto.
2.6 API
Uma API (Interface de Programação de Aplicativos) é um conjunto de rotinas e padrões de
programação que são usados por aplicativos para se comunicar entre si. Em outras palavras,
uma API permite que diferentes aplicativos e sistemas conversem uns com os outros e
compartilhem informações de maneira organizada e estruturada.
As APIs são amplamente utilizadas no desenvolvimento de aplicativos móveis e web,
permitindo que desenvolvedores integrem funcionalidades de diferentes serviços em seus
aplicativos. Uma API pode fornecer dados de um banco de dados, serviços de localização,
autenticação de usuário, processamento de pagamentos, entre outras funcionalidades.

Figura 1- Modelo de uma REST API

13
Fonte: API (Application Programming Interface).” Techopedia.com. Web. Acesso em 12 de
abril de 2023. https://www.techopedia.com/definition/26363/Database-Programming-
interface-api.

A API faz uso dos verbos HTTP (Hypertext Transfer Protocol) para especificar a ação que um
cliente deseja executar em um recurso. Os verbos HTTP mais comuns são: GET, POST, PUT
e DELETE. O verbo GET é usado para recuperar um recurso, enquanto o POST é usado para
criar um novo recurso. O verbo PUT é usado para atualizar um recurso existente e o DELETE
é usado para excluir um recurso.
Na REST API, esses verbos são usados para manipular os recursos expostos pela API. O uso
adequado dos verbos HTTP é importante para garantir que a API siga as convenções RESTful
e seja consistente com os padrões da web.
Por exemplo, se um cliente deseja obter informações sobre um recurso, ele envia uma
solicitação GET para o endpoint que representa o recurso. Se o cliente deseja criar um novo
recurso, ele envia uma solicitação POST para o endpoint que representa o recurso. Se o
cliente deseja atualizar um recurso existente, ele envia uma solicitação PUT para o endpoint
que representa o recurso. Se o cliente deseja excluir um recurso, ele envia uma solicitação
DELETE para o endpoint que representa o recurso.
Dessa forma, a utilização dos verbos HTTP é fundamental para garantir uma comunicação
clara e consistente entre o cliente e a API.

2.7 Base de dados

Uma base de dados é uma coleção organizada de informações, que podem ser armazenadas e
acessadas eletronicamente a partir de um computador. Esses dados podem ser de diferentes
tipos, como textos, números, imagens e até mesmo arquivos de áudio e vídeo.
O uso de bases de dados é muito comum em diferentes áreas, desde empresas que armazenam
informações de seus clientes até em áreas como a saúde, onde as informações de pacientes e
seus históricos clínicos são registrados em bancos de dados eletrônicos.
A utilização de bases de dados é uma forma eficiente de gerenciar grandes quantidades de
informações e torna-las facilmente acessíveis e organizadas. Existem diferentes tipos de bases
de dados, como as relacionais, as hierárquicas e as orientadas a objetos, cada uma com suas
características e aplicações específicas.

14
Figura – 2: Base de dados

Fonte: https://www.ideiacentral.com/outsourcing/Database12s/Database-design

Um dos sistemas gerenciadores de bancos de dados mais utilizados é o MySQL, um software


de código aberto que é conhecido pela sua confiabilidade e escalabilidade. Ele oferece suporte
para diferentes linguagens de programação, como o C#, PHP, Python e o Java, e pode ser
utilizado em diferentes sistemas operacionais, como o Windows, o Linux e o macOS.

2.7.1 Sistema de gerenciamento de bases de dados MySQL

O MySQL é um sistema de gerenciamento de banco de dados relacional (RDBMS) de código


aberto muito popular. Ele foi criado pela empresa sueca MySQL AB, que foi adquirida pela
Oracle Corporation em 2008. Segundo Ramalho (2014), o MySQL é amplamente utilizado
em todo o mundo, especialmente na Web, onde é usado como banco de dados para sites de
comércio eletrônico, blogs, fóruns e outros aplicativos baseados na Web. O MySQL é
conhecido por sua facilidade de uso, desempenho e escalabilidade, além de ser compatível
com uma ampla variedade de plataformas e linguagens de programação.
O MySQL usa a linguagem SQL (Structured Query Language) para interagir com o banco de
dados. Segundo Date (2013), o SQL é uma linguagem de consulta padrão para bancos de
dados relacionais e é usada para criar, modificar e manipular dados em um banco de dados.
Ele permite que os usuários selecionem e atualizem informações, bem como execute
operações de junção e agregação.
Em termos de segurança, o MySQL possui recursos de segurança robustos que permitem que
os administradores de banco de dados controlem o acesso aos dados. Conforme descrito por
Dubois (2009), o MySQL suporta a autenticação baseada em senha, criptografia SSL e
permissões granulares para tabelas e colunas.

15
2.7.2 Linguagem SQL

A linguagem SQL (Structured Query Language) é amplamente utilizada em bancos de dados


relacionais, incluindo o MySQL. Segundo Elmasri e Navathe (2016), a SQL é uma linguagem
declarativa, que permite ao usuário especificar o que é desejado em vez de como obtê-lo,
facilitando assim a consulta e manipulação de dados armazenados em um banco de dados.
Além disso, a SQL é uma linguagem padronizada, o que significa que ela é suportada por
muitos sistemas de gerenciamento de bancos de dados (SGBDs).
A linguagem SQL possui três sublinguagens: DDL (Data Definition Language), DML (Data
Manipulation Language) e DCL (Data Control Language). A DDL é responsável por definir a
estrutura da base de dados, como criar e modificar tabelas, índices e restrições. Já a DML é
responsável por manipular os dados, como inserir, atualizar e excluir registros. A DCL, por
sua vez, é responsável pelo controle de acesso aos dados, definindo quem pode acessar e
modificar a base de dados.
Além disso, a linguagem SQL possui diversos comandos, funções e operadores que permitem
realizar consultas mais complexas e sofisticadas. alguns exemplos de comandos SQL são
SELECT, FROM, WHERE, ORDER BY, GROUP BY, JOIN, UNION e SUBQUERY.
No contexto do MySQL, a SQL é utilizada para realizar diversas tarefas, desde a criação e
modificação de tabelas até a inserção, atualização e exclusão de dados. De acordo com Silva e
Moraes (2015), a SQL permite a realização de consultas complexas e poderosas,
possibilitando a obtenção de informações específicas de maneira rápida e eficiente.

16
III. METODOLOGIA
Neste capítulo, serão apresentadas as metodologias utilizadas no desenvolvimento deste
trabalho. Serão descritos os procedimentos adotados para a coleta de dados, o processo de
análise e o desenvolvimento do projeto.

3.1. Tipo de pesquisa

Este trabalho se baseia em uma pesquisa de desenvolvimento, que segundo Gil (2002), tem
como objetivo produzir conhecimentos para a construção de algo novo, visando solucionar
problemas específicos. Neste caso, será desenvolvido um aplicativo móvel para a plataforma
Android, utilizando a linguagem C# e a plataforma de desenvolvimento .NET MAUI, para
expandir as funcionalidades do portal de notícias SttopNews, que não possui um aplicativo
próprio para dispositivos móveis.~

3.2. Coleta de dados

Para o desenvolvimento deste trabalho, será realizada uma pesquisa bibliográfica e


documental, com a finalidade de aprofundar os conhecimentos sobre as tecnologias utilizadas,
bem como sobre o mercado de aplicativos móveis e os desafios enfrentados pelos portais de
notícias para se manterem competitivos em um ambiente cada vez mais digital e conectado.

3.3. Análise dos dados

Após a coleta de dados, será realizada uma análise das informações obtidas, buscando
identificar as principais características e necessidades dos usuários de aplicativos móveis de
notícias, bem como as melhores práticas de desenvolvimento para garantir a qualidade e a
usabilidade do produto final.

3.4. Desenvolvimento do projecto

Com base nas informações coletadas e analisadas, será realizado o desenvolvimento do


aplicativo móvel, seguindo as melhores práticas de programação e design para dispositivos
móveis, utilizando a linguagem C# e a plataforma de desenvolvimento .NET MAUI, bem
como a integração com a API desenvolvida em C# e o banco de dados MySQL.

17
3.5. Testes e validação

Após o desenvolvimento do aplicativo móvel, serão realizados testes para validar o seu
funcionamento e a usabilidade, bem como a verificação do cumprimento dos requisitos
definidos no início do projeto. Serão utilizadas técnicas de teste de software para garantir a
qualidade e a confiabilidade do produto final.

3.6. Cronograma
A seguir, é apresentado o cronograma das atividades a serem realizadas neste trabalho:

Tempo estimado Atividades


Pesquisa bibliográfica e documental 1 mês
Análise dos dados 1 mês
Desenvolvimento do projeto 2 meses
Testes e validação 2 semanas
Elaboração do relatório final 1 mês

3.7 Ferramentas utilizadas

As ferramentas utilizadas neste trabalho para o desenvolvimento do aplicativo móvel de


notícias foram o Visual Studio 2022, o .NET MAUI, o MySQL, o Draw.io e o Visual Studio
Code. O Visual Studio 2022 é uma ferramenta de desenvolvimento integrado (IDE) e foi
utilizada para o desenvolvimento e depuração do código fonte do aplicativo. O MySQL é um
sistema de gerenciamento de banco de dados relacional de código aberto amplamente
utilizado em aplicativos da web e móveis. O Draw.io é uma ferramenta de diagramação usada
para criar diagramas de caso de uso, de classe e o diagrama de entidade relacionamento. O
Visual Studio Code é um editor de código-fonte leve e de plataforma cruzada, foi usado para
escrever, depurar e implementar código-fonte da API REST.
Com essas ferramentas, foi possível desenvolver um aplicativo móvel de qualidade e com
funcionalidades essenciais para o usuário.

18
IV. RESULTADOS E DISCUSSÃO
Neste capítulo, serão apresentados os resultados da implementação da aplicação móvel de
notícias utilizando a plataforma .NET MAUI, API e banco de dados MySQL. Serão descritas
as funcionalidades implementadas e os resultados obtidos em relação aos objectivos propostos
no início do projeto. A análise dos resultados permitirá a avaliação do desempenho da
aplicação e a identificação de possíveis melhorias e ajustes a serem realizados.

4.1 Requisitos do sistema

4.1.1 Requisitos funcionais

Requisitos funcionais são as declarações de serviços que o sistema deve fornecer, como o
sistema deve reagir a entradas específicas e de como o sistema deve se comportar em
determinadas situações. Para o sistema da sttopnews definimos os seguintes requisitos
funcionais:
 RF01: O sistema deve permitir criar nova conta;
 RF02: O sistema deve permitir logar no sistema;
 RF03: O sistema deve permitir repor senha;
 RF04: O sistema deve permitir cadastrar contacto do redactor;
 RF05: O sistema deve permitir que ao usuário pesquisar notícias;
 RF06: O sistema deve permitir o administrador validar as matérias e os respetivos
comentários;

4.1.2 Requisitos não funcionais

Requisitos não funcionais são restrições sobre os serviços ou as funções oferecidas pelo
sistema. Eles incluem restrições de timing, restrições sobre o processo de desenvolvimento e
padrõe Para o sistema da sttopnews definimos os seguintes requisitos não funcionais:
 RNF01: A comunicação do servidor com o ambiente mobile deverá ser através de API
REST;
 RNF02: O sistema mobile deve suportar dispositivos android com versão 5 ou
superior;

19
 RNF03: O sistema deve suportar ao menos 50 usuários simultâneos sem que afete a
boa funcionalidade do mesmo;
 RNF06: O aplicativo deve possuir tempo de resposta adequado para acções do
usuário.

4.2 Diagrama de caso de uso


O diagrama de caso de uso representa as principais funcionalidades do aplicativo móvel da
STTOP News. Ele descreve as ações que os usuários podem realizar no aplicativo, como
visualizar notícias, pesquisar por tópicos específicos. Além disso, o diagrama de caso de uso
também inclui funcionalidades de gerenciamento do sistema, como a administração do
conteúdo do aplicativo e a análise de dados dos usuários. Com este diagrama, podemos ter
uma visão geral de como o aplicativo funcionará em termos de interação do usuário e do
sistema.

Figura – 3: Diagrama de caso de uso

20
4.3 Diagrama de classes

O diagrama de classes do presente trabalho representa as classes e os relacionamentos entre


elas que são necessários para o desenvolvimento do aplicativo móvel e do portal de notícias.
Ele descreve as entidades do sistema, seus atributos e métodos, bem como os relacionamentos
entre elas.
As principais classes presentes no diagrama de classes são: Usuário, Notícia, Comentário e
Categoria. Os relacionamentos presentes no diagrama de classes são de associação, onde as
classes estão conectadas umas às outras. Por exemplo, a classe Notícia está associada à classe
Usuário, já que uma notícia é publicada por um usuário. A classe Comentário está associada
21
tanto à classe Usuário quanto à classe Notícia, já que um usuário pode fazer um comentário
em uma ou mais notícias.
Em resumo, o diagrama de classes descreve as classes e seus relacionamentos que são
essenciais para o funcionamento do aplicativo móvel e do portal de notícias, permitindo uma
melhor visualização da estrutura do sistema e facilitando o desenvolvimento do mesmo.

Figura – 4: Diagrama de classes do sistema

4.5 Diagrama de entidade e relacionamento

O diagrama de entidade e relacionamento do presente trabalho representa as


entidades(tabelas) e os relacionamentos entre elas que são necessários para o desenvolvimento
do banco de dados do portal de notícias. Ele descreve as entidades do banco de dados, seus
atributos, e os relacionamentos entre elas. As principais tabelas presentes no diagrama de
entidade e relacionamento são: Funcionários, Leitores, Notícias, Categorias e Comentários.
Os relacionamentos presentes no diagrama de entidade e relacionamento têm as seguintes
cardinalidades: A entidade funcionários está relacionada com a entidade Notícias, já que uma

22
notícia é publicada por um funcionário. A entidade Notícias também está relacionada com a
entidade Comentários, já que uma notícia pode ter zero ou muitos comentários. A entidade
Leitores está relacionada com a entidade comentários, já que um leitor pode fazer zero ou
muitos comentários em uma ou mais notícias. A entidade Categorias está relacionada com a
entidade Notícias, já que uma categoria pode ter uma ou mais notícias e uma notícia só pode
pertencer a uma única categoria.

Figura – 5: Diagrama de entidade e relacionamento

4.6 Prototipagem

A prototipação de telas auxilia no desenvolvimento do sistema, pois é possível ter um melhor


entendimento de como o sistema final se comportará e, com isso, também se têm uma base
para desenvolver o sistema, seja visualmente ou até mesmo comportamentos dos botões.

Figura 6 – Tela de carregamento

Nesta figura apresentamos a tela de carregamento do aplicativo, também conhecida como


“SplashScream”.

23
Figura 7 – Tela inicial
Nesta figura apresentamos a tela inicial do aplicativo, aqui os usuários poderão visualizar as
notícias, e também terão a possibilidade de navegar para outras telas do aplicativo.

Figura 8 – Menu hambúrguer

Nesta figura apresentamos o menu lateral que pode ser acionado clicando no botão de menu
Hambúrguer do aplicativo, aqui os usuários poderão visualizar as notícias por categoria.

24
Figura 9 – Tela de notícias

Nesta figura apresentamos uma tela que pode ser chamada ao clicar numa das notícias, ela
abre exibindo a notícia e os seus detalhes.

Figura 10 – Tela de comentários

25
Nesta figura apresentamos uma tela para visualização e postagens de comentários

Figura 11 – Telas de login e cadastramento

Nesta figura apresentamos as telas para login e cadastramento dos usuários (Administrador,
redatores e leitores).

Figura 12 – Tela do administrador

26
Nesta figura apresentamos as telas para o administrador. Aqui o admin pode fazer a gestão
dos funcionários, e pode navegar até a uma tela (Figura – 12) de notícias publicadas,
pendentes, com comentários por avaliar e deletar as notícias.

Figura 13 – Tela de visualização das tarefas do administrador

Aqui ele faz a gestão das notícias publicas, pendentes, remover notícias e pode navegar até a
tela de validação dos das notícias.

V. CONCLUSÕES
27
Em conclusão, podemos afirmar que o desenvolvimento de um aplicativo móvel para o portal
de notícias STTOPNEWS foi uma medida acertada, uma vez que as hipóteses levantadas
foram confirmadas. A criação do aplicativo móvel permitiu que o portal expandisse sua
presença, aprimorasse a experiência do usuário e oferecesse uma navegação mais intuitiva e
ágil. Com a disponibilidade do aplicativo, os usuários podem acessar as notícias de forma
mais fácil e rápida, aumentando o número de acessos e, consequentemente, a fidelização dos
usuários, cumprindo assim a hipótese H1. Além disso, a implementação da API integrada com
um banco de dados em um aplicativo móvel desenvolvido em Dotnet MAUI permitiu que o
portal de notícias STTOPNEWS tivesse mais controle sobre o acesso às informações e o
gerenciamento das matérias publicadas e os respetivos comentários, melhorando a
performance e a segurança do aplicativo, cumprindo assim a hipótese H2. Dessa forma,
podemos concluir que o desenvolvimento do aplicativo móvel foi uma solução eficiente e
funcional para a problemática inicialmente apresentada.

28
VI. BIBLIOGRAFIA

ANDERSON, A.; FRANCESCHINI, F. C# 6.0 e o .NET Framework 4.6. São Paulo:


Novatec, 2016.

Date, C. J. (2013). An introduction to database systems. Pearson Education India.

Dubois, P. (2009). MySQL. Addison-Wesley Professional.

ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. 6. ed. São Paulo:
Pearson, 2016.

Figueiredo, A. (2016). Desenvolvimento de Aplicativos para Dispositivos Móveis: Uma


Abordagem Prática. São Paulo: Novatec Editora.

Lago, L. (2019). Jornalismo Mobile: Como Produzir Notícias para Dispositivos Móveis. São
Paulo: Editora Senac São Paulo.

Mattos, C. L., & Barbosa, L. S. (2015). Desenvolvimento de Aplicativos para Dispositivos


Móveis. Rio de Janeiro: Editora Ciência Moderna.

Moraes, L., & Barbosa, R. (2018). Desenvolvimento de Aplicativos Móveis para Empresas.
São Paulo: Editora Érica.

Moraes, L., & Barbosa, R. (2018). Desenvolvimento de Aplicativos Móveis para Empresas.
São Paulo: Editora Érica.

Pimentel, A. (2017). Portais de Notícias: Uma Análise do Jornalismo Digital. São Paulo:
Editora Atlas.

Ramalho, N. (2014). MySQL. Casa do Código. SANTOS, D. Desenvolvimento Mobile com


Xamarin.Forms. São Paulo: Casa do Código, 2020.

Silva, C. C. B. (2013). Introdução à ciência da computação: da lógica aos jogos com Ruby.
Novatec Editora.

SILVA, Júlio Cesar Santos; MORAES, Paulo Sérgio. Desenvolvimento web com PHP e
MySQL. São Paulo: Novatec Editora, 2015.

TAVEIRA, H. Xamarin.Forms: Desenvolvimento de Aplicativos Móveis Multiplataforma.


São Paulo: Novatec, 2019.

29

Você também pode gostar