Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouSofia Da Luz Alterado mais de 10 anos atrás
1
Examination Timetabling Application
2
Sumário Enquadramento Objectivos Arquitectura Implementação Conclusões Desenvolvimentos Futuros
3
Enquadramento Elaboração de um calendários de exames – Processo moroso e complicado; – Resultado dependente de várias variáveis; – Dependendo dessas variáveis, poderá ser difícil/impossível elaborar um calendário que seja do agrado de todos.
4
Objectivos Aplicação extensível ; Interface gráfico para criação de calendário de exames com apresentação dinâmica de conflitos; Suportar algoritmos para elaboração de calendários de forma automática.
5
Arquitectura
6
Objectos de domínio Garantir que é disponibilizada toda a informação relevante. Menos dependências nos módulos
7
DataAccess Padrão UnitOfWork Permite mudar o repositório de dados sem comprometer a implementação dos outros módulos
8
UnitOfWork Connection UnitOfWork ClassDataMappers IDomainObject IEntityMapperForUpdates IEntityMapper
9
UnitOfWork AbstractDataMapper – Implementa métodos de IEntityMapper – Contem métodos abstractos que devem ser implementados pelos tipo concretos que conhecem as tabelas da base de dados DomainObject – Sabe o estado em que se encontra – Contem ID – Disponibiliza métodos que devem ser chamados quando o objecto sofre alterações – Insere-se num IEntityMapper
10
Carregamento de Dados (ILoader) Carregamento dos dados de uma instituição de ensino; Disponibiliza uma API para implementar o módulo Carregados na aplicação em tempo de execução
11
ILoader (Implementação) External data types Metodos get e datasource Get name
12
Regras (IRule) Regras das instituições de ensino Compara dois exames Carregadas em tempo de execução Pode ser activadas/desactivadas
13
IRule (Implementaçao) Interface IRule – Método EnforceRule Interface IConflict – Indica a gravidade do conflito – Descreve o conflito – Alunos Afectados Enumerado ConflictWeight
14
Algoritmo (IAlgorithm) Problema estudado desde os anos 60 Elaboração de calendários de forma automática Carregados em tempo de execução
15
IAlgorithm (Implementação) Interface Ialgorithm – Metodos Set para parametrizar o algoritmo – Metodo Run retorna exames marcados
16
IAlgorithm (Implementação)
17
IOutputGenerator Publicação do calendário de exames Carregado em tempo de execução
18
IOutputGenerator Interface IOutputGenerator – Getname – Setdata – GenerateOutput
19
Host Núcleo da aplicação Responsável por carregar os módulos Disponibiliza uma API para elaborar calendários de exames Devem ser utilizados os objectos disponibilizados pela Host Caminhos dos módulos passiveis de serem carregados definidos através de ficheiro de configuração
20
Interacção da UI com a Host Marcação de um exame Problemas: – Pode levar algum tempo até obter resultados – A UI deve estar sempre disponível na marcação de exames Solução – Uma thread é responsável por verificar os conflitos na marcação de um exame – Recurso a BackgroudWorker Thread para chamar o método de marcação de exames e disponibilizar os resultados na UI
21
Conclusão Disponibilizar informação ao utilizador sobre as consequências da marcação de cada exame Adaptação a qualquer instituição de ensino Suporte de algoritmos para elaboração de calendários de forma automática
22
Desenvolvimentos Futuros Implementação de assistente de criação de regras Completar a implementação do MVC Integrar internacionalização Controlo de marcação de salas Controlar a concorrência a nível do acesso a dados
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.