PROGETTO E REALIZZAZIONE DI UN COMPONENTE SOFTWARE PROGRAMMABILE PER LA PIANIFICAZIONE DI COMMISSIONI DI LAUREA FACOLTA’ DI INGEGNERIA Corso di Laurea.

Slides:



Advertisements
Presentazioni simili
1 I SERVIZI DI TRASPORTO PUBBLICO LOCALE (TPL) SCOLASTICI RETE CONSOLIDATA MA CON MARGINI DI FLESSIBILITA -PROGRAMMI DESERCIZIO AUTOLINEE (da libretto.
Advertisements

Politecnico di Torino Tesi di Laurea
Sistemi informativi e Sistemi informatici
una interfaccia internet per il sistema Momis
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
Università degli Studi di Modena e Reggio Emilia
TESI DI LAUREA Ingegneria Elettronica Applicata
4 – Progettazione – Introduzione e Modello E-R
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
SOFIA Facoltà di Ingegneria Università degli Studi di Udine SOFIA.
Servizi bibliotecari della Provincia di Reggio Emilia – conferenze di serviziohttp://biblioteche.provincia.re.it Ufficio.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Ricerca della Legge di Controllo
Seminario su clustering dei dati – Parte II
NOZIONI DI BASE PROF. GIOVANNI RAHO 2011 Gestione dei progetti Pianificazione delle attività 1 maggio 2011 Laboratorio di informatica - prof. Giovanni.
Scheduling in GrADS Il progetto GrADS (Grid Application Development Software) ha lo scopo di semplificare lo sviluppo di unapplicazione Grid. Tra le funzionalità
“GIAMBATTISTA ROSSI” DI VERONA
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Risoluzione di problemi e ricerca.
Progettazione di una base di dati
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Daniel Stoilov Tesi di Laurea
Tecniche per lesecuzione efficiente di interrogazioni sul contenuto in collezioni MPEG-7 Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria.
Processo di gestione del conseguimento titolo Luca Mingozzi.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
MANDATO INFORMATICO COSA E’ STATO IMPLEMENTATO IN ORACLE
La progettazione di un sistema informatico
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Materia della tesi: Sistemi Distribuiti L-S VIDEOSORVEGLIANZA.
Elementi di Informatica di base
Gruppo 11: Ausili Andrea Giovanni Belellixxxxxxxx Polenta Marcoxxxxxxxx Giuseppe Prencipexxxxxxxx Marco Trinastichxxxxxxxx Università Politecnica.
Modelli e algoritmi per l’ottimizzazione di layout fieristici
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria “Enzo Ferrari” – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica.
Ispezione lineare La funzione hash h(k,i) si ottiene da una funzione hash ordinaria h'(k) ponendo L’esplorazione inizia dalla cella h(k,0) = h'(k) e continua.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Prof. Cerulli – Dott.ssa Gentili
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Esercizi su alberi binari di ricerca
Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio.
Commenti alle Attività Generiche. Attività Generiche (Pressman) Principali: Comunicazioni; Pianificazione; Modellazione; Costruzione, Dispiegamento Collaterali:
ALGORITMI a.
COME FORMARE LE STRUTTURE OPERATIVE DELLA COMMITTENZA Per assumere scelte decisionali con piena consapevolezza delle loro implicazioni Per elaborare e.
Universita’ degli Studi Roma Tre
Alberi CORDA – Informatica A. Ferrari Testi da
1 Università degli Studi di Roma “Tor vergata” Dipartimento di Ingegneria Civile Corso di Gestione ed esercizio dei sistemi di trasporto Docente: Ing.
U.O.C. DIREZIONE TECNICA PATRIMONIALE SERVIZIO DI MANUTENZIONE LA MANUTENZIONE NELLA AUSL RIETI.
La pianificazione della produzione dei dati. Costituzione del gruppo di progettazione L’elevato grado di complessità e la multidisciplinarietà richiesta.
Algoritmi euristici per l’ottimizzazione dell’offerta nella raccolta di rifiuti Tesi di laurea di Nicola Bindini Relatore: Chiar.mo Prof. Ing. DANIELE.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Infrastruttura per la gestione distribuita di un sistema di prenotazione Progetto di: Fabio Fabbri Matricola
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Modelli ed algoritmi per la riqualificazione dell’offerta nella raccolta di rifiuti solidi urbani Tesi di laurea di: Claudio Caremi.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
Università degli Studi di Bologna FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Gestionale Ricerca Operativa MODELLI PER L’OTTIMIZZAZIONE DELL’OFFERTA.
Progettazione di basi di dati: metodologie e modelli
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Agevolazioni a supporto di Ricerca e Creazione di nuove imprese Corso di Laurea in Biotecnologie – Sede di Fano Insegnamento: Elementi di Economia Aziendale.
Sviluppo ed implementazione di un software per il car pooling
Le basi di dati.
Ingegneria del software I DEE - Politecnico di Bari M. MongielloRequisiti1 Requisiti.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Commissione Offerta Formativa , Vers /22 COMMISSIONE OFFERTA FORMATIVA I FACOLTA’ DI INGEGNERIA Mercoledi 09 febbraio –
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

PROGETTO E REALIZZAZIONE DI UN COMPONENTE SOFTWARE PROGRAMMABILE PER LA PIANIFICAZIONE DI COMMISSIONI DI LAUREA FACOLTA’ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica Ingegneria del Software L-A Tesi di Laurea di: Roberto Rossi Relatore: Chiar.mo Dott. Ing. Giuseppe Bellavia

Scopo del Progetto Creazione di un componente software per la pianificazione automatica di commissioni di laurea. Il componente deve potersi integrare con il sistema software sviluppato per la gestione delle commissioni. Partendo da opportuni dati in ingresso esso deve elaborare e restituire piani per la creazione delle commissioni.

Requisiti di progetto Richieste in sede di analisi dei requisiti: Vincoli primari: Creazione di commissioni che rispettano la struttura richiesta Configurabilità della struttura delle commissioni da creare Vincoli secondari: Bilanciamento degli orari di proclamazione Inserimento di relatore e rispettivi laureandi nella medesima commissione Imposizione di un orario massimo per la proclamazione Gestione delle presenze

Configurabilità specifiche per la creazione delle commissioni spesso soggette a cambiamenti necessità di creare componente in grado di gestire modifiche nella struttura delle commissioni da creare …gestione tramite descrittori: Un descrittore dice al componente come deve essere strutturata una commissione di laurea Tipologie di docenti che vi possono comparire Corsi di Laurea associati alla commissione Tipi di tesi presentate Numero totale di professori Numero minimo di professori con docenza

Caratteristiche comportamentali Funzionalità offerte dal componente: Valutazione delle possibili ipotesi di soluzione Stima della durata di una commissione Stima del numero di commissioni Creazione delle commissioni relative ad un ipotesi valutata Inserimento docenti Inserimento laureandi

L’Interfaccia Il metodo valutaIpotesiSoluzione : Si occupa di valutare le possibili ipotesi per la creazione delle commissioni. Il metodo creaCommissioni: Produce in uscita le commissioni relative ad un’ipotesi. Algoritmo + … valutaIpotesiSoluzione(…) + … creaCommissioni(…)

+ … valutaIpotesiSoluzione(…) Parametri in ingresso: Descrittore di commissione Lista di docenti e relative disponibilità Lista di laureandi Numero massimo di commissioni al mattino Numero massimo di commissioni al pomeriggio Durata massima di una commissione Restituisce: Lista di ipotesi di soluzione

+ … creaCommissioni(…) Parametri in ingresso: Ipotesi di soluzione Restituisce Lista di commissioni

Il contratto 1. Il sistema software principale richiede al metodo …valutaIpotesiSoluzione(…) le possibili ipotesi relative ai dati in ingresso forniti. 2. Il componente elabora i dati e, se trova soluzioni lecite, restituisce le ipotesi relative. 3. Il sistema software principale richiede all’utente di valutare le ipotesi proposte dal componente. 4. Il sistema software principale richiede al componente la creazione delle commissioni relative ad un’ipotesi tramite il metodo …creaCommissioni(…). I passi per connettersi al componente sono stati fissati nel contratto di comunicazione con il sistema software per la gestione delle commissioni di laurea.

L’implementazione Possibili strategie di pianificazione: politiche esatte politiche approssimate Criteri di scelta: cosa si intende per soluzione ammissibile cosa si intende per soluzione ottima qualità dell’ottimo da trovare ordine dei tempi di elaborazione

Le scelte Scelta operata nell’implementazione: algoritmi approssimati: cercano una soluzione ammissibile, possibilmente anche vicina all’ottimo Strategia: esplorazione in backtracking delle disposizioni di docenti usate per produrre soluzioni. implementazione a stack di stati di commissioni esplorazione limitata da un parametro che ne indica la profondità

L’algoritmo implementato Gli strumenti… una procedura che attua l’esplorazione in backtracking delle possibili disposizioni di inserimento dei docenti in commissione. una procedura che verifica se un docente può essere inserito o meno in una commissione, in base ai docenti già inseriti in essa e ai dati contenuti nel descrittore. una procedura che verifica se una commissione è completa

L’algoritmo implementato Utilizzando tali strumenti è possibile: esplorare le possibili disposizioni di docenti, ricercando un ordine di inserimento che produca una soluzione ammissibile. creare esclusivamente commissioni valide verificare se la soluzione trovata è ammissibile i.e. tutte le commissioni sono complete

L’esplorazione di una soluzione Le azioni svolte nell’esplorazione di una soluzione: …supponendo di voler creare m commissioni: creazione delle m commissioni vuote esplorazione della successiva disposizione di inserimento dei docenti in commissione verifica dell’ammissibilità [se ammissibile] inserimento dei laureandi [se non ammissibile] ritorna al punto 2

L’esplorazione di una soluzione Supponendo di avere: m = commissioni da creare DpC = docenti per commissione d = docenti … e di aver già creato le commissioni vuote. Le azioni svolte: 1. Esplorazione della disposizione…

L’esplorazione di una soluzione Le azioni svolte: 1. Esplorazione della disposizione… d Diagramma ad albero radice Commissioni: m DpC Inserimento OK d 1 d Lista di docenti restanti:

L’esplorazione di una soluzione Le azioni svolte: 1. Esplorazione della disposizione… d radice Commissioni: m DpC Inserimento non OK d 1 d Lista di docenti restanti: Diagramma ad albero

L’esplorazione di una soluzione Le azioni svolte: 1. Esplorazione della disposizione… d radice Commissioni: m DpC Inserimento OK d 1 d Lista di docenti restanti: Diagramma ad albero

L’esplorazione di una soluzione Le azioni svolte: 1. Esplorazione della disposizione… d foglia disposizione radice Commissioni: m DpC Inserimento OK Slot vuoti Soluzione non Ammissibile Diagramma ad albero d 1 d Lista di docenti restanti:

L’esplorazione di una soluzione Le azioni svolte: 2. Esplorazione della successiva disposizione… d foglia esplorata radice Commissioni: m DpC d 1 d Lista di docenti restanti: Diagramma ad albero

L’esplorazione di una soluzione Le azioni svolte: 2. Esplorazione della successiva disposizione… d foglia esplorata radice Commissioni: m DpC d 1 d Lista di docenti restanti: Diagramma ad albero

L’esplorazione di una soluzione Le azioni svolte: 2. Esplorazione della successiva disposizione… d foglia esplorata radice Commissioni: m DpC Primo nodo di branching trovato d 1 d Lista di docenti restanti: Diagramma ad albero

L’esplorazione di una soluzione Le azioni svolte: 2. Esplorazione della successiva disposizione… d foglia esplorata radice Commissioni: m DpC Inserimento non OK d 1 d Lista di docenti restanti: Diagramma ad albero

L’esplorazione di una soluzione Le azioni svolte: 2. Esplorazione della successiva disposizione… d foglia esplorata radice Commissioni: m DpC Inserimento OK Diagramma ad albero

L’esplorazione di una soluzione Le azioni svolte: 2. Esplorazione della successiva disposizione… d foglia esplorata disposizione foglia radice Commissioni: m DpC Slot vuoti Soluzione non Ammissibile d 1 d Lista di docenti restanti: Diagramma ad albero

L’esplorazione di una soluzione Le azioni svolte: 3. Esplorazione della disposizione ammissibile… Commissioni: m DpC d radice n-esimo nodo di branching Diagramma ad albero

L’esplorazione di una soluzione Le azioni svolte: 3. Esplorazione della disposizione ammissibile… Commissioni: m DpC d OK disposizione La soluzione è Ammissibile Stop d radice soluzioni non ammissibili Diagramma ad albero

Il partizionamento per priorità partizionamento dei docenti per priorità di inserimento … docenti titolari di insegnamento – non titolari … disponibilità … presenze (partizioni elementari) Esempio: vi è un vincolo di minimo sui docenti titolari di insegnamento per commissione so che esiste una soluzione dovrò inserire per primi i non titolari aumento della probabilità di trovare subito una soluzione ammissibile priorità crescente di inserimento 0 d-k (d-k)-j d

Il workflow implementato I passi concettuali seguiti dal workflow: Analisi deterministica del numero massimo di commissioni ottenibile sulla base di: Numero dei docenti disponibili Tipologie dei docenti disponibili Numero di docenti disponibili titolari di un corso Generazione di commissioni vuote Ricerca di una soluzione Memorizzazione della soluzione trovata (se esiste) Decremento del numero massimo di commissioni ottenibile Ritorno al punto 2 Al termine si ottiene: Elenco di soluzioni che differiscono per numero di commissioni nMax commissioni … 1 commissione

Sviluppi futuri Gestione di ulteriori parametri non ancora considerati nella creazione delle commissioni anche se presenti nei dati in ingresso. Introduzione di algoritmi con maggiori livelli di ottimizzazione per le attività svolte Remoting delle procedure in ambiente.NET distribuito attualmente le procedure sono invocabili in ambiente locale tramite Reflection.