Documente Academic
Documente Profesional
Documente Cultură
INTRODUCERE
Modele de procese de afaceri sunt importante n diferite etape ale ciclului de via al BPM. nainte de
a ncepe pentru modelarea unui proces, este esenial s nelegem de ce este nevoie de modelare.
Modelele pe care le producem vor arata diferit n funcie de motivul pentru care se creeaz modelul,
n primul rnd. Exist multe motive pentru modelarea unui proces. Primul dintre ele este pur i simplu
de a nelege procesul i de a mprti nelegerea noastr cu cei care sunt implicai n procesul
respectiv n viaa de zi cu zi. ntr-adevr, participanii la un proces de obicei efectueaz activiti
detaliate/specializate din respectivul proces, astfel nct acestea nu se confrunt cu complexitatea
ntregului proces. Prin urmare, procesul de modelare i ajut s neleag mai bine procesul n scopul
de a identifica i pentru a preveni problemele de execuie ale acestuia. Acest pas spre o nelegere
aprofundat este prima condiie care trebuie ndeplinit pentru a efectua analize de proces, re-design
sau automatizare.
n acest suport de curs sunt prezentate elementele eseniale necesare familiarizrii cu ingredientele
de baz ale procesului de modelarea folosind limbajul Business Process Modeling Notation (BPMN).
Cu aceste concepte, vei fi capabili s producei modele de procese de afaceri care surprind relaiile
temporale i logice simple, ntre activiti, obiecte, resurse (de ex. angajai), respectiv ntre date. n
primul rnd, vom descrie concepte eseniale legate de modelele de proces, i anume modul n care
modelele de proces se leag de instanele de proces. Apoi, vom explica principalele patru blocuri
structurale de ramificare i fuzionare care pot fi folosite n modelele de proces. Acestea definesc decizii
exclusive, execuia n paralel, deciziile inclusive i repetiiile. n cele din urm, vom acoperi artefactele
de informaii/date respectiv resursele implicat ntr-un proces.
Un limbaj de modelare este format din trei pri: sintaxa, semantica, i notaia. Sintaxa ofer un set
de elemente de modelare i un set de reguli care guverneaz modul n care pot fi combinate aceste
elemente. Semantica leag elementele sintactice i descrierile lor textuale ntr-un neles clar, fr
ambiguiti. Notaia definete un set de simboluri grafice pentru vizualizarea elementelor. De
exemplu, sintaxa BPMN include activiti, evenimente, gateway-uri, i secvena activitilor. Un
exemplu de reguli sintactice BPMN este faptul c evenimentele de tip start au numai secvene de ieire
n timp ce evenimentele finale au doar secvene de intrare. Semantica BPMN descrie ce fel de
comportament este reprezentat prin diferite elemente. n esen, aceasta se refer la ntrebarea cum
elementelor pot fi executate n ceea ce privete fluxul de activiti. De exemplu, un element care
denot o sincronizare a unor ramuri paralele ale procesului impune ateptarea pn cnd fiecare din
ramurile de intrare sunt finalizate, nainte de a permite trecerea la ramurile de ieire din acesta. Un
exemplu de notaie BPMN este utilizarea unor dreptunghiuri cu marginile rotunjite pentru a reprezenta
activitile procesului.
n acest suport de curs am prezentat elementele de baz ale procesului de modelare prin limbajul
BPMN. Alte limbaje rspndite care pot fi utilizate pentru a modela procese de afaceri sunt Diagramele
de Activiti UML (UML AD), Event-driven Process Chains (EPC) i Web Services Business Process
Execution Language (WS-BPEL).
Diagramele UML AD sunt un alt standard OMG (Object Management Group). Ele sunt aplicate n
principal n ingineria software, unde pot fi folosite pentru a descrie comportamentul software i pot fi
legate de alte tipuri de diagrame UML (de exemplu, diagrame de clase, pentru a genera automat cod
Scrie adresa de
expediere
Expediaza
produsul
Emite factura
Incaseaza
factura
Arhiveaza
comanda
Comanda
expediata si
incasata
Fig. 1 Diagrama BPMN a unui proces simplu pentru onorarea unei comenzi de cumprare
n acest capitol, sunt prezentate simbolurile de baz ale BPMN. Un proces de afaceri implic
evenimente i activiti. Evenimentele reprezint lucruri care se ntmpl instantaneu (de exemplu, o
factur a fost primit) n timp ce activitile reprezint uniti de lucru care au o durat (de exemplu,
plata unei facturi). De asemenea, un proces nseamn c evenimentele i activitile sunt n mod logic
legate. Forma cea mai elementar de relaie ntre dou elemente (fie ele evenimente sau activiti)
este secvena, ceea ce implic faptul c un eveniment sau activitatea A este urmat de un alt eveniment
sau activitate B. Prin urmare, trei concepte de baz ale BPMN sunt evenimentele, activitile, i arcele.
Evenimentele sunt reprezentate de cercuri, activiti de dreptunghiuri rotunjite, i arcele (numite
fluxuri de secven n BPMN) sunt reprezentate de sgei.
Exemplu 3.1 Fig. 1 prezint modul in care este modelat folosind notaia BPMN o simpl secven de
activiti aferent unei comenzi de cumprare. Acest proces ncepe ori de cte ori un ordin de
cumprare a fost primit de la un client. Prima activitate care se desfoar este confirm comand.
Apoi, este nregistrat adresa de destinaie, astfel nct produsul s poat fi livrat clientului. Ulterior,
factura este emis. Dup ce suma facturii este ncasat, ordinul este arhivat, finalizndu-se astfel
procesul.
Din exemplul de mai sus se observ c cele dou evenimente (de start i de stop) sunt descrise cu dou
simboluri uor diferite. Se folosesc cercuri cu o margine subire pentru a reprezenta evenimente de
pornire i cercuri, cu o margine groas pentru a reprezenta evenimentele finale. Evenimentele de
nceput i cele finale au un rol important ntr-un model de proces: evenimentul de start indic
momentul cnd instanele procesului ncep, n timp ce evenimentul final indic atunci cnd instana
(denumit i caz) este complet. De exemplu, o nou instan (sau un nou caz) a(l) procesului de
onorare a comenzilor este declanat ori de cte ori o comand de achiziie este primit, i se
finalizeaz atunci cnd comanda este onorat.
Confirma
comanda
Scrie adresa de
expediere
Expediaza
produsul
Emite factura
Incaseaza
factura
Arhiveaza
comanda
Comanda
expediata si
incasata
V recomandm s folosii astfel de cuvinte n mod constant, doar ntr-un sens, de exemplu,
"Comand" ntotdeauna ca un substantiv.
Pentru a denumi un model de proces ar trebui s folosim un substantiv, eventual precedat sau urmat
de un adjectiv (de exemplu, "onorare comenzi" sau procesare sugestii"). Aceast etichet poate fi
obinut prin nominalizarea verbului care descrie aciunea principal a unui proces de afaceri (de
exemplu, "Onoreaz comand" (aciunea principal) devine "onorare comenzi" (numele procesului).
Substantivele compuse din mai multe cuvinte, cum ar fi "comand-la-ncasare" i "achiziie-la-plat",
indicnd secvenele de aciuni principale ale procesului, sunt de asemenea admise. Nu se capitalizeaz
primul cuvnt dintr-un nume de proces.
Aplicnd conveniile de denumire prezentate mai sus modele construite vor fi unitare i consistente,
fiind astfel mai uor de neles n cazul comunicrii cu alte persoane i mai uor de reutilizat.
Exemplul din Fig. 1 reprezint un posibil mod de a modela procesul de onorare a comenzilor. Cu toate
acestea, pot fi uor produse modele destul de diferite care s descrie acelai proces real. De exemplu,
am putea fi neglijat anumite activiti sau extins altele, n funcie de intenia specific de modelare.
Sub-seciunea Mic introducere n teoria modelrii" reflect pe proprietile care stau la baza un
model n general i se refer i la cazul specific al modelelor de procese.
Opional: Mic introducere n teoria modelrii
Un model este caracterizat prin trei proprieti: reprezentativitate, abstractizare, i adaptarea la scop.
n primul rnd, un model presupune reprezentarea unui fenomen din lumea real subiectul
modelrii/modelului. De exemplu, o cldire rezidenial care urmeaz s fie construit ar putea fi
modelat printr-o miniatur de lemn. n al doilea rnd, un model documenteaz doar aspectele
relevante ale subiectului modelat, adic este o form care abstractizeaz fa de anumite detalii care
sunt considerate irelevante. Modelul lemn a cldirii abstractizeaz n mod clar de la materialele din
care va fi construit cldirea. n al treilea rnd, un model servete unui obiectiv bine determinat, care
influeneaz alegerea aspectelor realitii care se omit atunci cnd se creeaz un model. Fr un scop
specific, nu am avea nici o indicaie asupra a ceea ce trebuie s se omit. Gndii-v din nou la modelul
de lemn. Acesta servete scopului de a ilustra modul n care cldirea va arata. Astfel, se neglijeaz
aspectele care sunt considerate irelevante pentru a judeca aspectul, cum ar fi modul n care este
construit sistemul electric al cldirii. Deci, putem spune c modelul este un mijloc de a abstractiza pe
baza subiect real, cu intenia de a captura doar cteva dintre aspecte eseniale ale acestuia.
O modalitate de a determina scopul unui model este de nelege publicul int al modelului. n cazul
modelului de lemn, publicul int ar putea fi un potenial cumprtor al cldirii. Astfel, modelarea este
important s se concentreze pe aspectul cldirii, nu pe aspectele tehnice ale construciei. Pe de alt
parte, modelul de lemn ar fi de folos unui muncitor care are sarcina de a realiza fizic sistemul electric.
n acest caz, un plan desenat pe hrtie al cldirii ar fi mai potrivit. Astfel, atunci cnd se realizeaz
modelarea unui proces de afaceri, trebuie s inem cont de scop specific i publicul int pentru care
se creeaz modelul. Exist dou motive principale pentru modelarea procesului: managementul
organizaiei respectiv proiectarea sistemului informaional al companiei. Modele de procese de
management al organizaiei sunt orientate spre afaceri. Acestea sunt construite de ctre analitii de
afaceri i utilizate n principal pentru nelegere i comunicare n rndul conducerii si angajailor, dar i
pentru msurarea i mbuntirea activitilor. Ca atare, ele trebuie s fie suficient de intuitive pentru
a fi nelese de ctre diverse pri interesate, i va abstractiza de obicei, aspectele legate de IT. Publicul
int include manageri, executani ai activitilor din procese i analiti de afaceri. Modele de procese
pentru proiectarea sistemului informaional al organizaiei sunt orientate spre construirea de
software. Acestea sunt construite de ctre ingineri i dezvoltatori de sisteme informatice, i folosite
pentru automatizarea activitilor realizate n organizaie. Astfel, modelele trebuie s conin detalii
de implementare, n scopul de a fi utilizate la un configurarea unui Sistem de Management al
Proceselor de Afaceri (Business Process Management System BPMS), sau folosite ca planuri de
dezvoltare de software
Exemplul 2 (Procesul de verificare al unei facturi): De ndat ce se decide ca o factur s fie trimis ctre
un client, aceasta trebuie s fie verificat pentru conformitate/nepotriviri. Verificarea poate duce la
oricare dintre aceste trei opiuni: i) nu exist nepotriviri, n care cazul n care factura este trimis
clientului, ii) exist nepotriviri, dar acestea pot fi corectate, n care cazul n care factura este re-trimis
clientului, i iii) exist nepotriviri, iar acestea nu pot fi corectat, n cazul n care emiterea factura este
blocat. Dup ce oricare dintre aceste trei activiti este efectuat, factura este ndosariat i procesul
se termin.
Pentru a modela procesule din Exemplul 2, vom ncepe prin a modela un eveniment declanator (de
start) etichetat "primire notificare de emitere factura". Urmeaz o activitate de decizie, i anume
"Verificai factura pentru nepotriviri", modelat printr-un gateway. Aceast activitate de decizie este
o activitate care poate duce la rezultate diferite. n exemplul nostru, aceast are trei rezultate posibile,
care se exclud reciproc. Deci, e nevoie de un XOR-split care este de fapt o bifurcaie care trimite fluxul
de activiti n una din cele trei ramuri. Prin urmare, trei arce vor iei din acest gateway, unul care duce
la activitatea "Trimite factura" (activat n cazul n care nu exist neconcordane), altul spre activitatea
"Re-trimite factura la client " (activat n cazul n care exist neconcordane, dar pot fi corectate), i un
al treilea arc spre activitatea "Blocheaz factura" (activat n cazul n care exist neconcordane care nu
pot fi corectate) (vezi Fig. 3). Din punct de vedere al token-urilor care circul prin model, ntr-un
gateway de tip XOR-split, token-ul care vine de-a lungul arcului de intrare n gateway este trimis de-a
lungul unui singur arc de ieire (adic doar o ramur de ieire din gateway poate fi activat).
Atunci cnd se utilizeaz un XOR-split, asigurai-v c fiecare arc de ieire este adnotat cu o etichet
care specific condiia care trebuie s fie ndeplinit pentru ca ramur respectiv s fie activat. Mai
mult dect att, folosii ntotdeauna condiii care se exclud reciproc, adic doar una dintre ele poate fi
adevrat de fiecare dat cnd XOR-split este atins de un token. Aceasta este caracteristica principal
a unui XOR-split. n exemplul nostru, o factur poate fi corect, sau conine nepotriviri care pot fi
corectate, sau poate conine nepotriviri care nu pot fi corectate; i numai una dintre aceste trei condiii
este adevrat pentru orice factur emis.
n Fig. 3 arcul etichetat "exist nepotriviri, dar nu pot fi corectate" este marcat cu o linie oblic. Aceast
notaie este opional i este folosit pentru a indica arcul implicit, adic arcul care va fi folosit de ctre
token-urile care ajung la XOR-split n cazul n care condiiile aferente tuturor celorlalte arce de ieire
din gateway sunt evaluate ca false. ntruct acest arc are semnificaia de n orice alt situaie, acesta
poate fi lsat neetichetat cu o condiie. Cu toate acestea, se recomand etichetarea n continuare a
acestui arc cu o condiie, pentru a spori lizibilitatea i a uura nelegerea modelului de ctre alte
persoane.
Odat ce oricare dintre cele trei activiti alternative a fost executat, e nevoie ca cele 3 ramuri ale
procesului s se uneasc. Astfel, se va executa activitatea "Arhiveaz factur", care este comun pentru
toate cele trei situaii ale unei facturi. Pentru a modela acest lucru, vom folosi un XOR-join. Un gateway
de acest tip acioneaz ca un portal, n sensul c se ateapt un token care s soseasc de-a lungul
unuia dintre arcele de intrare, iar de ndat ce acesta sosete este trimis de-a lungul arcului de ieire.
Cu alte cuvinte, execuia activitilor trece de un XOR-join de fiecare dat cnd se ajunge la acesta de
pe o ramur de intrare care a fost executat n totalitate.
Revenind la exemplul nostru, vom completa modelul de proces cu un eveniment de sfrit denumit
"Factura emis". Asigurai-v c ntotdeauna un model de proces se finalizeaz cu eveniment de sfrit,
chiar dac este evident modul n care procesul se termin.
n al doilea rnd, cele dou secvene "Preia adresa de expediere" - "Expediaz produsul" i "Emite
factur" - "nregistreaz plata", pot fi efectuate n mod independent una de cealalt. Ca urmare ele
sunt incluse ntr-un bloc ntre un AND-split i un AND-join. n realitate, aceste dou seturi de activiti
sunt de obicei executate de resurse diferite din cadrul organizaiei (de ex. un gestionar pentru
expediere i un ofier financiar pentru factur) i, astfel, pot fi executate n paralel. Remarcai cuvntul
"ntre timp", din descrierea procesului, deoarece acesta indic faptul c dou sau mai multe activiti
pot fi efectuate n acelai timp.
S comparm versiunea din Fig. 5 a procesului de onorare a comenzilor cu Fig. 1 n ceea ce privete
evenimentele. Noua versiune dispune de dou evenimente de sfrit n timp ce prima versiune dispune
de un singur eveniment de sfrit. ntr-un model BPMN putem avea mai multe evenimente finale,
fiecare capturnd un rezultat diferit al procesului (de exemplu, comand confirmat fa de comand
respins). BPMN adopt aa-numita terminare semantic implicit, ceea ce nseamn c o instan de
proces se finalizeaz numai atunci cnd fiecare token care curge prin model atinge un eveniment
terminal. n mod similar, putem avea mai multe evenimente de start ntr-un model BPMN, fiecare
eveniment captureaz un declanator diferit pentru a ncepe o instan a procesului. De exemplu, am
putea ncepe procesul de onorare a comenzilor, fie atunci cnd o nou comand de achiziie este
primit fie atunci cnd o comand revizuit este retrimis de un client. n cazul n care o comand
revizuit este retrimis, se pot regsi n primul rnd detaliile comenzii precedente din baza de date de
comenzi, i apoi continua cu restul procesului. Aceast variant a modelului de onorare a comenzilor
este prezentat n Fig. 6. O instan a acestui model de proces este declanat de primul eveniment
care apare (remarcai utilizarea unui XOR-join pentru a fuziona ramuri care provin din dou
evenimente de pornire).
Fig. 6 O variant a procesului de onorarea a unei comenzi, cu dou evenimente declanatoare diferite
Exist dou situaii n care un gateway poate fi omis. Un XOR-join poate fi omis nainte de o activitate
sau un eveniment. n acest caz, arcele de intrare n XOR-join sunt conectate direct la activitate sau la
eveniment. Un AND-split poate fi, de asemenea, omis, atunci cnd urmeaz dup o activitate sau un
eveniment. n acest caz, arcele de ieire ale AND-split-ului vor porni direct din activitatea sau
evenimentul precedent.
n timp ce acest model surprinde scenariul nostru corect, diagrama rezultat este oarecum complicat,
din moment ce avem nevoie de duplicate pentru cele dou activiti de transmitere a sub-comenzilor
ctre cele dou depozitele. i dac am fi avut mai mult de dou depozite, numrul de activiti duplicat
ar crete. De exemplu, dac am avea trei depozite, am avea nevoie de un XOR-split, cu apte brae de
ieire, i fiecare activitate ar trebui s fie duplicat de patru ori. n mod clar aceast soluie nu este
scalabil.
n cea de a doua soluie folosim un AND-split, cu dou arce de ieire, fiecare ducnd la cte un XORsplit cu dou ramuri alternative. Una este urmat in cazul n care comanda conine produse din
Amsterdam/Hamburg, caz n care activitatea de transmitere a sub-comenzii se efectueaz; cealalt
ramur este urmat n cazul n care ordinul nu conine nici un produs din Amsterdam/Hamburg, caz n
care nu se face nimic pn la XOR-join-ul care mbin cele dou ramuri alternative. Apoi, un AND-join
unete cele dou ramuri paralele i procesul se termin prin nregistrarea comenzii.
Care este problema cu aceast a doua soluie? Scenariul din exemplu permite trei cazuri: produsele
sunt doar n Amsterdam, doar n Hamburg, sau n ambele depozite. Dar aceast soluie permite mai
mult cu un caz: atunci cnd produsele nu sunt n nici unul din cele dou depozite. Apare acest caz,
atunci cnd cele dou ramuri goale ale celor dou XOR-split-uri sunt urmate, astfel neexecutndu-se
nici o activitate ntre "Verific produsele comandate" i "nregistreaz comanda". Astfel aceast
soluie, n ciuda faptului c este mai compact dect prima, este greit.
Pentru a modela situaiile n care o decizie poate conduce la alegerea uneia sau a mai multor opiuni,
avem nevoie s lum o decizie inclusiv (OR). Un OR-split este similar cu XOR-split, dar condiiile de pe
ramurile de ieire nu trebuie s se exclud reciproc (adic mai mult de una dintre ele poate fi adevrat
n acelai timp). Cnd execuia procesului ajunge la un OR-split se pot urma una sau mai multe ramuri
de ieire, n funcie de care condiii sunt adevrate. n ceea ce privete semantica token-urilor, acest
lucru nseamn c OR-split-ul consum un token de-a lungul arcului de intrare i genereaz un numr
variabil de token-uri, echivalent cu numrul de condiii de ieire care sunt adevrate. Acest numr
poate fi cel puin unu i cel mult numrul total ramuri de ieire din OR-split. Similar cu un XOR-split, un
OR-split poate fi, de asemenea, urmat de un arc de ieire prestabilit (care este urmat numai atunci
cnd toate celelalte condiii sunt evaluate ca false).
Figura 9 prezint soluia la exemplul nostru folosind un OR-split. Dup ce sub-comanda a fost transmis
la una dintre cele dou depozite sau la ambele, vom folosi un OR-join pentru a sincroniza fluxul i a
continua cu nregistrarea ordinului. Un OR-join este executat atunci cnd toate activitile aflate pe
ramurile de intrare active au fost finalizate. Dup ce toate token-urile distribuite pe ramuri de ctre un
OR-split au ajuns la OR-join, acesta din urm consum toate aceste token-uri i produce unul singur
trimis de-a lungul arcului de ieire (similar cu sincronizarea realizat de un AND-join). Acest
comportament se nume sincronizare unificatoare (syncronizing merge) spre deosebire de simpla
unificare realizat de un XOR-join i de sincronizarea realizat de un AND-join.
S insistm pe conceptul de ramur activ. Privii modelul din Fig. 10, care conine un gateway de tip
nedefinit (cel gri cu un semn de ntrebare). Ce tip ar trebui s-i atribuim? S ncercm un AND-join care
s fie n concordan cu AND-split-ul precedent. Ne amintim c un AND-join-ul ateapt un token dea lungul fiecrui arc de intrare. n timp ce token-ul din ramura de activitatea "C" va ajunge mereu la
AND-join, token-ul din ramura care ncepe cu activitatea "B" nu poate ajunge n cazul n care fluxul este
direcionat ctre "E" de XOR-split-ul intermediar. Deci, n cazul n care activitatea de "D" nu este
Fig. 10 De ce tip ar trebui sa fie join-ul astfel nct instanele procesului sa se execute corect?
nelege corect tipul de gateway necesar pentru a modela realitatea. ncepei cu un XOR-join, ncercai
pe urm un AND-join i n cazul n care ambele gateway conduc la modele incorecte utilizai un ORjoin.
Dat fiind c am parcurs cele trei gateway-uri de baz, putem s extindem procesul de onorare a
comenzilor. S presupunem c n cazul n care produsul nu este in stoc, acesta poate fi fabricat. n acest
fel, o comand nu va mai fi respins.
Exemplul 6: n cazul n care produsul solicitat nu se afl n stoc, acesta trebuie s fie produs nainte de
a continua procesarea comenzii. Pentru fabricarea unui produs, materiile prime necesare trebuie s fie
comandate. Doi furnizori preferai ofer diferite tipuri de materii prime. n funcie de produsul care
urmeaz a fi fabricat, materiile prime pot fi comandate doar de la furnizorul 1 sau doar ce la furnizorul
2, sau de la ambii. Doar dup ce materiile prime sunt disponibile, produsul poate fi fabricat i comanda
poate fi confirmat. Pe de alt parte, n cazul n care produsul este n stoc, acesta este preluat din
depozit nainte de confirmarea comenzii. Apoi procesul continu n mod normal.
Modelul pentru aceast extensie a modelului iniial este cel din figura urmtoare.
revizuire a rspunsului de ctre registratorul principal. Dac registratorul nu aprob rspunsul, acesta
din urm trebuie s fie rescris de ctre eful de cabinet. Procesul se termin numai dup ce rspunsul
a fost aprobat de registrator.
Pentru a modela reluare sau repetarea avem nevoie n primul rnd s identificm activitile, (sau mai
mult, ntreg fragmentul de proces) care pot fi repetate. n exemplul nostru aceasta const din secvena
de activiti "Pregtete rspunsul ministerial" i " Revizuiete rspunsul ministerial". S numim acest
fragment al procesului bloc de repetiie. Proprietatea unui bloc de repetare este c ultima activitate
trebuie s fie o activitate de decizie. De fapt, acest lucru ne permite s decidem dac s ne ntoarcem
la nceputul blocului de repetiie (astfel nct activitile din acesta s poat fi repetate), sau s
continum cu restul procesului. Ca atare, aceast activitate de decizie ar trebui s aib dou rezultate.
n exemplul nostru, activitatea de decizie este "Review rspuns ministerial" i rezultatele sale sunt:
"rspuns aprobat" (n acest caz, se continu cu restul activitilor din proces) i "rspuns neaprobat"
(se execut din nou activitile din blocul de repetiie). Pentru a modela aceste dou posibile rezultate,
vom folosi un XOR-split, cu dou ramuri de ieire: una care ne permite s continum cu restul
procesului (n exemplul nostru, aceasta este pur i simplu evenimentul final "anchet ministerial
finalizat"), i cealalt ramur care merge napoi nainte de activitatea "Pregtete rspunsul
ministerial". Vom folosi un XOR-join pentru a reconecta aceast ramur de revenire la restul modelul
de proces, chiar nainte de blocul de repetiie. Modelul pentru exemplul nostru este ilustrat n Fig. 12.
n acest capitol, ai nvat cum s combinai activiti, evenimente, i gateway-uri pentru a crea un
model de baz. Pentru fiecare element enumerat, am artat care este reprezentarea grafic, am
introdus regulile pentru combinarea cu alte elemente de modelare i am explicat comportamentul n
termeni de reguli simbolice. Toate aceste aspecte se ncadreaz n termenul generic de componente
ale unui limbaj de modelare.
Exerciii recapitulative:
4.2.1. Creai un model BPMN pe baza urmtoarei descrieri: Odat ce o cerere de mprumut este primit
de ctre o banc, i nainte de a ncepe evaluarea ei, cererea trebuie s fie verificat dac a fost
completat corect. n cazul n care cererea este incomplet/incorect completat, acesta este returnat
solicitantului. Acesta poate completa informaiile lips i trimite napoi cererea la banc. Acest proces
se repet pn cnd se constat c cererea este completat corespunztor.
4.2.2. Creai un model BPMN pe baza urmtoarei descrieri: O cerere de mprumut este aprobat dac
trece dou controale: (i) de evaluare a riscului de credit al solicitantului, realizat automat de ctre un
sistem, i (ii) evaluarea proprietii pentru care mprumutul a fost solicitat, efectuat de ctre un
evaluator. Evaluarea riscurilor necesit o verificare a istoricului de creditare a solicitantului, care este
efectuat de ctre un ofier financiar. Dup ce att evaluarea riscului de credit ct i evaluarea
bunurilor au fost efectuate, un ofier de credit poate evalua eligibilitatea solicitantului. n cazul n care
solicitantul nu este eligibil, cererea este respins, n caz contrar documentele de credit sunt pregtite
i transmise solicitantului.
Adesea datele produse ntr-o activitate coincid cu cele de care e nevoie ca intrare ntr-o activitate
ulterioar. De exemplu, odat ce au fost obinute Materii prime (obiectul de date Raw materials),
acestea sunt folosite de activitatea "Manufacture product", pentru a crea un produs. Produsele, la
rndul lor, sunt ambalate i trimise clientului n cadrul activitii "Ship product". n mod eficient,
obiecte de date ne permit s modelm fluxul de informaii ntre activitile din proces. inei minte, cu
toate acestea, c obiecte de date i asociaiile acestora cu activiti nu pot nlocui secvena de flux a
activitilor. Cu alte cuvinte, chiar dac un obiect este trecut de la o activitate la A la o activitate B,
avem nc nevoie pentru a modela secvena de activiti A -> B. O notaie prescurtat pentru trecerea
unui obiect dintr-o activitate n alta este prin conectarea direct a obiectelor de date direct cu arcul
care reprezint fluxul de secven ntre dou activiti consecutive, printr-o asociaie neorientat. A se
vedea, de exemplu, modul n care e modelat asocierea obiectului de date Shipment address cu arcul
care unete activitile "Get shipment address" i "Ship product". Aceasta este o prescurtare care
indic faptul c adresa de expediere este o ieire a activitii "Get shipment address" i o intrare a
activitii Ship product".
Uneori, am putea avea nevoie s reprezentm starea unui obiect de date. De exemplu, activitatea de
confirmare a comenzii "Confirm order" are un ordin de cumprare ca intrare, i returneaz tot un ordin
de cumprare dar n starea confirmat. n mod similar, activitatea "Receive payment" are ca intrare
tot o comand de cumprare confirmat i o transform ntr-una pltit. Un obiect poate trece
printr-o serie de stri. De exemplu, o factur este prima dat "deschis", apoi "aprobat" sau
"respins" i n final "arhivat". Indicarea strii obiectelor de date este opional. Putem face acest
lucru prin adugarea numele strii ntre paranteze ptrate, de exemplu, "Comand [confirmat]",
"produs [ambalat]".
Un depozit de date este un loc care conine obiecte de date care trebuie s fie persistente (s existe si
dup ce o instan a procesului s-a finalizat). De exemplu, o baz de date pentru date electronice sau
un dulap de arhivare pentru cele fizice. Activitile din proces pot citi/scrie obiecte de date din/n baze
de date. De exemplu, activitatea "Verificai disponibilitate stoc" preia valoarea stocului pentru
produsul comandat de la baza de date, care conine informaii cu valoarea stocurilor pentru diverse
produse. n mod similar, activitatea "Verific disponibilitate materii prime", consult catalogul de
furnizori pentru a returna care furnizor trebuie contactat. Baza de date Warehouse DB sau Supplier
Catalog sunt exemple de baze de date n care se stocheaz date produse de activiti. Un exemplu de
depozit de date folosit ca ieire este baza de date Orders BD, care este utilizat de activitate "Archive
order" pentru a stoca comanda de cumprare confirmat. Bazele de date sunt reprezentate ca un
cilindru gol (simbolul tipic pentru o baz de date), cu marginea de sus tripl. Similar cu obiectele de
date, acestea sunt conectate la activiti prin intermediul asociaiilor de date.
ntrebare: Afecteaz perspectiva de date secvena de execuie a activitilor?
Obiectele de date de intrare sunt necesare pentru o activitate care urmeaz s fie executat. Chiar
dac un token este disponibil pe arcul de intrare a acestei activiti, ea nu poate fi executat pn cnd
toate obiectele de date de intrare sunt de asemenea disponibile. Un obiect de date este disponibil n
cazul n care acesta a fost creat ca urmare a finalizrii unei activiti anterioare, sau pentru c este o
intrare a ntregului proces (cum ar fi ordinul de cumprare n exemplu de mai sus).
ntrebare: Trebuie ntotdeauna modelat perspectiva de date?
Obiectele de date ajut cititorul s neleag fluxul de date de la o activitate la alta. Cu toate acestea,
preul includerii perspectivei de date n model este o complexitate crescut a diagramei. Astfel, v
sugerm s le folosii numai atunci cnd acestea sunt necesare pentru un anumit scop, de exemplu,
pentru a evidenia potenialele probleme n procesul de analizat sau pentru automatizare. Uneori, am
putea avea nevoie s furnizm informaii suplimentare pentru cititor, n scopul mbuntirii nelegerii
modelului. De exemplu, n procesul de onorare a comenzilor am putea dori s precizm c activitatea
de expediere a produselor "Ship product" include ambalarea produsului.
De asemenea, ne-am putea dori s clarificm ce regul de afaceri este urmat n cazul alegerii de
materii prime de la furnizori. Astfel de informaii suplimentare pot fi furnizate prin intermediul
adnotrilor textuale. O adnotare este desenat ca un dreptunghi deschis care conine un text, i care
este legat de un element al modelului printr-o linie punctat (denumit tot asociere) - vezi Fig. 13
pentru un exemplu. Adnotri de text nu poart nici o semantic, prin urmare, ele nu afecteaz fluxul
de token-uri prin modelul de proces.
Exerciii recapitulative:
4.3.1. Alturai cele patru fragmente de modele de proces create la problemele anterioare pentru a
constitui perspectiva complet asupra procesului de evaluare a unei cereri de creditare.
Sugestie: examinai cu atenie evenimentele start i stop ale fragmentelor, pentru a putea determina
modul n care acestea se leag ntre ele.
4.3.2. mbogii modelul creat la problema anterioar cu perspectiva de date, conform cunotinelor
voastre generale legate de acest domeniu.
Exist resurse active, adic resurse care pot autonom s execute o activitate, i resurse pasive, adic
resurse care sunt doar implicate n desfurarea unei activiti. De exemplu, un fotocopiator este
utilizat de un contabil pentru a face o copie unui document, dar contabilul este cel care efectueaz
activitatea de copiere. Deci, fotocopiator este o resurs pasiv n timp ce contabilul este o resurs
activ. Un buldozer este un alt exemplu al unei resurse pasive, deoarece oferul desfoar activitatea
de demolare.
Perspectiva de resurse a unui proces este interesat de modelarea resurselor active, deci vom folosi
termenul "resursa" pentru a ne referi la o "resurs activ". Frecvent, ntr-un model de proces nu ne
referim n mod explicit la o singur resurs, cum ar fi de exemplu un angajat John Smith, ci ne referim
la un grup de resurse, de exemplu contabil, care conine indivizi care sunt interschimbabili, n sensul
c orice membru al grupului poate realiza o anumit activitate. Astfel de grupuri sunt numite clase de
resurse. Exemple sunt o organizaie ntreag, o unitate organizaional sau un rol/funcie ndeplinit/
de angajai.
Exemplul 8: Procesul de onorare a comenzilor este efectuat de ctre organizaia vnztoare, care
include dou departamente: departamentul de vnzri; i departamentul de depozitare i distribuie.
Comanda de achiziie este primit de departamentul de depozitare i de distribuie, unde este i
realizat verificarea stocului. Aceast operaiune este efectuat n mod automat de ctre un sistem
ERP care interogheaz baza de date a depozitului. n cazul n care produsul este n stoc, acesta este
preluat din depozit nainte ca departamentul de vnzri s confirme comanda. Dup care,
departamentul de vnzri emite o factur i ateptat ncasarea. n acelai timp, produsul este livrat
de departamentul de depozitare i distribuie. Procesul se termin prin arhivarea comenzii n
departamentul de vnzri. n cazul n care produsul nu este n stoc, sistemul ERP al departamentului de
depozitare i distribuie verific disponibilitatea materiilor prime prin accesarea catalogului de
furnizori. Odat ce materiile prime au fost obinute, departamentul de depozitare i distribuie
realizeaz fabricarea produsului. Procesul se termin cu confirmarea comenzii de achiziie i arhivarea
acesteia de ctre departamentul de vnzri.
BPMN conine dou elemente pentru modelarea resurselor: pools (piscine) i swimlanes (benzi de
not). Pool-urile sunt n general folosite pentru a modela clase de resurse, swimlane-urile sunt utilizate
pentru a mpri un pool n sub-clase sau resurse unice. Nu exist restricii cu privire la resursele
specifice pe care un pool sau un swimlane ar trebui s le modeleze. Se folosete, de obicei, un pool
pentru a modela o afacere parte ca o organizaie ntreag (cum ar fi vnztorul n exemplul nostru), i
un swimlane pentru a modela un departament, unitate, echipa sau sistem software/echipament n
cadrul acestei organizaii. n exemplul nostru, am mpri pool-ul firmei vnztoare n dou swimlaneuri: una pentru departamentul de depozitare si distribuie, cealalt pentru departamentul de vnzri.
Swimlane-urile pot fi imbricate una n alta n mai multe niveluri. De exemplu, dac e nevoie s modelm
att un departament ct i rolurile n acest departament, putem folosi un swimlane exterior pentru
departament, i un swimlane interior pentru fiecare rol din cadrul respectivului departament. n
exemplul de mai sus, am inclus n swimlane-ul Warehouse & Distribution un alt swimlane pentru a
reprezenta Sistemul ERP din acest departament.
Pool-urile i swimlane-urile sunt descrise ca dreptunghiuri n care putem plasa activiti, evenimente,
gateway-uri, precum i obiecte de date. De obicei, se modeleaz aceste dreptunghiuri orizontal, dei
modelarea lor pe vertical este de asemenea posibil. Numele pool-ului/ swimlane-ului este afiat
vertical n partea stng a unui dreptunghi orizontal (sau orizontal n cazul n care piscina / banda este
vertical), pentru pool-uri, i pentru swimlane-uri care conin swimlane-uri imbricate, numele este
nchis ntr-o formaie. Figura 14 prezinta exemplul de onorare a unei comenzi de achiziie n care este
modelat i perspectiva de resurse.
Fig. 14 Modelul procesului de onorare a unei comenzi care include secvena activitilor si perspectiva
resurselor
Este important ca fiecare activitate s fie plasat n interiorul swimlane-ului corect. De exemplu, am
plasat Activitatea "Verific disponibilitate stoc", n swimlane-ul Sistem-ului ERP din Departamentul
Warehouse & Distribution pentru a indica faptul c aceast activitate se realizeaz automat de acest
sistem. De asemenea, este important s se plaseze evenimentele n mod corespunztor n cadrul
swimlane-urilor. n exemplul nostru am plasat evenimentul "Ordin cumprare primit" n swimlane-ul
sistemului ERP pentru a indic faptul c procesul ncepe n sistemul ERP din Departamentul Warehouse
& Distribution. De asemenea. am plasat evenimentul "Comand finalziat" n pool-ul Departamentului
de vnzri pentru a indica faptul c procesul de finalizeaz n acest departament. Nu are importan n
ce swimlane sunt plasate obiectele de date, deoarece ele depind de activitile de care sunt i nu au
un executor. n cazul gateway-urilor, trebuie s plasm (X)OR-split-urile n acelai swimlane ca i
activitatea de decizie imediat precedent. Pe de alt parte, un gateway ANDsplit poate fi plasat n
orice swimlane, deoarece aceste elemente sunt pasive (n sensul c ele se comport n funcie de
contextul lor).
Se pot organiza swimlane-uri ntr-un pool sub forma unei matrice n cazul n care avem nevoie s
modelm structuri organizaionale complexe. De exemplu, dac avem o organizaie n care rolurile
cuprind diferite departamente, am putea folosi swimlane-uri orizontale pentru a le modela. Dar, am
putea folosi i swimlane-uri verticale pentru a modela rolurile n cadrul acestor departamente. inei
minte, totui, c n BPMN fiecare activitate poate fi efectuat de ctre o singur resurs. Astfel, n cazul
n care o activitate se afl n intersecia unui swimlane orizontal cu un swimlane vertical, ea va fi
efectuat prin resursa care ndeplinete caracteristicile ambelor swimlane-uri, de exemplu, o resurs
care are rolul respectiv dar i aparine acelui departament.
Deseori, exist mai mult pri implicate ntr-un proces de afaceri. De exemplu, n procesul de onorare
a comenzilor, exist patru pri: vnztorul, clientul i cei doi furnizori ai vnztorului. Fiecare parte
poate fi modelat printr-un pool. n exemplul nostru, putem folosi, astfel, un pool pentru client, unul
pentru vnztor i unul pentru fiecare furnizor. Fiecare dintre aceste pool-uri va conine activiti,
evenimente, gateway-uri, precum i obiectele de date care modeleaz respectiva organizaie. Sau
altfel spus, fiecare pool va modela acelai proces de afaceri din punctul de vedere al unei anumite
organizaii. De exemplu, evenimentul "Ordin cumprare primit", care se afl n pool-ul Vnztorului,
va avea o activitate corespunztoare "Trimite ordin de cumprare", care se afl n pool-ul Clientului.
n mod similar, activitatea de "Experiaz produs" din pool-ul Vnztorului vor avea n contrapartid
activitatea "Primete produs" n pool-ul clientului. Deci, cum putem modela interaciunile dintre poolurile a dou organizaii care colaboreaz? Nu putem folosi un flux de secven pentru a conecta
activiti care aparin diferitelor pool-uri deoarece secvena flux nu poate trece grania unui pool.
Pentru aceasta, avem nevoie s utilizm un element specific numit flux de mesaje.
Un flux de mesaje reprezint fluxul de informaii ntre dou clase de resurse separate (pool-uri). Acesta
este descris ca o linie ntrerupt, care ncepe cu un cerc gol i se termin cu un vrf de sgeat gol, i
poart o etichet care indic coninutul mesajului (de exemplu un fax, o comand de cumprare, dar,
de asemenea, o scrisoare sau un apel telefonic). Adic, fluxul de mesaje modeleaz curgerea oricrui
tip de comunicare ntre cele dou organizaii, nu conteaz dac acest lucru este electronic (cum ar fi
trimiterea unui ordin de cumprare prin e-mail sau transmiterea unui fax), sau manual (efectuarea
unui apel telefonic sau predarea unei scrisori pe hrtie).
Figura 15 prezinta modelul complet pentru onorarea unei comenzi de cumprare, inclusiv pool-uri
pentru client i cei doi furnizori. Aici putem vedea c fluxurile mesaj sunt etichetate informaiile pe
care le transmit (de exemplu, "Materii prime" sau "Expediere adresa". Un flux de mesaje de intrare
poate conduce la crearea unui obiect de date de ctre activitatea care primete mesajul. De exemplu,
mesajul "Materii prime" este primit de activitate "Obinerea de materii prime de la Furnizor 1", care
apoi creeaz obiectul de date "Materii prime". Acesta este i cazul comenzii de cumprare, care este
generat de evenimentul de start "Comand de cumprare primit" din coninutul fluxului de mesaje
primite. Nu e nevoie s creai un obiect de date pentru fiecare flux de mesaje recepionat, numai atunci
cnd informaiile vehiculate prin mesaj sunt necesare n alt parte n proces. n cazul nostru, obiectul
de date "materii prime", este consumat de activitate "Fabricare produse". n mod similar, nu avem
nevoie s reprezentm n mod explicit obiectul de date folosit ntr-un mesaj de ieire, dac acest obiect
de date nu este necesar n alt parte n proces. De exemplu, activitatea "Emite factur" genereaz o
factur care este trimis clientului, dar nu este modelat nici un obiect de date "factur", deoarece
acesta nu este consumat de ctre o alt activitate n pool-ul Vnztorului.
O diagram BPMN care dispune de dou sau mai multe pool-uri poate fi numit i diagram de
colaborare. Figura 15 arat diferite utilizri ale unui pool ntr-o diagram de colaborare. Un pool (cum
ar fi cel al Vnztorului) se numete proces privat, sau white box pool, din moment ce arat cum
organizaia vnztorului particip efectiv la procesul de onorare a comenzilor n ceea ce privete
activitile, evenimentele, gateway-urile, precum i obiectele de date. Dimpotriv, un pool cum este
cel al clientului sau cele ale celor doi furnizori se numete proces public, sau black box pool, deoarece
ascunde modul n care aceste organizaii particip efectiv n onorarea comenzilor. Pentru a economisi
spaiu, putem reprezenta un proces public printr-un dreptunghi gol care poart numele la mijloc.
ntrebare: Black-box (proces public) sau White-box (proces privat)?
Modelarea unui pool ca un proces public sau unul privat este o chestiune de relevan. Cnd se
modeleaz o diagram de colaborare, o organizaie poate decide dac i expune sau nu
comportamentul ei intern, n funcie de cerinele proiectului. De exemplu, dac modelm procesului
de onorare a comenzilor din perspectiva vnztorului, ar putea fi relevant s expunem procesul de
afaceri doar al vnztorului, dar nu i cel al clientului i furnizorilor. Adic, comportamentul intern al
clientului i cel al furnizorilor nu sunt relevante pentru nelegerea modul n care vnztorul ar trebui
s onoreze comenzile de cumprare, i, ca atare, acestea pot fi ascunse. Pe de alt parte, n cazul n
care avem nevoie s mbuntim modul n care vnztorul i onoreaz comenzile de cumprare, near putea interesa, de asemenea, ce trebuie s fac un furnizor s livreze materii prime, pentru c o
ntrziere n furnizarea de materii prime va ncetini fabricarea produselor n organizaia vnztorului.
n acest caz, ar trebui s reprezentm, de asemenea, furnizorii, folosind procese private.
Tipul de pool afecteaz modul n care folosim fluxul de mesaje pentru a ne conecta la pool. Un mesaj
poate trece grania unui pool white box i se poate conecta direct la o activitate sau un eveniment n
cadrul acestui pool. De exemplu, mesajul prin care se transmite comanda de cumprare se termin la
evenimentul de start n pool-ul Vnztor. Pe de alt parte, deoarece un pool black-box este gol,
fluxurile de mesaje trebuie s se opreasc la grani sau s porneasc de la aceasta. inei cont de
faptul c un flux de mesaje este utilizat doar pentru a conecta dou pool-uri i nu pentru a conecta
dou activiti n acelai pool (n acest caz folosim o sgeat care indic secvena).
O activitate care este sursa unui mesaj, cum ar fi "Emite factur" din pool-ul Vnztor se numete o
activitate de trimitere. Mesajul este trimis la finalizarea execuiei activitii. Pe de alt parte, o
activitate care primete un mesaj - cum ar fi "Preia adresa de livrare" este activitate receptor. Execuia
unei astfel de activiti nu va fi ncepe pn cnd mesajul de intrare nu a fost primit. O activitate poate
att s primeasc dar i s trimit mesaje, atunci cnd aceasta are att un flux de mesaje de intrare ct
i unul de ieire (de exemplu, "Pltete factura"). Executarea acestei activiti va ncepe atunci cnd
att token-ul aferent fluxului de control ct i mesajul de intrare este receptat. La finalizarea activitii,
un token va fi trimis de-a lungul arcului de ieire dar i mesajul va fi trimis. n cele din urm, atunci
cnd un flux de mesaje este receptat de un eveniment de start (ca i "Comand de cumprare primit")
acest eveniment va fi marcat cu un plic deschis (vezi Fig. 15). Acest tip de eveniment este numit
eveniment mesaj. Un eveniment mesaj poate fi legat la un obiect de date, modelndu-se astfel
stocarea coninutului mesajului de intrare.
Fig. 15 Modelul procesului de onorare a unei comenzi care include i colaborarea (mesajele) ntre vnztor,
cumprtor i doi furnizori
n exemplul de onorare a comenzilor am folosit pool-uri pentru a reprezenta prile implicate ntr-un
proces de afaceri i swimlane-uri pentru a reprezenta departamentele i sistemele n cadrul
organizaiei vnztorului. Am ales acest mode de modelare pentru c am vrut s ne concentrm asupra
interaciunilor dintre vnztor, client i cei doi furnizori. Aa cum am menionat mai nainte, astfel se
utilizeaz n mod tipic pool-urile i swimlane-urile. Cu toate acestea, din moment ce BPMN nu prescrie
ce tipuri de resurse ar trebui s fie asociate cu pool-urile i swimlane-urile, am putea folosi aceste
elemente diferit. De exemplu, n cazul n care se pune accent pe interaciunile dintre departamente
ale unei organizaii, putem modela fiecare departament ca un pool, i putem folosi swimlane-urile
pentru a detalia resursele din cadrul fiecrui departament (de exemplu, n uniti sau roluri). n orice
caz, ar trebui s evitm s folosim pool-urile i swimlane-urile pentru a modela participanii cu numele
lor (deoarece persoanele tind s se schimbe frecvent n cadrul unei organizaii), i mai degrab ar trebui
s folosim rolul participantului (de exemplu, funcionar financiar). Pe de alt parte, putem folosi poolurile i swimlane-urile pentru a reprezenta software-ul specific, sisteme sau echipamente (de exemplu,
un sistem ERP), deoarece acestea schimba mai rar ntr-o organizaie.
Exerciii recapitulative:
4.4.1. Extindei modelul de proces aferent evalurii unei cereri de acordare a unui credit prin
adugarea perspectivei resurselor pe baza urmtoarei descrieri:
Procesul de evaluare a cererilor de credit este executat de patru roluri din cadrul unei bnci: un
funcionar financiar verific istoricul de credit al solicitantului, un evaluator de proprieti este
responsabil pentru evaluarea garaniilor imobiliare, un funcionar de la departamentul asigurri trimite
solicitantului oferta de asigurare n cazul n care acest lucru este necesar. Toate celelalte activiti sunt
efectuate de ctre consultantul de credite, care este principalul punct de contact cu solicitantul.
4.4.2. Extindei modelul de proces de la exerciiul precedent prin modelarea interaciunii (schimbului
de mesaje) ntre banc i client.
Recapitulare
La sfritul acestui curs, ar trebui s fii n msur s citii, s nelegei i s putei construi un model
de proces de afaceri folosind elementele de modelare de baz ale BPMN. Elementele de baz ale unui
model de proces BPMN includ: activiti simple, evenimente, gateway-uri, obiecte de date, pool-uri, i
swimlane-uri. Activitile modeleaz lucrul din cadrul unui proces. Evenimente definesc nceputul i
sfritul unui proces, i semnalizeaz dac ceva ce se ntmpl n timpul executrii sale. Gateway-urile
modeleaz: decizii exclusive sau inclusive urmate de unirea ramurilor, paralelism urmat de
sincronizare, respectiv repetiie.
S-a mai explicat diferena ntre un model de proces i o instan a procesului. Un model de proces
descrie toate modurile posibile, prin care un proces de afaceri poate fi executat. Pe de alt parte, o
instan de proces denot o execuie specific a unui proces din toate modurile de execuie posibile.
Progresul execuiei, sau starea, unei instane de proces este reprezentat de distribuia token-urilor n
model. Folosind token-uri putem defini comportamentul gateway-urilor.
Ai mai nvat cum s folosii obiectele de date pentru a modela fluxul de informaii ntre activiti i
evenimente. Un obiect de date captureaz un artefact fizic sau electronic: necesar pentru a executa o
activitate sau a declana un eveniment; sau care rezult din execuia unei activiti sau din declanarea
unui eveniment. Obiecte de date pot fi stocate ntr-un depozit de date (cum ar fi o baz de date sau
dulap fizic) astfel nct s poat fi stocate n afara procesului n care acestea sunt/au fost create.
De asemenea, ai vzut c pool-urile i swimlane-urile pot fi folosite pentru a modela att resursele
umane ct i cele non-umane, care desfoar activiti din proces. Pool-urile sunt clase de resurse, n
general, n timp ce swimlane-urile sunt folosite pentru a mpri pool-urile n sub-componente.
Interaciunea dintre pool-uri este modelat prin fluxuri de mesaje. Fluxurile de mesaje pot fi conectate
direct de marginile unui pool, dac detaliile interaciunii ntre transmitor i receptor nu sunt
relevante.
Activitile, evenimentele, gateway-urile, artefactele, i resursele aparin celor 3 perspective principale
de modelare ale unui proces de afaceri. Punctul de vedere funcional surprinde activitile care sunt
efectuate ntr-un proces de afaceri, n timp ce perspectiva control-flow combina aceste activiti i
evenimentele conexe stabilind necesitatea desfurrii acestora ntr-o anumit ordine. Perspectiva de
date acoper artefactele create i manipulate n timpul execuiei procesului. Perspectiva de resurse
acoper resursele (umane i non-umane) care efectueaz diverse activiti.
Exerciii Recapitulative
ER1: Ce fel de tipuri de split-uri i join-uri pot fi modelate ntr-un model de proces? Creai un model,
bazat pe un exemplu din lumea real, pentru fiecare din ele.
ER4: Modelai urmtorul proces pentru evaluarea riscului acordrii unui credit:
Atunci cnd o nou cerere de credit este primit, riscul presupus de acordarea respectivului credit este
evaluat. Dac riscul este peste un anumit prag, o evaluare avansat a riscului trebuie s fie efectuat.
Altfel o evaluare simpl a riscurilor este suficient. Dac evaluarea a fost finalizat, clientul este
notificat cu rezultatul evalurii, iar ntre timp plata sumei creditate este organizat. Pentru simplificare,
presupunem c rezultatul unei evaluri este ntotdeauna pozitiv.
o cerere pentru despgubiri de la proprietar. Grefierul scoate din arhiva imobiliar datele imobilului
respectiv i controleaz att dac cererea este completat acceptabil pentru depunere, ct i dac este
n conformitate cu datele din arhiva imobiliar. Stabilirea unei date pentru audiere reclam plata unor
taxe de ctre proprietar. S-ar putea c proprietarul a pltit deja taxele odat cu cererea, caz n care
casierul stabilete o data de audiere i procesul se termin. Dar se poate c sunt necesare costuri
suplimentare, iar proprietarul a pltit deja, de asemenea, aceste taxe. n acest caz, casierul genereaz
o chitan pentru taxe i venituri suplimentare i stabilete data audierii. n cele din urm, n cazul n
care proprietarul nu are achitate taxele necesare, casierul emite o notificare de plat i ateapt ca
proprietarul s plteasc taxele nainte de a reevalua conformitatea cererii de despgubire.
ER7: Poate fi executat n mod corect urmtorul model? Daca nu, de ce? Cum poate fi corectat fr a
afecta faptul c F, G i E trebuie s rmn ntr-o revenire.
ER8: Extindei modelul din exerciiul ER6 prin adugarea perspectivei de date.
ER9: Extindei modelul din exerciiul ER8 prin adugarea perspectivei resurselor. Exist resurse nonumane?