Escolar Documentos
Profissional Documentos
Cultura Documentos
FACULDADE DE ENGENHARIA
ACADÊMICOS
Autor
Zelito Atumane Saide
Supervisor
Eng.º Ruben Manhiça
FACULDADE DE ENGENHARIA
ACADÊMICOS
Autor
Zelito Atumane Saide
Supervisor
Eng.º Ruben Manhiça
Dedico este trabalho a minha família, amigos, colegas e professores que sempre me
apoiaram e deram me força sempre que precisa-se.
1
Epígrafe
“O Homem realizado é aquele que reconhece o maior problema de sua vida e consegue
encontrar a fonte viável da solução desse problema” (Zelito Atumane Saide)
2
Agradecimentos
A Deus por ter me dado vida, saúde e força para superar as dificuldades enfrentados na
elaboração deste trabalho.
Aos meus pais, pelo amor, incentivo e apoio, que apesar de todas dificuldades que eles
enfrentaram durante todo este percurso, nunca desistiram de apostar em mim.
A esta universidade, seu corpo docente, direção e administração que abriram a janela que
hoje vislumbro um horizonte superior, eivado pela acendrada confiança no mérito e ética
aqui presentes.
Ao meu supervisor Eng.º Ruben Manhiça, pelo suporte no pouco tempo que lhe coube,
pelas suas correções e incentivos.
Ao grupo decente da cadeira PIA que me deu a oportunidade de terminar o trabalho mesmo
depois do limite de entrega.
3
Resumo
Diante dos factos que esta pesquisa revela acerca da elaboração manual de horários,
este tem sido um processo demorado, exaustivo e muito complexo enfrentado em várias
instituições, e quanto maior for a instituição em questão, maior ainda será o problema. A
despeito dos problemas comuns que as instituições acadêmicas enfrentam na gestão de
horários, existem problemas particulares que são muito próprios da instituição. Face ao
disposto no período anterior, a Faculdade de Engenharia da Universidade Eduardo
Mondlane (UEM) tem enfrentado problemas referentes a modificações do horário nas
primeiras semanas de aulas depois de este ter sido publicado, mediante negociações
entre os docentes ou entre docentes e a turma em causa. Face a este problema, propôs-
se estudar e desenvolver um sistema de geração de horários acadêmicos para a
Faculdade de Engenharia da UEM, onde descreveu-se primeiro a situação actual do
processo de elaboração de horários, identificou-se e descreveu-se os problemas que
esta enfrenta, de seguida analisou-se e comparou-se algumas aplicações existentes
para a gestão de horários, e por último desenvolveu-se uma proposta de solução, com
recurso a inteligência artificial (Algoritmos Genéticos) e modelos matemáticos para
garantir a qualidade dos horários gerados. Com esta solução, espera-se diminuir o tempo
gasto e o nível de intervenção e concentração do utilizador que é exigido no processo de
elaboração manual de horários, gerar horários sem nenhum tipo de choque
(sobreposição) tanto de professores assim como de salas e por último diminuir o nível
de modificações feitas sobre o horário após este ser publicado.
4
Abstract
Given the facts that this research reveals about the manual elaboration of schedules, this
has been a time consuming, exhausting and very complex process faced in several
institutions, and the bigger the institution in question, the bigger the problem will be.
Despite the common problems academic institutions face in schedule management, there
are particular problems that are very much of the institution. In view of the previous period,
the Faculty of Engineering of UEM has been facing problems regarding schedule changes
in the first weeks of classes after it was published, through negotiations between the
teachers or between teachers and the class in question. Faced with this problem, it was
proposed to study and develop a system of academic schedule management for the
Faculty of Engineering of UEM, where we first described the current situation of the
process of elaboration of schedules at the Faculty of Engineering of UEM, the problems
it faces were identified and described, then some existing applications for schedule
management were analyzed and compared, and a solution proposal was developed,
using artificial intelligence (Genetic Algorithms) and mathematical models to guarantee
the quality of the generated schedules. With this solution, it is expected to decrease the
time spent and the level of user intervention and concentration that is required in the
manual scheduling process, to generate schedules without any kind of clash (overlap) of
both teachers as well as classrooms and by the latter decreases the level of changes
made to the schedule after it is published.
5
Índice
1.1. Contextualização.............................................................................................. 13
1.2. Justificativa....................................................................................................... 14
1.4. Metodologia...................................................................................................... 15
6
2.3. Avaliação de alguns sistemas existentes de gestão de horários ..................... 28
7
4.1.7. Tecnologias Utilizadas .................................................................................. 60
Anexos ......................................................................................................................... 75
8
Índice de Figuras
9
Figure 24: Descrição do diagrama de sequência DS06 ................................................ 80
Índice de Tabelas
10
Lista de abreviaturas e acrónimos
AG Algoritmo Genético
RF Requisito functional
DS Diagrama de Sequencia
11
Capítulo I – Introdução
12
1.1. Contextualização
A Faculdade de Engenharia foi fundada no mesmo ano que a UEM, e possuía uma
estrutura de chefia centralizada, com cada curso associado a um Departamento
específico. Logo após a Independência, os departamentos assumiram o estatuto de
Faculdade com estrutura não centralizado. Esta estrutura permaneceu até 1980, quando
foi de novo mudada para a situação de 1962 (FEUEM, 2019).
13
publicado. Assim, a tarefa de gestão de horário na faculdade de engenharia torna-se
ainda muito complexa e difícil, pior ainda quando é realizada manualmente.
Face aos factos acima apresentados, constata-se que são muitos os elementos
envolvidos na elaboração de horários e alocação de salas na faculdade de Engenharia,
e portanto, fica muito difícil gerir todos eles ao mesmo tempo sem a ajuda de algum
recurso informático. Desta feita, o presente trabalho irá focar-se essencialmente no
estudo de soluções à problemática apresentada.
1.2. Justificativa
14
1.3. Objectivos
1.4. Metodologia
Segundo (Lakatos & Marconi, 1992), o problema deve ser levantado e formulado, de
preferência em forma interrogativa. O presente trabalho teve como fundamento a
necessidade de responder a seguinte questão: Até que ponto a falta de um sistema de
gestão de horários académicos pode, de certo ponto, afectar negativamente a
administração pedagógica da faculdade de engenharia da UEM e os seus intervenientes,
como estudantes, professores e directores?
15
1.4.2. Classificação da metodologia
Segundo (Prodanov & Freitas, 2013), a investigação pode ser classificada em descritiva,
exploratória ou explicativa. A pesquisa exploratória visa proporcionar maior familiaridade
com o problema, tornando-o explícito ou construindo hipóteses sobre ele. Foi possível,
através da pesquisa exploratória, apresentar quais os problemas existentes no processo
de elaboração manual de horários académicos da FEUEM, determinando as suas
limitações e lacunas a serem resolvidas.
Quanto à abordagem
Segundo (Prodanov & Freitas, 2013), quanto à abordagem a pesquisa pode ser
qualitativa e quantitativa. Na pesquisa qualitativa o ambiente natural é a fonte directa
para coleta de dados, interpretação de fenômenos e atribuição de significados. Sendo
assim, inicialmente fez-se um levantamento histórico do caso de estudo, de modo a aferir
se mediante a informação obtida poderia se realizar a pesquisa e quais elementos
poderiam ser analisados, por forma a resolver a problemática existente. De seguida, fez-
se uma análise para se poder obter informações sobre quais os critérios que se teriam
em conta e que elementos analisar.
Segundo (Prodanov & Freitas, 2013), a pesquisa quanto ao método científico pode ser
indutiva, dedutiva, hipotético-dedutiva, dialético ou fenomenológica. No método
hipotético-dedutivo formula-se hipóteses para expressar as dificuldades do problema, de
onde deduz-se consequências que deverão ser testadas ou falseadas. Sendo que,
16
através das observações do processo de gestão de horários da FEUEM, foi possível
aferir as hipóteses, inicialmente, impostas.
Para (Lakatos & Marconi, 1992), a técnica de colecta de dados corresponde, portanto, à
parte prática de colecta de dados, por via de preceitos e processos pré-estabelecidos.
Face ao disposto no período anterior, na presente pesquisa utilizou-se as seguintes
técnicas: Colecta documental, observação e entrevista.
A elaboração da análise, segundo (Lakatos & Marconi, 1992) citado por (Mahanjane,
2019) é realizada em três níveis, sendo a interpretação, a explicação e a especificação.
Assim, foram os últimos dois níveis utilizados para analisar os dados resultantes da
pesquisa realizada.
17
A explicação constituiu a fase em que se buscou os conceitos obtidos dos dados, de
modo a formular um raciocínio lógico e organizar o documento da pesquisa. Por fim, a
especificação permitiu determinar até que ponto o sistema podia responder as
necessidades do processo de gestão de horários, e se seria possível, através da solução
proposta, se ultrapassar grande ou todos os problemas constatados na pesquisa.
18
1.5. Organização do trabalho
O presente trabalho é composto por seis (6) capítulos e por mais duas (2) secções
referentes a referências bibliográficas e anexos:
Capitulo I – Introdução
Contém uma breve descrição do que será apresentado ao longo do trabalho. Aqui é feita
uma contextualização sendo igualmente apresentados os objectivos e as justificativas
que levaram a escolha do tema.
Neste capítulo, faz-se uma síntese referente aos conceitos relacionados com a
elaboração de horários, dentro de uma sequência lógica voltada directamente a
aplicação das TICs em prol da superação das dificuldades que a faculdade de
engenharia enfrenta.
19
Este capítulo apresenta as principais conclusões obtidas na realização do trabalho. Por
fim, são feitas recomendações sobre o que se pode fazer no futuro para melhorar a
solução aqui apresentada.
Referencias Bibliográficas
Anexos
20
Capítulo II - Revisão de literatura
21
2.1. Problema de Horário ou Timetabling problem
Segundo (Gross, Yellen, & Zang, 2014), o problema de horário é um problema com
quatro parâmetros: T, um conjunto finito de Tempos (times); R, um conjunto finito de
recursos (resources); M, um conjunto finito de Reunião (meeting); e C, um conjunto finito
de restrições (constraints). O problema consiste em associar o tempo e recursos aos
eventos, buscando satisfazer as restrições da melhor forma possível.
2.1.1.1. Tempos
O autor ainda continua dizendo que as restrições envolvendo tempo são, por exemplo,
dois times slots devem conter horas cujos intervalos de tempo subjacentes são
diretamente adjacentes ou que um conjunto de times slots deve conter horas que são
distribuídos de maneira uniforme durante a semana.
2.1.1.2. Recursos
Os recursos de acordo com (Gross, Yellen, & Zang, 2014), são os elementos que
compõem a reunião, podendo ser professore, salas, estudantes (ou grupos de
22
estudantes) e assim por diante. Um recurso r é um elemento do conjunto de recursos R
de uma instância do problema de horários. Um resource slot é uma variável restrita que
conte um recurso, e estes slots são previamente fixados em um valor específico, como
é o caso de slots de grupo de estudante.
A restrição de que nenhum recurso deve aparecer em duas reuniões que compartilham
um tempo, aplica-se igualmente a professores, alunos e salas e, portanto, esses itens
geralmente são tratados juntos como parte de uma reunião (Gross, Yellen, & Zang,
2014).
2.1.1.3. Reuniões
Uma reunião m é uma coleção nomeada de time slots e de resource slots. Atribuir valores
a esses slots significa que todos os recursos atribuídos participam dessa reunião no
tempo atribuído (Gross, Yellen, & Zang, 2014).
2.1.1.4. Restrições
De acordo com (Gross, Yellen, & Zang, 2014), no problema de horários existem cinco
tipos de restrições que devem ser tomadas em conta na elaboração de horários:
23
hard constraint: é uma restrição que deve ser satisfeita. Associada a cada hard
constraint está uma função de valor binário ℎ: 𝑆 ⇒ {0, 1}.
Uma solução viável é qualquer solução que satisfaça todas as hard constraints,
isto e, ℎ(𝑤 ) = 0 para todo h.
24
Sejam as hard constraints para um determinado problema serem ℎ1 , ℎ2 , ..., ℎ𝑛 e sejam
soft constraints 𝑆1 , 𝑆2 , ..., 𝑆𝑚 Uma abordagem comum é escolher uma função badness
que seja uma soma ponderada desses valores:
𝑛 𝑚
onde os pesos 𝑣𝑖 e 𝑤𝑗 são números inteiros não negativos escolhidos para refletir a
De acordo com Schaerf (1995) citado por (Vieira & Macedo, 2011) classifica o problema
de horários escolares em três diferentes grupos: school timetabling, course timetabling,
examination timetabling. Os dois primeiros se caracterizam pelo agendamento de um
conjunto de aulas (ensino médio e cursos universitários, respectivamente), e o
examination timetabling, para a marcação de avaliações.
A diferença entre estas formas está na quantidade do conjunto finito de determinados parâmetros.
O school timetabling possui uma quantidade de recursos menor, pois uma turma já possui uma
sala especificada e seu grupo de alunos, em sua maioria, é predeterminado, o que faz com que a
complexidade seja reduzida. Em problemas de course timetabling existe um grande conjunto de
restrições: disciplinas de uma mesma turma podem ser alocadas em salas diferentes, cada
disciplina é constituída por alunos de diversos cursos, cada disciplina possui conjuntos de pré-
requisitos que devem ser respeitados, entre outras. Já no caso do examination timetabling, as
restrições são mínimas. Para cada disciplina existe uma avaliação, as mesmas não devem ocorrer
em um mesmo dia e horário e a marcação de provas em dias consecutivos deve ser evitada (Vieira
& Macedo, 2011).
25
2.2. Algoritmo genético
Segundo (Lenzi, 2004), existem vários métodos de selecção como o método da Roleta
Giratória, a selecção por Classificação, a Selecção de Estado Seguro e a selecção por
Torneio ou Elitismo. Neste trabalho, cerca de 20% dos indivíduos serão sorteados por
elitismo e o restante pela roleta giratória.
26
A etapa de mutação consiste na alteração dos genes dos indivíduos gerados para evitar
a estagnação da população após o cruzamento dos mesmos. Isto ocorre porque
indivíduos com grande grau de adaptação se diferenciam muito do restante da
população, sendo eles seleccionados repetidamente (Lenzi, 2004).
27
Figure 1: Fluxograma de um algoritmo genético
Existem muitas aplicações para a gestão de horários na Internet. Estas são de diferentes
tipos, algumas com licenças gratuitas e outras não, implementadas com diferentes
tecnologias, sendo algumas Web e outras desktop. Assim, antes de ser apresentada a
28
proposta de solução, entendeu-se ser de extrema importância, investigar e analisar cada
uma dessas opções de software e tentar avaliar como é que estas se encaixariam no
domínio em estudo. A seguir, apresenta-se 2 aplicações e uma proposta de solução
desenvolvida na FENG pela engenheira (Aly, 2016), de forma a serem avaliadas como
potenciais soluções para resolver o problema de gestão de horários da Faculdade de
Engenharia da UEM.
2.3.1. Cronos
Sistema WEB com acesso restrito e seguro: O Cronos não precisa ser
instalado no seu computador pois sua utilização é pela Internet a partir do cadastro
feito pela instituição de ensino.
Garantia de horários sem Choques: Utilizando inteligência artificial e modelos
matemáticos o Cronos é capaz de garantir a geração de horários com qualidade,
ou seja, sem nenhum choque de professores.
Obedecendo a todas as restrições dos professores: Os horários gerados pelo
Cronos atendem a todas as restrições dos professores. E quando isso não é
possível, o sistema sugere modificações simples aos usuários.
Parâmetros configurados pelo usuário: O Sistema possui ainda outros
parâmetros que podem ser configurados pelo usuário, como por exemplo a
eliminação de aulas triplas, aulas geminadas e aulas isoladas.
Permite modificações em um horário já gerado: Após a elaboração do horário,
o usuário poderá utilizar o módulo de Trocas Automáticas do Cronos para
melhorar ainda mais seu horário.
Esta solução resolve muitos problemas gerais enfrentados pelas instituições na gestão
de horários, entretanto, alguns problemas específicos da FEUEM, como por exemplo a
29
impossibilidade de negociação entre professores e a impossibilidade de modificações
dos horários pelos professores, não são abordadas. A despeito destas desvantagens,
este sistema não é gratuito. Por essas razoes, não constitui uma solução ideal deste
problema.
2.3.2. GridClass
É um sistema de gestão de horários online que gera horário desde os mais simples aos
meus complexos, e que é acedido através da criação de uma conta. Este sistema não
impõe nenhum requisito de armazenamento aos seus utilizadores, sendo que os dados
são armazenados na nuvem (WPensar, 2019). Os diferenciais desse sistema em relação
aos outros são descritos por (WPensar, 2019), dos quais incluem:
A despeito dos benefícios que este sistema oferece, este possui como principais
desvantagens o facto de não atender os problemas específicos da FEUEM como por
exemplo não permitir negociações e de ser um sistema pago.
Este sistema aborda vários requisitos impostos pela faculdade, entretanto, a elaboração
de horários usando este sistema ainda requer esforços por parte do utilizador. O
30
utilizador deve se preocupar se a carga horaria foi completa, o utilizador ainda deve
preocupar-se em como deve alocar as aulas de modo a não provocar choques. Esta
abordagem apesar de garantir sempre uma solução aceitável, esta pode não ser a
óptima. Outra desvantagem diz respeito ao tempo gasto, sendo que quem elabora o
horário ainda são pessoas, o sistema apenas dá sinal quando uma certa restrição for
violada. A funcionalidade de negociações de aulas não foi implementada e os
professores não podem editar o horário. Diante destes factos conclui-se que esta não
seria uma solução viável para este problema.
31
Capítulo III – Caso de Estudo
32
3.1. Descrição da situação actual do processo de elaboração de horários do
DEEL
O autor (Aly, 2016) ainda continua dizendo que em princípio as aulas das cadeiras gerais
devem decorrer nas salas de aula do Departamento de Cadeiras Gerais e só, quando
existir falta de salas, é que se requisita as de outros departamentos. Existem cadeiras
gerais que são comuns em determinados cursos, sendo por vezes necessário juntar as
turmas, facto que acontece com as aulas teóricas.
O autor ainda continua dizendo que depois da alocação feita pelo Departamento de
Cadeiras Gerais, os horários dos cursos são enviados aos respectivos departamentos,
cujos Diretores do Curso são responsáveis por fazer a alocação das cadeiras que
33
pertencem ao departamento em causa. A direcção começa por enviar um documento
para os docentes, onde estes podem especificar a sua disponibilidade. Com base na
disponibilidade dos docentes, nas cadeiras do semestre, na capacidade das salas, o
horário é elaborado.
34
No final das contas, os responsáveis pela elaboração de horários devem ter elaborado 3
tipos de horários: Horários dos cursos por ano; Horários das salas de aulas e Horários
dos docentes.
Os horários da faculdade são elaborados de forma manual, facto que requer muito tempo
de trabalho. Conforme foi discutido anteriormente, são muitas as restrições a ter em
conta no processo de elaboração de horários, portanto, é exigido um nível elevado de
concentração e atenção.
Após a elaboração dos horários, estes podem conter erros graves, por exemplo,
docentes alocados às várias aulas ou então salas alocadas a diferentes aulas ao mesmo
tempo. Este problema, se não for descoberto a tempo, os alunos podem correr o risco
de perder aulas por um longo período de tempo.
A despeito dos problemas apresentados nos parágrafos anteriores, tem sido um facto na
Faculdade de Engenharia da Universidade Eduardo Mondlane (UEM) existência de
problemas referentes a modificações do horário nas primeiras semanas de aulas depois
de este ter sido publicado, mediante negociações entre os professores ou entre
professores e a turma em causa. Esta situação pode prejudicar a organização dos
próprios estudantes e ate mesmo incorrer-se a outros problemas relacionados com o uso
dos recursos que compõem o problema de horários apresentados no capítulo II.
35
Capitulo IV – Desenvolvimento do trabalho
36
4.1. Descrição da solução
No sistema, considera-se que os cursos de laboral são diferentes dos cursos de pós-
laboral. Isto, porque as cadeiras previstas para decorrer em determinado semestre de
laboral são por vezes diferentes das previstas para decorrerem em pós-laboral. Outra
questão, é o facto de, normalmente, os cursos de laboral decorrerem em 4 anos e os de
pós-laboral em 5 anos. Assim, fica mais fácil considerá-los como cursos diferentes, e por
isso, no sistema existe a Engenharia Informática Laboral e Engenharia Informática Pós-
Laboral como cursos diferentes.
O sistema disponibiliza três tipos de horários: os horários das turmas, os horários das
salas e os horários dos docentes.
4.1.1. Utilizadores
Como fora referenciado na secção anterior, o sistema prevê 4 tipos de utilizadores, que
estes são diferenciados pelo sistema através do inteiro nível de acesso. O administrador
tem nível de acesso igual a 1, os directores dos cursos nível 2, o chefe do Departamento
de Cadeiras Gerais nível 3 e os Professores nível 4.
37
As principais responsabilidades dos professores são: especificar a sua disponibilidade
antes de serem elaborados os horários, Editar horários caso estes não contemplem sua
disponibilidade, Negociar troca de horários com outros professores e podem visualizar
os horários das turmas em que estão alocados.
Os directores dos cursos são responsáveis por informar a parte das disciplinas relativas
aos cursos a que se encontram associados, validar as modificações de horários feitas
pelos professores, visualizar e imprimir os horários e modificar seu perfil.
Após os utilizadores informarem os dados que o sistema necessita, estes são enviados
ao algoritmo genético que fara a busca da melhor solução, considerando no máximo,
38
todas as restrições impostas. Após encontrada a solução, o sistema disponibiliza o
horário aos utilizadores.
Após os horários sofrerem modificações, estas precisam ser validadas pelo respectivo
responsável (directores dos cursos). Só depois da validação os horários podem ser
publicados aos utilizadores e disponibilizados nas vitrinas dos departamentos.
4.1.3. Requisitos
Os requisitos funcionais descrevem aquilo que o sistema deve fazer e estes dependem
do tipo de software a ser desenvolvido, de quem são os seus possíveis utilizadores e da
abordagem geral adoptada pela organização (Sommerville, 2001).
39
RF02: O Sistema deve permitir aos docentes especificar a sua disponibilidade para o
semestre;
RF04: O Sistema deve permitir aos utilizadores imprimirem os 3 tipos de horários: horário
de determinado curso, horário de ocupações das salas e horário dos docentes.
RF05: O Sistema deve permitir que os professores editem seus horários caso sua
preferência não esteja satisfeita;
RF06: O Sistema deve permitir que os professores façam negociações entre eles nos
horários em que estão alocados;
RF08: O Sistema deve permitir aos directores dos cursos informarem as disciplinas
relativas ao respectivo curso;
RF09: O Sistema deve permitir aos directores validarem as alterações feitas pelos
professores nos horários.
RF10: O Sistema deve permitir aos professores responderem aos pedidos de troca de
horários enviados pelos outros professores.
40
4.1.3.2. Requisitos não funcionais
Requisitos não funcionais são definidos por (Sommerville, 2001) como aqueles que não
estão directamente relacionados com os serviços oferecidos pelo sistema a seus
utilizadores. Estes podem estar relacionados com confiabilidade, desempenho ou
disponibilidade.
RNF01: Usabilidade
RNF02: Desempenho
RNF03: Escalabilidade
Esta é uma característica desejável de todo o sistema, é uma propriedade que lhe
confere a capacidade de ajustar seu desempenho em função da carga, quando mais
recursos forem acrescentados a ele devido as necessidades externas tanto em Hardware
como em Software.
RNF04: Interoperatividade
RNF05: Segurança
41
O sistema deverá permitir que somente pessoas autenticadas e autorizadas façam uso
das funcionalidades do mesmo.
RNF06: Disponibilidade
O sistema deve estar disponível a seus utilizadores sempre que os mesmos necessitem
dele.
Segundo (Jacobson et al., 1993) citado por (Sommerville, 2001), os diagramas de casos
uso são uma técnica de descoberta de requisitos, e o conjunto de todos casos de uso
representa todas as possíveis interacções que serão descritas nos requisitos de
sistemas, os requisitos funcionais. O diagrama da figura abaixo, foi desenhado usando
a ferramenta astah UML na sua versão 8.1.0.
42
Figure 3: Diagrama de casos de uso
De acordo com (Larman, 2005), existe uma diferença entre modelos de casos de uso e
casos de usos. A modelagem de casos de uso é essencialmente uma acção de redigir
texto e não de desenhar diagramas ao passo que modelos de casos de uso são
diagramas. A seguir é apresentada a descrição dos casos de usos do sistema proposto.
43
Nome CU01: Criar uma nova geração de horários
Actores Administrador
Referências RF01
Pré-condições
Ter feito login e ter nível de acesso igual a 1
Actores Professor
Referências RF02
44
2. Clicar a opção “Horários gerados”.
3. Seleccionar o semestre e clicar em confirmar.
Referências RF03
Referências RF04
45
Tipo Primário, essencial
Referências RF05
Actores Professor
Referências RF06
46
Referências RF07
Referências RF08
Referências RF09
47
Pré-condições Ter feito login e possuir nível de acesso 2
Table 9: Descrição do caso de uso CU09
Actores Professor
Referências RF10
Actores Administrador
Referências RF11
48
Nome CU12: Registar utilizadores
Actores Administrador
Referências RF12
Referências RF13
Actores Administrador
49
1. Escolher a opção Dados do Horário no menu.
Fluxo básico 2. Introduzir os dados da sala.
3. Clicar em confirmar.
Referências RF12
50
Figure 4: Diagrama de classes
Como foi referenciado no capítulo II, cada cromossoma representa uma possível
solução, ou seja, um horário completo. Cada cromossoma será representado por um
vector de tamanho variável de acordo com o número de total de aulas ministradas no
departamento. Supondo que cada turma tem duas aulas por dia (vide tabela 1), logo,
essa turma terá semanalmente dez aulas, ou seja o tamanho do cromossoma será dez.
E, se existir três turmas, multiplicado pelas dez aulas têm-se trinta aulas (o que
51
corresponde ao tamanho do cromossoma), onde de um a dez pertencem a primeira
turma, de onze a vinte a segunda turma e assim sucessivamente.
52
A informação que será armazenada no vector será o código da aula de acordo com a
posição que ela foi cadastrada no vector de aulas.
A partir da estrutura criada na secção 1.9.5.2, será criada uma população com vários
cromossomas. A forma de inicialização da população ocorrerá da seguinte maneira: o
primeiro cromossoma será inicializado sequencialmente, mas a partir do segundo
cromossoma, irá acontecer um deslocamento de uma casa a cada doze posições como
mostra a figura 6.
53
Figure 8: População de cromossomas
Com base nesta inicialização, problemas como a ocorrência de choque entre turmas,
turma com disciplina de outra turma, entre outros, serão resolvidos.
O deslocamento serve para não deixar os cromossomas todos iguais e haver mudanças
no cruzamento, porque se os cromossomas fossem iguais, os cromossomas filhos
seriam iguais aos cromossomas pais, como mostra a figura 7.
54
4.1.5.4. Função de Avaliação
Para desenvolver a função de avaliação, devem ser levados em conta as seis restrições
do tipo hard constraints, discutidas no capítulo II:
Com o tratamento dessas seis restrições, consegue-se criar uma função de avaliação
que seja capaz de avaliar cada cromossoma e dizer o quão perto ele está da solução.
Abaixo segue a explicação para cada uma das restrições:
Turma com disciplina de outra turma: não ocorrerá devido à forma de inicialização.
De acordo com o cadastro das disciplinas, que deverão ser cadastradas na sequência
de turmas, nas posições de 1 a 10 só estarão as disciplinas da primeira turma; da posição
11 a 20 só estarão as disciplinas da segunda turma e assim até o final do cromossoma.
Turma sem alguma de suas disciplinas: pode vir a ocorrer, pois após o cruzamento
dos cromossomas, alguma disciplina pode desaparecer do cromossoma, mas para isso
55
não prejudica o resultado, o sistema irá percorrer cada 10 posições no cromossoma
(turma) e verificar se alguma disciplina está faltando para aquela turma específica.
Choque entre professor (choque ente salas funciona da mesma forma): poderá
ocorrer, mas o sistema irá percorrer o cromossoma de 10 em 10 posições para verificar
se há choque entre professor, por exemplo, o sistema irá verificar as posições 1, 11, 21,
31, 41, 51, 61 e 71 e comparar se há o mesmo professor em turmas distintas na mesma
hora.
56
Disponibilidade dos professores: o sistema irá percorrer posição por posição do
cromossoma para verificar se o horário em que o professor está alocado confere com o
horário de disponibilidade do mesmo, como mostra a figura 12.
Neste caso a aula 5 foi alocada na segunda-feira às 08:50 hora. O professor responsável
por esta aula é o 8 (como mostra o Objecto Aulas), que está disponível neste horário,
como mostra o Objecto Disponibilidades.
Todo cromossoma iniciará com um valor de função de avaliação, que será decrementado
a cada restrição violada. O valor inicial e a quantia decrementada para cada tipo de
restrição só serão definidos após a implementação e os testes do sistema.
57
4.1.5.5. Operadores genéticos
4.1.5.5.1. Selecção
Como foi referenciado no capítulo II, existem vários métodos de selecção como o método
da Roleta Giratória, a selecção por Classificação, a Selecção de Estado Seguro e a
selecção por Torneio ou Elitismo. Neste trabalho, cerca de 20% dos cromossomas serão
sorteados por elitismo e o restante pela roleta giratória.
4.1.5.5.2. Cruzamento
4.1.5.5.3. Mutação
58
Figure 12: Arquitectura de três camadas
Desta maneira, a primeira camada fornece a interface aos utilizadores, que lhes
permitem relacionar e utilizar os recursos dedicados ao sistema. Na camada seguinte, a
camada de negócio, é onde se vai apresentar todas as regras que o sistema deve conter,
de acordo com o propósito e as normas para as quais devem ser aplicadas no contexto
do processo de geração de horários na faculdade de engenharia. E por fim, a camada
de dados representa o modo de conservação e alocação dos dados no sistema, isto é,
as informações necessárias para a operabilidade do sistema devem ser enviadas e
tratadas nessa camada com interacção com a base de dados.
59
4.1.7. Tecnologias Utilizadas
Para o desenho das interfaces utilizou-se o angular na sua versão 8.2.14, que segundo
(Afonso, 2019) é uma plataforma e framework construção de interface de aplicações
usando HTML, CSS e, principalmente JavaScript, criada pelos desenvolvedores do
Google. Este framework oferece algumas vantagens como suporte a arquitectura MVC,
produtividade e usa ECMAScript para especificação dos seus scripts.
Também foi usado Google Material Design que segundo (Devmedia, 2019) é uma
linguagem de design criada para o novo sistema operativo do Google Android 5.0 –
Lollipop. Embora esta linguagem seja inicialmente criada para uso em aplicativos mobile,
também pode ser estendida para web. A outra vantagem é ser compatível com angular,
visto que ambos são da Tecnologias desenvolvidas pela mesma empresa, a Google.
Na camada de negócio do modelo MVC foi usado o framework laravel, que segundo
(Roberto, 2019) é um framework de desenvolvimento rápido para PHP, livre e de código
aberto, cujo principal objectivo é permitir que se trabalhe de forma estruturada e rápida.
A razão da escolha deste framework foi por ser livre com uma comunidade de
desenvolvedores maduros, e também pelo interesse que o autor tem em aprender esta
tecnologia.
Quase todos os servidores Web podem ser utilizados com o PHP, no entanto, foi
seleccionado o servidor Apache pelo facto de ser livre e de código aberto.
Na camada de dados, foi usada MySQL que é o sistema de Gestão de Base de Dados.
Os factos que levaram a sua escolha são: A alta compatibilidade com o PHP, Facilidade
no manuseio adquirida pelo auto.
60
4.2. Apresentação do protótipo
Em primeiro lugar, o Administrador deve dar a conhecer ao sistema o início de uma nova
geração de horários. Para isso, O administrador deve especificar o semestre e clicar no
botão confirmar.
A seguir, o sistema envia notificações para os utilizadores a fim de dar continuidade com
o processo de geração de horários. Os directores dos cursos e o chefe do departamento
das cadeiras gerais devem informar ao sistema as cadeiras previstas para decorrer no
respectivo semestre e os professores devem especificar sua disponibilidade.
61
Figure 14: Director do curso informa as aulas ao sistema
Os utilizadores com nível de acesso 2 (directores dos cursos) podem informar ao sistema
as aulas prevista para semestre, bastando apenas clicar em Horários > Informar
Disciplinas. Depois deve informar o semestre e logo depois a tabelas de disciplinas será
apresentada, dai basta apenas marcar as disciplinas e confirmar.
62
Figure 15: Edição do horário por parte dos professores
63
Figure 16: Negociação de troca de aula entre professores
Quando o professor arrasta uma aula para um local ocupado por outra aula significa que
está enviando um pedido de troca de aulas para o outro professor. O sistema enviará
uma notificação de pedido de troca para o outro professor e este, pode aceitar a troca ou
recusar.
64
Figure 17: Resposta do pedido de trocas de aulas
O professor pelo qual foi enviado o pedido de troca de aula pode visualizar todas os
pedidos na lista de Requisições. Para confirmar ou recusar basta selecionar o pedido e
clicar em confirmar / recusar. Ao selecionar a requisição, as aulas envolvidas serão
destacadas com uma cor azul no horário.
65
Figure 18: Validação das alterações do horário pelo director
Depois de ter sido feita as alterações nos horários, estas precisam ser confirmadas pelo
director do curso em causa. O processo de validação é semelhante com o processo de
resposta ao pedido de troca de aulas descrito anteriormente.
66
Capitulo V – Discussão de resultados
67
No presente trabalho fez se um estudo sobre o desenvolvimento de um sistema de
gestão de horários para faculdade de engenharia, concretamente para o DEEL.
O trabalho foi baseado, por um lado, na revisão de literatura (Capítulo II, que aborda
temáticas de interesse no assunto) e, por outro, em conhecimentos adquiridos na área
de desenvolvimento de software.
68
desenvolvido na faculdade de engenharia pela engenheira Kida, este sistema embora
contemple maior parte dos requisitos funcionais do sistema, a solução ainda requer uma
grande intervenção humana, facto este que pode comprometer a performance desta
tarefa e não garantir gerar a melhor solução dentre as possíveis soluções existentes.
Para resolver estes problemas foram usados métodos da inteligência artificial,
especificamente os algoritmos genéticos, que garantirão gerar horários optimizados.
69
Capítulo VI - Conclusões e recomendações
70
6.1. Conclusões
Com este sistema de gestão de horários desenvolvido, espera-se diminuir o tempo gasto,
o nível de intervenção e concentração do utilizador exigido no processo de elaboração
de horários, permitir que os professores modifiquem e façam negociações no horário
antes de ser disponibilizado nas vitrinas e propõe também reduzir os erros cometidos
aquando da elaboração dos horários.
Neste sentido, nos limites de domínio e de tempo definidos e prolongados pelos docentes
para a realização do trabalho, foram alcançados de forma integral os objectivos inicias
colocados no capítulo I.
6.2. Recomendações
71
Recomenda-se também que nos trabalhos futuros se implemente a gestão das
modificações de horários feitos pelos professores através de técnicas abordadas na
teoria de filas. Isso possibilitara que haja a gestão de concorrência de requisições.
72
Referências bibliográficas
Gross, J. L., Yellen, J., & Zang, P. (2014). HANDBOOK OF Graph Theory (2nd ed.).
New York.
Lakatos, E. M., & Marconi, M. d. (1992). Metodologia do trabalho científico. São Paulo:
Editora Atlas S.A.
73
Roberto, J. (25 de Novembro de 2019). O que é Laravel? Porque usa-lo. Obtido de
Medium: https://medium.com/joaorobertopb/o-que-é-laravel-porque-usá-lo-
955c95d2453d
74
Anexos
75
DS01: Permite criar uma nova geração de horários
76
DS03: Permite ao professor informar sua disponibilidade
77
DS04: Permite ao professor editar o Horária já elaborado
78
DS05: Permite ao utilizador editar seu perfil
79
DS06: Permite negociações de troca de aulas entre os professores
80
DS07: Permite ao professor responder os pedidos de troca de horário
81
DS08: Permite ao director do curso validar as modificações feitas no
horário
82
DS09: Permite ao utilizador visualizar os Horários gerados
83