• Non ci sono risultati.

Capitolo 3: Workflow Analisi

3.1 Casi d'uso

3.1.1 Specifiche dei casi d'uso

In questo paragrafo viene presentata la descrizione dettagliata di ogni caso d’uso identificato specificando un nome, un identificatore, gli attori coinvolti, le precondizioni (affinché il caso d'uso si attivi), il flusso principale, eventuali flussi alternativi e d'errore e le post condizioni (effetti dell'applicazione del caso d'uso).

Use case: Richiedi Informazioni Use case ID: UC1

Actors:

Utente

Preconditions:

L’utente loggato nel sistema

Flow of events:

1. L'Utente avvia la ricerca

2. include (Definisci Parametri di Ricerca) 3. include (Carica SUM)

4. IF non c'è alcun sum scaricato

4.1Termina fornendo come risultato: "nessun elemento inerente alla ricerca trovato" 5. Il Sistema fornisce il risultato ottenuto

Alternative flows: -

Postconditions:

L’utente ottiene le informazioni che cercava

Use case: Definisci Parametri di Ricerca Use case ID: UC2

Actors:

Utente, Tempo

Preconditions:

L’utente è loggato nel sistema e ha precedentemente attivato il UC1, oppure Tempo ha attivato UC3

Flow of events:

1. Il Sistema chiede all'Utente di definire i parametri della ricerca da effettuare. 2. IF l'Utente immette i dati della ricerca.

ELSE per i parametri non specificati vengono usate le impostazioni di default del file di

configurazione XML “SearchParameters.xml”

Alternative flows:

DatiInseritiErrati

Postconditions:

I parametri di ricerca sono settati e salvati

Alternative Use case: DatiInseritiErrati

Preconditions:

L’utente è loggato nel sistema e ha precedentemente attivato il UC1

Alternative flow:

1. Il Sistema chiede all'Utente di definire i parametri della ricerca da effettuare. 2. IF l'Utente immette i dati della ricerca.

2.1 I dati immessi sono errati (formato data non valido o coordinate errate) 2.2 Il sistema comunica tramite apposito errore quale è il dato mancante/errato

Postconditions:

L'Utente riavvia il caso d'uso UC2

Use case: Monitorizza Use case ID: UC3 Actors:

Tempo

Preconditions:

Il Tempo attiva ogni t* secondi questo caso d'uso

Flow of events:

1. Il Tempo avvia il caso d'uso poiché sono passati i T secondi 2. include (Definisci Parametri di Ricerca)

3. include (Carica SUM)

4. IF il file contenente i SUM scaricati è vuoto

4.1 Termina fornendo come risultato: "nessun elemento inerente alla ricerca trovato" 5. Il sistema fornisce il risultato ottenuto

Alternative flows: -

Postconditions:

Il risultato delle operazioni richieste viene fornito

Note:

•t viene settato come parametro dall'Amministratore KDD. Ogni t secondi il caso d'uso viene attivato ciclicamente.

Use case: Carica SUM Use case ID: UC4

Actors:

Tempo, Utente

Preconditions:

L'Utente ha avviato una nuova ricerca e specificato i parametri di ricerca

Flow of events:

1. Il Sistema chiede se caricare i SUM da database o se scaricarli da social network. 2. L'Utente effettua la propria scelta

3. IF è stato selezionato database THEN vengono caricati i SUM da database ELSE viene effettuato lo scaricamento dei SUM dal social network, include(Salva SUM)

4. include(Elabora SUM) 5. include(Salva SUM)

Alternative flows: Limite di Traffico Superato Zero Resultati Trovati Connessione Fallita Postconditions:

I SUM relativi alla ricerca dell'Utente sono stati scaricati e salvati nel database assieme ai parametri con cui sono stati scaricati.

Alternative Use case: Limite di traffico superato

Preconditions:

L'Utente ha avviato una nuova ricerca e specificato i parametri di ricerca

Alternative flow:

1. Il Sistema chiede se caricare i SUM da database o se scaricarli da social network. 2. L'Utente effettua la propria scelta

3. IF è stato selezionato database THEN vengono caricati i SUM da database

ELSE Il Sistema prova a scaricare i SUM da social network ma tale operazione produce l'errore che il limite di traffico disponibile per l'applicazione è stato superato.

Postconditions:

La richiesta non viene servita.

Alternative Use case: Zero Resultati Trovati

Preconditions:

L'Utente ha avviato una nuova ricerca e specificato i parametri di ricerca

Alternative flow:

1. Il Sistema chiede se caricare i SUM da database o se scaricarli da social network. 2. L'Utente effettua la propria scelta

3. IF è stato selezionato database THEN vengono caricati i SUM da database

ELSE viene effettuato lo scaricamento dei SUM dal social network.

4. Il sistema si accorge che non è stato prodotto alcun risultato dallo scaricamento o dal caricamento da database

5. Il sistema comunica all'utente che nessun SUM corrispondente la ricerca è stato trovato

Postconditions:

Alternative Use case: Connessione Fallita

Preconditions:

L'Utente ha avviato una nuova ricerca e specificato i parametri di ricerca

Alternative flow:

1. Il Sistema chiede se caricare i SUM da database o se scaricarli da social network. 2. L'Utente effettua la propria scelta

3. IF è stato selezionato database THEN il sistema produce l'errore che la connessione al database è fallita

ELSE il sistema produce l'errore che la connessione al social network è fallita Postconditions:

L'utente viene informato che al momento c'è un problema di connessione al DB o al social network

Use case: Salva SUM Use case ID: UC5 Actors:

Tempo, Utente

Preconditions:

I SUM sono stati scaricati oppure è' stata eseguita una Elaborazione sui SUM

Flow of events:

1. Il Sistema ha appena eseguito un'operazione sull'elaborazione dei SUM 2. Il Sistema si connette al database.

3. IF l'operazione precedente era Traduci GeoCoordinate THEN il sistema salva il risultato nel database relativamente all'indirizzo corrispondente a latitudine/longitudine

4. IF l'operazione precedente era Rimuovi Metadati THEN il sistema salva il risultato nel database relativamente al testo del SUM

5. IF l'operazione precedente era Classifica THEN il Sistema salva il risultato nel database relativamente ai SUM e loro relativa classificazione.

6. IF l'operazione precedente era Carica SUM (Solo nel caso vengano scaricati nuovi SUM dal social network) THEN il Sistema salva il risultato nel database relativamente ai SUM e ai parametri con cui sono stati scaricati.

7. IF l'operazione precedente era Controlla Eventi THEN il Sistema salva il risultato nel database relativamente agli Eventi che sono stati trovati.

Alternative flows: -

Postconditions:

I risultati delle elaborazioni sono stati salvati nel database

Alternative Use case: Connessione al DataBase Fallita

Preconditions:

I SUM sono stati scaricati oppure è' stata eseguita una Elaborazione sui SUM

Alternative flow:

1. Il Sistema ha appena eseguito un'operazione sull'elaborazione dei SUM 2. Il sistema fallisce nel connettersi al DataBase

Postconditions:

Use case: Elabora SUM Use case ID: UC6 Actors:

Tempo, Utente

Preconditions:

I SUM sono stati caricati

Flow of events:

1. Il sistema prende in ingresso il file contenente i SUM trovati dalla ricerca 2. Il sistema chiede all'utente le operazioni che desidera effettuare

3. Il sistema offre all'utente le seguenti possibilità: "Traduci GeoCoordinate, Filtra SUM, Classifica

SUM, Controlla Eventi, Visualizza SUM"

3.1 While (L'utente esegue una delle operazioni)

3.1.1 IF la scelta è Traduci GeoCoordinate, extend(Traduci GeoCoordinate) 3.1.2 IF la scelta è Filtra SUM, extend(Filtra SUM)

3.1.3 IF la scelta è Classifica, extend(Classifica)

3.1.4 IF la scelta Controlla Eventi, extend(Controlla Eventi) 3.1.5 IF la scelta è Visualizza SUM, extend(Visualizza SUM)

3.1.6 include(Salva SUM) Alternative flows:

-

Postconditions:

Il risultato dell'operazione viene presentato all'utente

Use case: Traduci GeoCoordinate Use case ID: UC7

Actors:

Tempo, Utente

Preconditions:

L'utente ha selezionato Traduci GeoCoordinate all'interno della Elabora SUM

Flow of events:

1. Il sistema chiede l'Id del SUM su cui effettuare la traduzione delle GeoCoordinate.

2. Il sistema recupera il SUM su cui effettuare la traduzione delle GeoCoordinate ed esegue tale operazione.

3. Il sistema ritorna il risultato ottenuto.

Alternative flows: Id SUM Errato Errore GoogleAPI Postconditions:

L'indirizzo relativo al SUM è stato salvato nel database

Alternative Use case: Id SUM Errato

Preconditions:

L'utente ha selezionato Traduci GeoCoordinate all'interno della Elabora SUM Alternative flow:

1. Il sistema chiede l'Id del SUM su cui effettuare la traduzione delle GeoCoordinate. 2. Il sistema non trova il SUM relativo all'id inserito

3. Il sistema comunica l'errore.

Postconditions:

L'utente viene informato che l'id inserito è errato.

Alternative Use case: Errore GoogleAPI

Preconditions:

L'utente ha selezionato Traduci GeoCoordinate all'interno della Elabora SUM Alternative flow:

1. Il sistema chiede l'Id del SUM su cui effettuare la traduzione delle GeoCoordinate.

2. Il sistema trova il SUM relativo ma l'esecuzione dell'operazione riscontra qualche prolema dovuto alla GoogleMapsApi

3. Il sistema comunica l'errore della GoogleMapsApi.

Postconditions:

L'utente viene informato che c'è stato un problema durante l'esito dell'operazione.

Use case: Rimuovi Metadati Use case ID: UC8

Actors:

Tempo, Utente

Preconditions:

L'Utente ha selezionato Rimuovi Metadati all'interno della Elabora SUM

Flow of events:

1. Il sistema chiede l'Id del SUM su cui effettuare la rimozione dei Metadati.

2. Il sistema recupera i parametri per la rimozione dall'apposito file XML “RemoveMetadata.xml” 3. Il sistema effettua la rimozione dei meta dati

3. Il sistema ritorna il risultato ottenuto.

Alternative flows: Id SUM Errato Postconditions:

L'indirizzo relativo al SUM è stato salvato nel database

Alternative Use case: Id SUM Errato

Preconditions:

L'Utente ha selezionato Rimuovi Metadati all'interno della Elabora SUM Alternative flow:

1. Il sistema chiede l'Id del SUM su cui effettuare la rimozione dei meta dati 2. Il sistema non trova il SUM relativo all'id inserito.

3. Il sistema comunica l'errore.

Postconditions:

Non viene eseguita alcuna rimozione dei meta dati a causa dell'errore

Use case: Visualizza SUM Use case ID: UC9

Actors:

Tempo, Utente

Preconditions:

L'utente ha selezionato Visualizza SUM all'interno della Elabora SUM

Flow of events:

1. Il sistema chiede all'utente se vuol visualizzare un solo SUM o una collazione di SUM 2. L'utente effettua la propria scelta

3. IF un solo SUM THEN

3.1.Il sistema chiede all'utente di inserire l'id del SUM relativo 3.2.L'utente inserisce l'id

3.3.il sistema trova il SUM relativo ELSE

3.1Il sistema chiede all'utente di inserire l'id della collezione relativa 3.2L'utente inserisce l'id

3.3il sistema trova la collezione di SUM e estrai tutti i SUM contenuti in essa. 4. Il sistema presenta all'utente il risultato

Alternative flows:

Id SUM o Collezione SUM Errato Postconditions:

Il SUM o la collezione di SUM viene visualizzata dall'utente

Alternative Use case: Id SUM o Collezione SUM Errato

Preconditions:

L'utente ha selezionato Visualizza SUM all'interno della Elabora SUM Alternative flow:

1. Il sistema chiede all'utente se vuol visualizzare un solo SUM o una collazione di SUM 2. L'utente effettua la propria scelta

3. IF un solo SUM THEN

3.1Il sistema chiede all'utente di inserire l'id del SUM relativo 3.2 L'utente inserisce l'id del SUM

3.3 il sistema non trova il SUM relativo all'id inserito dall'utente ELSE

3.2L'utente inserisce l'id della Collezione

3.3il sistema non trova la collezione di SUM all'interno del database. 4. Il sistema presenta all'utente il risultato

Postconditions:

L'utente viene informato che l'id del SUM inserito o quello della collezione di SUM è errato.

Use case: Controlla Eventi Use case ID: UC10 Actors:

Tempo, Utente

Preconditions:

L'utente ha selezionato Controlla Eventi all'interno della Elabora SUM dopo aver effettuato una

Classifica sulla collezione di SUM ottenuti dalla Carica SUM Flow of events:

1. Il sistema verifica nel database le classificazioni ottenute per ciascun SUM appartenente alla collezione

2. WHILE (Ci sono modelli di classificazione nel sistema ancora non controllati) 2.1 FOR (Ogni SUM appartenente alla collezione di SUM)

2.1.1 IF (dato un determinato evento X, relativo al modello X' con cui

sono stati classificati i SUM questo è presente con valore true relativamente al SUM in esame.)

THEN incremento il valore di una variabile count contenente il numero di SUM in cui si è verificato l'evento;

2.2IF count > della soglia stabilita tramite la politica di verifica dell'evento*

THEN Il sistema salva all'interno del database che l'evento per la collezione di SUM in esame si è verificato in coordinate c**.

3. Il sistema torna la lista degli eventi classificati (Se non presente alcun evento torna vuoto).

Alternative flows: -

Postconditions:

è stato verificato la lista degli eventi che si sono verificati.

Note:

•* La politica di verifica dell'evento è una formula matematica stabilita dal' amministratore modulo classificazione relativamente alla percentuale di classificazione a true (ovvero Evento individuato) dei SUM in esame. Si dice che l'evento si è verificato se il numero dei SUM classificati a true supera tale soglia (es. Almeno il 20% dei SUM classificati rendano valore true rispetto al totale dei SUM presenti nella collezione di SUM).

•** c è un coppia di coordinate latitudine-longitudine in cui l'evento si è verificato. Il valore di c viene stabilito tramite politiche di gestione dal' amministratore modulo classificazione (c ad esempio può essere le coordinate della ricerca tramite le quali è estratta la collezione di SUM, oppure può essere le coordinate di un SUM che ha la geo-localizzazione attiva ottenuto ad esempio come centro del cluster

“evento verificato” dopo un'operazione di clustering su tutti i SUM in esame, ecc)

Use case: Classifica Use case ID: UC11 Actors:

Tempo, Utente, Sistema

Preconditions:

L'utente o il sistema attiva la Classificazione.

Flow of events:

1. Il sistema prende in ingresso tutti i SUM da classificare

2. Il sistema costruisce il dataset da passare a Weka con i SUM in esame. include(Prepara DataSet) 3. WHILE (Vi sono modelli di classificazione disponibili non ancora utilizzati per classificare il dataset creato)

3.1include(Carica Modello di Classificazione)

3.2Il modello viene applicato sul dataset creato in precedenza 3.3il sistema effettua la classificazione

Alternative flows:

Nessun Modello Disponibile Errore di Classificazione Postconditions:

I SUM sono stati classificati e la loro classificazione è stata salvata nel database

Alternative Use case: Nessun Modello Disponibile

Preconditions:

L'utente ha selezionato Visualizza SUM all'interno della Elabora SUM Alternative flow:

1. Il sistema prende in ingresso tutti i SUM da classificare

2. Il sistema costruisce il dataset da passare a Weka con i SUM in esame. include(Prepara DataSet) 3. WHILE (Vi sono modelli di classificazione disponibili non ancora utilizzati per classificare il dataset creato)

3.1include(Carica Modello di Classificazione) 3.2Il modello non è stato trovato

3.3Il sistema termina

Postconditions:

Il sistema informa l'utente che si è verificato un errore inerente al caricamento del modello di classificazione

Alternative Use case: Errore di Classificazione

Preconditions:

L'utente ha selezionato Visualizza SUM all'interno della Elabora SUM Alternative flow:

1. Il sistema prende in ingresso tutti i SUM da classificare

2. Il sistema costruisce il dataset da passare a Weka con i SUM in esame. include(Prepara DataSet) 3. WHILE (Vi sono modelli di classificazione disponibili non ancora utilizzati per classificare il

dataset creato)

3.1include(Carica Modello di Classificazione)

3.2Il modello viene applicato sul dataset creato in precedenza

3.3Il sistema effettua la classificazione ma questa produce un errore generico e quindi termina.

Postconditions:

Il sistema informa l'utente che si è verificato un errore durante la classificazione

Use case: Carica Modello di Classificazione Use case ID: UC12

Actors:

Tempo, Utente, Sistema

Preconditions:

Il sistema chiede il caricamento del modello di classificazione durante la Classifica

Flow of events:

1. Il sistema si collega al database e ottiene il modello inerente tramite nome o path 2. Il sistema carica il modello di classificazione

Alternative flows:

Errore di Connessione al Database Postconditions:

Il modello è stato caricato

Alternative Use case: Errore di Connessione al Database

Preconditions:

Il sistema chiede il caricamento del modello di classificazione durante la Classifica Alternative flow:

1. Il sistema fallisce nel collegarsi al database

Postconditions:

Il sistema informa che non è stato possibile caricare il modello per un errore di connessione al database

Use case: Prepara DataSet Use case ID: UC13 Actors:

Tempo, Utente, Sistema, Amministratore Modulo Classificazione

Preconditions:

L'utente è loggato al sistema e ha chiesto la classificazione oppure l'amministratore del modulo di classificazione ha chiesto la preparazione del dataset

Flow of events:

1. Il sistema prende in ingresso i SUM che deve elaborare

2. Il sistema valuta le scelte impostate dall'amministratore del modulo di classificazione: 3. IF è “si” il parametro Rimuovi StopWords THEN extend( RimuoviStopWords)

4. IF è “si” il parametro Tokenizza Sum THEN extend( TokenizzaSUM)

5. IF è “si” il parametro Effettua Stemming dei SUM THEN extend(EffettuaStemming dei SUM) 6. IF è “si” il parametro Applica Lemmatizzazione THEN extend(ApplicaLemmatizzazione) 7. IF è “si” il parametro Applica DataTrasformationTHEN extend(Applica DataTrasformation)

8. IF è “si” il parametro Applica DataReduction THEN extend(Applica DataReduction) 9. IF è “si” il parametro Applica DataIntegration THEN extend(Applica DataIntegration) 10. IF è “si” il parametro Applica DataCleaning THEN extend(Applica DataCleaning) Alternative flows:

-

Postconditions:

Il DataSet è stato preparato

Use case: Rimuovi StopWords Use case ID: UC14

Actors:

Tempo, Utente, Sistema, Amministratore Modulo Classificazione

Preconditions:

E' “si” il parametro Rimuovi StopWords nella Prepara DataSet

Flow of events:

1. Il sistema prende in ingresso i SUM che deve elaborare

2. Il sistema prende in ingresso il file StopWords.txt contenente le stopwords da rimuovere 3. WHILE (ci sono SUM da elaborare)

WHILE (Il SUM ha ancora parola da testare)

IF la parola è presente nel file StopWords.txt THEN la parola viene rimossa

Alternative flows: -

Postconditions:

Le stopwords sono state rimosse dai SUM

Use case: Tokenizza SUM Use case ID: UC15 Actors:

Tempo, Utente, Sistema, Amministratore Modulo Classificazione

Preconditions:

E' “si” il parametro Tokenizza Sum nella Prepara DataSet

Flow of events:

1. Il sistema prende in ingresso i SUM che deve elaborare 3. WHILE (ci sono SUM da elaborare)

Il SUM viene Tokenizzato

Alternative flows: -

Postconditions:

I SUM sono statiTokenizzati

Use case: Effettua Stemming dei SUM Use case ID: UC16

Actors:

Preconditions:

E' “si” il parametro Effettua Stemming dei SUM nella Prepara DataSet

Flow of events:

1. Il sistema prende in ingresso i SUM che deve elaborare 3. WHILE (ci sono SUM da elaborare)

WHILE (Il SUM ha ancora parola da testare) La parola viene ridotta alla sua radice

Alternative flows: -

Postconditions:

Le parole nei SUM sono state ridotte alla loro radice

Use case: Applica Lemmatizzazione Use case ID: UC17

Actors:

Tempo, Utente, Sistema, Amministratore Modulo Classificazione

Preconditions:

E' “si” il parametro Applica Lemmatizzazione nella Prepara DataSet

Flow of events:

1. Il sistema prende in ingresso i SUM che deve elaborare 3. WHILE (ci sono SUM da elaborare)

WHILE (Il SUM ha ancora parola da testare) La parola viene lemmatizzata

Alternative flows: -

Postconditions:

Le parole nei SUM sono state lemmatizzate

Use case: Applica DataTrasformation Use case ID: UC18

Actors:

Tempo, Utente, Sistema, Amministratore Modulo Classificazione

Preconditions:

E' “si” il parametro Applica DataTrasformation nella Prepara DataSet

Flow of events:

1. Il sistema prende in ingresso i SUM che deve elaborare 3. WHILE (ci sono SUM da elaborare)

WHILE (Il SUM ha ancora parola da testare) La parola viene trasformata in numero

Alternative flows: -

Postconditions:

Use case: Applica DataReduction Use case ID: UC19

Actors:

Tempo, Utente, Sistema, Amministratore Modulo Classificazione

Preconditions:

E' “si” il parametro Applica DataReduction nella Prepara DataSet

Flow of events:

1. Il sistema prende in ingresso i SUM che deve elaborare 3. WHILE (ci sono SUM da elaborare)

WHILE (Il SUM ha ancora parola da testare)

Viene applicato un metodo di DataReduction a seconda di quale è stato impostato dall'amministratore del modulo di classificazione:

- Trasformata Wavelet

- PCA (Analisi Componenti Principali) - Selezione di un sottoinsieme di attributi

- Riduzione della numerosità con tecniche parametriche (regressione) - Riduzione della numerosità con campionamento

Alternative flows: -

Postconditions:

Ai SUM è stata applicata la DataReduction

Use case: Applica DataIntegration Use case ID: UC20

Actors:

Tempo, Utente, Sistema, Amministratore Modulo Classificazione

Preconditions:

E' “si” il parametro Applica DataIntegration nella Prepara DataSet

Flow of events:

1. Il sistema prende in ingresso i SUM che deve elaborare 3. WHILE (ci sono SUM da elaborare)

3.1Il Sistema applica l'operazione di individuazione e rimozione delle ridondanze nei dati 3.2Il Sistema va a risolvere i conflitti tra i valori presenti all'interno del dataset

3.3Il Sistema mostra i cambiamenti effettuati sul dataset

Alternative flows: -

Postconditions:

Ai SUM è stata applicata la DataIntegration

Use case: Applica DataCleaning Use case ID: UC21

Actors:

Tempo, Utente, Sistema, Amministratore Modulo Classificazione

Preconditions:

E' “si” il parametro Applica DataCleaning nella Prepara DataSet

Flow of events:

1. Il sistema prende in ingresso i SUM che deve elaborare 3. WHILE (ci sono SUM da elaborare)

3.4Il Sistema a seconda dei parametri impostati dall'amministratore datacleaning effettua in ordine: 3.4.1 Il Sistema applica l'operazione di definizione dei meta dati

3.4.2 Il Sistema applica l'operazione di rimozione del rumore

3.4.3 Il Sistema applica l'operazione di definizione del metodo per fronteggiare i "valori mancanti" nel dataset e lo applica

3.4.5 Il Sistema applica l'operazione di controllo delle regole di unicità, null e di consecutività per fronteggiare la discrepanza tra i dati

3.4.6 Il Sistema applica l'operazione di individuazione delle discrepanze tra i dati tramite tool commerciali come ETL tool con interfaccia grafica GUI e vengono mostrati all'utente i cambiamenti effettuati

Alternative flows: -

Postconditions:

Ai SUM è stata applicata la DataCleaning

Use case: Seleziona DataSet per l'Addestramento Use case ID: UC22

Actors:

Amministratore Modulo Classificazione

Preconditions:

L'amministratore del modulo classificazione è loggato al sistema

Flow of events:

1. Il sistema chiede in ingresso il path o il nome del dataset.arff di training

2. L'amministratore del modulo classificazione inserisce il nome del dataset di training 3. Il sistema carica il file

4. Il sistema chiede se il dataset di training deve essere “preparato”

Documenti correlati