Você está na página 1de 46

REDE GONZAGA DE ENSINO SUPERIOR

FACULDADE REGES RIBEIRÃO PRETO


ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

TRANSPARÊNCIA CIDADÃO

ANDRÉ LUIS MASSON


DANILO REPAS PINHA

RIBEIRÃO PRETO
2021
ANDRÉ LUIS MASSON
DANILO REPAS PINHA

TRANSPARÊNCIA CIDADÃO

Trabalho de conclusão de curso de


Tecnologia em Análise e Desenvolvimento
de Sistemas apresentado à Faculdade
Reges de Ribeirão Preto, como requisito
parcial para obtenção do título de Tecnólogo
em Análise e Desenvolvimento de Sistemas.

Orientador: Prof. Me Daniel Rosa da Silveira


Co–Orientador:Prof Me Hencrer Gonçalves
da Silva

Ribeirão Preto
2021
Autorizo a reprodução e divulgação total ou parcial deste trabalho, por qualquer meio
convencional ou eletrônico, para fins de estudo e pesquisa, desde que citada a fonte.
“A persistência é o caminho do êxito.”
(Charles Chaplin)
AGRADECIMENTOS

Primeiramente a Deus por ter permitido essa caminhada e ter nos


capacitado durante todo desenvolvimento. A toda nossa família. A todos os
professores que compartilharam seus conhecimentos durante o curso, em
especial os nossos orientadores Prof. Me Daniel Rosa Silveira, Prof. Hencrer
Gonçalves.
“Pense constantemente sobre
como você pode fazer as coisas melhor
e questione a si mesmo."

(Elon Musk)
RESUMO

O projeto Transparência Cidadão veio com objetivo de informar a população de


uma forma simples e direta, contendo informações sobre as votações ocorridas
na câmara dos vereadores de uma forma mais resumida de fácil acesso e com
aviso de atualizações diárias conforme os trabalhos que acontecem na câmara.
O usuário acessa ao portal Transparência Cidadão, se cadastra e conforme as
atualizações no portal o cadastrado recebe um e-mail de aviso sobre o que está
sendo votado naquele dia. Conforme pesquisa realizada foi identificado uma
quantidade significativa de votantes que não acompanham o trajeto de seu
vereador após as eleições, com o projeto esta discrepância, tende a ser
diminuída, pois o usuário é avisado via e-mail de uma atualização sobre uma
votação na câmara, induzindo o mesmo a acessar o site e ficar por dentro das
matérias e da participação do seu vereador.

Palavras–chave: Desenvolvimento de software, Política, Câmara de vereadores


Municipal
ABSTRACT

The Citizen Transparency project, with the objective of informing the population
in a simple and direct way, came containing information about the votes that took
place in the city council in a more summarized form, with easy access and with
notice of updates, according to the work taking place in the.
The user accesses the Citizen Transparency portal, registers and, according to
the updates on the portal, the registered person receives an email warning about
what is being voted on that day. According to the research carried out, a
necessary number of voters who do not follow the path of their councilor after the
review were identified, with the project this discrepancy, if reduced, as the user is
notified via email of an update on a vote in the chamber, inducing him to access
the site and stay on top of matters and the participation of his councilor.

Keywords: Software development, policy, City council


LISTAS DE FIGURAS

Figura 1 – Linha Do Tempos Asp Net Core............................................................................22


Figura 2 – Arquitetura Do Asp.Net Core............................................................................... 25
LISTAS DE GRÁFICOS

Gráfico 1 – Qual sua ideologia política...................................................................................35


Gráfico 2 – Qual partido você se identifica ........................................................................... 35
Gráfico 3 – Qual partido você menos se identifica ............................................................... 36
Gráfico 4 – Qual sua opinião sobre a legislatura dos vereadores anteriores ....................... 36
Gráfico 5 – Qual sua opinião sobre a legislatura dos vereadores atuais ............................. 37
Gráfico 6 – Você se sente representado pelo vereador em que votou ............................... 37
Gráfico 7 – acompanha as votações que acontecem na câmara dos vereadores ............... 38
Gráfico 8 – Você é ativo junto ao seu vereador após as eleições ........................................ 38
Gráfico 9 – O vereador que você votou cumpri com as propostas feitas em campanha ..... 39
Gráfico 10 –Você confia no sistema de votação atual através da urna eletrônica. ............... 39
Gráfico 11 –Expresse sua opinião sobre a política no âmbito municipal. ............................. 40
SUMÁRIO

INTRODUÇÃO ................................................................................................ 9
1.FUNDAMENTAÇÃO TEÓRICA ........................................................ 10
1.1.1 Apresentação do Problema ........................................................ 10
1.1.2 Formulação da proposta .................................................... 11
1.2. Objetivo ........................................................................................... 13
1.2.1 GERAL .......................................................................................... 13
1.2.2 Específicos .............................................................................. 13
1.2.3. Metodologia ....................................................................... 13
1.3 Marco teórico ............................................................................ 14
1.4. Justificativa .................................................................................... 14
2.DESENVOLVIMENTO TÉCNICO .................................................... 15
2.1. INTRODUÇÃO A LINGUAGEM C# .................................................... 15
2.2. VISUAL STUDIO ............................................................................ 16
2.4. ASP.NET CORE .................................................................................... 22
2.5.MySql ............................................................................................. 25
2.5.1 Compatibilidade ............................................................................. 26
2.5.2 Licença ........................................................................................... 26
2.5.3 Características................................................................................ 27
3.RESULTADO ............................................................................................ 29
4.CONCLUSÃO ........................................................................................... 34
Anexo I ...................................................................................................... 35
REFERÊNCIAS .......................................................................................... 41
INTRODUÇÃO

Este trabalho de conclusão de curso consiste em um projeto de


transparência voltado diretamente ao público, com a intenção de resumir
e facilitar o acesso de pessoas leigas e com pouco tempo disponível para
se inteirar da votação ocorrida na câmara dos vereadores da cidade de
Ribeirão Preto.
Hoje o site da câmara dos vereadores atende ao público via portal
de informações com certa usabilidade deficitária.
Com o intuito de facilitar o acesso à informação, trazendo com
mais clareza e resumida as votações pautadas durante o decorrer do ano
trazendo com mais clareza no primeiro acesso do usuário(a).
Através da aplicação desenvolvida em .NET Framework MVC,
teremos uma base de cadastro onde coletaremos os dados dos
cidadãos, com foco na escolha de um tema que cada indivíduo deseja,
por exemplo: Educação, Saúde, Segurança e demais assuntos de
interesse. Assim que tiver entrado em votação a matéria do tema
escolhido, avisaremos o cidadão através do e-mail informando sobre
decisão da votação.
A viabilidade deste trabalho é bastante positiva pois mostra
através de pesquisas que a população está cada vez mais envolvida e de
olho na política e vem acompanhando mais de perto seus representantes
na qual confiou seu voto.
Segundo a pesquisa da universidade PUCRS entre os
entrevistados de 18 a 34 anos, 47,4% têm política como interesse na
hora da busca de informação e 70,24% procuram se informar
diariamente. A faixa de 25 a 34 anos está mais interessada em
conteúdos voltados ao assunto sobre política.
A ideia é que o cidadão receba o resultado final da votação do
tema escolhido previamente por ele.

9
FUNDAMENTAÇÃO TEÓRICA

1.1.1 Apresentação do Problema

Segundo Secretaria de Transparência (2013), 1.226 pessoas de 16


anos ou mais revelou que os brasileiros estavam mais otimistas com o
futuro do país na situação econômica para com a população em geral,
durante este período 44,7% dos entrevistados afirmaram que sua
situação financeira permaneceu estável, porém 35,6% diziam o contrário
com relação a situação apresentada, e para 17,9% dos entrevistados a
própria situação melhorou economicamente.
Ainda na mesma pesquisa foi apresentado que segurança pública
é a maior preocupação dos brasileiros, sendo ela 26,3%, com saúde
pública em segunda lugar com 24,6% e 18,8% outros.
Já em outubro de 2020, segundo pesquisa realizada pela
Confederação Nacional do Transporte (CNT) a maioria da população
perdeu o interesse em política, com apenas 12,8% dos entrevistados
respondendo sobre interesse elevado na questão. Essa baixa
significativa de busca por política e interesse público parte do princípio
que mesmo após diversas fases a política brasileira vem sendo alvo de
diversas críticas, seja ela por conta dos escândalos de corrupção como o
mensalão em 2005, em 2014 com o “petrolão” e recentemente a
operação lava jato, ou mesmo por conta de a população ter perdido a
confiança nos políticos em geral. O “petrolão” nada mais é do que a outra
face da chamada operação “lava jato”. Esta resultou em 10 ações penais
que tramitam na 13ª Vara Federal de Curitiba, sob a presidência do juiz
federal Sérgio Moro, com vários diretores dos mais importantes
empreiteiras do Brasil e da Petrobras presos desde novembro de 2014.
Por tanto, houve a iniciativa de proporcionar ao eleitor/apreciador do
mundo político, e não apreciadores, simplesmente por se preocupar com
o que é votado na câmara, proporcionando a facilidade de acesso a

10
informações podendo fiscalizar não só seu eleito como os demais, no
âmbito municipal.

1.1.2 Formulação da proposta

A iniciativa “Transparência Cidadão” tem com intuito simplificar e


agilizar a busca por informação do que se está em pauta de votação
diariamente na câmara dos vereadores da cidade de Ribeirão Preto,
podendo estender para demais municípios.
Em suma será uma ferramenta apartidária de fácil acesso de forma
gratuita, respeitando a LGPD com foco em conscientização e
transparência resumida.
A Lei Geral de Proteção de Dados Pessoais (LGPD), Lei n°
13.709/2018, foi promulgada para proteger os direitos fundamentais de
liberdade e de privacidade e a livre formação da personalidade de cada
indivíduo. A Lei fala sobre o tratamento de dados pessoais, dispostos em
meio físico ou digital, feito por pessoa física ou jurídica de direito público
ou privado, englobando um amplo conjunto de operações que podem
ocorrer em meios manuais ou digitais.
No âmbito da LGPD, o tratamento dos dados pessoais pode ser
realizado por dois agentes de tratamento, o Controlador e o Operador.
Além deles, há a figura do Encarregado, que é a pessoa indicada pelo
Controlador para atuar como canal de comunicação entre o Controlador,
o Operador, os(as) titulares dos dados e a Autoridade Nacional de
Proteção de Dados (ANPD).
Tema fundamental trabalhado pela Lei, o tratamento de dados diz
respeito a qualquer atividade que utiliza um dado pessoal na execução
da sua operação, como, por exemplo: coleta, produção, recepção,
classificação, utilização, acesso, reprodução, transmissão, distribuição,
processamento, arquivamento, armazenamento, eliminação, avaliação

11
ou controle da informação, modificação, comunicação, transferência,
difusão ou extração.
Antes de iniciar qualquer tipo de tratamento de dados pessoais, o
agente deve se certificar que a finalidade da operação está registrada de
forma clara e explícita e os propósitos especificados e informados ao(à)
titular dos dados. No caso do setor público, a principal finalidade do
tratamento está relacionada à execução de políticas públicas,
devidamente previstas em lei, regulamentos ou respaldadas em
contratos, convênios ou instrumentos semelhantes.
O compartilhamento dentro da administração pública, no âmbito da
execução de políticas públicas, é previsto na Lei e dispensa o
consentimento específico. Contudo, o órgão que coleta deve informar
com transparência qual dado será compartilhado e com quem. Do outro
lado, o órgão que solicita receber o compartilhamento precisa justificar
esse acesso com base na execução de uma política pública específica e
claramente determinada, descrevendo o motivo da solicitação de acesso
e o uso que será feito com os dados. Informações protegidas por sigilo
seguem protegidas e sujeitas a normativos e regras específicas. Essas e
outras questões fundamentais devem ser observadas pelos órgãos e
entidades da administração federal no sentido de assegurar a
conformidade do tratamento de dados pessoais de acordo com as
hipóteses legais e princípios da LGPD.
A Lei estabelece uma estrutura legal de direitos dos(as) titulares de
dados pessoais. Esses direitos devem ser garantidos durante toda a
existência do tratamento dos dados pessoais realizado pelo órgão ou
entidade. Para o exercício dos direitos dos(as) titulares, a LGPD prevê
um conjunto de ferramentas que aprofundam obrigações de
transparência ativa e passiva, e criam meios processuais para mobilizar
a Administração Pública.

12
1.2. Objetivo

1.2.1 GERAL

Objetivo geral é desenvolver uma plataforma com intuito de levar


informação da Câmara dos Vereadores à população, contribuindo e
incentivando para a participação de todos, consequentemente,
aumentando o interesse por política e auxiliando o cidadão a exercer seu
papel fiscalizador.

1.2.2 Específicos

Nossos objetivos específicos são:


• Aprofundar C#, .NET Framework MVC
• Desenvolver Plataforma Transparência Cidadão
• Baco de Dados MySQL Workbench

1.2.3 Metodologia

Realizado a pesquisa com 106 eleitores que responderam 11


perguntas sobre política e assuntos relacionados a Câmara de vereadores
de Ribeirão Preto, obtivemos os seguintes resultados que podemos
analisar. A maioria dos eleitores está totalmente insatisfeitos com trabalho
dos vereadores e desacreditados com a política atual, nosso trabalho vem
justamente levar a informação aos eleitores e aumentar o interesse sobre a
câmara dos vereadores e as matérias que são discutidas, além de deixar o
cidadão muito mais informado e por dentro dos assuntos da câmara vamos
levar muito mais conhecimento e informação para cobrar melhor seu
vereador eleito.

13
1.3 Marco teórico

O software Transparência cidadão e será um portal online de


captação de opiniões públicas dos cidadãos referente a política da
câmara municipal dos vereadores de Ribeirão Preto.
As opiniões serão cadastradas pela web a partir do site, através de
um formulário objetivo para facilitar a experiência do usuário e o
mesmo receber informações referente ao conteúdo desejado.

Acompanhar notícia sobre a câmara dos vereadores em tempo


real, podendo verificar o que estão comentando e o que está
acontecendo na cidade de Ribeirão Preto.

1.4. Justificativa

Empregar a tecnologia para acessar a informação de um jeito mais fácil e


simples, que possa atender o interesse da população sobre a gestão dos
vereadores os assuntos e materiais discutidos dia-a-dia na câmara. Com o
resultado das votações o cidadão recebe por e-mail a informação de acordo
com as votações ocorridas na câmara.

14
DESENVOLVIMENTO TÉCNICO

2.1. INTRODUÇÃO A LINGUAGEM C#

A linguagem C# faz parte do conjunto de ferramentas oferecidas na


plataforma .NET e surge como uma linguagem simples, robusta, orientada a
objetos, fortemente tipada e altamente escalável a fim de permitir que uma
mesma aplicação possa ser executada em diversos dispositivos de hardware,
independentemente destes serem PCs, handhelds ou qualquer outro dispositivo
móvel.
O avanço das ferramentas de programação e dos dispositivos eletrônicos
inteligentes, criou problemas e novas exigências. As novas versões de
componentes compartilhados eram incompatíveis com o software antigo. Os
desenvolvedores reconheceram a necessidade de software que fosse acessível
para qualquer um e disponível por meio de praticamente qualquer tipo de
dispositivo. Para tratar dessas necessidades, a Microsoft anunciou sua iniciativa
.NET e a linguagem de programação C#.
Durante o desenvolvimento da plataforma .NET, as bibliotecas foram
escritas originalmente numa linguagem chamada Simple Managed C (SMC), que
tinha um compilador próprio. Mas, em Janeiro de 1999, uma equipe de
desenvolvimento foi formada por Anders Hejlsberg, que fora escolhido
pela Microsoft para desenvolver a linguagem. Dá-se início à criação da
linguagem chamada Cool. Um pouco mais tarde, em 2000, o projeto .NET era
apresentado ao público na Professional Developers Conference (PDC), e a
linguagem Cool fora renomeada e apresentada como C#.
A criação da linguagem, embora tenha sido feita por vários
programadores, é atribuída principalmente a Anders, hoje um Distinguished
Engineer na Microsoft. Ele fora o arquiteto de alguns compiladores da Borland, e
entre suas criações mais conhecidas estão o Turbo Pascal e o Delphi.
A Microsoft submeteu o C# à ECMA para uma padronização formal. Em
dezembro de 2001 a associação liberou a especificação ECMA-
334 Especificação da Linguagem C#. Em 2003 tornou-se um

15
padrão ISO (ISO/IEC 23270). Há algumas implementações em desenvolvimento,
destacando-se a Mono, implementação open source da Novell, o dotGNU e
o Portable.NET, implementações da Free Software Foundation, e o BDS 2008.

2.2. VISUAL STUDIO

Microsoft Visual Studio é um ambiente de desenvolvimento integrado da


Microsoft para desenvolvimento de software especialmente dedicado ao .NET
Framework e às linguagens Visual Basic, C, C++, C# e F#
Visual Studio 97: Lançada em 1997, incluía o Visual Basic 5.0, Visual C++
5.0, Visual J++ e Visual FoxPro 5.0.
Visual Studio 6.0: Publicada em 1998, é a versão mais conhecida e
utilizada no mundo. Incluía o Visual Basic 6.0 e o Visual C++ 6.0.
Visual Studio .NET: a maior mudança desta versão, lançada em 2002, foi
a introdução do .NET Framework. A partir de então os códigos-fontes não são
transformados em linguagem de máquina e sim num formato intermediário
chamado Microsoft Intermediate Language (MSIL) ou Common Intermediate
Language (CIL). Este formato poderia ser executado em qualquer arquitetura de
máquina, desde que houvesse um .NET Framework instalado nela.
Junto com o Framework chegou também a linguagem C#. Dizem que é
o Java da Microsoft por causa das semelhanças com a linguagem criada
pela Sun Microsystems.
Visual Studio .NET 2003: Uma evolução menor do .NET que introduziu a
versão 1.1 do Framework. E a primeira versão que suporta o desenvolvimento
de software para dispositivos móveis, usando o .NET Compact Framework.
Visual Studio 2005: Agora sem o .NET no nome, esta versão (lançada em
outubro de 2005) trabalhava com a versão 2.0 do .NET Framework. Incluía
também um servidor web local, permitindo que aplicações ASP.NET pudessem
ser hospedadas localmente durante seu desenvolvimento e testes.

Visual Studio 2008: Com foco no desenvolvimento de aplicações


para Windows Vista, Office 2007 e Web, foi lançado em novembro de 2007.

16
Visual Studio 2010: Lançado em abril de 2010 com o .NET Framework 4 e
suporte a aplicações Windows 7. Esta versão não suporta mais desenvolvimento
móvel anterior ao Windows Phone 7.

Visual Studio 2012: Esta versão conta com suporte ao desenvolvimento


de aplicações WinRT (Windows Runtime) e só pode ser instalado em Windows a
partir da versão 7. O Visual Studio 2012 tem aproximadamente 50 milhões de
linhas de código.
Visual Studio 2013: A partir desta versão conta com suporte a
desenvolvimento de aplicativos universais para Windows 8.1. Apesar do nome,
os aplicativos universais compartilham apenas parte do código. As telas, por
exemplo, devem ficar em projetos separados (um para desktop e outro para
smartphones). No final de 2014 é lançada a versão Community, gratuita para
desenvolvedores individuais e pequenos times.
Visual Studio 2015: Lançada em julho de 2015, suporta o
desenvolvimento de aplicações para Windows 10 utilizando a UWP (Universal
Windows Platform). A versão Community continua gratuita para
desenvolvedores individuais, estudantes e pequenos times.
A edição 2017 conta com avanços interessantes sobretudo para quem faz
uso do XAML, linguagem desenvolvida pela Microsoft para o desenvolvimento
de aplicativos móveis; há novidades de usabilidade que permitem abrir um
arquivo sem a necessidade de se criar um novo projeto ou solução, além de
ganhos relevantes em performance.
Uma novidade bem vinda é uma modificação no processo de instalação.
Agora, é possível escolher que dependências o desenvolvedor deseja instalar,
tornando o processo de adaptação do Visual Studio 2017 muito mais racional do
que o usado no 2015. Na edição anterior, era preciso instalar os complementos
depois, num processo não muito amigável a novatos.
Usuários ambientados com a edição anterior do Visual Studio não
encontrarão muitas diferenças à primeira vista, já que a interface gráfica sofreu
poucas alterações. Entretanto, a promessa da Microsoft é de um desempenho
superior, graças a uma revisão da estrutura do Visual Studio para que ele rode

17
de forma mais fluida e não pese tanto na máquina. Entretanto, em máquinas
com menos fôlego, os ganhos de performance podem acabar diluídos por conta
de limitações de processador e hardware: na máquina em que o Visual Studio
2017 foi testada, o desempenho não aparentou grandes diferenças quando
comparado com a edição 2015.
Entre os ajustes bem-vindos, o Visual Studio 2017 passará a oferecer um
preview para aplicações criadas para Android ou iOS, dando ao programador a
perspectiva de acompanhar a evolução do seu trabalho à medida que criam o
código da aplicação, medida bem-vinda e que reproduz o que já era oferecido
há bastante tempo para quem usa C# para criar softwares para Windows.
A atualização 2017 do Visual Studio mantém o ambiente de
desenvolvimento da Microsoft relevante por oferecer toda a base necessária
para que o desenvolvedor escreva software para os sistemas da Microsoft e
além. Com melhorias no processo de personalização da ferramenta, mais
velocidade no carregamento, além de uma integração melhor com direito a
preview do Xamarin Forms para desenvolvedores de apps para celulares, o
Visual Studio 2017.
A ferramenta não para de evoluir em breve teremos mais novidade
lançamento da última versão pela Microsoft Visual Studio 2022, que atualmente
está em fase de testes e em breve estará disponível para download.

18
2.3. ARQUITETURA DO .NET FRAMEWORK

NET Framework é um ambiente de execução de tempo de execução que


gerencia os aplicativos direcionados .NET Framework. Ele consiste no Common
Language Runtime, que fornece gerenciamento de memória e outros serviços do
sistema, além de em uma biblioteca de classes extensa, o que permite que
programadores usem o código robusto e confiável para todas as áreas principais
do desenvolvimento de aplicativos.
 Uma estrutura para apoiar ou cercar algo, um esqueleto usado como
base para algo que está sendo construído.
 Uma plataforma de trabalho externa; Um andaime.
 Uma estrutura fundamental.
 Um conjunto de suposições, conceitos, valores e práticas que
constitui uma forma de ver a realidade.
 Um framework de software é um conjunto de bibliotecas (códigos)
que nos auxiliam a desenvolver um sistema.
A criação de um framework deve ser muito bem estudada e planejada,
pois corre-se o risco do framework mais atrapalhar que ajudar.
Inúmeras vezes tive que trabalhar com frameworks (por imposição da
empresa contratante) muito mal feitos. Dificuldade de implementar
funcionalidades novas ou dar manutenção nas existentes, problemas de
performance, entre outras coisas que não cabe no assunto deste post…podem
ter certeza que discutiremos estes problemas e outros que envolvem
frameworks mal concebidos em uma ocasião apropriada.
O .NET Framework
No contexto do .NET, o framework vai um pouco além das bibliotecas,
conforme definição da Microsoft:
“um ambiente de execução gerenciado que fornece uma variedade de
serviços para os aplicativos.”
O .NET Framework se compõe de dois principais elementos:
CLR (Common Language Runtime);

19
Biblioteca de classes.
Ela foi projetada para atender os seguintes objetivos:
Disponibilizar um ambiente de programação consistente e orientado a
objetos, independente se este objeto é executado localmente e/ou distribuído
pela internet ou executado localmente;
Disponibilizar um ambiente de execução que minimize conflitos de
versionamento;
Disponibilizar um ambiente de execução seguro contra códigos escrito
por terceiros;
Eliminar problemas de desempenho dos ambientes interpretados;
Tornar a experiência do desenvolvedor consistente entre os diversos tipos
de aplicativos, sejam aplicativos Windows ou aplicativos Web;
Utilizar padrões de comunicação para garantir que códigos baseados
no .NET Framework possam ser integrados a qualquer outro código.
Características do Common Language Runtime (CLR)
É a base do .NET Framework. Um agente que gerencia o código em
tempo de execução.
O Common Language Runtime (CLR) gerencia a memória, execução de
thread, execução de código, verificação de segurança do código, compilação e
outros serviços do sistema.
Quanto a segurança, componentes gerenciados podem receber vários
níveis de confiança dependendo de vários fatores que incluem sua origem
(como internet, rede corporativa, etc.). Isso significa que ele pode ou não ter
acesso a operações em arquivo ou outras funcionalidades confidenciais, mesmo
que esteja sendo usado no mesmo aplicativo ativo.
O CLR também impõe robustez ao código, implementando uma rigorosa
infraestrutura de verificação de tipagem chamada de Common Type
System (CTS). Ele garante que todo código gerenciado seja auto descritivo.
O ambiente gerenciado elimina muitos problemas comuns. Por exemplo,
o CLR trata automaticamente a estrutura do objeto e gerencia suas referências,
liberando-os quando não estão mais sendo usados (já comentamos sobre
o Garbage Collector). Este gerenciamento automático de memória resolve os
dois erros mais comuns: vazamento de memória e referências de memória

20
inválidas.
Interoperabilidade entre código gerenciados e não gerenciados permitem
que os desenvolvedores continuem usando componentes COM e DLLs.
Melhoria de desempenho através da compilação Just-In-Time (JIT)
permitem que todos os códigos gerenciados sejam executados na linguagem de
máquina nativa do sistema, na qual está em execução.
Bibliotecas de classes do .NET Framework (Class Library)
A biblioteca de classes (Class Library) do .NET Framework é uma coleção
de tipos reutilizáveis que se integram ao CLR.
Essa biblioteca é orientada a objetos, fornecendo tipos que seu próprio
código pode utilizar. Isso torna os tipos fáceis de utilizar e reduz o tempo de
aprendizado de novos recursos.
Além disso, componentes de terceiros podem ser totalmente integrados a
classes do .NET Framework.
Os tipos também permitem que você realize uma variedade de tarefas
comuns na programação, como gerenciamento de sequência de caracteres,
coleta de dados, conexão com banco de dados e acesso a arquivos.
A biblioteca inclui tipos que dão suporte a vários cenários de
desenvolvimento. Podemos utilizar o .NET Framework para desenvolver
aplicações tipo console, aplicativos para Windows 10, aplicações Web, serviços,
etc.

21
2.4. ASP.NET CORE

FIGURA 1 – LINHA DO TEMPO ASP NET CORE

Fonte: (MICROSOFT, 2021)

Os recursos do ASP.NET Core é uma versão do ASP.NET para a


plataforma .NET Core.

Em 2002, no lançamento da versão 1.0 do .NET Framework, a


Microsoft lançou com esta plataforma o ASP.NET, como um sucessor da
tecnologia ASP ( Active Server Pages).

Por se tratar de uma extensão do .NET Framework, assim como


ele, no início o ASP.NET possuía poucos recursos. Suportava todas as
linguagens de programação compatíveis com a plataforma .NET, mas
ainda era muito limitado.

No seu lançamento, o ASP.NET trouxe o modelo de aplicação Web


Forms (ASP.NET Web Forms), cujo objetivo era replicar o
desenvolvimento Desktop em uma aplicação web.

Em 2002, o desenvolvimento Desktop possuía ferramentas como


Delphi e Visual Basic, que permitiam que uma tela fosse criada com o
arrastar de controles. Desta forma, o desenvolvedor não precisava se
preocupar com a codificação dos componentes da interface, apenas com
a lógica de negócios.

22
Replicando isso na web, o ASP.NET Web Forms permitia que os
desenvolvedores criassem interfaces web arrastando componentes. O
ASP.NET se encarregaria de criar o HTML, CSS e JavaScript da página,
e o desenvolvedor poderia focar na lógica de negócio da aplicação.
Olhando em retrospecto, na época esta foi uma boa solução, pois
ajudou os desenvolvedores Desktop migrarem para o desenvolvimento
web. Entretanto, o HTML gerado pelo ASP.NET tinha pouca legibilidade,
hoje seria considerado um código muito poluído, por isso ao logo do
tempo o Web Forms entrou em desuso e hoje está descontinuado.
Para melhorar a qualidade das aplicações ASP.NET, em 2009 foi
lançado o modelo de aplicação MVC (ASP.NET MVC), cujo objetivo era
aplicar o padrão de projetos MVC. Neste tipo de aplicação, os
componentes são separados em três camadas lógicas:

 Model (camada de negócio);


 View (camada de apresentação);
 Controller (camada de controle).

Um model representa o estado de um aspeto particular da


aplicação. O controller lida com as interações e alterações do model para
refletir o estado da aplicação e passa essas informações para a view. A
view recebe as informações do controller e as exibe para o usuário.
Não possuindo mais o recurso de arrastar componentes para criar
as páginas, mas isoladas na camada view, o ASP.NET MVC permitia que
um desenvolvedor front-end pudesse focar na criação das páginas,
enquanto outro lidasse com a lógica de negócio das camadas model e
controller.
Buscando uma evolução constante, ao longo do tempo foram
lançados vários recursos ao ASP.NET, como: Web API, que permite criar
APIs; Razor, uma template engine; ASP.NET AJAX, que facilita a adição
de Ajax em aplicações ASP.NET; entre outros.

23
Nesta procura por evolução, a Microsoft notou que a comunidade
poderia ajudá-la, assim, em 2012 decidiu abrir o código fonte do ASP.NET
(entre outros produtos). E trabalhando em conjunto com a comunidade nas
atualizações do ASP.NET, notou que a plataforma necessitava de muitas
modificações que não poderiam ser aplicadas na versão existente, assim
nasceu o ASP.NET Core.

Sucessor do ASP.NET, o ASP.NET Core é um framework open-


source, multiplataforma, criado pela Microsoft e a comunidade. Leve, rápido
e modular, funciona em conjunto com o .NET Core.
Lançado em 2016, mesmo sendo um sucessor do ASP.NET, o
ASP.NET Core foi criado totalmente do zero, para que não precisasse se
preocupar com código legado permitindo assim seguir o padrão de
desenvolvimento web moderno.
Assim como outras plataformas, o ASP.NET Core é totalmente
modular, recursos podem ser adicionados via pacotes Nuget. O que permitiu
que a plataforma fosse mais performática que seu antecessor. Além disso,
não necessita de uma IDE específica, todo desenvolvimento pode ser feito
via linha de comando. O que permite que uma aplicação criada em uma
plataforma possa ser movida para outra, sem a perda de nenhum recurso ou
funcionalidade.
Devido a todo seu poder, caso necessite criar uma aplicação web, não
deixe de dar uma olhada no ASP.NET Core.

24
FIGURA 2 – ARQUITETURA DO ASP.NET CORE

Fonte: (MICROSOFT, 2021)

2.5. MySql

MySQL, que é um SGBD (Sistema Gerenciador de Banco de Dados)


relacional, que utiliza a linguagem SQL (Structured Query Language, ou
traduzindo, Linguagem de Consulta Estruturada). MySQL também é
multiusuário e multitarefas.
Este SGBD inicialmente foi desenvolvido para trabalhar com projetos
de pequeno e médio porte, com a capacidade de suportar por volta de cem
milhões de registros em cada tabela, podendo chegar ao tamanho médio de
aproximadamente cem megabytes por tabela, entretanto, esses eram os
tamanhos recomendados nas primeiras versões. Porém, hoje em dia
o MySQL ultrapassa extraordinariamente esses limites e capacidades das
versões anteriores.
MySQL é conhecido por ser de fácil utilização, e usado por empresas
que trabalham com grandes volumes de dados, tais como, NASA, Bradesco,
25
HP, Sony entre outras grandes empresas de renome. Possui uma interface
extremamente simples e é compatível com grande parte dos sistemas
operacionais. Podemos dizer que essas são duas das grandes
características que fazem o MySQL ser tão utilizado atualmente e estar em
constante crescimento.
Mesmo sendo um dos bancos de dados mais utilizando em todo o
mundo, MySQL continua em constante desenvolvimento, com atualizações
frequentes.

2.5.1 Compatibilidade

MySQL é compatível com a maioria dos sistemas operacionais existentes


atualmente no mercado. Pelo fato de ser desenvolvido em C e C++, isso faz
com que seja extremamente fácil sua acessibilidade entre os diversos
sistemas operacionais. Vejamos alguns desses sistemas.

 Windows: Compatível com todas as versões


 Linux: Sendo compatível com as principais versões, como Fedora,
Core, Debian, SuSE e RedHat.
 Unix: Sendo compatível com as versões Solaris, HP-UX, AIX, SCO.
 FreeBSD.
 Mac OS X Server.

2.5.2 Licença

O MySQL é de Código Aberto (Open-Source), desenvolvido e distribuído sob


as licenças GNU/GLP (General Public Licence, ou traduzindo, Licença
Publica Geral), q qual determina o que se pode ou não fazer à ferramenta e
demais recursos. Além do programa, o seu código-fonte também é
disponibilizado para que qualquer usuário possa edita-lo de forma que
atenda suas necessidades.

Os princípios básicos da licença GNU/GLP são:

26
 Utilização: Permite que o usuário faça uso do software para qualquer
finalidade.
 Distribuição: Livre distribuição do software entre quaisquer pessoas.
 Didática: Permite que seu funcionamento seja estudado através de seu
código-fonte
 Colaboração: Possibilita que seu código-fonte seja modificado para
evoluir a ferramenta. Como regra seu novo código-fonte tem que
permanecer sendo livre segundo essa licença.

2.5.3 Características

 Portabilidade: Devido o MySQL ter sido desenvolvido em C e C++,


tornou-se extremamente fácil a portabilidade entre os diferentes
sistemas, plataformas e compiladores. Possui também módulos de
interface para múltiplas linguagens, tais
como Delphi, Java, Python, PHP, ASP, Ruby e entre outras linguagens
mais.
 Formas de Armazenamento: O MySQL possibilita diversos tipos de
tabela para o armazenamento dos dados, tendo em conta que cada
tipo tem suas próprias características. Dessa maneira temos a
possibilidade de escolhermos o tipo de acordo com cada situação
diferente. Enquanto um tipo tem como prioridade a velocidade, outro
da prioridade ao volume de dados, entre outras características.
 Velocidade: Alta velocidade no acesso dos dados em razão de
diversos motivos em seu desenvolvimento com tabelas ISAM, que foi
substituído pelo novo sistema MyISAM na versão 5 do MySQL, além
de utilização de caches em consultas, utilização de indexação BTREE
para as tabelas do tipo HEAP, algoritmos de busca, entre outros
recursos.
 Capacidade: O MySQL possui um alto poder de execução e de
armazenamento. De acordo com a plataforma em que seja usado,
suas tabelas poderão armazenar grandes volumes de dados, o limite
ficará por conta somente do tamanho máximo de arquivos que a

27
plataforma que estiver sendo utilizada puder manipular. Já no caso de
tabelas do tipo InooDB, onde o armazenamento pode ser realizado em
um ou vários arquivos separados, fica possível armazenar volumes de
dados equivalentes a TB (Terabytes) de tamanho. E referente a
expressões SQL, o MySQL suporta execuções de script SQL com até
61 milhões de tabelas “joins”. E no quesito de velocidade de execução,
o MySQL pode ser considerado um dos mais velozes, isso é, se não
podemos dizer que é o mais veloz.
O MySQL, por ser um banco de dados poderoso, tem a capacidade de
realizar bilhões de consultas em um único dia em um site e também
fazer o processamento de milhões de transações por minuto.
 SQL: Como já sabemos, o MySQL trabalha com a linguagem
SQL (Structured Query Language, ou traduzindo, Linguagem de
Consulta Estruturada), sendo extremamente rápido. E isso foi possível
devido a SQL ter sido implementada no MySQL através de códigos e
funções altamente customizadas pelos seus desenvolvedores. Isso
gerou a grande vantagem de velocidade no processamento
dos códigos SQL, porém, ao mesmo tempo trouxe um ponto negativo,
sendo ele o fato de que com essa customização, nem todos os
padrões das versões mais atuais do SQL tenham sido trazidos para o
MySQL, porque poderiam prejudicar consideravelmente a velocidade
do banco de dados. Entretanto, essa desvantagem não influencia em
nada na aplicação.

28
3. RESULTADO

A seguir, as capturas de tela do Transparência Cidadão

Figura1 – Tela de cadastro

29
Figura 2 Tela Inicial / Menu

30
Figura 3 Listagem de usuários

31
Figura 4 Pautas

32
Figura 5 Central Cidadão

33
4. CONCLUSÃO

Concluímos o projeto de forma inovadora, pensando em ajudar a população


levando maior informação sobre o que é pautado e votado na câmara
municipal de Ribeirão Preto incentivando a participação de todos na política.
Levando a informação de forma personalizada de acordo com interesse de
cada cidadão sobre qual assunto e matéria ele mais se interessa, recebendo
assim informações através do seu e-mail.
Fazer as notícias da câmara dos vereadores chegarem a mais pessoas e
levar conhecimento a todos é o foco do projeto Transparência Cidadão,
tivemos êxito alcançando nossos objetivos e planejamento, ficamos
entusiasmados com resultado final.

34
Anexo I

35
36
37
38
39
40
REFERÊNCIAS

DATA SENADO. O Cidadão e o Senado Federal. Jun. 2013. Disponível em:


http://www.senado.gov.br/senado/datasenado/pdf/datasenado/DataSenado-
Pesquisa-O_cidadao_e_o_senado_federal-Junho-2013.pdf. Acesso em: 21/07/2021

IPEA. Interesse público implicações para a política antidumping no Brasil. 2019.


Disponível em:
https://www.ipea.gov.br/portal/images/stories/PDFs/relatorio_institucional/190429_pol
itica_antidumping.pdf. Acesso em 21/07/2021

FREITAS, V. P. "Petrolão", o mais importante caso criminal da história do Brasil. 08


mar. 2015.Disponível em: https://www.conjur.com.br/2015-mar-08/segunda-leitura-
petrolao-importante-criminal-historia-brasil. Acesso em 21/07/2021

GAZETA DO POVO. Boa parte da população não tem interesse nenhum por política,
diz estudo. Disponível em:
https://www.gazetadopovo.com.br/republica/breves/pesquisa-interesse-politica-
brasileiros-cnt/. Acesso em: 21/07/2021

MELLO, J. Pesquisa aponta que jovens estão mais interessados em política e se


dizem engajados. 03 jun. 2016. Disponível em: https://www.pucrs.br/blog/pesquisa-
aponta-que-jovens-estao-mais-interessados-em-politica-e-se-dizem-engajados/.
Acesso em: 21/07/2021

MICROSOFT. Provedor de Banco de Dados EF Core do Microsoft SQL Server. 25


mai. Disponível em: https://docs.microsoft.com/pt-br/ef/core/providers/sql-
server/?tabs=dotnet-core-cli. Acesso em: 21/07/2021

MICROSOFT. EF Core NuGet pacotes. 19 set. 2021.Disponível em:


https://docs.microsoft.com/pt-br/ef/core/what-is-new/nuget-packages. Acesso em:
21/07/2021

MICROSOFT. Visão geral sobre o ASP.NET Core MVC. 03 out de 2021. Disponível
em: https://docs.microsoft.com/pt-br/aspnet/core/mvc/overview?view=aspnetcore-5.0.
Acesso em 21/10/2021

41
MINISTÉRIO DA CIDADANIA. Lei Geral de Proteção de Dados Pessoais (LGPD).
Disponível em: https://www.gov.br/cidadania/pt-br/acesso-a-informacao/lgpd. Acesso
em 21/10/2021

MICROSOFT. Um tour pela linguagem C#. 02 out 2021. Disponível em:


https://docs.microsoft.com/pt-br/dot/csharp/tour-of-csharp/. Acesso em: 21/10/2021

MICROSOFT. Começar a trabalhar com .NET Framework. 06 nov de 2021.


Disponível em: https://docs.microsoft.com/pt-br/dotnet/framework/get-started/.
Acesso em 15 nov de 2021

MICROSOFT. História do C#. 2021. 1 f. TCC (Graduação) - Curso de Análise


e Desenvolvimento de Sistema, Faculdade Reges de Ribeirão Preto,
Ribeirão Preto, 2021. Cap. 2

CARVALHO, Vinícius. MySQL: comece com o principal banco de dados open source
do mercado: Casa do Código, 2015. 170 p.

MILANI, André. MySQL: guia do programador: Novatec Editora, 2007. 400 p.

TONSIG, Sergio Luiz. MySQL: aprendendo na pratica: Ciência Moderna, 2021. 304
p.

42

Você também pode gostar