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; 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


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

Apresentações semelhantes


Anúncios Google