Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAnasofia Spinola 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; 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 – Propriedade Descritpion para identificar o algoritmo na aplicação; – 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; Caminhos dos módulos passiveis de serem carregados definidos através de ficheiro de configuração; Disponibiliza uma API para elaborar calendários de exames; Devem ser utilizados os objectos disponibilizados pela Host; Responsável pela activação, desactivação das regras.
20
Interacção da UI com a Host Marcação de um exame Problemas: – Pode demorar até obter os resultados – A UI deve estar sempre disponível na marcação de exames Solução – Recurso a BackgroundWorker 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.