Escolar Documentos
Profissional Documentos
Cultura Documentos
Universidade Pedagógica
Maputo
2016
Maizer Aly de Oliveira Gomes
Supervisor:
Universidade Pedagógica
Maputo
2016
i
Índice
Dedicatória .............................................................................................................................viii
Agradecimentos ....................................................................................................................... ix
Resumo ...................................................................................................................................... x
Abstract .................................................................................................................................... xi
Enquadramento ............................................................................................................ 1
Contextualização .......................................................................................................... 1
Justificativa .................................................................................................................. 2
Hipóteses ...................................................................................................................... 4
Objectivos .................................................................................................................... 5
Metodologia ................................................................................................................. 5
Dados ........................................................................................................................... 9
Informação ................................................................................................................... 9
Software ..................................................................................................................... 10
Internet ....................................................................................................................... 12
2.5.1. Web..................................................................................................................... 13
Homestead .............................................................................................................. 23
Missão da UP ............................................................................................................. 34
Testes do Sistema....................................................................................................... 49
Limitações .................................................................................................................. 52
Recomendações ......................................................................................................... 53
Glossário .................................................................................................................................. 56
Anexos ...................................................................................................................................... 58
iv
Lista de Tabelas
Lista de Figuras
Lista de Abreviaturas
DEV - Development
PgSQL - PostgreSQL
PC – Personal Computer
UP – Universidade Pedagógica
Declaração de Honra
Declaro que esta Monografia é resultado da minha investigação pessoal e das orientações do
meu supervisor, o seu conteúdo é original e todas as fontes consultadas estão devidamente
mencionadas no texto, nas notas e na bibliografia final.
Declaro ainda que este trabalho não foi apresentado em nenhuma outra instituição para
obtenção de qualquer grau académico.
______________________________________
viii
Dedicatória
Agradecimentos
Em primeiro lugar, agradeço a Deus pelo dom da vida e pela oportunidade de chegar a este
estágio académico.
Agradeço também a todos que directa ou indirectamente contribuíram para que pudesse
alcançar este patamar na vida, entre eles meus familiares, colegas da turma de 2009 e colegas
de trabalho.
x
Resumo
Esta monografia científica é o resultado do requisito para o término do curso de Licenciatura
em Ensino de Informática e tem como tema “Concepção e Implementação do módulo de
Inscrição Online para Estudantes” e como caso de estudo a “Direcção de Registo
Académico da UP1”.
A temática em estudo centraliza-se na concepção de um módulo, usando as Tecnologias de
Informação e Comunicação, para a inscrição de estudantes na Universidade Pedagógica em
uma base de dados central e ao mesmo tempo permitir que o próprio estudante faça a sua
inscrição sem que, para isso, tenha que se deslocar até a instituição, evitando assim, longas filas
de espera para a inscrição e dando maior comodidade aos estudantes.
No presente trabalho, será feita uma descrição dos métodos usados para estender o sistema de
gestão usado nesta universidade através deste módulo, com intuito de melhorar os serviços
prestados pela instituição.
O sistema foi desenvolvido usando a linguagem PHP como back-end, Javascript no lado do
cliente e HTML para gerar os formulários de interação, em conexão à uma base de dados
PostgresSQL. Outras ferramentas auxiliares usadas: Git, PL/SQL, Composer, Twitter
Bootstrap.
1
UP – Universidade Pedagógica
xi
Abstract
This scientific work entitled “Design and Implementation of the Student’s Online
Enrollment module” is a requisite for the obtaining of the Degree in Computer Science
Teaching and has as a study case the “Academic Registry Department of UP”.
The study focuses on the design of a module for student’s enrollment at the Pedagogical
University using a central database and in the same time allow the student itself to do its own
enrollment without the need of going to the institution, thus avoiding long queues for
registration and giving greater convenience to students.
The system was developed using the PHP language as back-end, Javascript in the client side
and HTML to generate the user forms, in connection to a PostgreSQL database. Other auxiliary
tools used: Git, PL/SQL, Composer, Twitter Bootstrap.
Capítulo I: Introdução
Enquadramento
Contextualização
Face a este cenário, há a necessidade da melhoria dos serviços prestados e racionalização dos
seus recursos, fazendo assim a optimização da sua gestão.
Ao optar pelo atendimento público através de um sistema informático, a UP estará a dar campo
à uma gestão eficaz, em busca de maior produtividade, melhoria dos serviços prestados e
racionalização de recursos para atender cada vez melhor os estudantes. Por esta razão, a
implementação de um sistema de inscrição online acaba tornando-se uma possível solução para
a atender comodamente o crescente número de estudantes que procura os serviços prestados
pela instituição.
Justificativa
A escolha deste tema tem origem no facto do autor do mesmo ser funcionário da Universidade
Pedagógica afecto na Direcção do Registo Académico em Maputo, direcção responsável pela
gestão dos estudantes da UP a nível nacional, e observar, na primeira pessoa, as dificuldades
enfrentadas durante o processo de inscrição de disciplinas devido ao reduzido número de
funcionários em contraste ao número de estudantes, além de já ter feito parte do corpo estudantil
desta instituição de ensino que semestralmente procurava a DRA a fim de regularizar a sua
situação académica.
Formulação do problema
mil estudantes, fonte: DRA, 2015) pois as suas instalações na UP-sede não são capazes de
albergar este número de estudantes no período estabelecido para as inscrições.
A inscrição em disciplinas dos estudantes da UP, a nível nacional, é feita dentro do Sistema de
Gestão Universitária da Universidade Pedagógica (SIGEUP), sistema este que entrou em
funcionamento no ano de 2013 com o nome eDondzo adotando mais tarde em 2014 o nome
actual. O SIGEUP é um Sistema Integrado de Gestão Universitária que engloba diversos
módulos destinados à gestão de sectores pertinentes da UP, conectados através de uma base de
dados única. Esta aplicação é baseada em Open Source, possui uma estrutura modular com o
acesso dentro de um ambiente Web através de um navegador. A inscrição é feita pelos
funcionários do registo académico selecionados para esta função. Essa selecção é feita através
de um módulo de permissões gerido pelos administradores do sistema.
O que tem-se observado durante este processo são enchentes devida a demora no atendimento
que tem várias causas como origem: falta de acesso à internet, lentidão da rede, equipamentos
danificados (PC’s, impressoras, switches, etc.). Apesar das tentativas de organização dos
estudantes por faculdade em que cada faculdade teria um período específico para inscrição e
optar-se por espaços maiores para instalação da DRA, as enchentes prevalecem. Outro ponto
que tem sido observado é em relação aos estudantes do EAD que não se encontram a residir
dentro da cidade de Maputo ou então trabalham fora da cidade sendo este, muitas das vezes, o
motivo por optarem por este regime de frequência. Muitos acabam perdendo o período de
inscrições pela falta de disponibilidade para se deslocar aos locais onde estas decorrem. Além
disso, o SIGEUP não possui uma ferramenta para o controle de precedências, ficando essa
função a cargo do funcionário que normalmente não possui acesso a estas informações ou que,
por um ou outro motivo, acaba cometendo erros. Outro ponto concerne o arquivo desses recibos
de depósito que chegam a ser um constrangimento pois ocupam largos espaços chegando a
ameaçar a saúde dos próprios funcionários, pois, acabam sendo armazenados nos próprios
4
locais de trabalho por falta de espaços para o seu arquivo, para além dos custos em termos de
aquisição dos recursos materiais necessários para a concretização das inscrições (papel,
impressoras, tinteiros, etc.) e humanos.
Partindo destas dificuldades surge a necessidade da concepção de uma solução para estes
problemas enfrentados pela DRA, em particular, e o registo académico da UP no geral, sendo
proposto um sistema electrónico de fácil acesso e interface amigável em que os dados são
validados automaticamente e armazenados em uma base de dados, podendo reduzir, desta
forma, possíveis erros humanos, custo em recursos materiais e frustrações por parte dos
estudantes.
Questões de Pesquisa
Qual seria a melhor solução para criar um sistema de atendimento público de alta
disponibilidade e grande abrangência?
Que soluções se demonstram mais viáveis para a concepção de um sistema de
inscrições?
Em que aspectos iria a implementação de um sistema de inscrição online beneficiar a
DRA?
Hipóteses
Através de um aplicação web, os estudantes poderão fazer a sua própria inscrição através
de qualquer ponto com ligação à internet à qualquer hora do dia e em qualquer dia da
semana.
O uso de tecnologias Open Source no desenvolvimento de sistemas tornará económico
o processo de concepção do sistema, pois, não acarretará custos adicionais.
O uso de um sistema de inscrição online irá ter os seguintes benefícios:
Diminuição da carga de actividades sobre a DRA, permitindo mais tempo para
realização de outras actividades;
Informatização do arquivo da DRA constituído por recibos de depósitos de
pagamento;
Permitirá uma melhor implementação do regulamento académico em vigor na UP,
minimizando erros humanos;
5
Objectivos
Fazer um estudo sobre tecnologias e ferramentas Open Source que poderiam ser
utilizados na concepção e implementação do módulo de inscrição proposto;
Analisar o processo actual de inscrição dos estudantes na UP;
Propor métodos de segurança, validação e integridade do processo de inscrição online,
seguindo as normas do regulamento académico da UP;
Conceber e apresentar uma proposta de implementação do sistema de inscrição online.
Metodologia
O presente trabalho quanto à sua natureza é classificado como sendo uma Pesquisa
Aplicada pois objetiva gerar conhecimentos para aplicação prática dirigidos à solução de
problemas específicos. Envolve verdades e interesses locais (PRODANOV & FREITAS,
2013).
Quanto aos procedimentos técnicos, ou seja, a maneira pela qual obtivemos os dados
necessários para a elaboração da pesquisa, foram usados os seguintes métodos:
Pesquisa bibliográfica;
Levantamento;
Pesquisa participante.
Partindo da natureza do trabalho em que o ambiente de trabalho é a fonte directa dos dados
e que o autor mantém contacto directo com o ambiente e o objecto de estudo em questão, a
pesquisa terá uma abordagem qualitativa, porém, dados quantitativos também foram
levados em consideração. O desafio da pesquisa qualitativa é apreender, sob a óptica
daqueles que participam do universo pesquisado, o sentido da experiência vivenciada.
i. Metodologia de desenvolvimento
Para concepção do sistema será utilizada a metodologia Rational Unified Process (RUP),
criada para apoiar o desenvolvimento orientado a objetos, fornecendo uma forma
sistemática para se obter vantagens no uso da UML.
7
A técnica de modelação é a UML, uma linguagem de modelação visual que é usada para
especificar, visualizar, construir e documentar artefactos de um software de sistema
(Almeida, 2005).
O objectivo deste trabalho é propor a concepção de um sistema para trabalhar com custo
zero de licença de software. No servidor seria utilizado o sistema operativo Linux e a base
de dados PostgreSQL. A linguagem de programação seria o PHP. Todos sob licença GPL,
ou seja, de livre distribuição e cópia. O acesso ao sistema poderá ser feito através de
qualquer sistema operativo, desde que possua um navegador de internet, tornando-se, assim,
num sistema multiplataforma.
Estrutura do trabalho
Capítulo III: Estudo do caso proposto – Neste capítulo é feita uma apresentação mais
detalhada da direcção em estudo, os sistemas informáticos usados actualmente, o
processo de inscrição dos estudantes tendo em conta aspectos económicos, de
comodidade, tempo, segurança e infraestruturas.
8
Neste capítulo serão apresentados os conceitos relacionados com o tema escolhido como, por
exemplo, sistemas de informação e a sua classificação, sistemas de gestão de base de dados e
seus tipos, linguagens de programação e metodologias para desenvolvimento de softwares.
Dados
Segundo Stair (2008), dados são fatos básicos, como o nome e a quantidade de horas
trabalhadas em uma semana de um funcionário, números de peças em estoque ou pedidos.
Informação
É o conjunto de fatos organizados de modo a terem valor adicional, além do valor dos fatos
propriamente ditos, segundo Stair (2008).
Tecnologias de Informação
Segundo Rezende & Abreu (2000, p.76), pode-se conceituar a Tecnologia de Informação como
recursos tecnológicos e computacionais para geração e uso da informação. Esse conceito
enquadra-se na visão de gestão da Tecnologia da Informação.
Software
Segundo Pressman (1995), softwares são instruções que, quando executadas, produzem a
função e o desempenho desejados.
De acordo com Yumi (2008) o software Open Source é também conhecido como “free
software” ou software livre em que a palavra “free” não indica gratuidade, mas sim, liberdade.
Afirmando que a liberdade é um dos valores defendidos pelo movimento Open Source, além
da colaboração e partilha do conhecimento. Devido à ambiguidade do significado do termo
“free software”, foi criada a expressão “Open Source”. De acordo com (Raymond, 2001),
existem quatro liberdades de softwares livres sob a licença GPL (General Public License):
Ao desenvolver um software é necessário atribuir algum tipo de licença a ele para garantir seus
direitos sobre a obra. Existem algumas opções quando se tratam de licenças para projectos open
12
source, cada uma com suas respectivas características. Abaixo será realizado uma abordagem
sobre as mais utilizadas no mundo do código livre.
Internet
Desde então as tecnologias que fazem parte da Internet evoluíram bastante, e seu propósito
tomou outro rumo. “A Internet alterou a forma como guardamos e procuramos informações,
conduzimos negócios e respondemos a questões em nossa sociedade”. (JONASSEN, 1996).
2.5.1. Web
Conallen (2003), diz que a Web foi criada no início da década de 1990 por Tim Bernes-Lee,
para aperfeiçoar a comunicação no CERN – Centre European pour la Recherche Nucleaire.
Considera ainda que Bernes-Lee criou o HTML2, uma linguagem de marcação para formatar
os documentos que seriam distribuídos em rede e também desenvolveu protocolos de
comunicação para tornar viável o seu novo sistema de informações em hipertexto.
2
HTML - Linguagem de marcação de hipertexto
14
Aplicação Web
Uma aplicação web refere-se a qualquer programa que é acessado via uma conexão de rede
através de algum protocolo de comunicação em rede, em vez de existir na memória do
dispositivo. Estas aplicações correm, normalmente, dentro de um navegador web podendo
também ser baseadas no cliente, onde uma parte da aplicação é baixada para o dispositivo do
usuário, mas o processamento é feito via internet em um servidor externo.
Conallen (2003) acredita que os seguintes pontos trazem vantagens no uso de aplicações web:
Sistema de Informação
Sistema de Informação é qualquer sistema usado para prover informações (incluindo seu
processamento), qualquer que seja sua utilização. Os SI3s se desenvolvem em uma empresa
segundo duas dimensões: os componentes da empresa e seu nível de decisão. Os componentes
da empresa correspondem aos diversos setores que executam as diferentes funções necessárias
ao funcionamento da empresa. Os níveis de decisão obedecem à hierarquia existente na empresa
e são conhecidos como nível estratégico, táctico e operacional (POLLONI, 2000, p.30).
Segundo Laudon e Jane (2004), os principais tipos de sistemas de informação são os Sistemas
de Processamento de Transações (SPTs), os Sistemas de Informações Gerenciais (SIGs) e os
Sistemas de Apoio à Decisão (SADs).
3
Sistema de informação
16
O ERP tem como objetivo melhorar processos de negócios como produção, avaliação ou
distribuição, tanto para verificação de informações on-line assim como em tempo real. O ERP
utiliza a tecnologia cliente/servidor, na qual o usuário acessa as informações diretamente em
uma base de dados única (servidor), que interage com todos os aplicativos do sistema.
17
Características indesejadas:
Fonte: Adaptado
Fonte: Adaptado
Linguagem de Programação
O conjunto de palavras, composto de acordo com essas regras, constitui o código fonte de um
software, que depois é traduzido para código de máquina, que é, por sua vez, executado pelo
processador.
2.7.1. PHP
O PHP, segundo Primo (2007, apud SILVEIRA, 2009, p. 43), surgiu em 1994 como um
projecto pessoal de Rasmus Lerdorf com o intuito de controlar acessos a sua página Web e
permitir aos desenvolvedores escrever páginas que serão desenvolvidas ou geradas
dinamicamente.
Silveira ainda complementa dizendo que a tecnologia PHP é gratuita e incorpora ainda a
linguagem PHP que é baseada nas linguagens C, Java e Perl e ainda pode ser vista como uma
combinação de linguagem de programação e servidores de aplicações.
Existem ainda outras tecnologias não tão conhecidas, mas que fazem parte desta categoria de
linguagens de servidor e que estão se popularizando cada vez mais, como é o caso do Python
e Ruby criados no final da década de 90. (SILVEIRA, 2009, p. 43)
Para Oliveira (2007), PHP é uma linguagem de scripting do tipo server-side, mas com
característica de ser open source. O PHP pode ser utilizado na maioria dos sistemas operativos,
incluindo Linux, diversas variantes UNIX, Microsoft Windows, Mac OS X e RISC OS. A
linguagem PHP proporciona o desenvolvimento de aplicações para base de dados utilizando
uma interface web.
2.7.2. Javascript
Silveira (2009), diz que Javascript é uma linguagem de scripts que é processada diretamente no
navegador, dispensando a ajuda de um servidor, onde através dela é possível fazer validações
de campos, abertura de janelas, controle da utilização de botões, mensagens de alertas,
confirmações e principalmente criar uma interatividade maior do usuário com a página
utilizada. (SILVEIRA, 2009, p.40)
Com Javascript é possível alterar o estilo de uma página de forma dinâmica, pois não é uma
linguagem compilada, mas sim interpretada e é inserida junto com o código fonte HTML das
páginas (SILVEIRA, 2009 apud DZENDZIK, 2005). Nesse contexto, podemos destacar que
com a linguagem Javascript será possível corrigir possíveis problemas que podem vir a surgir
no sistema proposto, tendo em vista que somente as linguagens HTML e CSS não oferecem
suporte para tanto, além possibilitar a construção de páginas mais dinâmicas e interativas.
20
2.7.3. HTML
Na óptica de Coelho (2001), o HTML consiste na linguagem utilizada nas páginas WWW.
Ainda o autor afirma que se trata de uma linguagem construída segundo as regras especificadas
por outras mais antigas (SGML) e que descreve páginas de Hipertexto com recursos a um
conjunto de identificadores denominados de “marcas”.
De acordo com Pereira e Poupa (2005) o HTML é uma linguagem básica da WWW e ainda
afirmam que a maioria dos documentos na Internet encontram-se escritas em HTML, e daí a
sua incontornável importância.
Base de dados
Date (2003) define base de dados como sendo um repositório para uma coleção de ficheiros de
dados computarizados. Date (2003) considera ainda que uma base de dados é uma “coleção de
preposições, assumidas por convenção como verdadeiras”.
Estes sistemas são criados para gerenciar um grande volume de informação de forma segura,
conveniente e eficiente, atendendo à necessidades dos aplicativos. São usados para o
armazenamento e manipulação de dados e devem garantir segurança das informações
armazenadas, tanto contra eventuais problemas com o sistema quanto a tentativas de acessos
não autorizados.
21
O conceito foi criado por Edgar Frank Codd em 1970, sendo descrito no artigo "Relational
Model of Data for Large Shared Data Banks". Na verdade, o modelo relacional foi o primeiro
modelo de dados descrito teoricamente.
4
http://www.postgresql.org – acessado no dia 01 de Junho de 2016 as 22:45h
5
Berkeley Software Distribution
22
Aloise et Al (2008), afirma que o MySQL é um sistema de gestão de base de dados relacional
multe encadeado, que tem código fonte aberto e nível corporativo. O MySQL não é apenas um
base de dados, mas também um gestor de base de dados. Com este SGBD (Sistema Gestão de
Base de Dados), também pode ser utilizado para aplicações corporativas, em que, necessitam
de várias conexões simultâneas, e que possibilita 101 conexões em simultâneas e que uma
conexão é o tempo que leva para um determinado utilizador receber o dado solicitado.
O MySQL é um software livre sob licença GPL, o que significa que qualquer um pode estudá-
lo, alterá-lo e distribuí-lo conforme a necessidade, desde que o software que o acessa seja livre.
Controle de versão
6
Secure Socket Layer – Protocolo de encriptação de dados
7
Controle de concorrência multiversionado
23
dados de quem alterou, porquê alterou, as referencias dos problemas resolvidos ou melhorias
adicionadas incluídas com a alteração.
Permite que arquivos sejam revertidos à um estado anterior, todo o projecto de volta a um
estado anterior e comparar as alterações ao longo do tempo.
2.9.1. GIT
O GIT é um sistema de controlo de versão, iniciado por Linus Torvalds em 2005 e projectado
com enfâse em velocidade8.
O GIT está primariamente desenvolvido para Linux, mas pode ser usados em outros sistemas
operacionais baseados no Unix e Windows.
Homestead
Segundo o website do framework Laravel9, do criador Taylor Otwell, homestead é uma “caixa”
Vagrant10 pré-construída que oferece um ambiente de desenvolvimento sem precisar instalar
PHP, servidor web ou qualquer outro software na máquina local.
É possível instalar em qualquer máquina Windows, Linux ou Mac e inclui o servidor web
Nginx, PHP 5.6, MySQL, PostgreSQL, GIT e outras ferramentas necessárias para desenvolver
aplicações web.
É uma solução geral reutilizável para um problema que ocorre com frequência dentro de um
determinado contexto no projecto de software. Um padrão de projecto não é um projecto
finalizado que pode ser diretamente transformado em código fonte ou de máquina, ele é uma
descrição ou modelo (template) de como resolver um problema que pode ser usado em muitas
8
https://pt.wikipedia.org/wiki/Git - consultado no dia 1 de junho de 2016 as 23:01h
9
https://laravel.com/docs/master/homestead - consultado no dia 6 de junho de 2016 as 2:25h
10
Software para gestão de máquinas virtuais – https://www.vagrantup.com
24
situações diferentes. Padrões são melhores práticas formalizadas que o programador pode usar
para resolver problemas comuns quando projetar uma aplicação ou sistema.
O padrão MVC foi formulado em 1970 por Trygve Reenskaug como parte de um sistema de
Smalltalk sendo desenvolvido na Xerox PARC. O sistema desenvolvido foi o princípio do
projecto em que muitos frameworks modernos da web se basearam. Foi projetado para actuar
em aplicativos em que os desenvolvedores descobriram que a separação de interesse resultava
em muito menos acoplamento, tornando o código mais fácil de escrever e de manter
(THOMAS; HANSSON, 2008). Sendo um padrão é implementado em várias linguagens de
programação e é altamente difundido, permitindo que equipes distintas trabalharem sem
interferência pejorativa, deixando o código mais legível, possibilitando cada equipe focar
exclusivamente nas suas atribuições.
Fonte: http://rubysource.com/getting-started-withmvc
Segundo Booch, (2000), para além da sequência de etapas e procedimentos recomendados para
serem aplicados durante o processo de desenvolvimento de sistemas de informação (ou seja,
26
Segundo Castro & Moreira (2007) uma das grandes representantes das metodologias rigorosas
é o RUP, um recurso de Engenharia de Software, criado pela empresa Rational Software
Corporation que descreve a maneira de desenvolver um software utilizando técnicas comerciais
e objectivando o aumento da qualidade do produto criado. É classificado também como um
processo de Engenharia de Software, que tem como principal objectivo garantir o
desenvolvimento de sistemas com qualidade, respeitando os requisitos solicitados pelo cliente,
em prazos e custos determinados.
O Processo Unificado proposto pela RUP foi criado para apoiar o desenvolvimento orientado a
objectos, fornecendo uma forma sistemática para se obter vantagens na utilização da
Linguagem de Modelagem Unificada (Unified Modelling Language).
Segundo Silva (2001), a arquitectura do RUP encontra-se estruturada segundo duas dimensões,
que reflectem as duas visões através das quais um sistema pode ser descrito:
11
Fluxo de actividades
27
i. Concepção
Concepção inicial do sistema, aonde é feita uma discussão sobre o problema, definição do
escopo do projeto, estimativa de recursos necessários para a execução do projeto, etc. É nesta
fase que é apresentado o plano de projeto, caso de uso inicial e o glossário do projeto, entre
outros.
ii. Elaboração
iii. Construção
iv. Transição
A partir desta fase, o sistema já está pronto, começa a implantação do sistema para o usuário
(ou a comunidade de usuários do mesmo). Nesta fase é deve ser utilizado o lançamento de
versões beta12, operação paralela com o sistema legado, treinamento dos usuários e
mantenedores do sistema, etc.
12
Software/Produto que ainda se encontra em fase de desenvolvimento e testes
28
Modelação do negócio
Requisitos
Análise e Desenho
Implementação
Testes
Instalação.
Prevê ainda a existência de três workflows de suporte, que incluem actividades de apoio
executadas ao longo de todo o processo, que são essenciais para garantir o sucesso do mesmo:
Gestão de projectos
Configuração e gestão de alterações
Definição do Ambiente.
Ao contrário das abordagens tradicionais, estes workflows não só não são sequenciais, como
são repetidos diversas vezes ao longo das várias fases do processo, em várias iterações,
possivelmente realizando actividades diferentes ou com um grau variável de intensidade e
detalhe.
29
Fluxos Descrição
Elementos básicos
Segundo Silva (2001), a estrutura de conceitos do UML pode ser vista através das seguintes
noções: (1) “coisas” ou elementos básicos, com base nos quais se definem os modelos; (2)
relações, que relacionam elementos; e (3) diagramas, que agrupam elementos.
Tipos de relações
As relações são conceitos gerais que apresentam uma sintaxe (neste caso, uma notação) e uma
semântica bem definida, e que permite o estabelecimento de interdependências entre os
elementos básicos acima introduzidos.
Diagramas da UML
O UML define diferentes tipos de diagramas, cuja utilização e aplicação permitem dar visões
complementares:
Requisitos de um Sistema
Os requisitos de software nada mais são do que um conjunto de atividades que o software deve
desempenhar, com suas limitações e restrições, além de características não ligadas diretamente
às funções desempenhadas pelo software (SOMMERVILLE, 2003).
Quanto mais compreensível, precisa e rigorosa for a descrição de um requisito de sistema, maior
será a proporção quanto ao grau de qualidade do produto resultante (PETERS, 2001).
i. Requisitos Funcionais
Requisitos não funcionais são restrições que especificam os critérios que podem ser utilizados
para avaliar o funcionamento de um sistema, através de comportamentos específicos.
(LARMAN, 2000).
33
Breve Historial
A Universidade Pedagógica é uma instituição pública de ensino superior fundada em 1985 sob
o nome de Instituto Superior Pedagógico (ISP) até que em 1995, dez anos depois da sua
abertura, passa a categoria de Universidade adoptando, então, o seu nome actual. Na época da
sua abertura, funcionou nas instalações da Escola Preparatória General Joaquim José Machado,
em Maputo.
Foi a primeira instituição de ensino superior a ter um campus fora da capital do país,
demostrando desde então a sua vontade de expandir a educação para todos os cantos de
Moçambique.
Missão da UP
Aquando da sua fundação, a UP era tida somente como uma instituição vocacionada para a
formação de professores para todos os níveis do Sistema Nacional de Educação (SNE) e de
quadros da educação. Hoje, com o aumento significativo do leque de cursos ministrados por
ela, forma desde professores a técnicos profissionais capacitados para lidar com o mercado de
trabalho, algo que vem fomentando a procura pelos serviços por ela prestados.
A direção central funciona no edifício da UP-Sede, na rua João Carlos Raposo Beirão, n°135,
em Maputo.
3.3.2. Organização
Esta direcção é administrada por um director nacional que trabalha em colaboração com os
chefes de departamento espalhados pelas delegações da UP.
A nível central, ela conta com uma equipa formada por nove funcionários, um chefe de
departamento, uma chefe de secretaria e a directora da direção, fazendo o total de doze
trabalhadores.
O SIGEUP é um sistema de informação que foi concebido para auxiliar a gestão das áreas
académica, administrativa e financeira da Universidade Pedagógica a nível nacional provendo
segurança, facilidade, compartilha de informação e rapidez nos processos desta instituição.
Historial do SIGEUP
Até ao ano de 2012, a DRA já usava um sistema de informação para o registo das inscrições
dos estudantes. Era uma aplicação desktop13 desenvolvida usando os pacotes proprietários
Microsoft Office Access-200314 e Visual Basic15 da Microsoft16. Este sistema, devido a sua
arquitectura, mostrava várias limitações em termos de flexibilidade e integridade dos dados,
visto ser um sistema que só podia ser acedido localmente (o que punha em risco a segurança e
integridade da própria base de dados pois era necessário transporta-la de um computador para
outro), necessitava de instalação de softwares pagos em cada máquina que precisasse aceder ao
sistema e um técnico formado para configurar cada máquina, para além da morosidade do
sistema. Até então, somente algumas delegações faziam o uso deste sistema sendo que cada
uma possuía os seus dados localmente sem que houvesse partilha de informação. Outro aspecto
era o isolamento dos demais sectores pois cada um dos sectores possuía, também, um sistema
isolado que proporcionava os mesmos problemas de duplicidade e inconsistência de dados e
dificuldade no levantamento de informações.
13
Sistemas executados na máquina dos usuários, podendo ter comunicação com outros sistemas.
14
Sistema de gestão de base de dados com uma interface gráfica do utilizador.
15
Linguagem de programação produzida pela empresa Microsoft.
16
Empresa americana que vende softwares de computador, produtos eletrônicos, computadores e serviços
pessoais.
17
Denominação inicial do SIGEUP.
37
O eDondzo foi criado por um desenvolvedor contratado pela instituição que havia iniciado o
seu desenvolvimento no ano de 2010 e passou a ser implementado em todas delegações da UP
a partir do ano de 2013. Esta implementação foi possível graças ao uso de uma base de dados
única e à sua arquitectura voltada à web que permite o acesso remoto a partir de qualquer parte
do mundo, desde que possua uma conexão à internet e um navegador web.
Gradualmente, foi feita a integração dos estudantes no sistema (registo académico), planos
curriculares, dos pagamentos (finanças), funcionários e docentes (recursos humanos) e notas
dos estudantes.
Em 2014 ele passa por uma reestruturação que engloba um novo domínio, nova equipa de
desenvolvimento, políticas de administração, servidores e nome, passando a ser denominado
por SIGEUP, um acrónimo para Sistema de Gestão da Universidade Pedagógica, nome este que
prevalece até hoje.
A equipa responsável pelo sistema é composta, actualmente, por três funcionários da instituição
alocados na DRA e CIUP18 nomeados pelo Reitor com a função de prover a manutenção,
aprimoramento, extensão e documentação do sistema.
Características do Sistema
O SIGEUP é um sistema integrado que funciona através de uma interface web, intuitiva e de
fácil acesso. O seu acesso pode ser feito a partir de qualquer dispositivo com acesso à internet
e uma aplicação que permita navegar na web, independentemente das especificações de
hardware e software do dispositivo, tornando-se, assim, um sistema multiplataforma. O seu
acesso é disponibilizado através do endereço www.sigeup.up.ac.mz.
Este sistema foi desenvolvido usando as linguagens de programação PHP e Javascript e, para a
interface do usuário, recorreu-se ao uso do Bootstrap da Twitter, um framework CSS e
18
Departamento responsável pelo ramo de informática na UP.
38
Módulos existentes
Portal do Docente: este módulo está voltado para o docente e é onde ele pode ter acesso
à lista dos seus estudantes por cadeira, lançar avaliações e imprimir as suas pautas;
Gestão do Currículo: este módulo está virado à gestão dos cursos, disciplinas,
faculdades, departamentos e planos curriculares no sistema;
Registo Académico: neste módulo temos acesso à diversos recursos para administração
académica do estudante como o registo, gestão, inscrição, registo de actas de conclusão,
emissão de declarações do estudante;
19
Página web que muda a sua aparência e disposição com base no tamanho da tela em que é exibida.
39
Relatórios: neste módulo temos os relatórios do sistema onde podemos ter a estatística
do número de estudantes inscritos em disciplinas, os inscritos para a graduação, para os
exames especiais, as actas emitidas, estatística do corpo docente e as pautas das
disciplinas leccionadas.
A inscrição dos estudantes na UP é feita no SIGEUP pela direção do registo académico na sede
e pelos departamentos de registo académico nas delegações.
As inscrições dos estudantes decorrem duas vezes ao ano no início de cada semestre. Este
processo, com um tempo estipulado de 7 a 15 dias, chega a durar no mínimo 45 dias. Durante
este período, o Registo Académico estende o seu horário de funcionamento, passando a
funcionar no horário das 7h e 30 mins até as 17h, contra o horário normal que termina às 15h e
30 minutos.
40
Processo de Inscrição
O processo de inscrições dos estudantes na UP decorre no início de cada semestre, época esta
em que os estudantes desta instituição dirigem-se em massa aos locais de atendimento do registo
académico a fim de regularizar a sua inscrição, requisito de carácter obrigatório para que o
estudante possa frequentar as disciplinas leccionadas no semestre em vigor.
A inscrição dos estudantes na UP, a nível nacional, é feita em cadeiras dentro do SIGEUP onde
os administradores definem as políticas de acesso aos módulos através dos recursos fornecidos
pelo sistema.
Constrangimentos
Durante o período das inscrições, tem-se observado enchentes devida a demora no atendimento
que tem várias causas como origem: falta de acesso à internet, lentidão da rede, equipamentos
danificados (PC’s, impressoras, switches, etc.). Apesar das tentativas de organização dos
estudantes por faculdade em que cada faculdade teria um período específico para inscrição e
optar-se por espaços maiores para instalação da DRA, as enchentes prevalecem.
41
Outro ponto que tem sido observado é em relação aos estudantes do EAD que não se encontram
a residir dentro da cidade de Maputo ou então trabalham fora da cidade sendo este, muitas das
vezes, o motivo por optarem por este regime de frequência. Muitos acabam perdendo o período
de inscrições pela falta de disponibilidade para se deslocar aos locais onde estas decorrem.
Além disso, o SIGEUP não possui uma ferramenta para o controle de precedências, ficando
essa função a cargo do funcionário que normalmente não possui acesso a estas informações ou
que, por um ou outro motivo, acaba cometendo erros.
Outro ponto concerne o arquivo desses recibos de depósito que chegam a ser um
constrangimento pois ocupam largos espaços chegando a ameaçar a saúde dos próprios
funcionários, pois, acabam sendo armazenados nos próprios locais de trabalho por falta de
espaços para a sua arquivação
Outro constrangimento está relacionado com o lançamento dos dados dos talões de depósito
pois não existe algum mecanismo que possa autenticar os dados inseridos no sistema, isto é, o
sistema está vulnerável ao forjamento de dados de pagamentos.
42
Para Finger (1997) os processos de Gestão Universitária deveriam ser inovadores e melhorar a
interacção entre alunos, docentes, técnicos e, em geral, a comunidade universitária. Reforçando
a ideia, (Bernardes & Abreu, 2009) afirma que os colaboradores das Universidades precisam
se consciencializar da importância das tecnologias como componente de integração dos
diversos departamentos, unidades académicas e administrativas.
Após termos feito a apresentação da instituição em estudo e o cenário encontrado, vamos, neste
capítulo, percorrer o processo de concepção do módulo e a sua implementação.
O sistema deve estar capaz de processar várias requisições por um curto espaço de
tempo;
A interface deve ser compatível com os navegadores de dispositivos móveis (Smart
Phones, Tablets, Netbooks);
O sistema deverá rodar em multiplataformas;
O sistema deve trabalhar em rede (fornecer terminais aos seus clientes, de forma que
eles possam interagir directamente com o sistema);
O sistema deve permitir uma autenticação dos utilizadores;
A comunicação entre sistemas deve utilizar uma plataforma segura;
Caso de Uso (R10): Importação de ficheiros dos pagamentos enviados pelo banco
o Actores: Funcionário;
o Pré-Condição: O funcionário deve estar logado no sistema e ter permissões para
importar pagamentos;
o Descrição: O sistema deve permitir a importação dos ficheiros enviados pelo
banco;
Caso de Uso (R11): Validação das inscrições dos estudantes com pagamentos feitos
o Actores: Funcionário;
o Pré-Condição: O funcionário deve estar logado no sistema e ter permissões para
eliminar inscrições;
o Descrição: Durante a importação dos pagamentos do banco, o sistema deve
validar todas as inscrições cujo pagamento esteja conforme;
Caso de Uso (R12): Enviar notificações de confirmação das inscrições
o Actores:
o Descrição: O sistema deve enviar automaticamente emails para os endereços
dos estudantes cujas inscrições tenham sido confirmadas;
Caso de Uso (R13): Gerar relatório do recibo da inscrição
o Actores: Estudante;
o Pré-Condição: O estudante deve estar logado no sistema;
o Descrição: O sistema deve permitir obter o recibo da inscrição para as que já
tenham sido confirmadas e validadas;
Efectuar inscrição
Cancelar Inscrição
Importar Pagamentos
Tabelas
Usuario Tabela com informações dos usuários
Perfil Tabela com informações das permissões dos usuários
Estudante Tabela com os dados dos estudantes
Curso Tabela com informações dos cursos
Regime Tabela com informações dos regimes
Delegacao Tabela com informações das delegações do sistema
Bolsa Tabela com dados das bolsas dos estudantes
Pagamento Tabela com dados dos pagamentos feitos pelos estudantes
Recibo Tabela com as informações dos recibos dos pagamentos do sistema
Recebo_descritivo Tabela com descritivos dos pagamentos feitos no sistema
Disciplina Tabela com informações das disciplinas
Curso_disciplina Tabela com informações das disciplinas que pertence a cada curso
Turma Tabela com informações das turmas
Inscricao Tabela com informações das inscrições feitas no sistema
Inscricao_disciplina Tabela com informações das disciplinas inscritas pelos estudantes
Banco Tabela com informações dos bancos do sistema
Conta_bancaria Tabela com dados das contas bancárias
Referencia_bancaria Tabela com informações das referências geradas pelo sistema
Referencia_import Tabela com informações das referencias recebidas via importação de ficheiros do
banco
Audit.Inscricao Tabela com informações de backup das inscrições eliminadas do sistema
Audit.Log Tabela de Log das actividades no sistema
Testes do Sistema
Para a concepção deste projecto não foi utilizado nenhum método específico para realização
dos testes. Durante o processo de concepção, foram realizados testes de integridade dos dados
com registos reais em máquinas virtuais.
A nível de segurança foram definidos e testados os privilégios para cada tipo de utilizadores na
utilização do sistema. Os utilizadores somente terão disponíveis a interface necessária para a
execução das suas tarefas.
O piloto foi lançado com suporte para importação de ficheiros de pagamento do BIM, banco
com o qual a instituição já trabalhava, mas foram testados com sucesso ficheiros do BCI.
De forma a garantir encriptação dos dados entre o cliente e o servidor durante a conexão, de
forma a impedir o extravio e adulteração desses dados, recorreu-se ao uso de um certificado
SSL no servidor web.
Foi criado um manual para os estudantes sobre o procedimento de inscrição que pode ser
consultado no Anexo 4 e na página web do DRA (https://www.up.ac.mz/dra/8-
departamentos/12-passos-para-inscricao-no-sigeup.html).
Foi feita uma pequena formação dos funcionários nos aspectos de anulação de inscrições,
importação de pagamentos e suporte para questões em que houvesse dúvidas por parte dos
estudantes sobre o processo de inscrição.
Capítulo V: Conclusão
Considerações Finais
Com a implementação do módulo, foi possível adicionar fiabilidade aos dados de pagamentos
no sistema, diminuição significativa dos custos acarretados pelo processo de inscrição e
aumento de comodidade tanto para os estudantes assim como para a instituição.
Limitações
O ficheiro com os dados de pagamentos é enviado pelo banco somente nos dias
úteis, uma vez por dia;
A arquitectura monolítica20, que é a actual usada no sistema, trás algumas
dificuldades que vão se agravando de acordo com o crescimento da aplicação
como:
o Ponto único de falha: se houver um erro em algum componente que
deixe o sistema fora do ar, isso vai levar junto todo o sistema, incluindo
funcionalidades que não possuem nenhuma relação com essa
funcionalidade;
20
Uma aplicação feita em uma só unidade.
53
Recomendações
Após o término do processo de implementação do sistema, pode-se fazer uma pequena análise
de alguns pontos que vamos aqui recomendar:
Referências Bibliográficas
GIL, A. C. Como elaborar projectos de pesquisa. 5. ed. São Paulo, Atlas, 2010.
SEVERINO, Antônio Joaquim. Metodologia do trabalho científico. São Paulo: Cortez,
2000.
PRESSMAN, R. S. Engenharia de software. São Paulo: Makron Books, 1995.
STAIR, R. M. Princípios de sistemas de informação: uma abordagem gerencial. São
Paulo: Cengage Learning, 2008.
LAUDON, K. C. S.; LAUDON, J. P. Management of information systems: a
contemporary perspective. [S.l.]: MacMillan, 1996.
Comissão de Revisão Curricular. Normas para Produção e Publicação de Trabalhos
Científicos na Universidade Pedagógica, Maputo, 2012;
BERNARDES, J. F.; ABREU, A. F. A contribuição dos sistemas de informações na
gestão universitária. Florianópolis: INPEAU, 2004.
GASPEROTTO, Neiva Aparecida. A secretaria de uma universidade virtual.
Florianópolis, 2000.
DÁVALOS, R. V.; MÜLBERT, A. L. Implantação de um Sistema Integrado de
Gestão.2002. Obtido em 10 de Maio de 2014, de
http://www.abepro.org.br/biblioteca/ENEGEP2002_TR90_0239.pdf.
YUMI, E. I. Movimento Open Source. 2008. Obtido em 10 de Maio de 2014, de
http://www.dicasl.com.br/download/movimento_open_source.pdf.
ANDERSON, John: Paper-Based Enrollment: Problems and Solutions. In: School
Business Affairs. New York. Outubro. 2011 pp. 30-32.
KRUCHTEN, P. (2003). Introdução a RUP. Obtido em 17 de Novembro de 2015, de
http://www.personati.com/artigos/Pu_RUP.doc
PRODANOV, C. C.; FREITAS, E. C. Metodologia do Trabalho Científico: Métodos e
Técnicas da Pesquisa e do Trabalho Acadêmico. 2. ed. Novo Hamburgo, Feevale, 2013.
MANÃS, A. V. Administração de sistemas de informação. 2. ed. São Paulo: Érica,
1999.
MELO, I. S. Administração de sistemas de informação. 1. ed. São Paulo: Pioneira, 2006
Dicionário escolar da língua portuguesa/Academia Brasileira de Letras. 2ª edição. São
Paulo. Companhia Editora Nacional. 2008. p. 922.
COLOMBO, Sônia Simões: Gestão educacional: uma nova visão. Porto Alegre:
Artmed, 2004. 262 p.
55
Glossário
Composer: gestor de pacotes para a linguagem PHP que providencia dependências para
projectos.
Framework: é uma abstração que une códigos comuns entre vários projetos de software
provendo uma funcionalidade genérica.
Online - termo com origem inglesa e que se popularizou com o advento da Internet.
Significa estar disponível para acesso imediato a uma página de Internet, em tempo
real.
SQL: sigla para Structured Query Language, que é uma linguagem utilizada em
bancos de dados relacional.
Schemas: recurso que permite cruzar informações em um mesmo banco de dados, mas
em estruturas diferentes;
57
SSL: sigla para Secure Sockets Layer, que consiste em um protocolo para a troca
segura de informações.
Virtualização: técnica que permite que uma única máquina física execute dois ou
mais sistemas operativos simulando as mesmas características de uma máquina real.
Anexos
59
1. Dicionário de dados
Usuario
Coluna Tipo Constraint Nulo Defeito
ID Character varying(15) PK N
Nome Character Varying(100) N
Email Character varying(30) S
Senha Character varying(60) N
Perfil_id Character(3) FK(Perfil) N
Confirmado boolean N false
Perfil
Coluna Tipo Constraint Nulo Defeito
ID Character(3) PK N
Nome Character varying(30) N
Permissoes json S
Estudante
ID Character varying(15) PK N
Nome Character varying(100) N
Curso_id Character(5) FK(Curso) N
Regime_id Character(3) FK(Regime) N
Delegacao_id Character(2) FK(Delegacao) N
Usuario_id Chaacter Varying(15) FK(Usuario) S
Curso
ID Character(5) PK N
Nome Character varying(30) N
Regime
ID Character(2) PK N
Nome Character varying(30) N
Delegacao
ID Character(2) PK N
Nome Character varying(30) N
Bolsa
ID Integer PK N Auto_inc
Estudante_id Character varying(30) FK(Estudante) S
Isenção Integer N
Pagamento
ID Integer PK N Auto_inc
Descritivo Character varying(30) N
60
Ano_lectivo Integer N
Inscricao
ID Integer PK N Auto_inc
Estudante_id Character varying(30) FK(Estudante) N
Ano_lectivo Integer N
Semestre Integer N
Data Timestamp N Now()
Activo boolean N false
Inscrição_disciplina
ID Integer PK N Auto_inc
Disciplina_id Character varying(30) FK(Disciplina) N
Nivel Integer N
Activo boolean N false
Turma_id Character Varying(36) FK(Turma) N
Inscrição_id Integer FK(Inscricao) N
Banco
ID Integer PK N Auto_inc
Nome Character varying(30) N
Conta_bancaria
ID Character varying(15) PK N Auto_inc
Banco_id Integer FK(Banco) N
Entidade Integer N
Referencia_bancaria
ID Character varying(11) PK N Auto_inc
Estudante_id Character varying(15) FK(Estudante) N
Ano_lectivo Integer N
Referencia_import
ID Character varying(15) PK N Auto_inc
Referencia Character varying(11) FK(Referencia_ba N
ncaria)
Entidade Integer N
Valor Numeric(15,2) N
Data Date N
Usada Boolean N false
Adit.inscricao
ID Integer PK N Auto_inc
Estudante_id Character varying(30) FK(Estudante) N
Ano_lectivo Integer N
Semestre Integer N
62
3. Ferramentas de desenvolvimento
a. PhpStorm21: Interface do IDE
21
Disponível em https://jetbrains.com/phpstorm
64
4. Interfaces do sistema22
a. O usuário deve providenciar as suas credenciais para aceder ao sistema.
22
Disponível também em https://www.up.ac.mz/dra/8-departamentos/12-passos-para-inscricao-no-sigeup.html
66
c. Caso não tenha confirmado o email ainda, será pedido que insira o endereço de email
para envio do email de confirmação.
NB: Para o envio de emails, o sistema faz uso de um serviço de terceiro chamado mandril. O serviço é
grátis para os primeiros 12000 emails do mês.
A comunicação entre o serviço e o SIGEUP é feita através da biblioteca PHPMailer que é carregada
como dependência do sistema via Composer.
67
e. Na figura seguinte, podemos ver o layout do email enviado pelo sistema, devendo o
estudante fazer clique sobre o link realçado na imagem.