SuapTTR
SuapTTR
SUAP
20/01/2012
SuapTTR
1
Sommario
Sommario ....................................................................... 1
Descrizione del sistema .................................................. 2
Attori............................................................................... 3
Profili applicativi ............................................................. 3
Ruoli arpa........................................................................ 3
Macrofunzionalità .......................................................... 4
Funzionalità .................................................................... 4
Componenti utilizzate, stack tecnologico....................... 5
Modello dati ................................................................... 7
Casi d’uso........................................................................ 8
Diagramma UC................................................................ 8
Caso d’uso 1 – inserimento voce di dizionario ............... 8
Descrizione del caso d’uso .............................................. 8
Sequence Diagram........................................................ 10
Caso d’uso 2 – modifica di standard1........................... 10
Descrizione del caso d’uso ............................................ 10
Sequence Diagram........................................................ 13
Caso d’uso 3 – visualizzazione di standard4 ................. 14
Descrizione del caso d’uso ............................................ 14
Sequence Diagram........................................................ 16
20/01/2012
SuapTTR
2
Descrizione del sistema
L’applicazione SuapTTR, dove TTR è acronimo
di Tavolo Tecnico Regionale, nasce per
permettere ai suoi utenti (Esperto SUAP,
Amministratore) di interfacciarsi con la Banca
Dati Regionale per gestire endoprocedimenti
e schede di spiegazione, permettendone
l’inserimento, la modifica o la visualizzazione,
a seconda del profilo dell’utente, e di inviare messaggi tramite CART ai SUAP che ne fanno
richiesta.
La Banca Dati Regionale è composta dal dizionario, una struttura ad albero, in cui le foglie
rappresentano le attività produttive e gli endoprocedimenti collegati. Ad ognuna di queste foglie
corrisponde uno Standard1 nel caso delle attività o uno Standard4 nel caso degli
endoprocedimenti collegati. I due standard contengono tutti i dati relativi alle attività produttive
ed agli endoprocedimenti collegati.
20/01/2012
SuapTTR
3
Attori
L’applicazione suapttr è destinata esclusivamente ai componenti del Tavolo Tecnico Regionale
per permettere la gestione della Banca Dati Regionale.
Esperto SUAP
Utente esperto in specifici ambiti (materie) del dizionario: questa tipologia di attore può essere
impersonata da un Dipendente della Regione, da un Dipendente di un Ente locale della Toscana,
da un libero professionista, ecc.
Amministratore
Utente che si occupa di gestire le funzioni amministrative, di configurazione e di auditing delle
applicazioni.
Profili applicativi
Sulla base degli attori sopra descritti, si fornisce l’elenco dei profili gestiti all’interno
dell’applicazione:
o
Esperto TTR
ha il controllo di una parte delle attività del Dizionario, inserisce e
modifica le schede Standard1 delle attività e gli endoprocedimenti ad esse collegate.
o
Amministratore
ha la gestione completa del Dizionario delle attività e degli
endoprocedimenti.
o
Minimo
non possiede alcun diritto di utilizzo dell’applicazione.
Ruoli arpa
Profilo Applicativo
Amministratore
Ruolo Arpa
Dipendente Giunta RT
Attributo
Specifiche Matricole
Dipendente Giunta RT
Esperto TTR
MaterieTTR = {Materia1 [+ … + MateriaN]}
Operatore SUAP
Dipendente Giunta RT
Minimo
nessuno
Operatore SUAP
MaterieTTR
20/01/2012
SuapTTR
4
L’attributo MaterieTTR permette di identificare le materie di competenza di un utente.
Macrofunzionalità
Gestione delle Attività produttive
visualizzazione, inserimento, modifica
Gestione degli endoprocedimenti collegati visualizzazione, inserimento, modifica
Gestione degli standard1
visualizzazione, inserimento, modifica
Gestione degli standard4
visualizzazione, inserimento, modifica
Funzionalità
nome
descrizione
Dizionario attività – visualizzazione
permette la visualizzazione del dizionario delle attività produttive
profili
Amministratore
Esperto TTR


Dizionario attività – inserimento
permette creazione di una nuova foglia nel dizionario delle attività
produttive

Dizionario attività – modifica
permette di modificare una foglia del dizionario delle attività
produttive

Dizionario endoprocedimenti collegati – visualizzazione
permette la visualizzazione del dizionario degli endoprocedimenti
collegati


Dizionario endoprocedimenti collegati – inserimento
permette creazione di una nuova foglia nel dizionario degli
endoprocedimenti collegati

Dizionario endoprocedimenti collegati – modifica
permette di modificare una foglia del dizionario degli
endoprocedimenti collegati

Standard 1 – visualizzazione
consente di visualizzare tutti i dati contenuti nello standard1, suddivisi
per quadri




Standard 1 – inserimento
nel caso in cui non sia già presente uno standard1 per una foglia del
dizionario attività, questa funzionalità ne permette l’inserimento
20/01/2012
SuapTTR
Standard 1 – modifica
consente di modificare tutti i dati contenuti nello standard1














5
Standard 4 – visualizzazione
consente di visualizzare tutti i dati contenuti nello standard4, suddivisi
per quadri
Standard 4 – inserimento
nel caso in cui non sia già presente uno standard4 per una foglia del
dizionario endoprocedimenti collegati, questa funzionalità ne
permette l’inserimento
Standard 4 – modifica
consente di modificare tutti i dati contenuti nello standard4
Ricerca dizionario
permette la ricerca per codice o descrizione su entrambi i dizionari
Ricerca Ateco
permette di ricercare le attività produttive corrispondenti al codice
Ateco digitato
Ricerca Normative
restituisce l’elenco di tutte le attività e gli endoprocedimenti collegati
in cui la normativa ricercata è presente
Componenti utilizzate, stack tecnologico
Srty-Arpa è un framework che può essere visto a tutti gli effetti come un client dell’
infrastruttura Arpa. Il framework permette, analogamente all’srty classico, di strutturare le
applicazioni nella varie funzionalità che le compongono.
Le funzionalità sono poi raggruppate in profili applicativi tipici dell’applicazione. I profili
applicativi sono quindi associati ai ruoli utente. Ad un utente, una volta autenticatosi sul sistema
Arpa, vengono quindi attribuiti uno o più ruoli istituzionali. Le informazioni sull’ utente loggato
ed i relativi ruoli vengono quindi passate al framework srty-arpa e da qui all’applicazione
sviluppata mediante tale framework. L’associazione fra ruoli e profili applicativi determina
quindi le funzionalità applicative a disposizione dell’utente loggato. All’interno dei ruoli, sempre
tramite l’infrastruttura Arpa, vengono anche valorizzati gli eventuali attributi specifici del singolo
ruolo. Il repository di srty–arpa è costantemente aggiornato nella struttura dei ruoli con quanto
definito nel role-manager, tramite cooperazione applicativa. In pratica ogni variazione dell’
albero dei ruoli viene propagata via cart alle componenti portal ed srty; queste due componenti
sono quindi allineate in tempo reale, a meno del tempo di transito attraverso l’infrastruttura
cart, con le informazioni impostate a livello della componente centrale role–manager.
L’amministratore di srty–arpa, tramite l’applicazione web di amministrazione, ha quindi la
possibilità di effettuare l’associazione fra ruoli e profili applicativi. Tale associazione può essere
soggetta a delle restrizioni sui valori degli attributi dell’utente. E’ infatti possibile definire delle
20/01/2012
SuapTTR
6
espressioni regolari, relativamente al valore degli attributi, che consentono un’associazione
condizionale del profilo applicativo al ruolo d’interesse.
Tale framework risulta fuori standard per nuove applicazioni; può essere utilizzato solamente
per migrare applicazioni pre-esistenti e sviluppate sul framework SRTY.
Hibernate è una piattaforma middleware open source per lo sviluppo di applicazioni Java che
fornisce un servizio di Object-relational mapping (ORM), ovvero che gestisce la rappresentazione
e il mantenimento su database relazionale di un sistema di oggetti Java.
Lo scopo principale di Hibernate è quello di fornire un mapping delle classi Java in tabelle di un
database relazionale; sulla base di questo mapping Hibernate gestisce il salvataggio degli oggetti
di tali classi su database. Si occupa inoltre del reperimento degli oggetti da database,
producendo ed eseguendo automaticamente le query SQL necessarie al recupero delle
informazioni e la successiva reistanziazione dell'oggetto precedentemente "ibernato" (mappato
su database).
L'obiettivo di Hibernate è quello di esonerare lo sviluppatore dall'intero lavoro relativo alla
persistenza dei dati. Hibernate si adatta al processo di sviluppo del programmatore, sia se si
parte da zero sia se da un database già esistente. Hibernate genera le chiamate SQL e toglie lo
sviluppatore dal lavoro di recupero manuale dei dati e dalla loro conversione, mantenendo
l'applicazione portabile in tutti i database SQL.
Hibernate è tipicamente usato in applicazioni Java EE facenti uso di servlet o EJB session beans.
modulo CART è un componente di tipo libreria da includere tra le librerie degli applicativi e
che si occupa di realizzare delle api semplificative per la interazione con CART in modalità
Integration Manager. In particolare semplifica la gestione delle credenziali per l’erogazione e la
fruizione di messaggi e la gestione dell’intero ciclo di vita dei messaggi, con e senza attachment:
creazione, invio, ricezione e cancellazione.
20/01/2012
SuapTTR
7
Modello dati
Figura 1: Schema logico del db (negli allegati in alta risoluzione)
20/01/2012
SuapTTR
8
Casi d’uso
Di seguito verranno descritti i casi d’uso delle funzionalità più significative.
Diagramma UC
Caso d’uso 1 – inserimento voce di dizionario
Descrizione del caso d’uso
Titolo
Descrizione
Inserimento voce dizionario
endoprocedimenti di tipo 1
L’attore inserisce una nuova voce di dizionario
relativa agli endo procedimenti di tipo 1
20/01/2012
SuapTTR
Precondizioni
9
Il sistema attribuisce all'attore il profilo
Amministratore
Postcondizioni
Attori
Amministratore
Note
L’use case in oggetto è molto simile
all’inserimento di una foglia per le attività
produttive
Scenario principale
A1. L'attore seleziona la voce “Inserimento Dizionario Endoprocedimenti” presente nell'apposito
menù dell'applicazione web.
A2. Il sistema presenta all'attore una pagina web in cui il dizionario è rappresentato sotto forma
di albero. Le voci relative agli endoprocedimenti di tipo 1 sono quelle che si trovano nel sotto
albero avente come nodo padre quello indicato con “endoprocedimenti tipo 1”. Ogni nodo di
livello 1 di tale sottoalbero è una tipologia ed è rappresentata mediante il nome; ogni altro nodo
di livello > 1 e ogni nodo foglia rappresentano una categoria oppure una voce di dizionario. Per
entrambe viene mostrato il nome; nel caso delle voci viene visualizzato anche il codice.
A3. L'attore seleziona un nodo che rappresenta una categoria.
A4. Il sistema presenta una pagina in cui l'attore valorizza i campi nome, oggetto e codice
regionale.
A5. L'attore impartisce il comando di inserimento.
A6.Il sistema inserisce la voce di dizionario nel database e fornisce un messaggio di avvenuto
inserimento.
A6.Il sistema consegna al sottosistema di Cooperazione il messaggio per notificare ai Suap ed
agli Enti Terzi l’avvenuto inserimento della Voce di Dizionario.
20/01/2012
SuapTTR
10
Sequence Diagram
Caso d’uso 2 – modifica di standard1
Descrizione del caso d’uso
Titolo
Modifica scheda spiegazione Standard1
Descrizione
L’attore modifica una scheda di spiegazione
relativa allo standard 1
Precondizioni
Il sistema attribuisce all'attore il profilo
Esperto TTR
Postcondizioni
Attori
Esperto TTR
Note
L’use case in oggetto è molto simile alla
modifica di una scheda Standard4 per gli
endoprocedimenti collegati
Scenario principale
20/01/2012
SuapTTR
11
A1.L'attore seleziona la voce “Schede Spiegazione (std1) - Modifica” presente nell'apposito
menù dell'applicazione web.
A2. Il sistema presenta all'attore una pagina web in cui il dizionario è rappresentato sotto forma
di albero. Le voci relative agli endoprocedimenti di tipo 2 sono quelle che si trovano nel sotto
albero avente come nodo padre quello indicato con “endoprocedimenti tipo 2”. Ogni nodo di
tale sottoalbero è una categoria oppure un'attività (voce di dizionario), indicate entrambe
mediante il nome ed il codice.
A3. L'attore seleziona un'attività.
A4. Il sistema presenta una pagina in cui sono riportati i valori dei campi(di competenza
regionale) attualmente presenti sul database relativi alla scheda di spiegazione relativa
all'attività selezionata. L'attore può modificare oppure valorizzare, qualora non lo siano, i
seguenti campi
•
Descrizione regionale (campo libero).
•
Altri elementi informativi (campo libero).
• L'attore può valorizzare i campi relativi ai requisiti. Essi sono:Requisiti oggettivi (campo
libero); Requisiti soggettivi morali (campo libero); Requisiti soggettivi professionali (campo
libero); Requisiti per i cittadini extracomunitari (campo libero); Riferimenti normativi per i
requisiti oggettivi (campi liberi); Riferimenti normativi per i requisiti soggettivi morali (campi
liberi); Riferimenti normativi per i requisiti soggettivi professionali (campi liberi); Riferimenti
normativi per i requisiti per i cittadini extracomunitari (campi liberi). Ciascuno dei riferimenti
normativi è costituito da due campi: descrizione ed url per il reperimento della norma in rete.
• L'attore può indicare gli endoprocedimenti relativi alla verifica dei requisiti previsti per i
fabbricati e gli impianti. In particolare è possibile, per ciascuna di una serie di tipologie (a breve
indicate) e per tempistica (prima o dopo l'intervento sul fabbricato/impianto), selezionare
nessuno, uno o più riferimenti agli endoprocedimenti di tipo 1, di cui saranno visualizzati il
codice ed il nome. Al fine di consentire tale associazione il sistema consente all'utente di
visualizzare l'albero degli endoprocedimenti di tipo 1 e di selezionare e riportare sulla pagina di
inserimento le voci da associare alle tipologie. Le suddette tipologie sono: Igienico sanitari,
Prevenzione incendi, Prevenzione, Edilizia/Urbanistica, Ambiente.
• L'attore può indicare cosa serve per iniziare l'esercizio dell'attività selezionando un valore da
una combo-box (campo a scelta chiusa). E' possibile indicare un modulo per l'inizio dell'attività
specifico dell'endoprocedimento (file + campo descrittivo).
• L'attore può indicare la normativa applicabile per l'esercizio dell'attività specificando
nessuno, uno o più gruppi di informazioni per ciascuna delle tipologie di seguito indicate. Ogni
gruppo è rappresentato da quattro campi liberi: norme nazionali, url per il reperimento in rete,
norme regionali, url per il reperimento in rete. Le suddette tipologie sono: Edilizi, Ambientali,
Igienico-Sanitari, Prevenzione Incendi, Sicurezza, Impianti, Denuncia inizio attività per
20/01/2012
SuapTTR
12
preparazione e/o somministrazione di alimenti e bevande, Altri endoprocedimenti da inserire
nel caso specifico.
• E' possibile valorizzare i seguenti campi di testo libero: “quando si può iniziare l'attività”,
“altre comunicazioni”, “tempi previsti”, “marche da bollo”. E' anche disponibile una sezione
“Dichiarazioni relative alla specifica attività”, in cui l'attore può caricare un file da inserire nella
modulistica dell'endoprocedimento, corredato da un campo descrittivo.
• E' possibile caricare nessuno, uno o più allegati dell'endoprocedimento. Per ciascuno di essi
sono disponibili quattro campi: “Tipologia”, “Codice”, “Spiegazioni”, file contenente l'allegato.
•
L'attore può valorizzare il campo “adempimenti successivi” (campo libero).
• L'attore può valorizzare i campi relativi alle scadenza. Essi sono i campi “data di scadenza”,
“come si rinnova” e “dove si rinnova”; sono tutti campi liberi.
•
L'attore può valorizzare il campo note (campo libero).
A5. L'attore impartisce il comando di “Salva come Bozza”.
A6. Il sistema salva la scheda di spiegazione modificata sul database. Le modifiche non saranno
ancora disponibili per i Suap.
Scenario alternativo 1.
B1. Al passo A5 l’attore impartisce il comando di “Pubblica”, anziché Salva come Bozza”.
B2. Il sistema chiude la validità della scheda di spiegazione in corso di validità e
precedentemente pubblicata.
B3. Il sistema effettua il salvataggio delle modifiche sulla base dati, rendendo disponibile, a tutti
i Suap, la “nuova” versione della scheda di spiegazione, contenente le modifiche, a partire dalla
data inizio validità indicata dall’utente.
B4. Il sistema consegna al sottosistema di Cooperazione il messaggio per notificare ai Suap ed
agli Enti Terzi l’avvenuta modifica apportata alla Scheda di Spiegazione. La scheda di
spiegazione sarà disponibile per tutti i Suap
Scenario alternativo 2.
B1. L'attore esegue la ricerca attività.
B2. L'attore seleziona l'attività di suo interesse tramite l'icona di modifica scheda associata.
B3. Lo scenario ricade nel caso principale, dal punto A4 fino al termine.
20/01/2012
SuapTTR
13
Sequence Diagram
Diagramma di sequenza relativo al caso d'uso " modifica di standard1" (scenario principale)
20/01/2012
SuapTTR
14
Diagramma di sequenza relativo al caso d'uso " modifica di standard1" (scenario alternativo 1)
Caso d’uso 3 – visualizzazione di standard4
Descrizione del caso d’uso
Titolo
Visualizzazione Scheda Spiegazione Standard 4
Descrizione
L’attore visualizza una scheda di spiegazione
relativa allo standard 4
Precondizioni
Il sistema attribuisce all'attore il corretto
profilo
Postcondizioni
Attori
Esperto TTR
Note
L’use case in oggetto è molto simile alla
visualizzazione di una scheda Standard1 per le
20/01/2012
SuapTTR
15
attività produttive
Scenario principale
A1.L'attore seleziona la voce “Schede Spiegazione (std4) - Visualizzazione” presente
nell'apposito menù dell'applicazione web.
A2. Il sistema presenta all'attore una pagina web in cui il dizionario è rappresentato sotto forma
di albero. Le voci relative agli endoprocedimenti di tipo 1 sono quelle che si trovano nel sotto
albero avente come nodo padre quello indicato con “endoprocedimenti tipo 1”. Ogni nodo di
tale sottoalbero è una tipologia/categoria (rappresentata come cartella) o un
endoprocedimento (rappresentato come documento). Ciascuna voce compare attraverso la sua
denominazione (nel caso degli endoprocedimenti si mostra anche il codice).
A3. L'attore seleziona un endoprocedimento.
A4. Il sistema presenta una pagina in cui sono riportati i valori dei campi (di competenza
regionale) attualmente presenti sul database relativi alla scheda di spiegazione corrispondente
all'endoprocedimento scelto. L'utente può visualizzare anche i campi di competenza dei singoli
suap, selezionando un suap da un apposito menù a tendina.
Scenario alternativo 1
B1. L'attore esegue la ricerca degli endoprocedimenti di tipo 1.
B2. L'attore seleziona l'endoprocedimento di suo interesse tramite l'icona di visualizzazione
scheda associata.
B3. Lo scenario ricade nel caso principale (dal punto A4 fino al termine).
Scenario alternativo 2
B1. L'attore seleziona la voce di menù “Dizionario degli endoprocedimenti – visualizzazione”.
B2. Il sistema presenta l'albero completo del dizionario. La parte relativa agli endoprocedimenti
di tipo 1 è costituita da tipologie, categorie ed endoprocedimenti. Per ogni voce si mostra la
denominazione; nel caso degli endoprocedimenti si presenta anche il codice regionale. Ogni
endoprocedimento è inoltre dotato di un'icona per la visualizzazione della scheda associata.
B3. L'attore seleziona l'icona corrispondente all'endoprocedimento di suo interesse.
B4. Lo scenario ricade nel caso principale, dal punto A4 fino al termine.
20/01/2012
SuapTTR
16
Sequence Diagram
20/01/2012