Sunteți pe pagina 1din 6

4

Diagramele

tranziţie

de

activităţi

şi

diagramele

stărilor

de

Modelul domeniului, realizat în etapa de analiză a unui sistem informaţional, trebuie să conţină descrieri ale fluxurilor de activităţi specifice funcţionalităţilor sistemului şi descrieri ale stărilor prin care trec unele obiecte.

4.1 Diagramele de activităţi

Diagramele de activităţi se pot defini pentru descrierea:

1. elementelor interne unui anumit caz de utilizare (scenariile de lucru);

2. logicii unor metode (extinzând semantica schemelor logice);

3. descrierea fluxurilor de lucru în general, altfel spus descrierea paşilor de lucru necesari atingerii un anumit obiectiv, fără ca acestea fluxuri de lucru să fie strict legate de sistemele informaţionale, ci doar de domeniul unei afaceri. Diagramele de activităţi conţin:

Element Reprezentare Descriere grafică nod iniţial locul din care începe fluxul de activităţi nod final
Element
Reprezentare
Descriere
grafică
nod iniţial
locul din care începe fluxul de activităţi
nod final
locul în care se termină fluxul de activităţi
Flux
Un
conector
care
arată
ordinea
de
execuţie
a
celorlaltor
elemente
Acţiune
Un pas dintr-o activitate, ce poate eventual să fie definit mai în
detaliu cu ajutorul altei diagrame de activităţi.
nod de decizie
Blocul de decizie ce poate avea un flux de intrare şi două sau
mai multe fluxuri de ieşire. Pot fi folosite atât pentru crearea
structurilor alternative simple/generalizate, cât şi pentru
crearea structurilor repetitive condiţionate anterior/posterior
Rol
[text]
O
condiţie ce trebuie îndeplinită pentru a se continua execuţia
pe
un anumit flux. Se ataşează de obicei fluxurilor de ieşire din
blocurile de decizie.
nod de unire
Bloc de unire a fluxurilor de ieşire din nodurile de decizie.
nod de bifurcare
Bloc de creare a mai multor fire de execuţie concurente.
nod de joncţiune
Bloc de unire a mai multor fire de execuţie.
nod obiect
Grup de date transmise pe un flux.
linii de
departajare
Element de grupare a acţiunilor în funcţie de persoanele /
grupurile de persoane responsabile de îndeplinirea acestora.
Fiecare activitate este alocată unui anumit grup de activităţi
(unei partiţii create de liniile de departajare), fără ca poziţiile
relative ale activităţilor să aibă o semnificaţie, fluxurile fiind
libere să traverseze partiţiile la care nu se referă.

Fig. 1 Elementele unei diagrame de activităţi

Activităţile prezentate în această diagramă se pot desfăşura în mod paralel, făcând din diagramele de activitate instrumente excelente de folosit în cazul aplicaţiilor cu mai multe

fire de execuţie sau în cazul operaţiilor în care diverşi membri ai unei echipe au diverse sarcini de îndeplinit pentru atingerea unui anumit obiectiv. În cadrul diagramei de activităţi pot fi introduse şi obiecte care sunt afectate de acţiunile descrise, astfel vorbind de noduri obiect. Fluxurile din diagrama de activităţi sunt de două feluri: fluxuri de control şi fluxuri obiect. Fluxurile de control sunt acele fluxuri care arată succesiunea execuţiei acţiunilor şi a activităţilor, iar fluxurile obiect sunt fluxurile dintre acţiuni sau activităţi şi obiectele afectate. Când un obiect are două fluxuri obiect, unul de ieşire dintr-o activitate (de care a fost afectat) şi unul de intrare într-o altă activitate (pe care o declanşează), între cele două activităţi nu mai sunt necesare fluxuri de control explicite. Diagrama următoare prezintă fluxul de activităţi specific procesului de admitere la

facultate.

activităţi specific procesului de admitere la facultate. Fig. 1 Diagrama de activităţi în procesul de admitere

Fig. 1 Diagrama de activităţi în procesul de admitere

Diagrama de activităţi poate fi folosită pentru a descrie toate activităţile realizate cu un anumit scop şi nu doar un obiect cu stările lui succesive. Dacă după citirea diagramei din figura 1 vom descoperi că putem avea întrebări ce ţin de starea unui anumit dosar, înseamnă că se impune completarea modelului domeniului şi cu o diagramă a stărilor de tranziţie pentru clasa Dosar. Deoarece diagrama nu face referire la un singur dosar, atunci o citim din punctul de vedere al conducerii facultăţii şi nu din punctul de vedere al unui anumit candidat. Diagrama de mai sus ne descrie un flux de acţiuni şi poate fi folosită în scopul uşurării organizării unui proces de admitere, inclusiv la transmiterea experienţelor acumulate viitoarelor persoane implicate în această activitate.

Toate obiectele din diagramă de până la primul nod de unire (primul romb) pot fi incluse într-o activitate mai mare (Înscriere), deoarece într-o activitate putem avea alte activităţi şi acţiuni. Diagrama ne arată că în perioada de înscriere au loc în paralel cinci activităţi: încasarea taxei de înscriere, depunerea dosarelor, operarea, verificarea şi corectarea lor. Execuţia în paralel este reprezentată cu un conector de bifurcare. Trebuie evitată folosirea în astfel de cazuri a nodurilor de decizie, deoarece ele nu arată execuţia în paralel a activităţilor, ci execuţia unei singure activităţi din grupul respectiv, în funcţie de o condiţie. Forma actuală a diagramei nu ne arată:

- cine este responsabil de fiecare activitate;

- ordine procesării unui anumit dosar; Responsabilul pentru o activitate poate fi scos în evidenţă cu ajutorul liniilor de departajare (swimlane). Acestea nu sunt însă obligatorii. În exemplul de mai sus, nu au fost introduse astfel de linii, pentru a nu creşte complexitatea diagramei şi deoarece, în mare, fiecare activitate ar fi corespuns unui alt grup de persoane. Ordinea procesării unui dosar poate fi prezentată într-o diagramă a stărilor de tranziţie, diagrama de activităţi nereuşind singură să modeleze întregul domeniu al problemei. Cu diagramele de activităţi putem descrie şi logica de implementat într-o metodă, procedură sau proiect. În exemplul următor descriem logica unei aplicaţii ce generează anumite rapoarte sub forma unor fişiere pe baza unor date importate tot din fişiere. Acţiunea „creare raport” este detaliată tot cu ajutorul unei diagrame de activităţi.

detaliată tot cu ajutorul unei diagrame de activităţi . Fig. 2 Diagrama de activităţi specifică unei

Fig. 2 Diagrama de activităţi specifică unei aplicaţii de import şi export de date

Fig. 3 Diagrama de activităţi „ Creare raport ” specifică obţinerii unui raport sub formă

Fig. 3 Diagrama de activităţi „Creare raport” specifică obţinerii unui raport sub formă electronică

4.2 Diagramele stărilor de tranziţie

Diagramele stărilor de tranziţie sunt utilizate în prezentarea stărilor prin care trec diferite tipuri de obiecte, precum şi evenimentele care determină tranziţiile de la o stare la alta. Astfel de diagrame se realizează doar pentru clasele al căror comportament este influenţat de schimbările de stare a obiectelor. Elementele componente ale unei diagrame a stărilor de tranziţie seamănă izbitor de mult cu cele ale unei diagrame de activităţi: tranziţii (reprezentate grafic asemănător cu fluxurile), stări (reprezentate grafic asemănător cu acţiunile), noduri iniţiale, noduri finale, noduri de decizie, roluri şi noduri de unire. Deşi simbolurile grafice utilizate în diagramele de activităţi seamănă cu cele folosite în diagramele stărilor de tranziţie, acestea sunt două diagrame total diferite ca semantică. Diferenţele majore sunt date în special de faptul că activităţile din diagramele de activităţi nu fac referire numai la instanţele unei clase ca diagramele stărilor de tranziţie. Diagramele de activităţi conţin în plus faţă de diagramele stărilor de tranziţie, elemente specifice prelucrărilor pe mai multe fire de execuţie (prelucrări sincrone şi prelucrări asincrone).

O stare este caracterizată de valorile proprietăţilor unui obiect şi de mulţimea mesajelor care pot fi acceptate de către acest obiect la un moment dat. O stare conţine acţiuni iniţiale, acţiuni finale şi tranziţii interne, o tranziţie internă putând conţine mai multe acţiuni. O acţiune poate consta în executarea unei anumite proceduri. În cadrul diagramelor stărilor de tranziţie pot fi introduse şi stări compuse, ce conţin un număr finit de stări simple sau alte stări compuse. Un obiect aflat într-o stare compusă se va afla în una şi numai una din substările acesteia. O astfel de stare poate fi detaliată printr-o altă diagramă a stărilor de tranziţie. Diagramele stărilor de tranziţie conţin o serie de stări, cum ar fi:

starea iniţială: indică starea unui obiect, înainte ca orice acţiune din diagramă să se fi realizat:

starea finală: indică distrugerea obiectului sau terminarea unei stări compuse şi revenirea la diagrama de stare superioară;

starea istoric: este utilizată atunci când substarea iniţială a unei stări compuse nu este fixată decât pentru prima tranziţie spre această stare compusă. Un eveniment este apariţia unui stimul ce poate duce la o tranziţie de la o stare la alta. Există totuşi şi tranziţii ce nu au un eveniment declanşator. O tranziţie exprimă trecerea unui obiect dintr-o stare (sursă) în alta (destinaţie) şi prezintă, eventual, acţiunile specifice acestei treceri. Tranziţiile se reprezintă grafic prin intermediul unor arce de cerc sau linii drepte. Trecerea de la o stare la alta se poate realiza prin două tipuri de structuri fundamentale de control: structuri secvenţiale şi structuri alternative. Secvenţa este conexiunea directă dintre două sau mai multe elemente, iar structura alternativă este structura ce permite alegerea stării următoare în funcţie de o anumită condiţie. Prin combinarea acestor două structuri se pot obţine şi structuri repetitive. O tranziţie poate avea ca şi condiţie de declanşare (guard condition) o expresie logică. După apariţia evenimentului declanşator se evaluează expresia logică. Dacă aceasta este adevărată se declanşează tranziţia, dacă nu este adevărată nu se declanşează tranziţia. Condiţia de declanşare se scrie între paranteze drepte după numele tranziţiei. Structurilor secvenţiale li se pot ataşa conectori de bifurcare (ramificare) sau conectori de joncţiune (implementează operatorul logic AND). Cu ajutorul unui conector de bifurcare se poate face tranziţia (sincronă sau asincronă) de la o stare la două sau mai multe stări. Conectorul de joncţiune face trecerea la o stare după trecerea prin două sau mai multe stări anterioare. Aceşti conectori se folosesc doar dacă obiectul analizat poate avea mai multe substări în acelaşi timp. În diagrama din figura 5.1 este redat un exemplu de diagramă a stărilor de tranziţie realizată pentru clasa Comandă dintr-un sistem de gestiune a comenzilor clienţilor.

dintr- un sistem de gestiune a comenzilor clienţilor. Fig. 5.1 Diagrama stărilor de tranziţie pentru clasa

Fig. 5.1 Diagrama stărilor de tranziţie pentru clasa Comandă

Comanda, după ce este completată cu produsele cerute de client, intră în starea Neprocesată până la momentul luării unei decizii privind aprobarea acesteia. Decizia este un element specific sistemului de conducere. Cum sistemul de conducere este diferit de sistemul informaţional şi de sistemul operaţional, putem spune că diagramele stărilor de tranziţie (ca şi diagramele de activităţi) sunt folosite pentru a prezenta modelul afacerii şi nu doar sistemul informaţional economic respectiv.

O comandă în starea Neaprobată îşi termină ciclul de viaţă. Starea Neaprobată poate fi detaliată cu o nouă diagramă a stărilor de tranziţie în care fiecare substare să conţină şi motivul neaprobării: depăşirea soldului admis clientului respectiv, probleme tehnice de producţie, probleme de expediere sau alte motive. Cum o comandă poate fi respinsă din mai multe motive, substările stării Neaprobată pot fi reprezentate împreună cu conectori de bifurcare şi de joncţiune. Şi starea În curs de producţie poate fi detaliată cu o nouă diagramă prin care să fie reprezentate stările specifice procesului de producţie. O comandă în starea Aprobată intră într-un proces de onorare, care include verificarea stocului curent, eventuala producţie a produselor ce nu se află pe stoc şi livrarea comenzii. Onorarea comenzii presupune şi ea terminarea ciclului de viaţă a comenzii (chiar dacă acest obiect este persistent). Exemplul conţine şi condiţii de declanşare ale tranziţiilor. Pe lângă condiţiile de declanşare specifice structurilor alternative se prezintă şi condiţii de declanşare în structuri secvenţiale. De exemplu, tranziţia de la starea În curs de producţie la starea În curs de livrare se face la apariţia ca şi eveniment declanşator a unui document ce atestă terminarea unui lot de producţie (bon de predare primire) şi după compararea cantităţilor de pe stoc cu cele comandate.