Presentazione Tesi Marco Ventura

3,617 views

Published on

presentazione tesi per 5 marzo 2009

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,617
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
38
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentazione Tesi Marco Ventura

  1. 1. 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
  2. 2. 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
  3. 3. <ul><li>INDIVIDUARE I FILES SU CUI OPERARE </li></ul><ul><li>PERMETTERE L’ANTEPRIMA DEL FILES SELEZIONATO </li></ul><ul><li>ESTRARNE LE PROPRIETA’ ED I CONTENUTI </li></ul><ul><li>ORGANIZZARE LE INFORMAZIONI RACCOLTE ED I FILES STESSI IN ALL’INTERNO DI UN DB </li></ul>Per andare in contro alle esigenze dell’impresa bisognerà REALIZZARE UN APPLICAZIONE IN GRADO DI :
  4. 4. VINCOLI DI PROGETTAZIONE <ul><li>funzionamento in sistemi operativi Windows </li></ul><ul><li>sviluppato sfruttando il .NET 3.5 (linguaggio C#) </li></ul><ul><li>database da realizzare con SQL Server </li></ul><ul><li>modularità e possibili integrazioni </li></ul>
  5. 5. RACCOLTA DEI REQUISITI <ul><li>files interessati .DWG e . DXF </li></ul><ul><li>libreria CAD Import.Net 6.3 versione shareware </li></ul><ul><li>file di configurazione in XML esterno all’applicazione </li></ul><ul><li>informazioni estratte da strutturare in XML </li></ul><ul><li>dati raccolti organizzati in DB relazionale </li></ul><ul><li>(SQL Server 2008 express) </li></ul>
  6. 6. STRUTTURA DEL SOFTWARE Si identifica il Content Management, il File Manager ed i possibili Viewers (nel nostro caso vi sarà solo il viewer CAD)
  7. 7. File Manager: Content Management: Viewer CAD: <ul><li>Rappresenta l’applicativo </li></ul><ul><li>Gestisce i files in ingresso al sistema </li></ul><ul><li>Gestisce le sorgenti andando a leggerle nel file di configurazione </li></ul><ul><li>Permette la visualizzazione e l’analisi del documento </li></ul><ul><li>Inserisce i dati ed i files nel DB </li></ul>Ogni modulo, sopra descritto, è stato collocato in un namespace dedicato. Sono definiti nel seguente modo:
  8. 8. <ul><li>trovare gli assembly (le dll) che implementanoi vari viewer utilizzati dal file manager </li></ul><ul><li>gestisce tutte le sorgenti di files e la sua configurazione tramite caricamento del file di configurazione </li></ul><ul><li>identifica l’opportuno FileHandler per caricare il file selezionato </li></ul><ul><li>Classi per la gestione dei singoli contenuti (in particolare per la gestione dei singoli file) </li></ul><ul><li>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) </li></ul>ContentManagement
  9. 9. DummyCompany.SomeControls <ul><li>deriva da IFileHandler per permettere di passargli il nome del file da caricare </li></ul><ul><li>Molteplici compiti: </li></ul><ul><li>visualizzare l’anteprima e la struttura ad albero del disegno </li></ul><ul><li>estrarre le informazioni del documento </li></ul><ul><li>crea l’XML di informazioni e si occupa dell’invio dei dati al DB </li></ul>FileManager <ul><li>definisce la funzione Main per il caricamento del programma </li></ul><ul><li>richiama la libreria ContentManager per il caricamento del file di configurazione </li></ul><ul><li>seleziona le cartelle preimpostate e ne visualizza il contenuto </li></ul><ul><li>carica il viewer associato al file selezionato </li></ul><ul><li>carica le icone dei file mediante la libreria shell32.dll di Windows </li></ul>
  10. 10. File di configurazione Al 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 configurazione del DB <dataBase> <connectionString> … </connectionString> <insertString>INSERT INTO FileTbl … </insertString> <transactionString>select …</transactionString> </dataBase> RICHIAMATO DAL FileManager, CARICATO DAL ContentManager
  11. 11. STRUTTURA DEL DATABASE <ul><li>una unica entità: FILE </li></ul>Il database è implementato solo a titolo esemplificativo. Il DB reale è oggetto di un altro lavoro di tesi
  12. 12. 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)
  13. 13. 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
  14. 14. Un esempio di documento di indice <d:value type=&quot;drawing:Drawing&quot; instanceID=&quot;1&quot;>C:fileProva.dwg</d:value> Drawing Layer <d:value type=&quot;drawing:Layer&quot; instanceID=&quot;2&quot; persistence=&quot;CARTIGLIO&quot; /> Text <d:value type=&quot;drawing:Text&quot; parentInstanceID=&quot;2&quot; instanceID=&quot;20&quot; text=&quot;NOME PROGETTO:&quot; /> Text with location <d:value type=&quot;tns:TextWithLocation&quot; parentInstanceID=&quot;2&quot; instanceID=&quot;125&quot; text=&quot;NOME PROGETTO:&quot;> <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
  15. 15. Interfaccia e Funzionalità Coda dei documenti Visualizzatore del documento Struttura del documento Visualizzazione grafica Pannello per la pubblicazione
  16. 16. Struttura del visualizzatore <ul><li>il viewer di un documento permette la visualizzazione interattiva </li></ul><ul><li>permette di mettere in evidenza particolari informazioni sui layer </li></ul>
  17. 17. <ul><li>Permette funzioni basi quali: </li></ul><ul><li>la centratura del disegno </li></ul><ul><li>lo zoom </li></ul><ul><li>la navigazione nel disegno </li></ul>Visualizzazione grafica
  18. 18. Pannello per la pubblicazione <ul><li>mostra le informazioni estratte </li></ul><ul><li>permette l’inserimento di eventuali note </li></ul><ul><li>permette l’invio dei dati al DB </li></ul>
  19. 19. Test Accertarsi del funzionamento previsto del sistema realizzato <ul><li>Ricerca di una parola chiave contenuta nel documento </li></ul><ul><li>Controllo del salvataggio del file originale </li></ul>Verifiche da effettuare: Si crea la classe di test all’interno del namespaces FileManager Esegue ricerca Apre file
  20. 20. 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
  21. 21. Salvato il file, quest’ultimo sarà aperto mediante il programma di default associato da Windows per quella tipologia di file
  22. 22. Possiamo considerare conclusa la fase di Test Ora è possibile trarre le conclusioni
  23. 23. CONCLUSIONI <ul><li>INDIVIDUARE I FILES SU CUI OPERARE ok </li></ul><ul><li>PERMETTERE L’ANTEPRIMA DEL FILES SELEZIONATO ok </li></ul><ul><li>ESTRARNE LE PROPRIETA’ ED I CONTENUTI ok </li></ul><ul><li>ORGANIZZARE LE INFORMAZIONI RACCOLTE ED I </li></ul><ul><li>FILES STESSI IN ALL’INTERNO DI UN DB ok </li></ul>Obiettivi prefissati: Rispettando i vincoli di progettazione
  24. 24. … per il futuro <ul><li>Il progetto è in uno stato prototipale. Pone le basi per futuri sviluppi: </li></ul><ul><li>altre tipologie di files </li></ul><ul><li>altri viewers </li></ul><ul><li>altre funzionalità </li></ul><ul><li>altre metodologie di lavoro </li></ul><ul><li>(automazione) </li></ul>altri benefici per l’impresa

×