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