Você está na página 1de 12

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/321586869

Sistema de Gestão de Inscrição e Matrícula na Universidade Católica de


Moçambique

Thesis · February 2017

CITATIONS READS

0 3,211

1 author:

Mohammad Gulam Lorgat


Universidade Católica de Moçambique
8 PUBLICATIONS   3 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Sistema de Monitoramento de Trânsito Orientado por CCTV View project

Sistema de Reserva de Bilhetes de Autocarro Baseado em Desktop View project

All content following this page was uploaded by Mohammad Gulam Lorgat on 09 October 2020.

The user has requested enhancement of the downloaded file.


Sistema de Gestão de Inscrição e Matrícula na Universidade Católica
de Moçambique
Registration and Enrollment Management System at the Catholic
University of Mozambique
Mohammad Gulam Lorgat

RESUMO
O desenvolvimento tecnológico que se tem vindo a verificar ao longo dos tempos, leva a que, os computadores
tenham uma aceitação cada vez maior nos vários sectores de actividade. E quase todas as tarefas hoje estão
sendo executadas por meio de computadores. Contudo, actualmente, o processo de inscrição e matrícula de
estudantes na Universidade Católica de Moçambique é executado manualmente com uma extensa intervenção
humana, que, em seguida, administradores recolhem e inserem as informações no computador. Apesar de
possuir um sistema pouco computadorizado, não é muito eficaz e possui uma segurança ineficiente. O presente
projecto tem como objectivo, desenvolvimento de um sistema de informação baseado na tecnologia web a fim
de facilitar o processo de inscrição e matrícula reduzindo o tempo, esforço e aperfeiçoando a segurança. A
metodologia adotada para a elaboração do projecto baseia-se em pesquisas bibliográficas, que envolvem a
pesquisa de fontes e o estudo de alguns conceitos teóricos importantes para o desenvolvimento do presente
sistema. E o levantamento de dados, realizado a partir da técnica de entrevista de tipo estruturada, por meio de
uma conversação. O projecto tem como resultado final o desenvolvimento de um Sistema fundamentado em
padrão de arquitectura MVC (Model-View-Controller) e desenvolvido utilizando a plataforma Java EE.

Palavras-chave: Sistema de informação. MVC. Java EE. Inscrição. Matrícula.

ABSTRACT
The technological development that has been verified over time leads to the acceptance of computers in the
various sectors of activity. And almost all the tasks today are being run through computers. However, currently,
the process of student registration and enrollment at the Catholic University of Mozambique is performed
manually with extensive human intervention, then administrators collect and feed the information into the
computer. Although it has a little computerized system, it is not very effective and has an inefficient security. The
present project aims to develop an information system based on web technology in order to facilitate the
registration and enrollment process, reducing time, effort and improving security. The methodology adopted for
the elaboration of the project is based on bibliographical research, which involves the research of sources and
the study of some important theoretical concepts for the development of the present system. And the data
collection, carried out from the structured interview technique, through a conversation. The project results in
the development of a system based on MVC (Model-View-Controller) architectural pattern and developed using
the Java EE platform.

Keywords: Information system. MVC. Java EE. Registration. Enrollment.

INTRODUÇÃO
O impacto dos computadores em nossas vidas hoje é provavelmente muito mais do que nós realmente
conhecemos. Obter boas informações e transformá-lo rapidamente em produtos que os consumidores
querem é a chave essencial para permanecer no negócio e tudo isso é feito hoje em dia usando
computadores e aplicativos.

1
A inscrição e matrícula de estudantes são actividades mais importantes dentro de uma universidade,
uma vez que não se pode sobreviver sem os alunos. Um sistema de inscrição e matrícula pobre pode
resultar em menos estudantes sendo inscritos em uma universidade por causa de erros ou um tempo
de resposta excessivamente lento.

Actualmente, o processo de inscrição e matrícula de estudantes na universidade mencionada, é


executado manualmente com uma extensa intervenção humana. Os formulários são fornecidos para
os estudantes em papéis, ao fim de preencher as informações de inscrição ou matrícula e, em seguida,
administradores de estudante inserem as informações no computador. Apesar de possuir um sistema
pouco computadorizado, não é muito eficaz como o sistema consome muito tempo e recursos
humanos na realização de várias tarefas. Presentemente, a instituição precisa de um ambiente
computadorizado e avançado. E depois de assim feito, isto irá substituir todos problemas
mencionados.

SISTEMA DE INFORMAÇÃO
Sistema de informação é um conjunto integrado de componentes para coletar, armazenar e processar
dados e para fornecer informações, conhecimento e produtos digitais. Empresas e outras organizações
dependem de sistemas de informação para realizar e gerenciar suas operações, interagir com seus
clientes e fornecedores, e competir no mercado. Os sistemas de informação são utilizados para gerir
cadeias de abastecimento interorganizacionais e mercados electrónicos (Zwass, 2016).

Segundo Zandbergen (2013), os sistemas de informação possam diferir em como eles são usados
dentro de uma organização, eles normalmente contêm os seguintes componentes: Hardware
(processadores, monitores, teclado e impressoras); Software (programas usados para organizar,
processar e analisar dados); Base de dados (dados armazenados usualmente em forma de tabelas);
Rede (conexão entre vários usuários do mesmo sistema) e Procedimentos (como dados específicos são
processados e analisados de forma a obter as respostas para as quais o sistema de informação foi
concebido).

O corrente sistema a ser desenvolvido utiliza o paradigma cliente-servidor, onde a parte relativa à
interface com o usuário reside na estação do cliente e a parte de acesso aos dados e/ou aplicações, no
servidor.

TECNOLOGIAS USADAS PARA O DESENVOLVIMENTO


Bootstrap
De acordo com Moraes (2016), Bootstrap é um framework front-end desenvolvido pela equipe do
Twitter que contém vários estilos CSS e componentes que podem ser usados para facilitar a criação de
páginas para a internet. Além disso é de código aberto (open source), ou seja, é totalmente grátis.
Quando se começa um novo projecto, precisa-se criar vários estilos para formatar títulos, definir
tamanhos e proporções ou mesmo organizar a disposição da página, pode-se usar o Bootstrap, que
pode optimizar o trabalho com suas estruturas pré-definidas. Que permite escolher, dentre os estilos
e componentes oferecidos, e permite personalizar de acordo com a necessidade e escolha.

2
AJAX
AJAX é carregar e renderizar uma página ou conteúdos de uma página, utilizando recursos de scripts
(sequência de instruções) rodando pelo lado cliente, buscando e carregando dados em background
sem a necessidade de refrescar a página. AJAX foi gerado por Jesse James Garret. Ajax não é uma
tecnologia, mas sim um conjunto de tecnologias. O conceito de AJAX se resume em conhecer bem
Javascript, trabalhando com DOM (Document Object Model), CSS e XML (Rosa, 2009).

Apache Tomcat
Um servidor é um sistema ou um computador, ligado em rede a outros computadores, chamados
clientes, ao qual são fornecidos determinados tipos de serviços. Esta ligação permite o acesso a
arquivos ou a correio electrónico, entre os vários dispositivos. Estabelece-se, portanto, uma ligação
tipo cliente-servidor (Miguel, 2009).

Matos (2004) afirma que o Tomcat é um servidor web Java, desenvolvido pela Fundação Apache,
permite a execução de aplicações para web. Sua principal característica técnica é estar centrada na
linguagem de programação Java, mais especificamente nas tecnologias de Servlets e de JSP. A
Fundação Apache, permite que o Tomcat seja usado livremente, seja para fins comerciais ou não

E ainda ele afirma que, o Tomcat está escrito em Java e, por isso, necessita que o JRE (Java Runtime
Edition) esteja instalado no mesmo computador onde ele será executado. No entanto, não basta ter o
JRE instalado, pois o Tomcat necessita compilar e não apenas executar programas escritos em Java.
Por isso é necessário instalar o JDK (Java Development Kit) para o tal.

Java EE
Java EE (Java Enterprise Edition) é um conjunto de especificações destinados a facilitar a criação de
aplicações Enterprise (aplicações que empresas usam) em Java. Assim, Java EE define um modelo de
programação para criar aplicações para empresas, onde diversas tarefas comuns, persistência de
dados, validações, transações, tratamento de requisições HTTP (HyperText Transfer Protocol), entre
outras, são especificadas e colocadas no papel para todos lerem, implementarem e usarem (William,
2014).

Estes tipos de aplicações podem ser desenvolvidos em qualquer IDE recente que tem suporte a Java
EE. Após a criação e teste do sistema, no momento de colocar em produção, deve se utilizar um
servidor de aplicação que comprovadamente suporta todas as especificações do Java EE. Seguindo as
especificações, poderá utilizar qualquer um dos servidores aprovados, entre os quais destacados
como, o Wildfly, o Glassfish, Apache Tomcat e o Apache TomEE, pois são de código aberto (William,
2014).

MySQL Server
O MySQL é um sistema gerenciador de base de dados relacional de código aberto usado na maioria
das aplicações gratuitas para gerir suas bases de dados. O serviço utiliza a linguagem SQL, que é a
linguagem mais popular para inserir, acessar e gerenciar o conteúdo armazenado numa base de dados.
Para utilizar o MySQL, é necessário instalar um servidor e uma aplicação cliente. O servidor é o
responsável por armazenar os dados, responder às requisições, controlar a consistência dos dados,

3
bem como a execução de transações concomitantes, entre outras. O cliente se comunica com o
servidor através da SQL (Pisa, 2012).

PADRÕES DE SOFTWARE
Segundo Freitas (2011), padrões de software são soluções de eficiência já comprovadas e amplamente
utilizadas para a resolução de problemas comuns em projecto de software. Estas soluções são
desenvolvidas e conhecidas por especialistas e tornam-se padrões por serem reutilizadas várias vezes
em vários projectos e por terem eficácia comprovada. Existem diferentes categorias de padrões de
software, dos quais destacam-se, padrão de arquitectura e padrão de desenho ou mais conhecido
como padrão de projecto de software.

No corrente sistema foram aplicados dois padrões de software, MVC e DAO.

O DAO é um padrão de desenho ou projecto usado para abstrair e encapsular todo o acesso à base de
dados além de gerenciar a conexão com a base de dados para obter e armazenar os dados. É
responsável por implementar o mecanismo de acesso necessário para trabalhar com a base de dados
(Medeiros, 2016).

Ramos (2015), diz que o MVC é um padrão de arquitectura de software, separando a aplicação em 3
camadas. A camada de interação do usuário (View), a camada de manipulação dos dados (Model) e a
camada de controle (Controller).

E de acordo com Lemos (2009), o model (representa os dados da aplicação e as regras de negócio do
acesso); View (servem apenas para exibir as informações) e Controller (actua como intermediário entre
Model e View).

DESENHO DO PROJECTO
Análise de Dados
Os dados e informações marcam o primeiro passo para o desenvolvimento do sistema, geraramse a
partir da técnica de entrevista de tipo estruturada, onde ocorreu uma conversação efectuada face a
face, verbalmente com os técnicos do departamento do registo académico da universidade
mencionada. Resultando deste modo na obtenção de requisitos para o corrente sistema.

Requisitos são objectivos ou restrições estabelecidas por clientes e usuários que definem as suas
diversas propriedades do sistema. Os requisitos de software são, obviamente, aqueles dentre os
requisitos de sistema que dizem respeito a propriedades do software (Leite, 2007).

Os requisitos podem ser categorizados por funcionais e não funcionais.

Requisitos Funcionais
“Os requisitos funcionais são a descrição das diversas funções que clientes e usuários querem ou
precisam que o software ofereça. Eles definem a funcionalidade desejada do software” (Leite, 2007).

Seguem abaixo os requisitos funcionais do corrente projecto:

4
[RF001] – O sistema deve possuir dois tipos de usuários: Administradores e usuários comuns
(estudantes);

[RF002] – O sistema deve permitir acesso aos usuários após autenticação;

[RF003] – O sistema deve permitir ao Administrador gerir (inserir, visualizar, alterar e excluir) dados
dos estudantes;

[RF004] – O sistema deve permitir ao Administrador enviar email ao estudante;

[RF005] – O sistema deve permitir ao Administrador alterar sua palavra passe e dos estudantes;

[RF006] – O sistema deve permitir o Administrador a gestão das inscrições e matrículas;

[RF007] – O sistema deve permitir o estudante criar e submeter inscrição;

[RF008] – O sistema deve permitir o estudante submeter e consultar estado da matrícula;

[RF009] – O sistema deve permitir o estudante consultar a informação do curso;

[RF010] – O sistema não deve permitir o estudante se inscrever em mais de um curso;

[RF011] – O sistema não deve permitir o estudante editar algum dado no sistema excepto antes da
submissão da inscrição.

Requisitos Não Funcionais


“Os requisitos não funcionais definem propriedades e restrições do sistema como tempo, espaço,
linguagens de programação, versões do compilador, SGBD, Sistema Operacional, método de
desenvolvimento, etc” (Medeiros, 2013).

Seguem abaixo os requisitos não funcionais do corrente projecto:

[RNF001] – O sistema deve ser desenvolvido em plataforma orientada a tecnologia web;

[RNF002] – O sistema deve ser implementado em linguagem Java;

[RNF003] – O sistema deve utilizar o SGBD MySQL;

[RNF004] – O sistema deve ser acessível apenas através do navegador e compatível com principais
navegadores (Chrome, Firefox e Internet Explorer);

[RNF005] – O sistema deve ter uma interface gráfica amigável;

[RNF006] – O sistema deve ser compatível em multiplataformas;

[RNF007] – O sistema deve utilizar Apache Tomcat v8 ou maior como servidor de aplicação;

[RNF008] – O sistema deve ser executado em JDK v8 ou maior;

[RNF009] – O sistema deve permitir a conexão de vários usuários em simultâneo;

[RNF010] – O sistema deve garantir alto grau de segurança, controlar o acesso às funcionalidades
através de grupos de administradores e de usuários comuns e tratar acessos não autorizados.

5
Modelagem de Dados
O diagrama de caso de uso documenta o que o sistema faz do ponto de vista do usuário. Ele descreve
as principais funcionalidades do sistema e a interação dessas funcionalidades com os usuários do
mesmo sistema. Nesse diagrama não se aprofunda em detalhes técnicos que dizem como o sistema
faz (Ribeiro, 2012). A seguinte figura ilustra o diagrama de caso de uso do presente sistema.

Figura 1: Diagrama de Caso de Uso

O diagrama de actividade ilustra graficamente como será o funcionamento do software, como será a
execução de alguma das suas partes, como será a actuação do sistema na realidade de negócio na qual
ele está inserido (Ventura, 2016). A seguinte figura ilustra o diagrama de uma actividade principal do
presente sistema.

6
Figura 2: Diagrama de Actividade – Inscrição de Estudante

7
DESENVOLVIMENTO E SOLUÇÃO
Fase de Implementação

Conectando a base de dados


Primeiramente ao desenvolver um sistema desta natureza, isto é, um sistema de informação, exige
uma base de dados para o armazenamento e recuperação dos dados ao longo dos processos do seu
funcionamento. Conecta-se a base de dados gerenciada pelo MySQL com o sistema Java web
importando o conector “mysqlconnector.jar”, e implementando através de uma classe que no
corrente sistema, é denominada por “DBConnect.java”. E sem essa classe não será possível criar uma
conexão entre a base de dados e o sistema.

Model
A camada Model pertencente ao padrão de arquitectura MVC é responsável pela manipulação e
apresentação dos dados, composta pelas classes simples que representam as entidades e os seus
respectivos atributos descrevendo a composição da base de dados e acções no intuito de criar conexão
com a base de dados, manipular os dados e executar os comandos SQL.

Após o emprego do padrão de desenho DAO, a camada Model dividiu se em duas partes, uma
pertencente as classes simples, que representam as entidades e os seus respectivos atributos que
compõem a base de dados, e a outra parte responsável em realizar funcionalidades relacionados com
a base de dados como, iniciar conexão, executar os comandos SQL, acessar e manipular os dados.
Deste modo, garante uma segurança dos dados, porque separa a interface de cliente, do mecanismo
de acesso a dados, ou seja, torna o mecanismo de acesso e busca dos dados desconhecido ou
obscurecido aos usuários.

A primeira parte é composta pelas classes, “Ano_Frequencia, Curso, Estudante, Faculdade,


Grau_Obter, Historico, Inscricao, Matricula e Usuario”. E a segunda parte pelas classes,
“Ano_FrequenciaDAO, CursoDAO, EstudanteDAO, FaculdadeDAO, Grau_ObterDAO, HistoricoDAO,
InscricaoDAO, MatriculaDAO e UsuarioDAO”.

View
A camada View serve para exibir as informações e a parte gráfica que interage com os usuários. E no
presente projecto é composta de páginas JSP, que possui dois tipos de conteúdos, dados estáticos
expressados por HTML, CSS, Bootstrap, jQuery e JSON, e dados dinâmicos por elementos de JSP
baseada em linguagem Java.

Controller
A última camada de MVC, o Controller, recebe a entrada dos usuários através da camada View,
processa os dados do usuário com a ajuda da camada Model e repassa os resultados para a camada
View, actua como o intermediário entre o Model e o View. Neste presente projecto a camada
Controller está composta por classes Servlet, cuja função é receber as chamadas, processar e enviar
uma resposta ao cliente.

8
Figura 3: Arquitectura MVC (Fonte: Falkman, 2015)

Fase de Teste
“O teste de software serve para mostrar o que um programa faz e o que se destina a fazer, para
determinar se atingiu suas especificações e funcionou correctamente no ambiente para o qual foi
projectado e também para descobrir defeitos antes de ser colocado em uso” (Sommerville, 2011).
Neste presente sistema implementou-se dois tipos de testes, estático e dinâmico.

“O teste estático é onde não se executa o código que está sendo examinado. É principalmente
verificação de sintaxe do código ou revisar manualmente o código, documentos de requisitos,
documentos de design, etc. Para encontrar erros” (Verma, 2013). E teste dinâmico é o oposto.

“Teste de sistema é um tipo de teste dinâmico que verifica se o sistema está em conformidade com os
requisitos do usuário. Trata-se de um teste de perspectiva do usuário final destinado a encontrar
defeitos no sistema de software” (STC, 2015).

CONCLUSÃO
O presente estudo baseou-se na informatização sofisticada e implementação de um sistema de gestão
de inscrição e matrícula na Universidade Católica de Moçambique. O presente estudo teve como
objectivo facilitar o processo de inscrição e matrícula na faculdade reduzindo o tempo e esforço a partir
de um sistema computacional. Um sistema de informação baseada na tecnologia web armazenando,
processando e fornecendo informações a partir da internet. Essa solução foi concebida com o
desenvolvimento de um sistema ou software bem definido, eficiente, controlado e gerido, seguindo
um modelo de processos, como análise de dados, modelagem de dados, implementação do sistema e
testagem.

A implementação do sistema foi facilitada pelo uso da plataforma Java EE. E algumas tecnologias como,
HTML, CSS, Bootstrap, jQuery, AJAX, JSON, Apache Tomcat, linguagem de programação Java, JSP,
Servlet, JSTL, SGBD MySQL, padrões de software MVC e DAO, e algumas ferramentas essenciais para
o desenvolvimento de um sistema como, Eclipse IDE, MySQL Workbench e Astah Community.

Com o desenvolvimento do projecto, pude-se perceber a importância de um sistema de informação e


a necessidade da sua implementação. E crê-se que todos os objectivos traçados para este projecto
foram atingidos.

9
REFERÊNCIAS BIBLIOGRÁFICAS
Falkman, D. (2015, Março 16). MVC Frameworks for Building PHP Web Applications. Recuperado a 31
de Janeiro, 2017, de: https://www.lynda.com/CakePHPtutorials/MVC-Frameworks-Building-PHP-
Web-Applications/315196-2.html.

Freitas, M. de. (2011, Agosto 25). O que são padrões de projeto (design patterns). Recuperado a 14 de
Janeiro, 2017, de: http://marcelmesmo.blogspot.com/2011/08/oque-sao-padroes-de-projeto-
design.html#.WHqRplN97IU.

Leite, J. (2000). Design da Arquitetura de Componentes de Software. Recuperado a 15 de Janeiro, 2017,


de: https://www.dimap.ufrn.br/~jair/ES/c7.html.

Leite, J. (2007, Maio 15). Requisitos de Software. Recuperado a 21 de Janeiro, 2017, de:
http://engenhariadesoftware.blogspot.com/2007/05/requisitos-de-software.html.

Lemos, T. (2009, Julho 10). O que é o MVC - Model View Controller. Recuperado a 15 de Janeiro, 2017,
de: http://web.archive.org/web/20120918153944/http://www.tiagolemos.com.br:80/2009/
07/10/o-que-e-o-mvc-model-view-controller.

Matos, F. (2004, Outubro 29). Utilizando as bibliotecas do Java usando o Jython. Recuperado a 13 de
Janeiro, 2017, de: http://www.linhadecodigo.com.br/artigo/496/utilizando-as-bibliotecas-do-
javausando-o-jython.aspx.

Medeiros, H. (2013, Novembro 22). Introdução a Requisitos de Software. Recuperado a 21 de Janeiro,


2017, de: http://www.devmedia.com.br/introducao-a-requisitos-desoftware/29580.

Medeiros, H. (2016, Janeiro 13). Implementando o Data Access Object no Java EE. Recuperado a 15 de
Janeiro, 2017, de: http://www.devmedia.com.br/implementando-odata-access-object-no-java-
ee/33339.

Miguel, R. (2009, Setembro 6). O que é um servidor, um servidor dedicado e um mainframe?


Recuperado a 13 de Janeiro, 2017, de: http://www.tecnologiadoglobo.com/2009/09/o-que-um-
servidor-um-servidordedicado-e-um-mainframe.

Moraes, F. (2016, Julho 30). O que é Bootstrap? Recuperado a 13 de Janeiro, 2017, de:
http://quase1nerd.com/index.php/2016/07/30/o-que-e-bootstrap.

Pisa, P. (2012, Abril 17). O que é e como usar o MySQL? Recuperado a 13 de Janeiro, 2017, de:
http://www.techtudo.com.br/artigos/noticia/2012/04/o-que-e-e-como-usar-omysql.html.

Ramos, A. (2015, Fevereiro 26). MVC – Afinal, é o quê ? Recuperado a 15 de Janeiro, 2017, de:
https://tableless.com.br/mvc-afinal-e-o-que.

Ribeiro, L. (2012, Janeiro 19). O que é UML e Diagramas de Caso de Uso: Introdução Prática à UML.
Recuperado a 22 de Janeiro, 2017, de: http://www.devmedia.com.br/oque-e-uml-e-diagramas-de-
caso-de-uso-introducao-pratica-a-uml/23408.

Rosa, E. de. (2009, Setembro 21). O que é o AJAX e como ele funciona. Recuperado a 13 de Janeiro,
2017, de: http://codigofonte.uol.com.br/artigos/o-que-e-o-ajax-e-comoele-funciona.

Sommerville, I. (2011). Software Engineering (9th ed.). Boston: Addison-Wesley.

10
STC (2015, Setembro 9). Difference between System Testing vs Integration Testing? Recuperado a 5 de
Fevereiro, 2017, de: http://www.softwaretestingclass.com/difference-between-system-testing-
vsintegration-testing.

Ventura, P. (2016, Outubro 29). Entendendo o Diagrama de Atividades da UML. Recuperado a 22 de


Janeiro, 2017, de: http://www.ateomomento.com.br/uml-diagramade-atividades.

Verma, M. (2013, Janeiro 26). Static Testing. Recuperado a 5 de Fevereiro, 2017, de:
http://www.softwaretestingmentor.com/static-testing.

William. (2014). O que é Java EE? Recuperado a 13 de Janeiro, 2017, de: http://aprendendo-
javaee.blogspot.com/p/o-que-e-java-ee.html.

Zandbergen, P. (2013, Outubro 10). What Are Information Systems? - Definition & Types. Recuperado
a 12 de Janeiro, 2017, de: http://study.com/academy/lesson/whatare-information-systems-
definition-types-quiz.html.

Zwass, V. (2016, Fevereiro 10). Information System. Recuperado a 12 de Janeiro, 2017, de:
https://www.britannica.com/topic/information-system.

11

View publication stats

Você também pode gostar