SlideShare a Scribd company logo
1 of 20
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

AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플...
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플...[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플...
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플...Tae-Seong Park
 
Adobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsAdobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsGabriel Walt
 
Experience and Content Fragment
Experience and Content FragmentExperience and Content Fragment
Experience and Content FragmentHeena Madan
 
클라우드 MSP에 강력한 '보안'을 더하다 - 최광호 클라우드사업본부장, 안랩 :: AWS Summit Seoul 2021
클라우드 MSP에 강력한 '보안'을 더하다 - 최광호 클라우드사업본부장, 안랩 :: AWS Summit Seoul 2021클라우드 MSP에 강력한 '보안'을 더하다 - 최광호 클라우드사업본부장, 안랩 :: AWS Summit Seoul 2021
클라우드 MSP에 강력한 '보안'을 더하다 - 최광호 클라우드사업본부장, 안랩 :: AWS Summit Seoul 2021Amazon Web Services Korea
 
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지강 민우
 
190119 unreal engine c++ 입문 및 팁
190119 unreal engine c++ 입문 및 팁190119 unreal engine c++ 입문 및 팁
190119 unreal engine c++ 입문 및 팁KWANGIL KIM
 
Kinesis를 이용한 데이터 수집
Kinesis를 이용한 데이터 수집Kinesis를 이용한 데이터 수집
Kinesis를 이용한 데이터 수집Joona Yoon
 
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)Hyeyon Kwon
 
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기 [NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기 Jungsoo Lee
 
Introduction to the Dart language
Introduction to the Dart languageIntroduction to the Dart language
Introduction to the Dart languageJana Moudrá
 
Rest and Sling Resolution
Rest and Sling ResolutionRest and Sling Resolution
Rest and Sling ResolutionDEEPAK KHETAWAT
 
프론트엔드 개발자가 혼자 AWS 기반 웹애플리케이션 만들기::박찬민::AWS Summit Seoul 2018
프론트엔드 개발자가 혼자 AWS 기반 웹애플리케이션 만들기::박찬민::AWS Summit Seoul 2018프론트엔드 개발자가 혼자 AWS 기반 웹애플리케이션 만들기::박찬민::AWS Summit Seoul 2018
프론트엔드 개발자가 혼자 AWS 기반 웹애플리케이션 만들기::박찬민::AWS Summit Seoul 2018Amazon Web Services Korea
 
AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2Amazon Web Services Korea
 
기술 명세서
기술 명세서기술 명세서
기술 명세서Daniel Shin
 
REST API Development with Spring
REST API Development with SpringREST API Development with Spring
REST API Development with SpringKeesun Baik
 
캡스톤 졸작 발표
캡스톤 졸작 발표캡스톤 졸작 발표
캡스톤 졸작 발표Kyuhwan Choi
 
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정강 민우
 
[PAP] 팝콘 시즌 1 컨퍼런스 사전 QnA
[PAP] 팝콘 시즌 1 컨퍼런스 사전 QnA[PAP] 팝콘 시즌 1 컨퍼런스 사전 QnA
[PAP] 팝콘 시즌 1 컨퍼런스 사전 QnABokyung Choi
 

What's hot (20)

AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
 
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플...
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플...[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플...
[AWSKRUG] 혼자서 커뮤니티 귀동냥하며 만든 Next.js & Amplify & serverless framework 서버리스 웹 플...
 
Adobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsAdobe Experience Manager Core Components
Adobe Experience Manager Core Components
 
Experience and Content Fragment
Experience and Content FragmentExperience and Content Fragment
Experience and Content Fragment
 
클라우드 MSP에 강력한 '보안'을 더하다 - 최광호 클라우드사업본부장, 안랩 :: AWS Summit Seoul 2021
클라우드 MSP에 강력한 '보안'을 더하다 - 최광호 클라우드사업본부장, 안랩 :: AWS Summit Seoul 2021클라우드 MSP에 강력한 '보안'을 더하다 - 최광호 클라우드사업본부장, 안랩 :: AWS Summit Seoul 2021
클라우드 MSP에 강력한 '보안'을 더하다 - 최광호 클라우드사업본부장, 안랩 :: AWS Summit Seoul 2021
 
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
[IGC 2017] 아마존 구승모 - 게임 엔진으로 서버 제작 및 운영까지
 
190119 unreal engine c++ 입문 및 팁
190119 unreal engine c++ 입문 및 팁190119 unreal engine c++ 입문 및 팁
190119 unreal engine c++ 입문 및 팁
 
Kinesis를 이용한 데이터 수집
Kinesis를 이용한 데이터 수집Kinesis를 이용한 데이터 수집
Kinesis를 이용한 데이터 수집
 
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
 
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기 [NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
 
Introduction to the Dart language
Introduction to the Dart languageIntroduction to the Dart language
Introduction to the Dart language
 
Rest and Sling Resolution
Rest and Sling ResolutionRest and Sling Resolution
Rest and Sling Resolution
 
프론트엔드 개발자가 혼자 AWS 기반 웹애플리케이션 만들기::박찬민::AWS Summit Seoul 2018
프론트엔드 개발자가 혼자 AWS 기반 웹애플리케이션 만들기::박찬민::AWS Summit Seoul 2018프론트엔드 개발자가 혼자 AWS 기반 웹애플리케이션 만들기::박찬민::AWS Summit Seoul 2018
프론트엔드 개발자가 혼자 AWS 기반 웹애플리케이션 만들기::박찬민::AWS Summit Seoul 2018
 
Hibernate I
Hibernate IHibernate I
Hibernate I
 
AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2
 
기술 명세서
기술 명세서기술 명세서
기술 명세서
 
REST API Development with Spring
REST API Development with SpringREST API Development with Spring
REST API Development with Spring
 
캡스톤 졸작 발표
캡스톤 졸작 발표캡스톤 졸작 발표
캡스톤 졸작 발표
 
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
 
[PAP] 팝콘 시즌 1 컨퍼런스 사전 QnA
[PAP] 팝콘 시즌 1 컨퍼런스 사전 QnA[PAP] 팝콘 시즌 1 컨퍼런스 사전 QnA
[PAP] 팝콘 시즌 1 컨퍼런스 사전 QnA
 

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
 
Public #Android #Material-Design #italian
Public #Android #Material-Design #italianPublic #Android #Material-Design #italian
Public #Android #Material-Design #italianNicolas Bortolotti
 
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 2caioturtle
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingAndrea Bozzoni
 
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 CaseStefano 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-delegatePaolo 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 CBoymix81
 

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 MobileStefano 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 SPAMStefano 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 themStefano 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 professionalStefano 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 365Stefano 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 PhotographyStefano 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.itStefano 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 IDEStefano 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 IDEStefano 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è usarleStefano 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.itStefano 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 DesignStefano 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 :-)