Presentazione Tesi Marco Ventura

24
SVILUPPO DI UN APPLICATIVO SOFTWARE PER LA RICERCA DI INFORMAZIONI IN FILE CAD UNIVERSITÀ DEGLI STUDI DI TRIESTE FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica Laureando: Relatore: Marco VENTURA Chiar.mo Prof. Maurizio FERMEGLIA

Transcript of Presentazione Tesi Marco Ventura

Page 1: Presentazione Tesi Marco Ventura

SVILUPPO DI UN APPLICATIVO SOFTWARE PER LA RICERCA DI INFORMAZIONI IN

FILE CAD

 

UNIVERSITÀ DEGLI STUDI DI TRIESTEFACOLTÀ DI INGEGNERIA

Corso di Laurea in Ingegneria Informatica 

Laureando: Relatore:Marco VENTURA Chiar.mo Prof. Maurizio FERMEGLIA

Page 2: Presentazione Tesi Marco Ventura

La tesi in esame tratta della CREAZIONE di un

SOFTWARE in grado di ESTRARRE LE INFORMAZIONI

DA FILES CAD, ORGANIZZARLE in XML e memorizzarle

in un DATABASE.

Nasce dalle ESIGENZE di un’IMPRESA che necessita

di una PIATTAFORMA SOFTWARE che GESTISCA

L’ARCHIVIAZIONE E L’ ORGANIZZAZIONE DEI

PROPRI PROGETTI CAD

Page 3: Presentazione Tesi Marco Ventura

• INDIVIDUARE I FILES SU CUI OPERARE

• PERMETTERE L’ANTEPRIMA DEL FILES

SELEZIONATO

• ESTRARNE LE PROPRIETA’ ED I CONTENUTI

• ORGANIZZARE LE INFORMAZIONI RACCOLTE ED I

FILES STESSI IN ALL’INTERNO DI UN DB

Per andare in contro alle esigenze dell’impresa bisognerà

REALIZZARE UN APPLICAZIONE IN GRADO DI:

Page 4: Presentazione Tesi Marco Ventura

VINCOLI DI PROGETTAZIONE

funzionamento in sistemi operativi Windows

sviluppato sfruttando il .NET 3.5 (linguaggio C#)

database da realizzare con SQL Server

modularità e possibili integrazioni

Page 5: Presentazione Tesi Marco Ventura

RACCOLTA DEI REQUISITI

1. files interessati .DWG e . DXF

2. libreria CAD Import.Net 6.3 versione shareware

3. file di configurazione in XML esterno all’applicazione

4. informazioni estratte da strutturare in XML

5. dati raccolti organizzati in DB relazionale

(SQL Server 2008 express)

Page 6: Presentazione Tesi Marco Ventura

STRUTTURA DEL SOFTWARE

Si identifica il Content Management, il File Manager ed i possibili Viewers(nel nostro caso vi sarà solo il viewer CAD)

Page 7: Presentazione Tesi Marco Ventura

File Manager:

Content Management:

Viewer CAD:

• Rappresenta l’applicativo• Gestisce i files in ingresso al sistema

• Gestisce le sorgenti andando a leggerle nel file di configurazione

• Permette la visualizzazione e l’analisi del documento • Inserisce i dati ed i files nel DB

Ogni modulo, sopra descritto, è stato collocato in un namespace dedicato. Sono definiti nel seguente modo:

Page 8: Presentazione Tesi Marco Ventura

• trovare gli assembly (le dll) che implementanoi vari viewer utilizzati dal file manager

• gestisce tutte le sorgenti di files e la sua configurazione tramite caricamento del file di configurazione• identifica l’opportuno FileHandler per caricare il file selezionato

• Classi per la gestione dei singoli contenuti (in particolare per la gestione dei singoli file)

• Classi per la gestione delle sorgenti di contenuti (in particolare per la gestione delle directory da cui prelevare i files gestiti singolarmente con un Content Handler o con un File Handler)

ContentManagement

Page 9: Presentazione Tesi Marco Ventura

DummyCompany.SomeControls

•deriva da IFileHandler per permettere di passargli il nome del file da caricare• Molteplici compiti: → visualizzare l’anteprima e la struttura ad albero del disegno→ estrarre le informazioni del documento→ crea l’XML di informazioni e si occupa dell’invio dei dati al DB

FileManager

• definisce la funzione Main per il caricamento del programma

• richiama la libreria ContentManager per il caricamento del file di configurazione • seleziona le cartelle preimpostate e ne visualizza il contenuto• carica il viewer associato al file selezionato

• carica le icone dei file mediante la libreria shell32.dll di Windows

Page 10: Presentazione Tesi Marco Ventura

File di configurazioneAl suo interno troviamo:

cartelle su cui operare

<fileSource> <description>Bozze</description> <path>C:\....\Bozze</path></fileSource>

estensioni con relativo viewer

<fileContent> <description>content CAD (dwg)</description> <pattern>\w+\.dwg</pattern> <typeInfo>DummyCompany. DWGViewer;DummyCompany.dll</typeInfo></fileContent>

stringhe di configurazionedel DB

<dataBase> <connectionString> … </connectionString> <insertString>INSERT INTO FileTbl … </insertString> <transactionString>select …</transactionString></dataBase>

RICHIAMATO DAL FileManager, CARICATO DAL ContentManager

Page 11: Presentazione Tesi Marco Ventura

STRUTTURA DEL DATABASE

una unica entità: FILE

Il database è implementato solo a titolo esemplificativo. Il DB reale è oggetto di un altro lavoro di tesi

Page 12: Presentazione Tesi Marco Ventura

Il campo FileOriginale è così definito in modo da poter usufruire del

FILESTREAM

Il FILESTREAM è un attributo che permette la memorizzazione dei

dati sul file system, beneficiando della sua rapida capacità di

streaming e di stoccaggio

I dati memorizzati possono essere manipolati solo come

parte di una transazione di SQL Server

(non possono essere aperti direttamente dal file system)

Page 13: Presentazione Tesi Marco Ventura

INFORMAZIONI ESTRATTE DAL FILE CAD

Da una scansione degli elementi di cui è costituito il file si va a creare un documento XML

XML SCELTO PER LA SUA PORTABILITA’

Conterrà NOME del documento, elenco dei LAYERS, elenco dei TESTI

Page 14: Presentazione Tesi Marco Ventura

Un esempio di documento di indice

<d:value type="drawing:Drawing" instanceID="1">C:\fileProva.dwg</d:value>

Drawing

Layer

<d:value type="drawing:Layer" instanceID="2" persistence="CARTIGLIO" />

Text<d:value type="drawing:Text" parentInstanceID="2" instanceID="20" text="NOME PROGETTO:" />Text with location

<d:value type="tns:TextWithLocation" parentInstanceID="2" instanceID="125" text="NOME PROGETTO:"> <tns:persistence> <tns:textWithLocation> <tns:Text>NOME PROGETTO:</tns:Text> <tns:X>1934.3376332199898</tns:X> <tns:Y>-1718.9174478441248</tns:Y> </tns:textWithLocation> </tns:persistence></d:value>

Ogni elemento è contraddistinto dal suo instanceID e dell’eventuale parentInstanceID ad rappresentare la gerarchia precedentemente illustrata

Page 15: Presentazione Tesi Marco Ventura

Interfaccia e Funzionalità

Coda dei documenti

Visualizzatore del documento

Struttura del documento

Visualizzazione grafica

Pannello per la pubblicazione

Page 16: Presentazione Tesi Marco Ventura

Struttura del visualizzatore

il viewer di un

documento permette la

visualizzazione interattiva

permette di mettere in

evidenza particolari

informazioni sui layer

Page 17: Presentazione Tesi Marco Ventura

Permette funzioni

basi quali:

la centratura del

disegno

lo zoom

la navigazione nel

disegno

Visualizzazione grafica

Page 18: Presentazione Tesi Marco Ventura

Pannello per la pubblicazione

mostra le informazioni

estratte

permette l’inserimento di

eventuali note

permette l’invio dei dati

al DB

Page 19: Presentazione Tesi Marco Ventura

TestAccertarsi del funzionamento previsto del sistema realizzato

• Ricerca di una parola chiave contenuta nel documento

• Controllo del salvataggio del file originaleVerifiche da effettuare:

Si crea la classe di test all’interno del namespaces FileManager

Esegue ricerca

Apre file

Page 20: Presentazione Tesi Marco Ventura

Interfaccia di collaudo:

mediante doppio-click sul record si effettua il salvataggio del file sul disco

tramite un interrogazione si va a cercare una parola chiave contenuta all’interno dei documenti archiviati

Page 21: Presentazione Tesi Marco Ventura

Salvato il file, quest’ultimo sarà aperto mediante il programma di default associato da Windows per quella tipologia di file

Page 22: Presentazione Tesi Marco Ventura

Possiamo considerare conclusa la fase di Test

Ora è possibile trarre le conclusioni

Page 23: Presentazione Tesi Marco Ventura

CONCLUSIONI

• INDIVIDUARE I FILES SU CUI OPERARE ok

• PERMETTERE L’ANTEPRIMA DEL FILES SELEZIONATO ok

• ESTRARNE LE PROPRIETA’ ED I CONTENUTI ok

• ORGANIZZARE LE INFORMAZIONI RACCOLTE ED I

FILES STESSI IN ALL’INTERNO DI UN DB ok

Obiettivi prefissati:

Rispettando i vincoli di progettazione

Page 24: Presentazione Tesi Marco Ventura

… per il futuroIl progetto è in uno stato prototipale. Pone le basi per

futuri sviluppi:

• altre tipologie di files

• altri viewers

• altre funzionalità• altre metodologie di lavoro

(automazione)

altri benefici per l’impresa