Escolar Documentos
Profissional Documentos
Cultura Documentos
RIBEIRÃO PRETO – SP
2021
ESTEVÃO RODRIGUES DA SILVA SOUZA
GABRIEL ALISSON ALVES ESPADONI
LUCAS ELIAS DE CAMARGO
RIBEIRÃO PRETO – SP
2021
DEDICATÓRIA
Este trabalho de conclusão de curso tem como objetivo desenvolver uma plataforma,
para gerenciar arquivos acadêmicos.
Nesta plataforma, o intuito é ter uma bilbioteca de conhecimento para os alunos, sendo
assim criar uma base de como estruturar e alimentar o seu tcc, com isso iremos
desenvolver uma plataforma onde terá uploads dos arquivos acadêmicos, onde os
alunos poderão fazer a pesquisa de um determinado assunto de seu interesse, ou
mesmo pelo titulo, autor e categoria. O intuito é desenvolver uma interface, simples
para que os alunos entendam como utilizar esta plataforma, feita em C# uma
linguagem de programação, utilizando o framework do identity para fazer a
autenticação. Tendo na plataforma um sistema de login onde poderão ser feitas
configurações de perfis para admin e um usuário comum, os admins terão a
visibilidade de todo o sistema, enquanto os alunos só poderão usar algumas funções,
se o aluno quiser fazer o upload de um arquivo, será solicitado para o admin e o admin
determinará se irá aprovar ou não irá aprovar.
O sistema foi desenvolvido na plataforma .NET utilizando asp.net core com estrutura
mvc, todas as funcionalidades do sistema citadas logo acima estão disponíveis nesta
versão do sistema e poderão ser utilizadas na instituição que será implementada,
funcionalidades poderão ser adicionadas a o logo do tempo dependendo da
necessidade do usuário, a interface também pode ser personalizada de acordo com
a instituição que a plataforma for implantada.
This course completion work aims to develop a platform to manage academic files.
In this platform, the intention is to have a knowledge library for the students, thus
creating a base of how to structure and feed their thesis, with this we will develop a
platform where there will be uploads of academic files, where students can search a
particular subject of their interest, or even by title, author and category. The intention
is to develop a simple interface so that the students understand how to use this
platform, made in C#, a programming language, using the identity framework to do
the authentication. Having in the platform a login system where profile configurations
can be made for admin and a common user, the admins will have the visibility of the
whole system, while the students will only be able to use some functions, if the
student wants to upload a file, it will be requested to the admin and the admin will
determine if they will approve or not approve.
The system was developed in the .NET platform using ASP.NET core with MVC
structure, all the system functionalities mentioned above are available in this version
of the system and can be used in the institution that will be implemented,
functionalities can be added over time depending on the user's needs, the interface
can also be customized according to the institution that the platform will be
implemented.
9
1 Fundamentação teórica
10
1.2 Apresentação e fundamentação do problema
1.3 Metodologia
11
Este trabalho utilizou o método indutivo que teve como finalidade aplicar o
conhecimento teórico acadêmico, para o desenvolvimento de uma aplicação web que
auxilia o aluno de uma forma mais espontânea.
Os alunos assim que enviarem seus arquivos terão a opção de publicar este
arquivo, os arquivos que os alunos enviarem irão passar por uma aprovação do
administrador, o administrador irá baixar este arquivo e verificar o conteúdo. Se estiver
de acordo ele irá aprovar e todos irão ver o trabalho na página biblioteca.
1.5 Justificativa
A fim de ter uma plataforma com uma interface melhor e mais prática para o
aluno, criaremos uma plataforma web e ter em vista a melhora dos procedimentos
realizados dentro do sistema.
12
Observa-se que alguns alunos não recebem o tratamento adequado e a
orientação devida, a proposta é desenvolver uma plataforma que auxilia o discente no
seu desenvolvimento acadêmico, agregando mais conhecimento e auxiliando de
forma objetiva no resultado de seu TCC.
Acredito que esta plataforma terá um bom desempenho visto que irá ajudar
alunos e professores terem uma orientação mais adequada, não necessariamente
este site deverá ser somente de TCC, também poderá fazer uploads de seus próprios
trabalhos acadêmicos, para fins de material de estudo, tanto o professor quanto o
aluno e a universidade irão se beneficiar deste site.
13
3.0 DESENVOLVIMENTO TÉCNICO
O clico de vida do projeto é uma estrutura que segue alguns passos para o
inicio, meio e fim. A divisão de etapas para assim ficar mais pratico de gerir e gerenciar
o projeto, e sempre lembrando que cada passo pode sofrer alterações relevantes que
iram ditar o a forma que as atividades serão desenvolvidas.
14
3.2 Desenvolvimento de um WebSite
15
3.3 Linguagem de programação C#
16
ficara bloqueado naquele processo, podendo prosseguir com outro trabalho que não
dependa daquele recurso até a tarefa causadora terminar.(MICROSOFT, 2021)
O tipo que é definido como class é do tipo referencia, em tempo de execução
quando você declara uma variavel de um tipo de referencia ela se torna Null até que
se crie a intancia dessa classe utilizando o new podendo atribuir a um outro objeto que
seja compativel com a tipo da classe.(MICROSOFT, 2021)
17
Figura 2 criando uma classe
Uma classe e um objeto são coisas distintas, uma classe define um tipo de
objeto, mais não é um objeto, um objeto é uma entidade concreta que se refere a uma
classe, conhecida como uma instância de uma classe.(MICROSOFT, 2021)
Os objetos podem ser criados utiliando a palavra New passando o nome da
classe a frente, assim:
18
Imagem Criado pelos Autores
Não recomendamos a criação de referências de objeto, como a
anterior, que não se refere a um objeto, pois a tentativa de acessar um
objeto por meio de uma referência desse tipo falhará em tempo de
execução. No entanto, essa referência pode ser feita para fazer
referência a um objeto, seja criando um novo objeto ou atribuindo-o a
um objeto existente, como este. (MICROSOFT, 2021).
19
Figura 6 Exemplo de sealed
20
Imagem Criado pelos Autores
Classe abstrata não pode ser instanciada, a finalidade da classe abstrata é
fornecer uma definição base para ser compartilhada por outras classes derivadas.
(MICROSOFT, 2021).
Por exemplo, uma biblioteca de classes pode definir uma classe
abstrata que serve como um parâmetro para muitas de suas funções
e exige que os programadores que usam essa biblioteca forneçam sua
própria implementação da classe, criando uma classe derivada.
(MICROSOFT, 2021).
Como na imagem a seguir, a classe E abstract esta herdando da classe D
utilizando metodo abstrato, as classes derivadas da classe abstrata deve implementar
em seus metodos o tipo abstract.
21
Imagem Criado pelos Autores
Você pode escrever código no acessador set para garantir que os
valores representados por uma propriedade sejam sempre válidos. Por
exemplo, suponha que uma regra para a classe Person é que o nome
não pode ser um espaço em branco. Você escreveria isso da seguinte
maneira. (MICROSOFT, 2021).
22
As propriedades são uma forma de campos inteligentes em uma
classe ou objeto. De fora do objeto, elas parecem como campos no
objeto. No entanto, as propriedades podem ser implementadas usando
a paleta completa de funcionalidades do C#. Você pode fornecer
validação, acessibilidade diferente, avaliação lenta ou quaisquer
requisitos necessários aos seus cenários. (MICROSOFT, 2021).
Tipos genérico:
Com genéricos, tipos e métodos podem operar em um tipo arbitrário
enquanto ainda mantêm a segurança de tipos. Por exemplo, ter um
List<T> permite que você tenha List<string> ou List<int> e execute
operações fortemente tipadas nessas cadeias de caracteres ou
inteiros enquanto itera neles. O uso de genéricos é melhor do que criar
um ListInt tipo derivado de ArrayList ou de conversão de Object para
cada operação. (MICROSOFT, 2021).
23
alterado logo, pois as linguagens continuaram a evoluir separadamente.
(MICROSOFT, 2021).
GC Garbage Collection
24
Para a maioria dos objetos que o aplicativo cria, você pode confiar na coleta de
lixo para executar automaticamente as tarefas de gerenciamento de memória
necessárias. Entretanto, recursos não gerenciados requerem limpeza explícita, como
um identificador de arquivo, um identificador de janela ou uma conexão de rede.
(MICROSOFT, 2021).
Quando você cria um objeto que encapsula um recurso não
gerenciado, é recomendável que você forneça o código necessário
para limpar o recurso não gerenciado em um Dispose método público.
Ao fornecer um método Dispose, você permite que usuários do seu
objeto liberem, explicitamente, sua memória quando terminarem o
objeto. Ao usar um objeto que encapsula um recurso não gerenciado,
certifique-se de chamar Dispose conforme necessário. (MICROSOFT,
2021).
Figura 15 Compilador.
25
3.3.1 Framework Asp.net Core para desenvolvimento Web
26
Asp.net core é uma iniciativa da Microsoft de dar liberdade para comunidade a
utilizar o .NET framewortk para levar a todos os criadores de conteúdo um framkework
open source e bem poderoso.
O Asp.net core MVC é uma estrutura avançada para criação de aplicativos Web
APIs usando o padrão de design Model-View-Controller.(Microsoft, 2021).
27
Figura 17 Relacionamento entre tabelas.
28
armazenamento persistente pode ser usado, por exemplo, a tabela do Azure
Armazenamento. (ANDERS R, 2021).
Principais Classes:
29
Imagem Criado pelos Autores
30
Figura 20 Registrando usuário.
31
Figura 21 Fazendo login
32
armazenam dados não traddicionas como, postagens, tuítes, imagens e vídeos. Esses
novos tipos de sistemas de banco de dados são chamados de big data e foram criados
para gerenciar dados para aplicações de mídias socias.
Segundo (Elmasri, R ; Navathe, S, 2018,p.5), um sistema de
gerenciamento de banco de dados(SGBD) é um sistema
computadorizado que permite que os usuários criem e mantenham um
banco de dados. O SGBD é um sistema de software de uso geral que
facilita o processo de definição, construção, manipulação e
compartilhamento de banco de dados entre diversos usuários e
aplicações. A definição de um banco de dados envolver especificar os
tipos de dados, as estruturas e restrições dos daddos a serem
armazenados.
Segundo (Elmasri, R ; Navathe, S, 2018,p.6), A manipulação de um banco de
dados, inclui funções como consultas, para recuperar dados especifícos, atualzição,
para fazer alterações nos dados, e geração de relatórios a partir dos dados obtidos,
também podemos fazer o compatilhamento para que vários usuários e programas
acessem o banco de dados enviando consultas simultaneamente.
3.4.1Modelo de dados
33
Modelo de dados baseado em objeto. O modelo de dados orientado a objeto é
outro modelo que tem recebido cada vez mais atenção. Ele pode ser visto como uma
extensão ao modelo E-R com noções de encapsulamento, métodos (funções) e
identidadedeobjeto. (SILBERSCHATZ, A.;KOR,H.F.;SUDARSHAN, S. 2006 p5).
Modelo de dados semi-estruturado. O modelo de dados semi-estruturado
permite a especificação dos dados em que itens de dados individuais do mesmo tipo
possam ter diferentes conjuntos de atributos.(SILBERSCHATZ,
A.;KOR,H.F.;SUDARSHAN, S. 2006, p6).
34
Esclarecendo a figura podemos ver as entidades com seus atributos
declarados. Sendo as id das entidades e objetos, a chave primária. Podemos ver
também as chaves estrangeiras em algumas entidades, como no caso do FileModel
que recebe as chaves estrangeiras: professorid, tipoTrabalhoid, cartegoriaid, e
Usuarioid.
Na parte de cardinalidade podemos ver que a ocorrência é sempre de um
para muitos, apenas no caso do AspNetUserRoles que ocorre a cardinalidade de
muitos para muitos.
35
3.4.3 Microsoft SQL Server
4.1Usuário
Inicialmente o usuário irá aparecer na tela de login, mas para iniciar no sistema o
terá que fazer o seu cadastro:
36
Figura 22 Tela de login
37
Figura 23 Tela de registro
Como o usuário ainda não tem nenhuma permissão aparecerá essa mensagem
para ele, ele só irá conseguir fazer algo no sistema quando o administrador colocar
38
ele dentro de uma permissão.
39
Figura 25 Após o administrador permitir o usuário irá abrir essa tela:
40
Clicando em envio de arquivo aparecerá a tela para o preenchimento dos dados:
Figura 26 Envio de Arquivos:
41
Assim que o usário terminar de preencher e apertar no botão enviar, o arquivo
irá para a administração e aguardara a aprovação:
42
O Arquivo que for enviado, tem que estar em formato pdf, após o administrador
aprovar o arquivo, o arquivo estára disponível na biblioteca:
Figura 28 Lista biblioteca:
O usuário também pode pesquisar como dito acima, quando clicado em por
autor irá abrir uma tela de pesquisa que irá pesquisar pelo nome do autor, se clicar no
por descrição irá pesquisar pela descrição e por titulo:
43
4.2 Professor e Administrador
44
Imagem criada pelos autores.
45
Imagem criada pelos autores.
46
Imagem criada pelos autores.
A opção listar Categoria, se clicada direciona o sistema para uma interface para
listar as categorias existentes, o Professor e Administrador ao clicar em um dos icones
de ação realizara as seguintes ações “Editar, Deletar, Detalhes, sendo que o campo
"nome" é o da categoria.
47
Imagem criada pelos autores.
A opção Deletar Categoria, se clicada direciona o sistema para uma interface
para ver os detalhes da categoria a ser deletada, o Professor e Administrador pode
ver os seguintes campos: nome, sendo que o campo "nome" é o da categoria
selecionada. Nessa tela possui um botão de Delete que ao clicar procede com a
remoção da categoria via banco.
48
Imagem criada pelos autores.
A opção listar Curso, se clicada direciona o sistema para uma interface para
listar os Cursos existentes, o Professor e Administrador ao clicar em um dos icones
de ação realizara as seguintes ações “Editar, Deletar, Detalhes, sendo que o campo
"nome" é o nome do curso.
49
Imagem criada pelos autores.
50
Imagem criada pelos autores.
A opção Deletar Curso, se clicada direciona o sistema para uma interface para
ver os detalhes do Curso a ser deletada, o Professor e Administrador pode ver os
seguintes campos: nome, sendo que o campo "nome" é o do Curso selecionadao.
Nessa tela possui um botão de Delete que ao clicar procede com a remoção do Curso
via banco.
51
Imagem criada pelos autores.
A opção Detalhes Curso, se clicada direciona o sistema para uma interface
para ver os detalhes do Curso, o Professor e Administrador pode ver os seguintes
campos: nome, sendo que o campo "nome" é o do Curso selecionado. Nessa tela
possui um botão de voltar que ao clicar volta para a lista com todos Cursos existentes.
52
A opção editar Curso, se clicada direciona o sistema para uma interface para
editar os Cursos existentes, com entrada de dados, o Professor e Administrador pode
preencher os seguintes campos: nome, sendo que o campo "nome" é o do Curso a
ser editado. Nessa tela possui um botão de Save que ao clicar procede com a
alteração dos dados em banco.
Figura 40 Listar tipos de trabalhos:
53
Figura 41 Editar Tipo do Trabalho:
A opção editar Curso, se clicada direciona o sistema para uma interface para
editar os Tipo de Trabalho existentes, com entrada de dados, o Professor e
Administrador pode preencher os seguintes campos: nome, sendo que o campo
"nome" é o do Tipo de Trabalho a ser editado. Nessa tela possui um botão de Save
que ao clicar procede com a alteração dos dados em banco.
54
Figura 42 Detalhes do Tipo de Trabalho:
55
Figura 43 Deletar Tipo de Trabalho:
56
Figura 44 Adicionar Tipo de Trabalho:
57
Figura 45 Listar orientadores:
58
A opção deletar professores se, clicada direciona o sistema para uma interface
para ver os detalhes dos Professores a ser deletada, clicando no botão Delete é
confirmada exclusão do professor.
59
Figura 48 Editar Orientador:
60
Figura 49 Adicionar Orientador:
61
Ao clicar em Administrador depois em usuários, abre um menu, e ao clicar em
adicionar o sistema direciona para uma interface para adicionar permissões, após
preencher o campo Nível, ao clicar no botão Cadastrar Permissão, a nova permissão
será adicionada no banco.
Figura 51 Listar Permissão:
62
Figura 52 Adicionar Permissão ao Usuário:
63
5 Resultado esperado
6 Conclusão
64
REFERÊNCIAS
ELMASRI, Ramez,: Navathe Shamkant B; Sistema de Banco de Dados 7 ed. Pearson: São
Paulo, 2018.
Microsoft<https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/classes-and-
structs/abstract-and-sealed-classes-and-class-members 23/10/12:45>
Acessado em: 24/10/2021.
65
MICROSOFT. Classes. Disponível em:
https://docs.microsoft.com/ptbr/dotnet/csharp/fundamentals/types/classes#reference-types>
Acessado em 22/10/2021.
PUGA, Sandra,: [Outros autores: Edson França; Milton Goya]. Bancos de Dados:
Implementação em SQL, PL/SQL e Oracle 11g, 2013.
66
SOARES, Lucas. Com aumento na pandemia, Brasil chega a 152 milhões usuários de
internet.
Disponível em:
< https://olhardigital.com.br/2021/08/18/internet-e-redes-sociais/com-aumento-na-pandemia-
brasil-chega-a-152-milhoes-usuarios-de-internet///a/>. Acesso em: 28 junh. 2021.
67