A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Examination Timetabling Application. Sumário Enquadramento Objectivos Arquitectura Implementação Conclusões Desenvolvimentos Futuros.

Apresentações semelhantes


Apresentação em tema: "Examination Timetabling Application. Sumário Enquadramento Objectivos Arquitectura Implementação Conclusões Desenvolvimentos Futuros."— Transcrição da apresentação:

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


Carregar ppt "Examination Timetabling Application. Sumário Enquadramento Objectivos Arquitectura Implementação Conclusões Desenvolvimentos Futuros."

Apresentações semelhantes


Anúncios Google