UNIVERSITÀ DEGLI STUDI DI ROMA LA SAPIENZA Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Anno Accademico 2007-2008 Sistema informativo per la gestione delle pubblicazioni e delle citazioni Candidato: Paolo Alfonsi Relatore: Prof. Marco Schaerf
SOMMARIO OBIETTIVI PRELIMINARI AMBIENTE DI SVILUPPO SPECIFICHE PROGETTAZIONE CONCLUSIONI
OBIETTIVI Realizzare il core di un sistema informativo estendibile per la gestione e l’analisi delle pubblicazioni scientifiche; Realizzare una base di dati in grado di immagazzinare i dati relativi alle pubblicazioni.
PRELIMINARI (1/2) Google Scholar Publish or Perish Motore di ricerca web gratuito per le pubblicazioni scientifiche. Se ho visto più lontano è perché sono salito sulle spalle dei giganti che mi hanno preceduto. Isaac Newton Publish or Perish Software gratuito per l’analisi delle pubblicazioni tramite Google Scholar.
PRELIMINARI (2/2) Formati bibliografici: Indici bibliometrici: EndNote BibTeX Ris – RefMan CVS MODS Indici bibliometrici: H-index di Hirsch G-index di Egghe H-index contemporaneo H-index individuale AWCR
SPECIFICHE Interfacciamento con le fonti (Scholar, CINECA, …). Gestione dei formati bibliografici (EndNote, BibTeX, …). Struttura per l’interfacciamento col DB. Calcolo delle statistiche e indici bibliometrici. Interfaccia grafica a pannelli: Struttura grafica del Core con menu e pannello per gestione ed elaborazioni sul db interno. Pannello grafico per ogni fonte (Scholar, Cineca, ISI, …). Pannello per la visualizzazione delle statistiche/indici bibliometrici. Possibilità di espansione futura con l’aggiunta di nuovi moduli.
AMBIENTE L’ambiente di sviluppo utilizzato è NetBeans.
Modello Entità-Relazione PROGETTO(1/4) Modello Entità-Relazione
PROGETTO(2/4) Moduli: Moduli principali ImportExport InputOutput ModulePanel ORM
Gestione produttore/consumatore PROGETTO(3/4) Classe Scholar Gestione produttore/consumatore
Classi Object-Relational Mapping PROGETTO(4/4) Classi Object-Relational Mapping @Entity @Table(name = "authors") @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name = "id", nullable = false) @JoinTable(name = "r_papers_authors", joinColumns = {@JoinColumn(name = "ref_author", referencedColumnName = "id")}, inverseJoinColumns = {@JoinColumn(name = "ref_paper", referencedColumnName = "id")}) @ManyToMany @OneToMany(cascade = CascadeType.ALL, mappedBy = "authors")
CONCLUSIONI Sviluppi futuri: Omonimie Match Formati strutturati Front-end CINECA & Scholar Altri Front-end Contenuti Aree di ricerca Analisi dei dati – Data warehouse