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
Se ho visto più lontano è perché
sono salito sulle spalle dei giganti
che mi hanno preceduto.
Motore di ricerca web gratuito
per le pubblicazioni
scientifiche.
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
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.
PROGETTO(1/4)
Modello Entità-Relazione
PROGETTO(2/4)
Moduli principali
Moduli:
•
•
•
•
ImportExport
InputOutput
ModulePanel
ORM
PROGETTO(3/4)
Classe Scholar
Gestione produttore/consumatore
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