Christiano Santana; Glayderson Jonathan; Ricardo de Jesus; Thauane
Moura. Dr. Andr Britto de Carvalho Universidade Federal de Sergipe, Campus So Cristvo.
1. Objetivos
O projeto tem o propsito de importar os dados referentes a informao das salas e das turmas, persistindo a informao em um Banco de Dados Relacional (foi utilizado o SQL Server 2012), para posterior execuo da alocao de turmas nas salas de acordo com algumas condies que seguem:
No permitido alocar uma turma numa sala que no a comporte. No 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 atravs do diagrama abaixo na Figura I. 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 produo do diagrama e na criao do banco de dados.
3. Aplicao
Para realizar a implementao do projeto, os alunos optaram pela Linguagem de Programao Delphi verso XE6. A conexo com o Banco de Dados SQL Server 2012 realizada atravs do uso da classe TDAOFireDAC que uma classe que implementa o padro de projeto DAO (Data Access Object) e utiliza como base o componente FireDAC integrado ao Delphi. Para a troca de informaes com o Banco de Dados preciso ter uma classe que implementa o padro de projeto VO (Value Object), preciso ter um VO para cada tabela ou view do Banco de Dados. A aplicao desenvolvida para o presente projeto, obedeceu o conceito de duas camadas. A aplicao dispe das rotinas para comunicar-se com o banco, que por sua vez encontra-se separado a aplicao, ou seja, no standalone.
4. Alocao Automtica
A alocao da Turma no processo automatizado utiliza como primeira prioridade a qualidade da Sala e a qualidade requerida pela Turma, e a prxima prioridade a quantidade de Alunos na Turma e quantidade de cadeiras que a Sala possui. Segue abaixo uma breve explicao 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 acessveis das no acessveis. 3) Depois o faz-se uma busca para saber se a turma j possui algum horrio cadastrado 4) Tenta alocar a turma, buscando as salas que estejam dentro daquele horrio, que tenha a mesma acessibilidade e com igual ou maior nmero de cadeiras. 5) Insere na qualidade especifica com nmero de cadeiras iguais ou superior, mas antes ele busca alocar em uma sala com nmero de cadeiras que no estejam muito distante do nmero de alunos. 6) Caso no consiga inseri em sua qualidade ele busca na prxima e assim sucessivamente, sempre priorizado a qualidade pertinente e distribuir o nmero de cadeiras com o nmero de alunos.
5. Alocao Manual
O Sistema possui uma tela que permite dois tipos de visualizaes bsicas, 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 horrios para essa Sala, caso algum horrio j esteja sendo utilizado a clula do Grid muda para a cor Verde e exibido o nome da disciplina. Caso o horrio esteja livre e seja possvel alocar alguma Turma naquele horrio 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 horrios para essa Turma, caso algum horrio j esteja sendo utilizado a clula do Grid muda para a cor Verde e exibido o nmero da sala. Caso o horrio esteja livre e seja possvel alocar alguma Turma naquele horrio o Grid muda para a cor Amarela.
Dando um duplo clique no horrio (em ambos os modelos de telas) ser exibida uma opo de alocar uma Turma naquele horrio (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 horrio j estiver alocado para alguma Turma (em ambos os modelos de telas) exibida uma tela de confirmao para deslocar a Turma, caso seja clicada a opo Sim a turma ser deslocadas daquela Sala.