SlideShare a Scribd company logo
Come creare UML in modo facile e automatico
di
Stefano Trojani
Plant UML
Agile Tester & QA
Chi Sono
Lavoro come Tester Funzionale e QA in un team Agile (Scrum).
Analizzo i flussi e le funzionalità per poi generare la
documentazione per i test (test plan con di base flussi UML, Use
Case, Test Case).
Gestisco il Test Plan di progetto documentando tutto sulla
Confluence (integrata con Jira).
Lavoro molto spesso con tool di automazione (Selenium Ide,
webserver python). Scrivo manuali e documentazione sull'utilizzo
di prodotti email (PEC, email, Exchange, Active Sync, Mobile...) e
formo il personale coinvolto (area commerciale, marketing,
customer care).
Mi occupo di scrivere contenuti tecnici e marketing di prodotto.
Cos’è Plant UML
PlantUml viene utilizzato per disegnare diagramma UML,
utilizzando una descrizione testo leggibile semplice e umano.
ATTENZIONE, non impedisce un diagramma incoerente (es:
avere due classi che ereditano le une dalle altre).
Quindi è più uno strumento di disegno di uno strumento di
modellazione.
http://plantuml.com/
Dove si trova Plant UML
Qui il sito ufficiale
http://plantuml.com/ http://plantuml.com/download.html
Qui il download
Casi di utilizzo
Come Agile Tester sono spesso chiamato a fare dei
grafici in UML per meglio analizzare flussi,
funzionalità o sequenze.
A volte utilizzo il sempre verde e gratis ArgoUML
(http://argouml.tigris.org/ )
Ma devo dire che la modifica dei grafici relizzati con
Plant UML è estremamente più facile, in primis,
perché il sorgente del grafico E’ il grafico stesso
Casi di utilizzo di questo manuale
I tool indispensabili dell’Agile Tester
Sebbene Plan UML sia versabile e possa fare molti
grafici UML mi concentro in questo manuale sui 3
fondamentali grafici che un Agile Tester deve sempre
fare, allegati al suo Test Plan
- Use Case Diagram
- Sequence Diagram
- Activity Diagram
Use Case Diagram
Definizione:
In UML, gli Use Case Diagram (UCD o diagrammi dei casi d'uso)
sono diagrammi dedicati alla descrizione delle funzioni o servizi offerti da
un sistema, così come sono percepiti e utilizzati dagli attori che interagiscono col
sistema stesso.
Sono impiegati soprattutto nel contesto della Use Case View (vista dei casi d'uso) di
un modello, e in tal caso si possono considerare come uno strumento di
rappresentazione dei requisiti funzionali di un sistema.
Tuttavia, è possibile ipotizzare l'uso degli UCD in altri contesti; durante
laprogettazione, per esempio, potrebbero essere usati per modellare i servizi offerti
da un determinato modulo o sottosistema ad altri moduli o sottosistemi.
In molti modelli di processo software basati su UML, la Use Case View e gli Use
Case Diagram che essa contiene rappresentano la vista più importante, attorno a
cui si sviluppano tutte le altre attività del ciclo di vita del software (processi del
genere prendono l'appellativo di processi Use Case Driven).
Use Case Diagram: com’è fatto
Esempio
Un classico e semplice esempio grafico di Use
Case Diagram
Vediamo come realizzarlo con Plant UML
Use Case Diagram - 1 di 3
comando risultato
title Titolo <b>semplice</b> crea un titolo al grafico
actor PIPPO Attore PIPPO
rectangle NomeContesto { } crea area
(attività 1) crea attività (attività 1)
<|-- --|> Freccia con la capoccia
<-- --> Freccia con la punta
-- Linea
<.. ..> Freccia tratteggiata
PIPPO --> (attività 2) : descrizione collega l'attore all'attività con una descrizione
note right of (attività 2)
una nota
a compendio
end note
crea una nota legata all'attività
Use Case Diagram - 2 di 2
Sorgente Plant UML Grafico Generato
Use Case Diagram - 3 di 3
Note
1) Tipi di freccie
Per impostazione predefinita, i collegamenti tra le classi hanno due trattini - e sono orientati
in verticale.
E 'possibile l'utilizzo del link orizzontale mettendo un trattino singolo (o punto)
es: -> -|> .> invece di --> --|> ..>
2) direzione forzata delle freccie
E 'anche possibile cambiare la direzione della freccia con l'aggiunta di sinistra, destra, su o
giù parole chiave all'interno della freccia:
:attore: -left-> (attività) :attore: -right-> (attività) :attore: -up-> (attività) :attore: -down->
(attività)
3) Direzione del grafico
E' possibile decidere la direzione del flusso con
top to bottom direction (dall'alto verso il basso)left to right direction (da sinistra a destra)
Sequence Diagram
Definizione:
Un Sequence Diagram (in italiano: Diagramma di sequenza) è un diagramma
previsto dall'UML utilizzato per descrivere uno scenario.
Uno scenario è una determinata sequenza di azioni in cui tutte le scelte sono state
già effettuate; in pratica nel diagramma non compaiono scelte, né flussi alternativi.
Normalmente da ogni Activity Diagram sono derivati uno o più Sequence Diagram;
se per esempio l'Activity Diagram descrive due flussi di azioni alternativi, se ne
potrebbero ricavare due scenari, e quindi due Sequence Diagram alternativi.
Dalla versione 2 dell'UML è stata introdotta la possibilità di indicare nello stesso
diagramma anche delle sequenze alternative.
Il Sequence Diagram descrive le relazioni che intercorrono, in termini di messaggi,
tra Attori, Oggetti di business, Oggetti od Entità del sistema che si sta
rappresentando.
Sequence Diagram: com’è fatto
Esempio
Un classico e semplice esempio grafico di Use
Sequence Diagram
Vediamo come realizzarlo con Plant UML
Sequence Diagram - 1 di 2
comando risultato
actor TJ genera un attore (TJ) va dichiarato prima
"Oggetto 1" -> "Oggetto 2": descrizione genera due oggetti legati da freccia con descrizione
"Oggetto 2" -> "Oggetto 1": ritorno genera due oggetti legati da freccia con descrizione
"Oggetto 1" --> "Oggetto 3()": descrizione genera due oggetti legati da freccia tratteggiata con
descrizione
"Oggetto 3()" --> "Oggetto 3()" un'attivtà che richiama se stessa
activate "Oggetto 2"/deactivate "Oggetto 2" Attiva, disattiva
Sequence Diagram - 2 di 2
Sorgente Plant UML Grafico Generato
Activity Diagram
Definizione:
L'Activity Diagram (in italiano: Diagramma delle attività) è un diagramma definito
all'interno dello Unified Modeling Language (UML) che definisce le attività da
svolgere per realizzare una data funzionalità.
Può essere utilizzato durante la progettazione del software per dettagliare un
determinato algoritmo.
Più in dettaglio, un activity diagram definisce una serie di attività o flusso, anche in
termini di relazioni tra le attività, i responsabili per le singole attività e i punti di
decisione.
L'activity diagram è spesso usato come modello complementare allo Use Case
Diagram, per descrivere le dinamiche con cui si sviluppano i diversi use case.
Activity Diagram: com’è fatto
Esempio
Un classico e semplice esempio grafico di Use
Activity Diagram
Vediamo come realizzarlo con Plant UML
Activity Diagram - 1 di 2
comando risultato
(*) genera il dot iniziale/finale
--> freccia di collegamento
-->[label] freccia di collegamento con label
-down-> freccia di collegamento (default) verso il basso
-right-> freccia di collegamento verso destra
-left-> freccia di collegamento verso sinistra
-up-> freccia di collegamento verso l'alto
(*) --> "Attività 1" genera il dot iniziale con la prima attività
-->[label] "Atttività 2" Collega con una freccia (con una label) alla seconda
attività
if "Attività 3" then
-->[true] "Attività 4"else
-->[false] "Attività 5"
--> (*)endif
Genera gli IF (rombo) della sintassi (if, then, else, endif)
--> ===B1=== --> "Attività parallela 1" --> ===B2===
===B1=== --> "Attività parallela 2" --> ===B2===
crea attività parallele
Activity Diagram - 2 di 2
Sorgente Plant UML Grafico Generato
"Il successo non è definitivo e l'insuccesso non è fatale. L'unica cosa che conta davvero
è il coraggio di continuare" Winston Churchill
Grazie :-)

More Related Content

What's hot

Perkembangan fisik motorik remaja 2
Perkembangan fisik motorik remaja 2Perkembangan fisik motorik remaja 2
Perkembangan fisik motorik remaja 2
Rizali Avenged
 
Pendidikan seni rupa untuk anak usia dini
Pendidikan seni rupa untuk anak usia diniPendidikan seni rupa untuk anak usia dini
Pendidikan seni rupa untuk anak usia dini
Agussani Algani
 
online news portal system
online news portal systemonline news portal system
online news portal system
Arman Ahmed
 
Pemrograman Dasar Pengenalan C#
Pemrograman Dasar Pengenalan C#Pemrograman Dasar Pengenalan C#
Pemrograman Dasar Pengenalan C#
SMKN 24 Jakarta Timur
 
Makalah psikologi perkembangan psikologi pada anak usia dini
Makalah psikologi perkembangan psikologi pada anak usia diniMakalah psikologi perkembangan psikologi pada anak usia dini
Makalah psikologi perkembangan psikologi pada anak usia dini
AisyahTamara
 
What is Delegation Inheritance in Odoo 15
What is Delegation Inheritance in Odoo 15What is Delegation Inheritance in Odoo 15
What is Delegation Inheritance in Odoo 15
Celine George
 
Ansi s1.11 1986(asa 65-1986)
Ansi s1.11 1986(asa 65-1986)Ansi s1.11 1986(asa 65-1986)
Ansi s1.11 1986(asa 65-1986)JLuis Cordoba
 
Data as a service
Data as a serviceData as a service
Data as a service
Khushbu Joshi
 
Mata Kuliah Evaluasi Pembelajaran di PAUD - Jenis-Jenis Evaluasi
Mata Kuliah Evaluasi Pembelajaran di PAUD - Jenis-Jenis EvaluasiMata Kuliah Evaluasi Pembelajaran di PAUD - Jenis-Jenis Evaluasi
Mata Kuliah Evaluasi Pembelajaran di PAUD - Jenis-Jenis Evaluasi
Al Azhar Indonesia University
 
Srs for virtual eucation
Srs for virtual eucationSrs for virtual eucation
Srs for virtual eucationSusheel Thakur
 
Azure sql database limitations
Azure sql database limitationsAzure sql database limitations
Azure sql database limitations
BRIJESH KUMAR
 
Azure data factory
Azure data factoryAzure data factory
Azure data factory
David Giard
 
Web Service
Web ServiceWeb Service
Web Service
Wahyu Widodo
 
Cara Penggunaan dan Pengoneksian sql jdbc dan odbc
Cara Penggunaan dan Pengoneksian sql jdbc dan odbcCara Penggunaan dan Pengoneksian sql jdbc dan odbc
Cara Penggunaan dan Pengoneksian sql jdbc dan odbc
Diah Roshyta Sari
 
Laporan Perkembangan Perilaku Anak Usia 4-6 Tahun - Dewinta Susanti
Laporan Perkembangan Perilaku Anak Usia 4-6 Tahun - Dewinta SusantiLaporan Perkembangan Perilaku Anak Usia 4-6 Tahun - Dewinta Susanti
Laporan Perkembangan Perilaku Anak Usia 4-6 Tahun - Dewinta Susanti
School
 
Mat.13. Kamu adalah Terang Dunia
Mat.13. Kamu adalah Terang Dunia  Mat.13. Kamu adalah Terang Dunia
Mat.13. Kamu adalah Terang Dunia
EfataNewCenter
 
PERKEMBANGAN ANAK USIA DINI
PERKEMBANGAN ANAK USIA DINIPERKEMBANGAN ANAK USIA DINI
PERKEMBANGAN ANAK USIA DINI
IAIN Padangsidimpuan
 
Teori belajar kognitif jean piaget
Teori belajar kognitif   jean piagetTeori belajar kognitif   jean piaget
Teori belajar kognitif jean piagetsq awaliah
 

What's hot (20)

Perkembangan fisik motorik remaja 2
Perkembangan fisik motorik remaja 2Perkembangan fisik motorik remaja 2
Perkembangan fisik motorik remaja 2
 
Pendidikan seni rupa untuk anak usia dini
Pendidikan seni rupa untuk anak usia diniPendidikan seni rupa untuk anak usia dini
Pendidikan seni rupa untuk anak usia dini
 
online news portal system
online news portal systemonline news portal system
online news portal system
 
Pemrograman Dasar Pengenalan C#
Pemrograman Dasar Pengenalan C#Pemrograman Dasar Pengenalan C#
Pemrograman Dasar Pengenalan C#
 
Makalah psikologi perkembangan psikologi pada anak usia dini
Makalah psikologi perkembangan psikologi pada anak usia diniMakalah psikologi perkembangan psikologi pada anak usia dini
Makalah psikologi perkembangan psikologi pada anak usia dini
 
What is Delegation Inheritance in Odoo 15
What is Delegation Inheritance in Odoo 15What is Delegation Inheritance in Odoo 15
What is Delegation Inheritance in Odoo 15
 
Ansi s1.11 1986(asa 65-1986)
Ansi s1.11 1986(asa 65-1986)Ansi s1.11 1986(asa 65-1986)
Ansi s1.11 1986(asa 65-1986)
 
Data as a service
Data as a serviceData as a service
Data as a service
 
Mata Kuliah Evaluasi Pembelajaran di PAUD - Jenis-Jenis Evaluasi
Mata Kuliah Evaluasi Pembelajaran di PAUD - Jenis-Jenis EvaluasiMata Kuliah Evaluasi Pembelajaran di PAUD - Jenis-Jenis Evaluasi
Mata Kuliah Evaluasi Pembelajaran di PAUD - Jenis-Jenis Evaluasi
 
Assessment paud
Assessment paudAssessment paud
Assessment paud
 
Srs for virtual eucation
Srs for virtual eucationSrs for virtual eucation
Srs for virtual eucation
 
Azure sql database limitations
Azure sql database limitationsAzure sql database limitations
Azure sql database limitations
 
Azure data factory
Azure data factoryAzure data factory
Azure data factory
 
Web Service
Web ServiceWeb Service
Web Service
 
Cara Penggunaan dan Pengoneksian sql jdbc dan odbc
Cara Penggunaan dan Pengoneksian sql jdbc dan odbcCara Penggunaan dan Pengoneksian sql jdbc dan odbc
Cara Penggunaan dan Pengoneksian sql jdbc dan odbc
 
Laporan Perkembangan Perilaku Anak Usia 4-6 Tahun - Dewinta Susanti
Laporan Perkembangan Perilaku Anak Usia 4-6 Tahun - Dewinta SusantiLaporan Perkembangan Perilaku Anak Usia 4-6 Tahun - Dewinta Susanti
Laporan Perkembangan Perilaku Anak Usia 4-6 Tahun - Dewinta Susanti
 
Mat.13. Kamu adalah Terang Dunia
Mat.13. Kamu adalah Terang Dunia  Mat.13. Kamu adalah Terang Dunia
Mat.13. Kamu adalah Terang Dunia
 
Penilaian dalam pembelajaran aud
Penilaian dalam pembelajaran audPenilaian dalam pembelajaran aud
Penilaian dalam pembelajaran aud
 
PERKEMBANGAN ANAK USIA DINI
PERKEMBANGAN ANAK USIA DINIPERKEMBANGAN ANAK USIA DINI
PERKEMBANGAN ANAK USIA DINI
 
Teori belajar kognitif jean piaget
Teori belajar kognitif   jean piagetTeori belajar kognitif   jean piaget
Teori belajar kognitif jean piaget
 

Similar to Plant UML come creare Grafici UML in modo facile

Introduzione a Matlab
Introduzione a MatlabIntroduzione a Matlab
Introduzione a MatlabMarco Suma
 
Implementazione di una Web App per la verifica dei requisiti progettuali del ...
Implementazione di una Web App per la verifica dei requisiti progettuali del ...Implementazione di una Web App per la verifica dei requisiti progettuali del ...
Implementazione di una Web App per la verifica dei requisiti progettuali del ...
Luca Dalle Vedove
 
AreaMVC: un'architettura software basata sulla semplicità
AreaMVC: un'architettura software basata sulla semplicitàAreaMVC: un'architettura software basata sulla semplicità
AreaMVC: un'architettura software basata sulla semplicità
Giulio Destri
 
Idef3
Idef3Idef3
Public #Android #Material-Design #italian
Public #Android #Material-Design #italianPublic #Android #Material-Design #italian
Public #Android #Material-Design #italian
Nicolas Bortolotti
 
Introduzione a Struts
Introduzione a StrutsIntroduzione a Struts
Introduzione a Struts
Andrea Colleoni
 
Jakarta Struts
Jakarta StrutsJakarta Struts
Jakarta Strutsjgiudici
 
Il foglio elettronico a supporto dell’attività professionale [AP03-S]
Il foglio elettronico a supporto dell’attività professionale [AP03-S]Il foglio elettronico a supporto dell’attività professionale [AP03-S]
Il foglio elettronico a supporto dell’attività professionale [AP03-S]
Andrea Maddalena
 
Guida al computer - Lezione 67 - Il Sistema Operativo: Gestione Attività Parte 2
Guida al computer - Lezione 67 - Il Sistema Operativo: Gestione Attività Parte 2Guida al computer - Lezione 67 - Il Sistema Operativo: Gestione Attività Parte 2
Guida al computer - Lezione 67 - Il Sistema Operativo: Gestione Attività Parte 2
caioturtle
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingAndrea Bozzoni
 
SQL Server2000
SQL Server2000SQL Server2000
SQL Server2000
Maurizio Farina
 
Idiomatic Domain Driven Design
Idiomatic Domain Driven DesignIdiomatic Domain Driven Design
Idiomatic Domain Driven DesignAndrea Saltarello
 
Agile Testing: Come Scrivere Use Case
Agile Testing: Come Scrivere Use CaseAgile Testing: Come Scrivere Use Case
Agile Testing: Come Scrivere Use Case
Stefano Trojani
 
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegateSviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
Paolo Sereno
 
Realizzazione di un Add-on per Google Docs per estrazione interattiva di patt...
Realizzazione di un Add-on per Google Docs per estrazione interattiva di patt...Realizzazione di un Add-on per Google Docs per estrazione interattiva di patt...
Realizzazione di un Add-on per Google Docs per estrazione interattiva di patt...
Lorenzo Gasparini
 
Analizzatori di programmi in C
Analizzatori di programmi in CAnalizzatori di programmi in C
Analizzatori di programmi in C
Boymix81
 

Similar to Plant UML come creare Grafici UML in modo facile (20)

Introduzione a Matlab
Introduzione a MatlabIntroduzione a Matlab
Introduzione a Matlab
 
Implementazione di una Web App per la verifica dei requisiti progettuali del ...
Implementazione di una Web App per la verifica dei requisiti progettuali del ...Implementazione di una Web App per la verifica dei requisiti progettuali del ...
Implementazione di una Web App per la verifica dei requisiti progettuali del ...
 
Agent UML
Agent UMLAgent UML
Agent UML
 
AreaMVC: un'architettura software basata sulla semplicità
AreaMVC: un'architettura software basata sulla semplicitàAreaMVC: un'architettura software basata sulla semplicità
AreaMVC: un'architettura software basata sulla semplicità
 
Corso UML
Corso UMLCorso UML
Corso UML
 
Idef3
Idef3Idef3
Idef3
 
Public #Android #Material-Design #italian
Public #Android #Material-Design #italianPublic #Android #Material-Design #italian
Public #Android #Material-Design #italian
 
7 Sottoprogrammi
7   Sottoprogrammi7   Sottoprogrammi
7 Sottoprogrammi
 
Introduzione a Struts
Introduzione a StrutsIntroduzione a Struts
Introduzione a Struts
 
Jakarta Struts
Jakarta StrutsJakarta Struts
Jakarta Struts
 
Il foglio elettronico a supporto dell’attività professionale [AP03-S]
Il foglio elettronico a supporto dell’attività professionale [AP03-S]Il foglio elettronico a supporto dell’attività professionale [AP03-S]
Il foglio elettronico a supporto dell’attività professionale [AP03-S]
 
Guida al computer - Lezione 67 - Il Sistema Operativo: Gestione Attività Parte 2
Guida al computer - Lezione 67 - Il Sistema Operativo: Gestione Attività Parte 2Guida al computer - Lezione 67 - Il Sistema Operativo: Gestione Attività Parte 2
Guida al computer - Lezione 67 - Il Sistema Operativo: Gestione Attività Parte 2
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
SQL Server2000
SQL Server2000SQL Server2000
SQL Server2000
 
Idiomatic Domain Driven Design
Idiomatic Domain Driven DesignIdiomatic Domain Driven Design
Idiomatic Domain Driven Design
 
L'algoritmo
L'algoritmoL'algoritmo
L'algoritmo
 
Agile Testing: Come Scrivere Use Case
Agile Testing: Come Scrivere Use CaseAgile Testing: Come Scrivere Use Case
Agile Testing: Come Scrivere Use Case
 
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegateSviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
 
Realizzazione di un Add-on per Google Docs per estrazione interattiva di patt...
Realizzazione di un Add-on per Google Docs per estrazione interattiva di patt...Realizzazione di un Add-on per Google Docs per estrazione interattiva di patt...
Realizzazione di un Add-on per Google Docs per estrazione interattiva di patt...
 
Analizzatori di programmi in C
Analizzatori di programmi in CAnalizzatori di programmi in C
Analizzatori di programmi in C
 

More from Stefano Trojani

Attiva le mail su Register.it e configurale su Mobile
Attiva le mail su Register.it e configurale su MobileAttiva le mail su Register.it e configurale su Mobile
Attiva le mail su Register.it e configurale su Mobile
Stefano Trojani
 
Come utilizzare la PEC nella vita di tutti i giorni al massimo delle sue pote...
Come utilizzare la PEC nella vita di tutti i giorni al massimo delle sue pote...Come utilizzare la PEC nella vita di tutti i giorni al massimo delle sue pote...
Come utilizzare la PEC nella vita di tutti i giorni al massimo delle sue pote...
Stefano Trojani
 
Come inviare email e newsletter senza farle finire nello SPAM
Come inviare email e newsletter  senza farle finire nello SPAMCome inviare email e newsletter  senza farle finire nello SPAM
Come inviare email e newsletter senza farle finire nello SPAM
Stefano Trojani
 
What Personas are why and how to use them
What Personas are why and how to use themWhat Personas are why and how to use them
What Personas are why and how to use them
Stefano Trojani
 
Scenari di utilizzo di una mail con Active Sync (Exchange)
Scenari di utilizzo di una mail con Active Sync (Exchange)Scenari di utilizzo di una mail con Active Sync (Exchange)
Scenari di utilizzo di una mail con Active Sync (Exchange)
Stefano Trojani
 
Webinar sull'utilizzo dell'Active Sync dell'email professional
Webinar sull'utilizzo dell'Active Sync dell'email professionalWebinar sull'utilizzo dell'Active Sync dell'email professional
Webinar sull'utilizzo dell'Active Sync dell'email professional
Stefano Trojani
 
Street Fight between Open Exchange vs. Office 365
Street Fight between Open Exchange vs. Office 365Street Fight between Open Exchange vs. Office 365
Street Fight between Open Exchange vs. Office 365
Stefano Trojani
 
Manuale di migrazione account Exchange 2003 su account Exchange di Office365 ...
Manuale di migrazione account Exchange 2003 su account Exchange di Office365 ...Manuale di migrazione account Exchange 2003 su account Exchange di Office365 ...
Manuale di migrazione account Exchange 2003 su account Exchange di Office365 ...
Stefano Trojani
 
Breve Storia della Street Photography
Breve Storia della Street PhotographyBreve Storia della Street Photography
Breve Storia della Street Photography
Stefano Trojani
 
Webinar sul Funzionamento della nuova mail/PIM di Register.it
Webinar sul Funzionamento della nuova mail/PIM di Register.itWebinar sul Funzionamento della nuova mail/PIM di Register.it
Webinar sul Funzionamento della nuova mail/PIM di Register.it
Stefano Trojani
 
Creare Suite di Test Automatici intelligenti con Selenium IDE
Creare Suite di Test Automatici intelligenti con Selenium IDECreare Suite di Test Automatici intelligenti con Selenium IDE
Creare Suite di Test Automatici intelligenti con Selenium IDE
Stefano Trojani
 
Eseguire più suite di test automatici insieme con Selenium IDE - Evolve Today!
Eseguire più suite di test automatici insieme con Selenium IDE - Evolve Today! Eseguire più suite di test automatici insieme con Selenium IDE - Evolve Today!
Eseguire più suite di test automatici insieme con Selenium IDE - Evolve Today!
Stefano Trojani
 
Come automatizzare i test con Selenium IDE
Come automatizzare i test con Selenium IDECome automatizzare i test con Selenium IDE
Come automatizzare i test con Selenium IDE
Stefano Trojani
 
Cosa sono le Personas e perchè usarle
Cosa sono le Personas e perchè usarleCosa sono le Personas e perchè usarle
Cosa sono le Personas e perchè usarle
Stefano Trojani
 
Webinar sulla PEC del Gestore Register.it
Webinar sulla PEC del Gestore Register.itWebinar sulla PEC del Gestore Register.it
Webinar sulla PEC del Gestore Register.it
Stefano Trojani
 
Agile Testing e UX: come ottenere il massimo da QA e Design
Agile Testing e UX: come ottenere il massimo da QA e DesignAgile Testing e UX: come ottenere il massimo da QA e Design
Agile Testing e UX: come ottenere il massimo da QA e Design
Stefano Trojani
 

More from Stefano Trojani (16)

Attiva le mail su Register.it e configurale su Mobile
Attiva le mail su Register.it e configurale su MobileAttiva le mail su Register.it e configurale su Mobile
Attiva le mail su Register.it e configurale su Mobile
 
Come utilizzare la PEC nella vita di tutti i giorni al massimo delle sue pote...
Come utilizzare la PEC nella vita di tutti i giorni al massimo delle sue pote...Come utilizzare la PEC nella vita di tutti i giorni al massimo delle sue pote...
Come utilizzare la PEC nella vita di tutti i giorni al massimo delle sue pote...
 
Come inviare email e newsletter senza farle finire nello SPAM
Come inviare email e newsletter  senza farle finire nello SPAMCome inviare email e newsletter  senza farle finire nello SPAM
Come inviare email e newsletter senza farle finire nello SPAM
 
What Personas are why and how to use them
What Personas are why and how to use themWhat Personas are why and how to use them
What Personas are why and how to use them
 
Scenari di utilizzo di una mail con Active Sync (Exchange)
Scenari di utilizzo di una mail con Active Sync (Exchange)Scenari di utilizzo di una mail con Active Sync (Exchange)
Scenari di utilizzo di una mail con Active Sync (Exchange)
 
Webinar sull'utilizzo dell'Active Sync dell'email professional
Webinar sull'utilizzo dell'Active Sync dell'email professionalWebinar sull'utilizzo dell'Active Sync dell'email professional
Webinar sull'utilizzo dell'Active Sync dell'email professional
 
Street Fight between Open Exchange vs. Office 365
Street Fight between Open Exchange vs. Office 365Street Fight between Open Exchange vs. Office 365
Street Fight between Open Exchange vs. Office 365
 
Manuale di migrazione account Exchange 2003 su account Exchange di Office365 ...
Manuale di migrazione account Exchange 2003 su account Exchange di Office365 ...Manuale di migrazione account Exchange 2003 su account Exchange di Office365 ...
Manuale di migrazione account Exchange 2003 su account Exchange di Office365 ...
 
Breve Storia della Street Photography
Breve Storia della Street PhotographyBreve Storia della Street Photography
Breve Storia della Street Photography
 
Webinar sul Funzionamento della nuova mail/PIM di Register.it
Webinar sul Funzionamento della nuova mail/PIM di Register.itWebinar sul Funzionamento della nuova mail/PIM di Register.it
Webinar sul Funzionamento della nuova mail/PIM di Register.it
 
Creare Suite di Test Automatici intelligenti con Selenium IDE
Creare Suite di Test Automatici intelligenti con Selenium IDECreare Suite di Test Automatici intelligenti con Selenium IDE
Creare Suite di Test Automatici intelligenti con Selenium IDE
 
Eseguire più suite di test automatici insieme con Selenium IDE - Evolve Today!
Eseguire più suite di test automatici insieme con Selenium IDE - Evolve Today! Eseguire più suite di test automatici insieme con Selenium IDE - Evolve Today!
Eseguire più suite di test automatici insieme con Selenium IDE - Evolve Today!
 
Come automatizzare i test con Selenium IDE
Come automatizzare i test con Selenium IDECome automatizzare i test con Selenium IDE
Come automatizzare i test con Selenium IDE
 
Cosa sono le Personas e perchè usarle
Cosa sono le Personas e perchè usarleCosa sono le Personas e perchè usarle
Cosa sono le Personas e perchè usarle
 
Webinar sulla PEC del Gestore Register.it
Webinar sulla PEC del Gestore Register.itWebinar sulla PEC del Gestore Register.it
Webinar sulla PEC del Gestore Register.it
 
Agile Testing e UX: come ottenere il massimo da QA e Design
Agile Testing e UX: come ottenere il massimo da QA e DesignAgile Testing e UX: come ottenere il massimo da QA e Design
Agile Testing e UX: come ottenere il massimo da QA e Design
 

Plant UML come creare Grafici UML in modo facile

  • 1. Come creare UML in modo facile e automatico di Stefano Trojani Plant UML
  • 2. Agile Tester & QA Chi Sono Lavoro come Tester Funzionale e QA in un team Agile (Scrum). Analizzo i flussi e le funzionalità per poi generare la documentazione per i test (test plan con di base flussi UML, Use Case, Test Case). Gestisco il Test Plan di progetto documentando tutto sulla Confluence (integrata con Jira). Lavoro molto spesso con tool di automazione (Selenium Ide, webserver python). Scrivo manuali e documentazione sull'utilizzo di prodotti email (PEC, email, Exchange, Active Sync, Mobile...) e formo il personale coinvolto (area commerciale, marketing, customer care). Mi occupo di scrivere contenuti tecnici e marketing di prodotto.
  • 3. Cos’è Plant UML PlantUml viene utilizzato per disegnare diagramma UML, utilizzando una descrizione testo leggibile semplice e umano. ATTENZIONE, non impedisce un diagramma incoerente (es: avere due classi che ereditano le une dalle altre). Quindi è più uno strumento di disegno di uno strumento di modellazione. http://plantuml.com/
  • 4. Dove si trova Plant UML Qui il sito ufficiale http://plantuml.com/ http://plantuml.com/download.html Qui il download
  • 5. Casi di utilizzo Come Agile Tester sono spesso chiamato a fare dei grafici in UML per meglio analizzare flussi, funzionalità o sequenze. A volte utilizzo il sempre verde e gratis ArgoUML (http://argouml.tigris.org/ ) Ma devo dire che la modifica dei grafici relizzati con Plant UML è estremamente più facile, in primis, perché il sorgente del grafico E’ il grafico stesso
  • 6. Casi di utilizzo di questo manuale I tool indispensabili dell’Agile Tester Sebbene Plan UML sia versabile e possa fare molti grafici UML mi concentro in questo manuale sui 3 fondamentali grafici che un Agile Tester deve sempre fare, allegati al suo Test Plan - Use Case Diagram - Sequence Diagram - Activity Diagram
  • 7. Use Case Diagram Definizione: In UML, gli Use Case Diagram (UCD o diagrammi dei casi d'uso) sono diagrammi dedicati alla descrizione delle funzioni o servizi offerti da un sistema, così come sono percepiti e utilizzati dagli attori che interagiscono col sistema stesso. Sono impiegati soprattutto nel contesto della Use Case View (vista dei casi d'uso) di un modello, e in tal caso si possono considerare come uno strumento di rappresentazione dei requisiti funzionali di un sistema. Tuttavia, è possibile ipotizzare l'uso degli UCD in altri contesti; durante laprogettazione, per esempio, potrebbero essere usati per modellare i servizi offerti da un determinato modulo o sottosistema ad altri moduli o sottosistemi. In molti modelli di processo software basati su UML, la Use Case View e gli Use Case Diagram che essa contiene rappresentano la vista più importante, attorno a cui si sviluppano tutte le altre attività del ciclo di vita del software (processi del genere prendono l'appellativo di processi Use Case Driven).
  • 8. Use Case Diagram: com’è fatto Esempio Un classico e semplice esempio grafico di Use Case Diagram Vediamo come realizzarlo con Plant UML
  • 9. Use Case Diagram - 1 di 3 comando risultato title Titolo <b>semplice</b> crea un titolo al grafico actor PIPPO Attore PIPPO rectangle NomeContesto { } crea area (attività 1) crea attività (attività 1) <|-- --|> Freccia con la capoccia <-- --> Freccia con la punta -- Linea <.. ..> Freccia tratteggiata PIPPO --> (attività 2) : descrizione collega l'attore all'attività con una descrizione note right of (attività 2) una nota a compendio end note crea una nota legata all'attività
  • 10. Use Case Diagram - 2 di 2 Sorgente Plant UML Grafico Generato
  • 11. Use Case Diagram - 3 di 3 Note 1) Tipi di freccie Per impostazione predefinita, i collegamenti tra le classi hanno due trattini - e sono orientati in verticale. E 'possibile l'utilizzo del link orizzontale mettendo un trattino singolo (o punto) es: -> -|> .> invece di --> --|> ..> 2) direzione forzata delle freccie E 'anche possibile cambiare la direzione della freccia con l'aggiunta di sinistra, destra, su o giù parole chiave all'interno della freccia: :attore: -left-> (attività) :attore: -right-> (attività) :attore: -up-> (attività) :attore: -down-> (attività) 3) Direzione del grafico E' possibile decidere la direzione del flusso con top to bottom direction (dall'alto verso il basso)left to right direction (da sinistra a destra)
  • 12. Sequence Diagram Definizione: Un Sequence Diagram (in italiano: Diagramma di sequenza) è un diagramma previsto dall'UML utilizzato per descrivere uno scenario. Uno scenario è una determinata sequenza di azioni in cui tutte le scelte sono state già effettuate; in pratica nel diagramma non compaiono scelte, né flussi alternativi. Normalmente da ogni Activity Diagram sono derivati uno o più Sequence Diagram; se per esempio l'Activity Diagram descrive due flussi di azioni alternativi, se ne potrebbero ricavare due scenari, e quindi due Sequence Diagram alternativi. Dalla versione 2 dell'UML è stata introdotta la possibilità di indicare nello stesso diagramma anche delle sequenze alternative. Il Sequence Diagram descrive le relazioni che intercorrono, in termini di messaggi, tra Attori, Oggetti di business, Oggetti od Entità del sistema che si sta rappresentando.
  • 13. Sequence Diagram: com’è fatto Esempio Un classico e semplice esempio grafico di Use Sequence Diagram Vediamo come realizzarlo con Plant UML
  • 14. Sequence Diagram - 1 di 2 comando risultato actor TJ genera un attore (TJ) va dichiarato prima "Oggetto 1" -> "Oggetto 2": descrizione genera due oggetti legati da freccia con descrizione "Oggetto 2" -> "Oggetto 1": ritorno genera due oggetti legati da freccia con descrizione "Oggetto 1" --> "Oggetto 3()": descrizione genera due oggetti legati da freccia tratteggiata con descrizione "Oggetto 3()" --> "Oggetto 3()" un'attivtà che richiama se stessa activate "Oggetto 2"/deactivate "Oggetto 2" Attiva, disattiva
  • 15. Sequence Diagram - 2 di 2 Sorgente Plant UML Grafico Generato
  • 16. Activity Diagram Definizione: L'Activity Diagram (in italiano: Diagramma delle attività) è un diagramma definito all'interno dello Unified Modeling Language (UML) che definisce le attività da svolgere per realizzare una data funzionalità. Può essere utilizzato durante la progettazione del software per dettagliare un determinato algoritmo. Più in dettaglio, un activity diagram definisce una serie di attività o flusso, anche in termini di relazioni tra le attività, i responsabili per le singole attività e i punti di decisione. L'activity diagram è spesso usato come modello complementare allo Use Case Diagram, per descrivere le dinamiche con cui si sviluppano i diversi use case.
  • 17. Activity Diagram: com’è fatto Esempio Un classico e semplice esempio grafico di Use Activity Diagram Vediamo come realizzarlo con Plant UML
  • 18. Activity Diagram - 1 di 2 comando risultato (*) genera il dot iniziale/finale --> freccia di collegamento -->[label] freccia di collegamento con label -down-> freccia di collegamento (default) verso il basso -right-> freccia di collegamento verso destra -left-> freccia di collegamento verso sinistra -up-> freccia di collegamento verso l'alto (*) --> "Attività 1" genera il dot iniziale con la prima attività -->[label] "Atttività 2" Collega con una freccia (con una label) alla seconda attività if "Attività 3" then -->[true] "Attività 4"else -->[false] "Attività 5" --> (*)endif Genera gli IF (rombo) della sintassi (if, then, else, endif) --> ===B1=== --> "Attività parallela 1" --> ===B2=== ===B1=== --> "Attività parallela 2" --> ===B2=== crea attività parallele
  • 19. Activity Diagram - 2 di 2 Sorgente Plant UML Grafico Generato
  • 20. "Il successo non è definitivo e l'insuccesso non è fatale. L'unica cosa che conta davvero è il coraggio di continuare" Winston Churchill Grazie :-)