software engineering 1 rad: case study lesson 9. rsa: rose per sistema di ateneo rsa team
TRANSCRIPT
Software Engineering 1
Software EngineeringSoftware Engineering
RAD: Case Study
Lesson 9
RSA: Rose per Sistema di Ateneo
RSA Team
3
Ingegneria dei Sistemi
• Ingegneria dei Sistemi– Si occupa della costruzione di modelli in grado di descrivere
realta’ organizzative complesse – Modella Procedure + Sistemi Informatici
• Piano dei Sistemi– Progetto speciale avviato dall’Universita’ di Trento.– Obiettivo: Ingegneria dei sistemi per Sistema di Ateneo.– Effetti:
• Documentazione strutture, processi e procedure centralizzata e condivisa.
• Controllo processo (misurazione e monitoraggio).• Re ingegnerizzazione di processo (ottimizzazione processo).
4
Ingegneria dei Sistemi (ctd)
Gli ingredienti base sono:
• Metodologia: metodi e procedure per la rilevazione dei processi e dei sistemi informatici.
• Notazione: formalismo con cui rappresentare le informazioni relative a strutture e sistemi informatici.
• Strumenti: tool software a supporto di metodologia e notazione.
5
Metodologia: Esempio
Metodologia Arthur Andersen per Universita’ di Trento:
– Strategy: definizione degli obiettivi strategici e definizione della catena del valore (composizione dei processi per formare valore aggiunto).
– Business Architecture (BA): definizione delle strutture organizzative e delle procedure (processi) esistenti (siano esse informatizzate o no).
– Solution Delivery (SD): individuazione gap tra SD e BA. Identificazione bisogni (tipicamente in termini di sistemi informatici).
– Operate (OP): monitoraggio dei sistemi informatici per fine tuning dei sistemi e per misurazione del raggiungimento degli obiettivi strategici.
6
Notazioni e Strumenti: Esempio
Metodologia Arthur Andersen per Universita’ di Trento:
– Notazioni: Notazioni informali (e.g. Flow Chart, descrizion testuali)
– Strumenti: Strumenti per disegnare diagrammi (vs. Case tools), strumenti Office (strumenti per presentazioni, word processor, spreadsheet, …)
7
Out
put
8
AA: Dipendenze tra DeliverableValue Chain Definition Operating Objectives
Operating Vision
Organization Relationship Diagram
Subject Area Data Model
Entity Type Definition
Process Relationship Diagram
Subject Area Data/Process Matrix
Process Definition
Physical Network Topology
Delivery Vehicle/Application Diagram
Delivery Vehicle/Application Matrix
Software Selection Criteria Business Process Definition Workflow Diagram
Learning Needs
Instructor Training Material
Packaged Software Gap
Packaged Software Design
Data Conversion Design
Application Product Test Model
Application Interface Definition
Application Definition Workflow Scenario
9
Rose per Sistema Ateneo
Ambito:– Piano dei Sistemi (PDS)
Obiettivi di RSA:– Adattare una metodologia di documentazione Arthur
Andersen per le esigenze di Ateneo.– Selezionare notazioni e strumenti (UML + Rose).– Personalizzare strumenti per le esigenze specifiche di
Ateneo.
10
Assessment: Metodologia AA
• Vantaggi:– Consolidata– Strutturata– Copre l’intero ciclo– Deliverable strutturati ed articolati.
• Svantaggi:– Non supportata da tool– Orientata prevalentemente su RAD
11
AA: Dipendenze tra DeliverableValue Chain Definition Operating Objectives
Operating Vision
Organization Relationship Diagram
Subject Area Data Model
Entity Type Definition
Process Relationship Diagram
Subject Area Data/Process Matrix
Process Definition
Physical Network Topology
Delivery Vehicle/Application Diagram
Delivery Vehicle/Application Matrix
Software Selection Criteria Business Process Definition Workflow Diagram
Learning Needs
Instructor Training Material
Packaged Software Gap
Packaged Software Design
Data Conversion Design
Application Product Test Model
Application Interface Definition
Application Definition Workflow Scenario
12
Assessment: UML
• Vantaggi:– Consolidata e conosciuta– Interesse/Standardizzazione– Intuitiva (ma nel mondo funzionale…)– Ben supportata da tool.
• Svantaggi:– Analisti tipicamente formati nel “mondo”
funzionale (adattamento notazioni/formazione)
13
Assessment Strumenti: Rose
• Vantaggi:– Standard de facto– Flessibile/Programmabile (REI API)– Buon supporto UML– Forte know-how/investimento in Universita’
• Svantaggi:– Costo licenze (Licenza Educational senza supporto)– A volte troppo flessibile– Orientato alla fase di sviluppo piu’ che di analisi– Carenze e bug (soprattutto in fase di estrazione della
documentazione).– Integrazione di modelli sviluppati in parallelo
14
Caratteristiche Principali• Metodologia
– Linee guida per Business Architecture (BA)– Definizione preliminare per Solution Delivery (SD)– Gestione progetto singolo
• Implementazione
– Generazione Documentazione per BA e SD– Estrazione Selettiva Documentazione– Integrazione con text editor e spell checker– Computo Matrice CRUD
• Casi di Studio
– Direzione Risorse Umane (BA)– Procedura di Budget (BA)– Sistema Bibliotecario (BA) – in progress– Rose per Sistema Ateneo (SD)
15
Struttura Presentazione
• MetodologiaPARTE I. Presentazione della strutturazione del modello e delle linee guida adottate nella modellazione della Business Architecture
• StrumentiPARTE II. Presentazione delle soluzioni tecniche e degli algoritmi implementati a supporto della metodologia
• Casi di StudioPARTE III. Rapida presentazione dei casi di studio affrontati
• Conclusioni e Prossimi Passi
Parte I. Metodologia
17
Struttura Modelli
Qualsiasi modello in Rational Rose deve muoversi all’interno
della struttura in package proposta a
sinistra
Modello: <Nome>
Package: Use Case View
Package: Logical View
Package: Component View
Package: Deployment View
18
Struttura Modelli
Business Architecture:
contenitore per la definizione delle
strutture di Ateneo
Modello: Sistema Ateneo
Package: Use Case View
Package: Business Architecture
Package: <Nome Struttura 1>
...
Package: <Nome Struttura 2>
...
Package: Logical View
Package: Component View
Package: Deployment View
19
Struttura Modelli
Business Architecture• Organigramma • Processi• Processi Comuni• Attori• Entità• Glossario
Modello: Sistema Ateneo
Package: Use Case View
Package: Business Architecture
Package: <Nome Struttura 1>Package: OrganigrammaPackage: ProcessiPackage: Processi ComuniPackage: AttoriPackage: EntitàPackage: Glossario
Package: <Nome Struttura 2>
...
Package: Logical View
Package: Component View
Package: Deployment View
20
Struttura Modelli
Solution Delivery: contenitore per la
definizione dei Sistemi di Ateneo (Use Case View =
requirements, Logical View = architecture)
Modello: Sistema Ateneo
Package: Use Case View
Package: Business Architecture
Package: <Nome Struttura 1>
Package: <Nome Struttura 2>
Package: Solution Delivery
Package: <Nome Sistema 1>
...
Package: <Nome Sistema 2>
...
Package: Logical View Package: Solution Delivery
Package: <Nome Sistema 1>...
Package: <Nome Sistema 2>...
Package: Component View
Package: Deployment View
21
Struttura Modelli
Business Architecture• Organigramma • Processi• Processi Comuni• Attori• Entità• Glossario
Modello: Sistema Ateneo
Package: Use Case View
Package: Business Architecture
Package: <Nome Struttura 1>Package: OrganigrammaPackage: ProcessiPackage: Processi ComuniPackage: AttoriPackage: EntitàPackage: Glossario
Package: <Nome Struttura 2>
...
Package: Logical View
Package: Component View
Package: Deployment View
22
OrganigrammaL’organigramma viene costruito mediante l’uso di package
(classi) nidificati e di diagrammi dei package (classi).
Direzione Risorse UmaneM
Divisione Amministrazione del Personale
Divisione Retribuzioni e Previdenza
Divisione Sviluppo e Gestione Risorse Umane
Ufficio Personale Docente e Ricercatore
Ufficio Personale Tecnico Amministrativo
Ufficio Previdenza Ufficio Formazione e Aggiornamento
Ufficio Rapporti Sindacali e Valutazione Risorse Umane
Ufficio Selezione e Sviluppo Risorse Umane
Ufficio Sviluppo Organizzativo
Segreteria di Direzione
Servizi Ausiliari
Ufficio Retribuzioni
23
Organigramma
Direzione Risorse UmaneM
Divisione Amministrazione del Personale
Divisione Retribuzioni e Previdenza
Divisione Sviluppo e Gestione Risorse Umane
Ufficio Personale Docente e Ricercatore
Ufficio Personale Tecnico Amministrativo
Ufficio Previdenza Ufficio Formazione e Aggiornamento
Ufficio Rapporti Sindacali e Valutazione Risorse Umane
Ufficio Selezione e Sviluppo Risorse Umane
Ufficio Sviluppo Organizzativo
Segreteria di Direzione
Servizi Ausiliari
Ufficio Retribuzioni
<DESCRIPTION>Descrizione del package/struttura</DESCRIPTION>
24
Processi
Gerarchica ProcessiOrganizza gerarchicamente i processi.
Process FlowMostra come un processo non elementare viene realizzato attraverso la concatenazione di processi più elementari.
Actors and Responsibility
Mette in evidenza responsabilità e attori (interni ed esterni) che partecipano a un processo
Activities and Entities
Definisce come un processo elementare si decompone in attività e quali entità manipola
I processi sono rappresentati attraverso casi d’uso opportunamente stereotipati
25
Gerarchia Processi• Caratteristica:
– Organizza gerarchicamente i processi.
• Notazione:– Use Case Diagrams
• Aspetti Standard:– Utilizzo di stereotipo Business Use
Case– Utilizzo di stereotipi <<include>> e
generalize
• Aspetti meno Standard (ma utili): – Decomposizione ad albero.– Utilizzo di stereotipo <<contain>>
Calcolo trattenute stipendi
Conguaglio fiscale
Applicazione sostituto d'imposta
Gestione giuridico-amministrativa CEL
Gestione giuridico-amministrativa PTA
degli interventi realizzati
<<followed by>>
Assunzione CEL <<contain>>
Cessazione CEL
<<contain>>Gestione giuridico-amministrativa
corrente CEL
<<contain>>
<<contain>>
<<contain>>
Assunzione PTA
<<contain>>
Cessazione PTA
<<contain>>
Gestione adempimenti amministrativi PTA
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>Gestione previdenziale corrente PTA
<<contain>>Gestione retributiva corrente PTA
<<contain>>
• Nel modello la gerarchia è presentata per livelli
• La visione di insieme è comunque ottenibile costruendosi un apposito diagramma
26
Gerarchia Processi
La gerarchia dei processi è realizzata mettendo in relazione processi attraverso tre diversi stereotipi.
• generalizzazione
• stereotipo <<contain>>
• stereotipo <<include>>
27
Gerarchia Processi: Stereotipi
• La generalizzazione dal processo “Padre” nei processi “A”, “B” viene usata per indicare che il processo “Padre” si specializza nei processi “A” o “B”. (Usata per raggruppare logicamente processi)
• Lo stereotipo <<contain>> dal
processo “Padre” in “C”, “D”, viene usato per indicare che il caso d’uso “Padre” si realizza attraverso una composizione di un sottoinsieme dei processi figli “C” e “D”.
Padre
A B
C D
Padre
<<contain>> <<contain>>
28
Gerarchia Processi: Stereotipi
• Lo stereotipo <<include>> dal processo “Padre” ai processi “E”, “F” viene usato per indicare che il processo “Padre” è composto esattamente dai processi E ed F.
Padre
E F
<<include>> <<include>>
Ad ogni passo di decomposizione viene utilizzato un solo tipo di
stereotipo
29
Process Flow
I Process Flow diagram vengono utilizzati per rappresentare come processi legati (attraverso
“include” o “contain”) ad uno stesso processo padre si compongono a realizzare il processo padre
Gestione giuridico-amministrativa
PTA
Assunzione PTA
<<contain>>
Cessazione PTA
<<contain>>
Gestione adempimenti
amministrativi PTA
<<contain>>
<<contain>>
Gestione previdenziale corrente PTA
<<contain>>
Gestione retributiva corrente PTA
<<contain>>
Come si compongono i processi figli a realizzare il processo padre?
30
Process Flow
• Caratteristica:– Sequenzia i processi.
• Notazione:– Activity Diagram
• Aspetti standard:– Intera potenza espressiva degli
activity diagram– Utilizzo di stereotipo <<rpw>>
• Aspetti meno standard (ma utili):– NESSUNO
31
Process Flow
Calcolo trattenute stipendi
Conguaglio fiscale
Applicazione sostituto d'imposta
Gestione giuridico-amministrativa CEL
Gestione giuridico-amministrativa PTA
degli interventi realizzati
<<followed by>>
Assunzione CEL <<contain>>
Cessazione CEL
<<contain>>Gestione giuridico-amministrativa
corrente CEL
<<contain>>
<<contain>>
<<contain>>
Assunzione PTA
<<contain>>
Cessazione PTA
<<contain>>
Gestione adempimenti amministrativi PTA
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>Gestione previdenziale corrente PTA
<<contain>>Gestione retributiva corrente PTA
<<contain>>
Decomposizione Gerarchica Process Flow
Le specializzazioni rappresentano organizzazionilogiche di processi.Process Flow non ha senso.
32
Actors and Responsibility
Il diagramma degli “Actors and Responsibility” mette in evidenza, per i
processi foglia, attori (interni ed esterni) che prendono parte (attiva o
passiva) nel processo ed alloca la responsabilità di processo ad un attore
interno.
33
Actors and Responsibility
Calcolo trattenute stipendi
Conguaglio fiscale
Applicazione sostituto d'imposta
Gestione giuridico-amministrativa CEL
Gestione giuridico-amministrativa PTA
degli interventi realizzati
<<followed by>>
Assunzione CEL <<contain>>
Cessazione CEL
<<contain>>Gestione giuridico-amministrativa
corrente CEL
<<contain>>
<<contain>>
<<contain>>
Assunzione PTA
<<contain>>
Cessazione PTA
<<contain>>
Gestione adempimenti amministrativi PTA
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>Gestione previdenziale corrente PTA
<<contain>>Gestione retributiva corrente PTA
<<contain>>
34
Actors and Responsibility
Senato Accademico
Ufficio Personale Docente e Ricercatore
Segreteria di Facoltà
Presidio amministrativo di Facoltà
Dirigente DRU
Collaboratore
Predisposizione contratto per attività didattica
<<is responsible for>>
• Caratteristica:– Definisce “interfaccia” processo
e responsabile
• Notazione:– Use Case Diagram
• Aspetti standard:– Attori esterni– Processi con stereotipo
“Business Use Case”– Business Actor
• Aspetti meno standard (ma utili):– <<is responsible for>>– <<business worker>> come
attori del processo (confini del sistema)
35
Activities and Entities
I processi foglia hanno sempre associato un diagramma delle attività che
definisce la strutturazione in attività del processo e indica le attività manipolate
dal processo.
36
Activities and Entities
Ricezione richiesta stipuala contratto
a01: Aggiornamento tabelle riassuntive e preparazione delibera di Senato
Delibera approvazione contratti : Delibera di Senato Accademico
<<create>>
a02: Predisposizione lettera di incarico e contratto
a03: Invio documentazione alla Facoltà
: Tabelle riassuntive contratti per didattica
<<create>>
: Lettera di incarico
<<create>>
: Contratto di collaborazione
<<create/update>>
: Modulo di richiesta contratto<<read>>
Comunicazione di assegnazione incarico : Lettera di comunicazione
<<create>>
<<read>>
<<read>>
• Caratteristica:– Definisce strutturazione
processo in attività e entità manipolate
• Notazione:– Activity Diagram
• Aspetti standard:– Costrutti Activity Diagram– Attività-Entità (UML 1.4)
• Aspetti meno standard (ma utili):– Stereotipi per manipolazione
entità– Stereotipi per richiamare
processi
A02: Processo1
37
Activities and Entities:Esempi di Stereotipi
• <<create>>
• <<update>>
• <<read>>
• <<delete>>
a01: Aggiornamento tabelle riassuntive e preparazione delibera di Senato
a02: Predisposizione lettera di incarico e contratto
a03: Invio documentazione alla Facoltà
: Lettera di incarico
<<create>>
: Contratto di collaborazione
<<update>>
: Modulo di richiesta contratto
<<read>>
Comunicazione di assegnazione incarico : Lettera di comunicazione
<<delete>>
38
Processi Comuni
Processi comuni: processi trasversali definiti in una struttura
• I processi comuni sono definiti in una parte indipendente del modello (package “Processi Comuni”)
• I processi comuni possono essere decomposti gerarchicamente (ma, usualmente, non accade)
• I processi comuni sono referenziati nei Process Flow e negli Activity Diagram
39
Documentazione Processi
• Tutti i processi sono documentati attraverso il campo di documentazione standard di Rational Rose.
• La documentazione dei processi impiega tag XML per marcare semanticamente alcune parti di informazione
• La documentazione dei processi impiega tag HTML per marcare visualmente la descrizione della documentazione.
40
Documentazione ProcessiTag XML:• Marcano semanticamente la
documentazione per strutturare le informazioni testuali associate ad un processo.
• DTD definito appositamente per il progetto.
Tag HTML:• Aggiungono direttive visuali alla
documentazione dei processi.• Supporto per HTML 3.2 quasi
completo (eccezioni: alcuni argomenti dei tag A, IMG, …)
<DOCUMENTATION>
<GOAL>Obiettivo del caso d'uso</GOAL>
<TRIGGER>Evento scatenante</TRIGGER>
<INPUTS>
<INPUT>Dati in ingresso</INPUT>
</INPUTS>
<OUTPUTS>
<OUTPUT>Dati in uscita</OUTPUT>
</OUTPUTS>
<DESCRIPTION>
Descrizione del caso d'uso.
Scenario:
<OL>
<LI>Inizio</LI>
<LI>Continuazione</LI>
<LI>Fine</LI>
</OL>
</DESCRIPTION>
</DOCUMENTATION>
41
Attori, Entità, Glossario• Attori:
– Utilizzati negli Actors and Responsibility Diagrams.– Vanno inseriti nel package Attori, eventualmente
raggruppati in package.
• Entità:
– Utilizzate negli Activity Diagram dei processi foglia– Vanno inserite nel package Entità sotto forma di classi,
eventualmente raggruppate facendo uso di package.
• Glossario:
– Utilizzato nei deliverable, per la spiegazione di termini specifici al dominio.
– Vanno inseriti, sotto forma di classi, in un package apposito del modello.
Parte II. Strumenti
43
Strumenti RSA
Insieme di strumenti appositamente implementati per supportare metodologia e processo di redazione del modello “Sistema di
Ateneo” e superare i limiti degli strumenti Rational
• Valenza spesso più generale dell’ambito del progetto(ad es.: XML export)
• Architettura distribuita e prevalentemente basata su
– Strumenti commerciali o di robustezza industriale– Linguaggi di scripting
• Insieme di Strumenti Integrati
– Repository, Web Server, Rational Rose, Text/HTML Editor, MS Word, Excel
44
Rational RoseCaratteristiche:
• Standard quasi di fatto• Buon supporto di UML• Programmabile (REI)
Limiti Principali:
• Documentazione elementi del modello (per es. campi solo testuali, niente spell checker).
• Sintesi delle dipendenze tra elementi del modello.
• Decomposizione pienamente gerarchica del modello.
45
Rational SoDA
Caratteristiche:• Estrae documenti da modelli Rose• Basato su macro e template Word
Svantaggi:• Interazione utente spesso
inaccettabile (definizione template, riuso, stabilità).
• Non affronta comunque problemi relativi a formattazione campi testo degli elementi Rose
• Impossibilità (pratica) di raggiungere determinati standard di formattazione (ad es. tabelle)
• Impossibilità di raggiungere standard adeguati di documentazione
46
Alcuni Interventi effettuati
1. Estrazione di documentazione dal modello e sintesi dipendenze nel modello
• Generazione matrice CRUD• Estrazione e generazione automatica deliverable• Generazione glossario
2. Controlli di qualità del modello• Controlli di correttezza
3. Miglioramento interfaccia utente (redazione modelli)
• Integrazione con editor esterno• Integrazione con spell-checker
47
Interventi Effettuati
48
Generazione Matrice CRUD
• Mette in relazione processi ed entità, descrive come i processi manipolano (operazioni di Create, Read, Update, Delete) le entità.
• Estratta automaticamente dal modello Rose
Stato attuale:
• Costruzione CRUD a livello di attività, processi, macroprocessi.
• Generalizzazione a qualsiasi livello delle gerarchia
• Gestione Processi Comuni
Situazione a Divenire:
• Aggiornamento per nuovi stereotipi
49
Generazione CRUD
Algoritmo in due passi:
1. Navigazione del modello ed estrazione delle informazioni(Macro REI, output in CSV file)
2. Sintesi delle informazioni in forma matriciale(input CSV file, XML, HTML)
50
Generazione CRUDLe informazioni vengono estratte dal modello esaminando i diagrammi di attività associati ai
casi d’uso.
Ricezione richiesta stipuala contratto
a01: Aggiornamento tabelle riassuntive e preparazione delibera di Senato
Delibera approvazione contratti : Delibera di Senato Accademico
<<create>>
a02: Predisposizione lettera di incarico e contratto
a03: Invio documentazione alla Facoltà
: Tabelle riassuntive contratti per didattica
<<create>>
: Lettera di incarico
<<create>>
: Contratto di collaborazione
<<create/update>>
: Modulo di richiesta contratto<<read>>
Comunicazione di assegnazione incarico : Lettera di comunicazione
<<create>>
<<read>>
<<read>>
Calcolo trattenute stipendi
Conguaglio fiscale
Applicazione sostituto d'imposta
Gestione giuridico-amministrativa CEL
Gestione giuridico-amministrativa PTA
degli interventi realizzati
<<followed by>>
Assunzione CEL <<contain>>
Cessazione CEL<<contain>>Gestione giuridico-amministrativa
corrente CEL
<<contain>>
<<contain>>
<<contain>>
Assunzione PTA
<<contain>>
Cessazione PTA
<<contain>>
Gestione adempimenti amministrativi PTA
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>Gestione previdenziale corrente PTA
<<contain>>Gestione retributiva corrente PTA
<<contain>>
Ricezione richiesta stipuala contratto
a01: Aggiornamento tabelle riassuntive e preparazione delibera di Senato
Delibera approvazione contratti : Delibera di Senato Accademico
<<create>>
a02: Predisposizione lettera di incarico e contratto
a03: Invio documentazione alla Facoltà
: Tabelle riassuntive contratti per didattica
<<create>>
: Lettera di incarico
<<create>>
: Contratto di collaborazione
<<create/update>>
: Modulo di richiesta contratto<<read>>
Comunicazione di assegnazione incarico : Lettera di comunicazione
<<create>>
<<read>>
<<read>>
…
…
…
51
Generazione CRUD– Tipo operazione (CRUD)– Nome entità,– Classe entità,– Nome attività,– Nome swimlane del diagramma,– Nome caso d’uso,– Nome macro caso d’uso
Azione Nome_oggetto Classe_oggetto Nome_Attività Nome_Swimlane Nome_CasoUso Nome_MacroUC
1000000 Autorizzazione aumento di spesa
Decreto del Direttore Generale
b01: predisposizione autorizzazione di spesa
Ufficio Personale Tecnico Amministrativo:
Gestione variazione di orario PTA
Gestione giuridico-amministrativa corrente PTA
1000000 Richiesta ricongiunzione
Modulo richiesta ricongiunzione
Compila modulo per richiesta provvedimento di ricongiunzione
Dipendente: Ricongiunzione da ente locale a stato
Gestione giuridico-amministrativa PTA
10000 Assegnazione istituto contrattuale
Disposizione del dirigente DRU
a01: rilascio attuazione economica
Ufficio Selezione e Sviluppo Risorse Umane:
Attuazione economica dell'istituto contrattuale
Valutazione e incentivazione PTA
52
Generazione CRUD: Esempio
53
Estrazione DocumentazionePermette all’utente di
generare automaticamente deliverable per BA e SD
direttamente dal modello Rose
• Struttura documenti secondo gerarchia modello
• Integra testo e figure• Supporta formattazione
semantica e visuale• Formati di output supportati:
– HTML– Microsoft Word
54
Estrazione Documentazione
Algoritmo in tre passi:
1. Trasformazione modello Rose in XML(Macro REI, output XML file)
2. Trasformazione XML in HTML(input: XSL, XSLT engine, output HTML file)
3. Import HTML in Microsoft Word(input HTML files, Macro Word)
55
Estrazione Doc.: Rose 2 XML • La gerarchia del modello viene navigata e
trasformata in XML che ne rispetta la struttura• XMI versus RSA-XML
56
Estrazione Doc.: XML 2 HTML• Trasformazione attraverso XSL engines
• Insieme di Stylesheet generici per trasformazione di elementi XML (riuso per BA e SD)
<XSL:MATCH = …><XLS:APPLY-TEMPLATE name=“use-case”/>
</XSL-MATCH>…
57
Estrazione Doc.: XML 2 HTML
Gestione elementi Base
Business Architecture Solution Delivery
Layout base HTML file
58
Integrazione con Ms Word• Macro che consente di incollare i documenti HTML in un unico
documento MS Word
• Controllo fine su template da utilizzare per la stampa
• Generazione automatica sommario
• Generazione documento auto-contenuto (figure)
59
Generazione Sito Web
60
Altri interventi
• Controlli di correttezzaSono state sviluppate delle procedure che effettuano verifiche affinché il modello rispetti certi criteri (ad esempio, per la computazione della CRUD)
• Generazione GlossarioÈ stato implementato un metodo per estrarre tutte le operazioni e gli attributi delle classi contenute nel modello.
61
Altri interventi
• Integrazione con editor esterno– In modalità sincrona, con editor scelto dall’utente– Prossimo Passo: integrazione con HTML/XML editor
• Integrazione con Spell-Checker– Con granularità definita dall’utente (intero modello, …)– Integrazione con strumenti standard– Basato su esportazione XML– In fase di testing
Parte III. Applicazioni
63
Alcune Applicazioni
• Direzione Risorse Umane (BA)– Guida per la definizione di BA– Deliverable di circa 450 pagine
• Rose per Sistema Ateneo (SD)– Guida per la sperimentazione su SD– Deliverable di circa 50 pagine
Parte IV. Conclusioni
65
Direzione Risorse UmaneFormazione PTA
Gestione adempimenti amministrativi di Ateneo
Gestione Co.Co.Co.
Gestione giuridico-amministrativa CEL
Gestione giuridico-amministrativa PDR a contratto
Gestione giuridico-amministrativa PDR di ruolo
Gestione giuridico-amministrativa PTA
Gestione rapporti sindacali
Gestione servizi accessori
Valutazione e incentivazione PTA
Analisi dei bisogni formativi
<<contain>>
Gestione dei curricula formativi individuali
<<contain>>
Gestione iscrizione a corsi disponibili sul mercato
<<contain>>
Monitoraggio e valutazione finale degli interventi realizzati
<<contain>>
<<followed by>>
Pianificazione delle attività di formazione
<<contain>>
<<followed by>>
Realizzazione e gestione delle iniziative formative
<<contain>>
<<followed by>>
<<followed by>>
Gestione anagrafe delle prestazioni
<<contain>>
Gestione budget
<<contain>>
Stesura dichiarazione annuale categorie protette
<<contain>>
Gestione budget di acquisto servizi
Gestione budget di assunzione PTA
Gestione budget di Ateneo per finanziamento trattamenti accesso...
Dichiarazione INAIL per Co.Co.Co.
Assunzione CEL
Cessazione CEL
Gestione giuridico-amministrativa corrente CEL
<<followed by>>
<<followed by>>
Gestione selezioni CEL
<<contain>>
Reclutamento CEL
<<contain>>
<<followed by>>
Predisposizione contratto per attività didattica
<<contain>>
Selezione collaboratori CIAL
<<contain>>
Assunzione PDR di ruolo
Cessazione PDR di ruolo
Gestione adempimenti amministrativi PDR di ruolo
Gestione giuridico-amministrativa corrente PDR di ruolo
Gestione previdenziale corrente PDR di ruolo
Gestione retributiva corrente PDR di ruolo
Assunzione per chiamata di idoneo PDR di ruolo
Assunzione per chiamata diretta o per chiara fama
Assunzione per concorso PDR di ruolo
Assunzione per trasferimento PDR di ruolo
Gestione concorso PDR di ruolo
Nomina PDR di ruolo
<<followed by>>
Cessazione per collocazione a riposo o decesso PDR di ruolo
Cessazione per trasferimento in altra sede PDR di ruolo
Cessazione volontaria per dimissioni PDR di ruolo
Predisposizione conto annuale PDR per MIUR
Gestione autorizzazione per incarichi retribuiti PDR di ruolo<<contain>>
Gestione carico didattico
<<contain>>
Gestione carriera PDR di ruolo
<<contain>>
Gestione incentivazione mig lioramento didattica PDR di ruolo
<<contain>>
Gestione rilascio congedi e aspettative PDR
<<contain>>
Gestione supplenze PDR di ruolo
<<contain>>
Gestione variazione dati anagrafici e famigliari
<<contain>>
Cambio di opzione per il regime di impegno PDR
<<contain>>
Cambio di settore scientifico-disciplinare
<<contain>>
Conferma di ruolo PDR
<<contain>>
Domanda di residenza fuori sede
<<contain>>
Gestione fuori ruolo PDR
<<contain>>
Limitazione attività didattica
<<contain>>
Passaggio di facoltà
<<contain>>
Prolungamento biennale
<<contain>>
Ricostruzione carriera PDR
<<contain>>
Determinazione di spesa
<<contain>>
Ripartizione del fondo incentivante
<<contain>>
Aspettativa obbligatoriaAspettativa per infermità
Aspettativa per motivi di famiglia
Astensione per maternità
Congedo per motivi di studio o per anno sabbatico
Congedo straordinario
Autorizzazione per supplenze fuori sede
Procedimento per supplenze esterneAssunzione PTA
Cessazione PTA
Gestione adempimenti amministrativi PTA
Gestione giuridico-amministrativa corrente PTA
Gestione previdenziale corrente PTA
Gestione retributiva corrente PTA
Assunzione per selezione PTA
<<contain>>
Assunzione per trasferimento PTA
<<contain>>
Gestione fine periodo di prova PTA
<<contain>>
<<contain>>
Gestione selezione/concorso PTA
<<contain>>
<<contain>>
Predisposizione contratto per PTA
<<contain>>
<<followed by>><<contain>>
<<followed by>>Cessazione per fallimento periodo di
prova
<<followed by>>
Cessazione per limiti d'età, dimissioni, dispensa PTA
Cessazione per morte PTA
Cessazione per trasferimento presso altra Università o ente pubblico
Gestione autorizzazione attività extra contratto
Gestione congedo/aspettativa PTA
Gestione infortunio PTA
Gestione richiesta liquidazione dello straordinario PTA
Gestione variazione dati anagrafici e familiari
Gestione variazione di orario PTA
Rilevazione presenze PTA
Rientro in servizio a fine aspettativa
<<contain>>
Rilascio aspettativa PTA
<<contain>>
<<followed by>>
Rilascio congedo parentale PTA
<<contain>>
Rilascio congedo per complicanze nella gestazione PTA
<<contain>>
Rilascio congedo per malattia del figlio
<<contain>>
Rilascio congedo per maternità PTA
<<contain>>
Rilascio congedo per motivi di famiglia, di studio e formazione PTA
<<contain>>
Denuncia infortuni PTA
<<contain>>
Prolungamento infortunio PTA
<<contain>>
Richiesta visita fiscale PTA
<<contain>>
Elaborazione mensile presenze PTA
Gestione contabilizzazione permessi PTA
Gestione giustificazione per malattia PTA
Gestione elezioni RSU <<contain>>
Gestione permessi sindacali
<<contain>>
Gestione supporto alla contrattazione decentrata
<<contain>>
Assegnazione monte ore permessi
Consuntivazione permessi sindacali
Rendicontazione bimestrale permessi sindacali
Trasmissione consuntivo annuale permessi sindacali all'ARAN
Trasmissione deleghe sindacali al MIUR
Gestione contratto di sorveglianza portinerie
Gestione servizio sostitutivo civile
Gestione sorveglianza sanitaria
Gestione tessere parcheggio
Predisposizione reportistica
Rilascio certificati e attestazioni
Assunzione obiettore <<contain>>
Cessazione obiettore
<<contain>>
Gestione amministrativa corrente obiettore
<<contain>>
Attivazione sorveglianza sanitaria nuovi lavoratori esposti a rischio
<<contain>>
Censimento lavoratori presenti nei laboratori
<<contain>>
Chiusura sorveglianza lavoratori esposti a rischio
<<contain>>Gestione accertamenti sanitari
<<contain>>
Analisi e valutazione delle posizioni
Attuazione economica dell' istituto contrattuale
Gestione indennità
Gestione PEO PTA
<<followed by>>
Gestione PEV PTA
<<followed by>>
Gestione sistema di valutazione
Mappatura PTA
<<followed by>>
<<extend>>
Monitoraggio delle posizioni valutate
<<extend>>
Gestione indennità di carica
<<followed by>>
Gestione indennità di risultato
Applicazione d'imposta
Conguaglio fiscale ed emissione CUD
Dichiarazione fiscale
Monitoraggio della spesa del personale
Predisposizione dati per MIUR
Predisposizione statistiche
Riepilogo trattenute fiscali previdenziali ed extraerariali
Aggiornamento fascicolo previdenziale
<<followed by>>
<<followed by>>
Apertura fascicolo previdenziale
Chiusura fascicolo previdenziale
Chiusura fascicolo previdenziale per assunzione in altra amm. statale
Chiusura fascicolo previdenziale per assunzione in un ente locale
Chiusura fascicolo previdenziale per assunzione nel settore privato
Chiusura fascicolo previdenziale per pensionamento
Predisposizione progetto liquidazione indennità fine rapporto
<<followed by>>
<<followed by>>
Aggiornamento fascicolo retributivo
<<followed by>>
<<followed by>>
Apertura fascicolo retributivo
Chiusura fascicolo retributivo
<<followed by>>
<<followed by>>
Computo previdenziale
<<followed by>>
Gestione assegno nucleo familiare
<<followed by>>
Gestione credito INPDAP/ENPAS
<<followed by>>
Gestione prosecuzione volontaria
<<followed by>>
Ricongiunzione previdenziale
Riconoscimento previdenziale
<<followed by>>
Riscatto previdenziale
Totalizzazione servizi all'estero
<<followed by>>
Accantonamento del TFR<<contain>>
Erogazione stipendi
<<contain>>
Gestione voci stipendiali variabili
<<contain>>
<<followed by>>
<<extend>>
Aggiornamento situazione corpo docente
Aggiornamento fascicolo personale PDR
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>><<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>> <<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
Apertura fascicolo personale PDR
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
Chiusura fascicolo personale PDR
<<followed by>>
Aggiornamento fascicolo personale PTA
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>><<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
Apertura fascicolo personale PTA
<<followed by>>
<<followed by>>
<<followed by>>
Chiusura fascicolo personale PTA
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<contain>>
<<contain>><<contain>>
<<include>>
<<contain>>
<<contain>>
<<contain>>
<<followed by>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<followed by>>
<<followed by>>
<<extend>>
<<followed by>>
<<followed by>><<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<contain>>
<<followed by>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<followed by>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<followed by>>
<<followed by>>
<<followed by>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>> <<contain>>
<<contain>>
<<contain>>
<<followed by>>
<<contain>>
<<contain>>
<<contain>>
<<contain>><<contain>>
<<contain>><<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<followed by>>
<<followed by>>
<<followed by>>
<<followed by>>
<<extend>>
<<followed by>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<followed by>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
<<contain>>
66
Conclusioni
• Ingegneria di processo e’ un passo fondamentale per monitoraggio e ottimizzazione di strutture/procedure.
• Soluzioni basate su case tools offrono vantaggi sostanziali. Per es:– Manipolazione oggetti del modello (vs. manipolazione ellissi, …)– Coerenza del modello (vs. duplicazione informazioni)– Generazione automatica deliverable
• Soluzioni informatiche richiedono lo sviluppo di:– Architetture distribuite– Implementazioni basate su linguaggi di scripting– …