Escolar Documentos
Profissional Documentos
Cultura Documentos
net/publication/321586869
CITATIONS READS
0 3,211
1 author:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Mohammad Gulam Lorgat on 09 October 2020.
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.
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.
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.
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.
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.
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).
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).
4
[RF001] – O sistema deve possuir dois tipos de usuários: Administradores e usuários comuns
(estudantes);
[RF003] – O sistema deve permitir ao Administrador gerir (inserir, visualizar, alterar e excluir) dados
dos estudantes;
[RF005] – O sistema deve permitir ao Administrador alterar sua palavra passe e dos estudantes;
[RF011] – O sistema não deve permitir o estudante editar algum dado no sistema excepto antes da
submissão da inscrição.
[RNF004] – O sistema deve ser acessível apenas através do navegador e compatível com principais
navegadores (Chrome, Firefox e Internet Explorer);
[RNF007] – O sistema deve utilizar Apache Tomcat v8 ou maior como servidor de aplicação;
[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.
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
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.
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.
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. (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. (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.
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.
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.
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