Você está na página 1de 3

PROJETO ALOCAÇÕES DE TURMAS Christiano Santana; Glayderson Jonathan; Ricardo de Jesus; Thauane Moura. Dr. André Britto de Carvalho Universidade Federal de Sergipe, Campus São Cristóvão.

1.

Objetivos

O

projeto tem o propósito de importar os dados referentes a informação das salas e

das turmas, persistindo a informação em um Banco de Dados Relacional (foi utilizado

o SQL Server 2012), para posterior execução da alocação de turmas nas salas de acordo com algumas condições que seguem:

nas salas de acordo com algumas condições que seguem:  Não é permitido alocar uma turma

Não é permitido alocar uma turma numa sala que não a comporte.

Não é permitido alocar uma turma que necessite de acessibilidade em uma sala sem acessibilidade.

2. Banco de Dados

A estrutura do Banco de Dados utilizado pode ser expressa graficamente através do

diagrama abaixo na Figura I.

pode ser expressa graficamente através do diagrama abaixo na Figura I. Figura I – Diagrama do

Figura I Diagrama do Banco de Dados.

Para a modelagem do DB foi utilizado o software/ferramenta Microsoft SQL Server Management Studio. O programa auxiliou na produção do diagrama e na criação do banco de dados.

3. Aplicação

Para realizar a implementação do projeto, os alunos optaram pela Linguagem de Programação Delphi versão XE6. A conexão com o Banco de Dados SQL Server 2012

é

realizada através do uso da classe TDAOFireDAC que é uma classe que implementa

o

padrão de projeto DAO (Data Access Object) e utiliza como base o componente

FireDAC integrado ao Delphi. Para a troca de informações com o Banco de Dados é

preciso ter uma classe que implementa o padrão de projeto VO (Value Object), é preciso ter um “VO” para cada tabela ou view do Banco de Dados.

A

camadas. A aplicação dispõe das rotinas para comunicar-se com o banco, que por sua

das rotinas para comunicar-se com o banco, que por sua aplicação desenvolvida para o presente projeto,

aplicação desenvolvida para o presente projeto, obedeceu o conceito de duas

vez encontra-se separado a aplicação, ou seja, não standalone.

4. Alocação Automática

A alocação da Turma no processo automatizado utiliza como primeira prioridade a

qualidade da Sala e a qualidade requerida pela Turma, e a próxima prioridade é a quantidade de Alunos na Turma e quantidade de cadeiras que a Sala possui. Segue abaixo uma breve explicação do funcionamento do algoritmo:

1) O Algoritmo se preocupa em Alocar turmas de mesma qualidade e que sejam da mesma acessibilidade.

2) O primeiro passo é separar as turmas acessíveis das não acessíveis.

Alocação Manual
Alocação Manual

cadastrado

3) Depois o faz-se uma busca para saber se a turma já possui algum horário

4) Tenta alocar a turma, buscando as salas que estejam dentro daquele horário, que tenha a mesma acessibilidade e com igual ou maior número de cadeiras.

5) Insere na qualidade especifica com número de cadeiras iguais ou superior, mas antes ele busca alocar em uma sala com número de cadeiras que não estejam muito distante do número de alunos.

6) Caso não consiga inseri em sua qualidade ele busca na próxima e assim sucessivamente, sempre priorizado a qualidade pertinente e distribuir o número de cadeiras com o número de alunos.

5.

O Sistema possui uma tela que permite dois tipos de visualizações básicas, uma que exibe uma lista de todas as Salas cadastradas no Banco de Dados e a outra que exibe todas as Turmas cadastradas no Banco de Dados. No primeiro modelo de tela (Por Sala), ao clicar na Sala que deseja visualizar é exibido no lado direito do programa todos os horários para essa Sala, caso algum horário já esteja sendo utilizado a célula do Grid muda para a cor Verde e é exibido o nome da disciplina. Caso o horário esteja livre e seja possível alocar alguma Turma naquele horário o Grid muda para a cor Amarela. No segundo modelo de tela (Por Turma), ao clicar na Turma que deseja visualizar é exibido no lado direito do programa todos os horários para essa Turma, caso algum horário já esteja sendo utilizado a célula do Grid muda para a cor Verde e é exibido o número da sala. Caso o horário esteja livre e seja possível alocar alguma Turma naquele horário o Grid muda para a cor Amarela.

Dando um duplo clique no horário (em ambos os modelos de telas) será exibida uma opção de alocar uma Turma naquele horário (no modelo de tela “Por Sala” é exibida a lista com as Turmas que podem ser alocadas naquela Sala, no modelo de tela “Por Turma” é exibida a lista com as Salas que podem ser utilizadas para alocar a Turma). No caso de o horário já estiver alocado para alguma Turma (em ambos os modelos de telas) é exibida uma tela de confirmação para deslocar a Turma, caso seja clicada a opção “Sim” a turma será deslocadas daquela Sala.

tela de confirmação para deslocar a Turma, caso seja clicada a opção “Sim” a turma será
tela de confirmação para deslocar a Turma, caso seja clicada a opção “Sim” a turma será