Sunteți pe pagina 1din 21

CURS 3

ISS – Capitolul 3

3. MODELAREA PROCESELOR ŞI SISTEMELOR SOFT

3.1. Modelarea sistemelor


3.2. Domeniul aplicaţiei: procese şi produse
3.2.1. Ingineria proceselor organizaţionalee (Business Process Engineering)
3.2.2. Ingineria sistemelor soft
3.3. Instrumente folosite în modelarea sistemelor soft
3.3.1. Tipuri de modele şi instrumente
3.3.2. Diagrame entitate-relaţie
3.3.3. Diagrame de flux de date

3.1. Modelarea sistemelor


Definiţii
– modelare - procesul de reprezentare a elementelor sau esenţei unui sistem sau
fenomen
– model - o reprezentare simplificată a unui sistem sau fenomen, împreună cu orice
ipoteze necesare pentru a descrie sistemul sau a explica fenomenul.
Motive pentru modelare (cel puţin acestea):
– (a) este mai ieftină şi mai uşoară decât folosirea originalului
– (b) modelul poate fi testat chiar şi până la distrugere şi este mai sigur să se lucreze cu
modelul decât cu originalul
– (c) modelul se poate folosi la explorarea limitelor proiectului
– (d) modelul se poate face mare sau mic (mări sau micşora)
– (e) modelul se poate face mai rapid, mai lent sau se poate executa în timp real
– (f) modelul se poate folosi pentru instruire

1
Materii prime Produse finite
sau date sau informaţie
Transformare
sau
prelucrare
3.2. Domeniul aplicaţiei: procese şi produse
Reacţie Calitate/
(feedback)
3.2.1. Ingineria proceselor organizaţionale cantitate
Business Process Engineering (BPE)
• Martin, J. Information Engineering, Book II – Planning and Analysis, Prentice-Hall, 1990
•Informaţii
Businessde(B)
piaţă,
= organizaţie, afacere Control
standarde,
• BPE: ingineria proceselor organizaţionale
reglementări
autoreglare
BPE: scop autocorecţie
• definirea arhitecturii care permite B să folosească eficient informaţia
• viziune integrată, de ansamblu
BPE: sarcini
• stabileşte cum pot sistemele informaţionale să sprijine cât mai bine obiectivele strategice ale
B
• studiază la început întreaga organizaţie, apoi diviziunile acesteia
• creează modele ale organizaţiei, modele de date şi de procese
• creează un cadru pentru îmbunătăţirea gestiunii, controlului şi distribuirii informaţiei
BPE: arhitecturi de analizat
 arhitectura datelor: oferă un cadru pentru nevoile de informaţie pentru toată organizaţia sau o
funcţie a acesteia
 componente: entităţi (obiecte purtătoare de date) folosite de organizaţie
 entitatea conţine atribute ce definesc aspectul, calitatea, caracteristica sau
descriu datele
 relaţii între entităţi: specifică modul în care obiectele sunt legate între ele
 gestiunea entităţilor: transmiterea lor între diverse funcţii ale organizaţiei, memorarea
lor într-o BD, transformarea lor pentru a furniza informaţia necesară organizaţiei
 arhitectura aplicaţiilor
 infrastructura tehnologică
 arhitectura aplicaţiilor: cuprinde acele elemente ale sistemului real care transformă entităţile
din arhitectura datelor pentru un anumit scop specific acestuia.
 sisteme soft: programe care transformă entităţile pentru a produce informaţie
 roluri: transformă şi utilizează informaţia
 proceduri manuale: efectuate de oameni
 infrastructura tehnologică: asigură baza pentru arhitecturile de date şi aplicaţii.
 hardware: calculatoare, sisteme de memorare,
 software: sisteme de operare, arhitecturi soft
 reţele: cabluri, conectori, procesoare de comunicaţie

2
Ierarhia BPE
Planificarea
Organizaţia strategică a
informaţiei
Diviziune a (Imaginea
organizaţiei universului)

Diviziune a Analiza
organizaţiei diviziunii
Cerinţă de organizaţiei
prelucrare (Imaginea
domeniului)
Sistem Proiectarea
informaţional sistemului
(Imaginea
elementului)

Construirea
şi integrarea
(Imaginea
detaliată)

3.2. Domeniul aplicaţiei: procese şi produse

3.2.1. Ingineria proceselor organizaţionale (cont)


Ierarhia BPE: etape
 Planificarea strategiei informaţionale (Information Strategy Planning, ISP)
 Analiza diviziei/ramurii/sectorului organizaţiei (Business Area Analysis, BAA)
 modelarea proceselor/serviciilor
 stabilirea relaţiilor dintre procese şi date
 Ingineria aplicaţiilor (Application Engineering, Software Engineering)
 modelarea aplicaţiilor/procedurilor din diviziunea respectivă, cu respectarea
restricţiilor ISP
 Construirea şi punerea în exploatare a aplicaţiiilor

Planificarea strategiei informaţionale (ISP)


 aspecte manageriale
 definirea obiectivelor strategice
 objective, obiectiv: enunţ general al direcţiei dorite, pe termen lung
 goal, scop: obiectiv măsurabil, pe termen mai scurt
 reducerea costului de producţie
 subgoal, subscop: scop mai detaliat, restrâns
 scăderea procentului de defecte cu 10%,
 reducerea costurilor de achiziţie a subansamblurilor de la furnizori cu
5%,
 reproiectarea a 34% din componente pentru reducerea costurilor de
asamblare)
 identificarea factorilor de succes şi a regulilor de activitate (business rules)
 analiza impactului tehnologic
 analiza sistemelor strategice

3
 aspecte tehnice
 crearea modelului de date al organizaţiei

Analiza diviziei (sectorului, ramurii) organizaţiei, BAA


 definirea grupurilor coerente de funcţii şi date ale organizaţiei
 în mare aceleaşi activităţi ca şi ISP, reduse la o singură diviziune funcţională a organizaţiei
 identificarea sistemelor informaţionale existente şi determinarea compatibilităţii acestora cu
noul model ISP
 sistemele cu probleme
 sistemele incompatibile cu noul model
 începerea stabilirii priorităţilor de re-inginerie
 modele rezultate
 modele de flux de procese (prelucrări)
 model de date
 diagrama de descompunere a proceselor
 matrici de relaţii (entităţi/procese, etc)

3.2.2. Ingineria sistemelor soft ISS


Ingineria
Ierarhia ISS Sistemul cerinţelor
informaţional al (Imaginea
organizaţiei universului)
Domeniu de
aplicaţie

Hardware Software Ingineria


componentelor
Cerinţă de (Imaginea
prelucrare domeniului)

Interfeţe Date Funcţiuni Comporta- Modelarea în ana-


ment liză şi proiectare
(Imaginea
elementului)
Componentă
a sistemului Construirea
şi integrarea
(Imaginea
detaliată)

4
Şablon de arhitectură pentru sistemele soft

Prelucrarea interacţiunii
cu utilizatorul

Funcţii de prelucrare
Prelucrarea Prelucrarea
şi control
datelor de datelor de
intrare Funcţii de întreţinere şi ieşire
auto-test

3.3. Instrumente folosite în modelarea sistemelor soft

3.3.1. Tipuri de modele şi instrumente


Tipuri de modele (după nivelul de abstractizare)
– conceptual - în analiza cerinţelor şi analiză (modelare)
• conţine elemente specifice domeniului problemei
• grad redus de detaliere
– logic - proiectarea logică
• separat de domeniul problemei
• detaliază modelele conceptuale
• adaugă elemente noi, specifice soluţiei
– fizic - proiectarea fizică, construcţie
• detalii constructive
• cod sursă

Tipuri de modele (după conţinut)


– de arhitectură
• componente, interacţiuni, relaţii
– de cazuri de utilizare
• actori, scenarii, funcţii sistem
– domeniul informaţiei
• obiecte din domeniul problemei, atribute şi relaţii
– funcţional
• impactul funcţiilor asupra obiectelor din domeniul problemei
• descompunerea funcţiilor sistem
• descrierea funcţiilor şi subfuncţiilor
– comportamental
• evenimente externe, stări, tranziţii de stare
– interfaţa cu utilizatorul
• analiza sarcinilor, prototipuri de ecran
5
Tipuri de instrumente (pe tipuri de modele)
– de arhitectură
• diagrama de context de arhitectură
• diagrama de componente (UML)
– de cazuri de utilizare
• diagrama cazurilor de utilizare (UML)
– domeniul informaţiei
• diagrama entitate-relaţie (E-R)
• diagrama de clase şi de obiecte (UML)
– funcţional
• diagrama de flux de date (DFD)
• diagrama de descompunere a proceselor
• diagrama de activităţi, secvenţă, colaborare (UML)
– comportamental
• diagrama de stări (UML)

3.3.2. Diagrame entitate-relaţie (E-R)


P.P. Chen, The entity-relationship model: toward a unified view of data, ACM Transactions on
Database Systems 1(1976), No.1, 9-36
• reprezentare detaliată şi structurată a datelor din domeniul problemei
• construcţii folosite (concepte, termeni)
– (1) entitate
– (2) relaţie
– (3) atribut
• se reprezintă grafic prin diagrama entitate-relaţie (diagrama E-R, Entity-Relationship
Diagram)
– foloseşte notaţiile E-R

Entitate Relaţie Cheie primară Atribut Atribut cu valori Gerunziu


multiple

Unară Binară Ternară

6
3.3.2. Diagrame entitate-relaţie (E-R) (cont)
(1) Entităţi
• persoane, locuri, obiecte, evenimente, concepte din mediul utilizatorului pentru care
organizaţia doreşte să deţină date
• exemple:
 persoană; ANGAJAT, STUDENT, PACIENT
 loc: STAT, REGIUNE, ŢARĂ
 obiect: MAŞINĂ, CLĂDIRE, AUTOMOBIL
 eveniment: VÂNZARE, ÎNREGISTRARE, SCHIMBARE
 concept: CONT BANCAR, CURS UNIVERSITAR, CENTRU DE
PRELUCRARE
 tip de entitate (clasă de entitate)
 grupează toate entităţile care au proprietăţi sau caracteristici comune
 se exprimă printr-un substantiv la singular (scris cu majuscule)
 instanţă de entitate (realizare a entităţii)
 apariţie singulară a entităţii

(2) Atribute
– proprietate sau caracteristică a unui tip de entitate care prezintă interes
– este memorată în fiecare instanţă a tipului de entitate respective
– toate instanţele unui tip de entitate E au aceleaşi atribute
– valorile unui atribut diferă de la o instanţă a lui E la alta
– exemple de tipuri de entităţi şi atribute:
 STUDENT: NUMĂR MATRICOL, NUME, ADRESĂ, NUMĂR TELEFON
 ANGAJAT: MARCĂ, NUME, ADRESĂ, CALIFICARE
 ŢARĂ: DENUMIRE, CONTINENT, SUPRAFAŢĂ, POPULAŢIE
 AUTOMOBIL: NUMĂR ÎNMATRICULARE, CULOARE, GREUTATE,
PUTERE
 VÂNZARE: DATA, CINE VINDE, CUI VINDE, VALOARE
 CURS UNIVERSITAR: DENUMIRE, SPECIALIZARE, SEMESTRU,
PROFESOR, NUMĂR ORE PE SĂPTĂMÂNĂ, FORMĂ DE EXAMINARE

Clasificarea atributelor unui tip de entitate


– atribut cheie: identifică o instanţă a entităţii
• cheie simplă - un singur atribut
• cheie compusă - un grup de atribute
– atribut non-cheie
Tipuri de atribute cheie
– cheie candidat: identifică unic o instanţă a entităţii
• o entitate poate avea mai multe chei candidat
– cheie primară: cheia candidat ca identificator pentru tipul de entitate
• atributele ce formează cheia primară sunt subliniate în diagrama E-R
– cheie surogat: atribut artificial pe post de cheie primară
Stabilirea cheii primare CP a unei entităţi E (Bruce, 1992)
– (i) cheia candidat a lui E care nu-şi modifică valoarea pe toată durata de viaţă a
oricărei instanţe
– (ii) pentru orice instanţă a lui E, atributele lui CP au valori valide şi non-nule
– (iii) dacă CP are prea multe atribute, se înlocuieşte cu o cheie surogat
– (iv) nu folosi chei “inteligente” (clasificare, localizare, structurare)

7
3.3.2. Diagrame entitate-relaţie (E-R) (cont)
NUMĂR NUME ADRESĂ NUMĂR DE
MATRICOL TELEFON

STUDENT

Atribute şi cheie primară - reprezentare E-R

MARCĂ NUME ADRESĂ CALIFICARE


ANGAJAT

ANGAJAT

Atribute cu valori multiple


Atribut cu o singură valoare: o instanţă are o valoare pentru el
Atribut cu valori multiple (repetitiv): o instanţă are mai multe valori pentru el

(3) Relaţii
asociere între instanţe ale uneia sau mai multor tipuri de entităţi care prezintă
interes pentru problema studiată

Relaţie în notaţia E-R


Urmează
STUDENT CURS

DATA
EXAMINĂRII
Relaţie cu atribut
STUDENT Urmează CURS

8
3.3.2. Diagrame entitate-relaţie (E-R) (cont)
Gradul unei relaţii
– numărul de tipuri de entităţi care participă în relaţie
– clasificarea relaţiilor după gradul lor:
• unare sau recursive (de gradul 1)
• binare (de gradul 2)
• ternare (de gradul 3)
Cardinalitatea unei relaţii
– de la entitatea A la entitatea B: numărul de instanţe ale entităţii B asociate unei
instanţe a entităţii A
– de la entitatea B la entitatea A: numărul de instanţe ale entităţii A asociate unei
instanţe a entităţii B
Relaţii unare

PERSOANĂ Căsătorită ANGAJAT Conduce


cu

0:1 0:M

Relaţii binare (stânga spre dreapta)

ANGAJAT Are atribuit LOC DE PARCARE

1:1

PLAN DE
Conţine SEMESTRU
ÎNVĂŢĂMÂNT

1:M

STUDENT Urmează CURS

M:N

9
Relaţii binare (dreapta spre stânga)

ANGAJAT Este atribuit LOC DE PARCARE

1:1

PLAN DE
Este conţinut în SEMESTRU
ÎNVĂŢĂMÂNT

1:M

STUDENT Este urmat de CURS

M:N

Relaţie ternară

MATERIAL

FURNIZOR Expediază MAGAZIE

CANTITATE

Exprimarea cardinalităţii m:M se pune la capătul B pentru relaţia de la A la B


m - cardinalitate minimă: numărul minim de instanţe ale lui B asociate unei instanţe a lui A
M - cardinalitate maximă : numărul maxim de instanţe ale lui B asociate unei instanţe a lui A
m = 0 - relaţie opţională
m > 0 - relaţie obligatorie
m = M - se specifică numai unul dintre ele

10
Exprimarea cardinalităţii în diagramele E-R

Cardinalitate obligatorie 1

Cardinalitate M (multiplă: 1, 2, ..., M)

Cardinalitate opţională 0 sau 1

Cardinalitate opţională 0 sau M


(0, 1, 2, ..., M)

Exemplu de diagramă E-R

NUMĂR NUME AN STUDIU


MATRICOL

STUDENT

DISCIPLINĂ DATĂ NOTĂ


EXAMEN

NUMĂR NUME AN STUDIU DISCI- DATĂ NOTĂ


MATRICOL PLINĂ EXAME
N

EXAMENE
Are NUMĂR
STUDENT SUSTINUTE
MATRICOL

11
3.3.3. Diagrame de flux de date (DFD)
• reprezentare schematică a proceselor complexe într-o formă cât mai abstractă
• instrument de modelare a proceselor care ilustrează fluxul de date în sistem şi prelucrările
efectuate de acesta
• Sinonime:
– bubble chart
– transformation graph
– process model
• DFD este abstractă
– nu ia în considerare aspectele de implementare
• suportul pe care sunt memorate datele
• mijloacele şi mediile de comunicaţie
• calculatoarele pe care se fac prelucrările
• introduse de metodele analiză şi proiectare structurată:
– De Marco, Yourdon, Constantine
– Gane, Sarson

3.3.3. Diagrame de flux de date (DFD) (cont)


(1) procesul
(2) fluxul de date
(3) entitatea externă
(4) depozitul de date
CITITOR CITITOR

Cerere
înscriere Permis Carte
restituitã

PE 2 PE 3
EVIDENTÃ EVIDENTÃ
CITITORI ÎMPRUMUTURI

Modelul de date al aplicatiei

(1) Procesul (transformarea, prelucrarea)


– acţiunea sau prelucrarea efectuată asupra fluxurilor de date de intrare pentru a produce
fluxuri de date de ieşire
– cine face acţiunea:
• oameni
• maşini
• departamente
• calculatoare
– notaţie
• De Marco/Yourdon: elipsă, cerc

12
• Gane, Sarson: dreptunghi cu colţuri rotunjite
– numele procesului
– scheme de numerotare

(2) Fluxul de date


– desemnează:
• datele ce intră într-un proces (intrările)
• datele care sunt produse de un proces (ieşirile)
• actualizările într-un depozit de date
– se reprezintă printr-o linie continuă ce leagă un proces cu un alt simbol din DFD
• linia este etichetată şi are o direcţie (săgeată)
• eticheta indică ce informaţie se transportă (ce reprezintă fluxul de date)
• săgeata indică sensul propagării informaţiei
Fluxul de control
– desemnează
• evenimentele produse de procese sau entităţi care influenţează
comportamentul altor procese sau entităţi
– se reprezintă printr-o linie întreruptă ce leagă un proces cu un alt simbol din DFD
• are aceleaşi caracteristici ca şi fluxul de date (etichetă, orientare)

(3) Entitate externă


• defineşte frontiera sistemului supus modelării
– produce date de intrare în sistem
– foloseşte date produse de sistem
• sinonime
– agent
– sursă, destinaţie
• se reprezintă sub formă de dreptunghiuri (pătrate)
• numele entităţii (substantiv la singular)
– fiecare flux de date se ilustrează separat
– dacă aceeaşi entitate apare de mai multe ori în diagramă, se marchează colţul din
dreapta jos (paralelă la diagonala secundară)
– numerotare Xm, m indice (deasupra numelui)

(4) Depozit de date


• descrie entităţile despre care sistemul trebuie să înmagazineze date
• conţine toate realizările (instanţele) unei entităţi
• exemple de categorii de depozite de date
– roluri: clienţi, furnizori, angajaţi, studenţi, profesori;
– obiecte: produse, subansamble, cărţi;
– locaţii: magazii, clădiri, depozite;
– evenimente: comenzi, note, cursuri.
• se reprezintă prin
– dreptunghi deschis la ambele capete (notaţia Yourdon/De Marco)
– dreptunghi închis la un capăt (notaţia Gane/Sarson, uneori şi Yourdon/De Marco)
– nume
– etichetă (notaţia Gane/Sarson)
– dacă acelaşi depozit de date apare de mai multe ori în diagramă, capătul închis este cu
line dublă o paralelă la acesta

13
Deosebirea dintre DFD şi schemele logice
• paralelismul
– scheme logice: prelucrări secvenţiale
– DFD: procesele se pot executa în paralel
• ce exprimă
– schema logică: numai prelucrări (structuri secvenţiale, alternative, repetitive)
– DFD: modul de propagare a datelor din sistem + prelucrarea acestora
• frecvenţa prelucrărilor
– schema logică: exprimă un proces de calcul
– DFD: fiecare proces are frecvenţa proprie de prelucrare (zilnic, săptămânal, decadal,
lunar, trimestrial, semestrial, anual)

Reguli privind trasarea DFD


• fiecare proces trebuie să aibă cel puţin o intrare şi cel puţin o ieşire
– dacă procesul are numai o intrare şi numai o ieşire, s-ar putea ca el să fie critic (şi se
pune întrebarea: nu s-ar putea combina cu alt proces?)
• cel puţin un capăt al fiecărui flux de date trebuie conectat la un proces
– celălalt capăt poate fi conectat la
• un proces
• un depozit de date
• o entitate externă
• fiecare depozit de date trebuie să aibă cel puţin un flux de date de intrare şi unul de ieşire
– dacă depozitul are numai o intrare şi numai o ieşire, trebuie analizat cu atenţie, pentru
a vedea dacă depozitul de date este o cerinţă funcţională sau numai un depozit
temporar care nu este necesar conceptual.

Detalierea DFD
• notaţia De Marco/Yourdon
– maximum 7 procese într-o DFD
– atâtea nivele de detaliere câte sunt necesare
• notaţia Gane, Sarson
– două nivele de detaliere (leveling):
• DFD pe nivelul 0, care conţine procesele şi fluxurile de date esenţiale (de
nivel înalt)
– pentru descrierea completă a unui astfel de proces este nevoie de zeci
sau sute de pagini de text
• DFD pe nivelul 1, pentru acele procese a căror descriere depăşeşte un anumit
număr de pagini (între 5 şi 10)
– se expandează doar cutia procesului, fără a se lua în considerare
procesele, depozitele de date sau entităţile externe - apar astfel fluxuri
de date cu un capăt liber
– dacă fluxul de date n-a fost etichetat pe nivelul anterior, el trebuie
etichetat obligatoriu pe nivelul curent de detaliere

Procese esenţiale
– acele procese care reprezintă acţiuni care trebuie efectuate indiferent de modul în care
se implementează sistemul
– sunt efectuate
• manual (de oameni)
• mecanizat (de diverse maşini, dispozitive, roboţi)
• automat (de calculator)
– clasificare după scop (ce fac):
14
• efectuarea de calcule (calculul salarului, calculul mediei de absolvire, etc)
• luarea de decizii (stabilirea bursei unui student pe baza mediei şi a situaţiei
materiale, stabilirea statutului de promovare a unui concurs, stabilirea
drepturilor de bursă)
• descompunerea fluxurilor de date complexe în fluxuri mai simple (separarea
corespondenţei primite de universitate pe facultăţi, dispecerarea apelurilor la o
staţie de salvare, etc)
• combinarea fluxuri de date mai simple într-un singur flux mai complex
(combinarea fluxurilor de date despre discipline, profesori, grupe de studenţi
şi săli pentru a construi orarul)
• filtrarea sau efectuarea de calcule statistice asupra fluxurilor de date pentru a
obţine alte fluxuri de date (selectarea studenţilor care au ales un anumit curs
opţional în vederea stabilirii grupelor; numărarea opţiunilor studenţilor pentru
a vedea care cursuri sunt cele mai puţin solicitate)
– clasificare după nivelul de detaliere
• procese sistem (nivelul 0)
• subsisteme sau funcţii majore (nivelul 1)
• funcţii (nivelul 2)
• procese (următoarele nivele de detaliere)
• procese primitive (cele de pe ultimul nivel de detaliere)
– procesele de pe primele două nivele
• sunt numite şi procese generale
• se notează printr-o clauză substantivală (sistemul de marketing, sistemul
financiar-contabil, sistemul evidenţa studenţilor)
– procesele de pe celelalte nivele
• se mai numesc şi procese detaliate
• numele lor începe cu un verb (validează creditul clientului, citeşte adresa
studentului, verifică existenţa produsului în stoc, actualizează stocul, creează o
factură nouă, actualizează notele)

Clasificarea DFD după nivelul de detaliere a proceselor


– DFD de nivel înalt (nivelele 0 şi 1)
– DFD de nivel mediu (nivelul 2 şi următoarele)
– DFD de nivel jos (conţin numai procese primitive)
Numerotarea proceselor - scheme de numerotare
– trebuie să
• respecte ordinea logică în care se desfăşoară
• ilustreze descompunerea proceselor în subprocese
– schema de numerotare
• procesul rădăcină (procesul sistem) se numerotează cu 0
• descompunerea procesului sistem: subsistemele (funcţiile majore) 1, 2, …, n
• descompunerea unui subsistem i netrivial în funcţiile i.1, i.2, ..., i.m
• descompunerea unei funcţii i.j netriviale în procesele i.j.1, i.j.2, ..., i.j.q
• procesele primitive (care nu se mai descompun) au sufixul ‘p’.

Analizarea proceselor după trasarea DFD


• se pot descoperi erori în identificarea proceselor:
– procese care au numai fluxuri de date de intrare
• găuri negre, black holes
– procese care au numai fluxuri de date de ieşire
• miracole, miracle
– procese care au prea puţine fluxuri de intrare pentru a produce ieşirea specificată
15
• găuri gri, gray holes
• cele mai frecvente şi mai greu de detectat
• aceste situaţii impun reanalizarea proceselor în cauză

Fluxuri de date
• trebuie să ilustreze minimul de date esenţiale de care are nevoie un proces sau pe care acesta
le produce
– cerinţa de minimalitate are ca scop reducerea cuplării între procese, adică reducerea
efortului de întreţinere
• numele fluxului de date
– conţine substantive descriptive
– trebuie să fie unic într-o DFD (cu excepţia fluxurilor spre sau dinspre depozitele de
date)
– se pot folosi adjective sau adverbe pentru a califica mai exact substantivele respective
• Factură de la client
• Dispoziţie de încasare
• Catalog de note
• Catalog de note de la examenul de restanţă

Fluxuri de date
• categorii de fluxuri de date după nivelul de detaliere al DFD
– fluxuri de date compuse
• sunt proprii DFD de nivel înalt
• sunt formate din mai multe fluxuri de date primitive
• exemplu: COMANDĂ (acest flux de date se va descompune ulterior în
COMANDĂ OBIŞNUITĂ, COMANDĂ SPECIALĂ, COMANDĂ
AMÂNATĂ)
– fluxuri de date primitive
• apar în DFD de nivel mediu şi jos
• sunt formate din atribute de date bine precizate, care se transportă (propagă)
împreună, într-un singur pachet
• corespund de regulă unui document bine precizat (de intrare sau de ieşire):
– dispoziţie de plată
– chitanţă
– cerere de înscriere la admitere.

Entităţi externe
• stabilesc frontiera, marginile sistemului studiat
• adjectivul extern se referă la sistemul studiat, nu la organizaţia ţintă (mediul) în care acesta
funcţionează
• exemple
– subdiviziune administrativă a organizaţiei ţintă (departament, divizie, sector, serviciu,
birou) care oferă intrări în sistem şi/sau primesc ieşiri din sistem
– alte organizaţii externe: agenţii guvernamentale şi non-guvernamentale, persoane din
afara organizaţiei ţintă care oferă intrări în sistem şi/sau primesc ieşiri din sistem
(clienţi, furnizori, bănci, firme de audit, bursa, organe tutelare)
– alt sistem din organizaţie, nu neapărat informatic, care este separat de sistemul supus
modelării însă interacţionează cu acesta
• se mai numesc şi agenţi interni (organizaţiei)
• trebuie luate în considerare numai dacă dacă sistemul ţintă comunică cu
procesele din agentul intern

16
• dacă comunică numai cu datele, atunci nu se ia în considerare, ci se consideră
numai depozitele de date cu care se comunică
– utilizator al sistemului sau conducător (şef, manager)
• utilizatorul/managerul este o sursă de date pentru sistem şi/sau destinaţie
pentru ieşirile acestuia.

Depozite de date
• conţin date esenţiale, reutilizabile, persistente care sunt colectate, memorate, regăsite şi
actualizate de sistemul ţintă
• variante de abordare a modelării în analiza cerinţelor
– (I) modelarea proceselor se face după modelarea datelor (recomandată)
• identificarea depozitelor de date este simplă: fiecărui tip de entitate din
diagrama E-R îi va corespunde un depozit de date
– (II) modelarea proceselor înainte de modelarea datelor (nerecomandată)
• (a) identificarea implementărilor existente de depozite de date (fişiere, BD,
cartoteci, cataloage, registre) şi
• (b) redenumirea depozitelor pentru a reflecta datele care le conţin
• într-o DFD, numai procesele se pot conecta cu depozitele de date
• datele din depozitele de date D nu se folosesc şi nu se actualizează decât prin intermediul
proceselor P

Depozite de date
• convenţii particulare de notare pentru fluxurile de date spre/dinspre depozitele de date
– D -> P
• P foloseşte datele din D (citirea este implicită)
• numele fluxului de date
– trebuie să reflecte ce date se folosesc din D
– poate să fie chiar numele lui D (dacă se folosesc toate atributele din D)
– P -> D
• P actualizează D
– adăugare de instanţe noi: mai bine “D nou” în loc de “adaugă D”
» CLIENT nou STUDENT nou
– modificare de instanţe existente: mai bine “D modificat” în loc de
“modifică D”
» CLIENT modificat, STUDENT modificat
– ştergere de instanţe existente: mai bine “D şters” în loc de “şterge D”
» CLIENT şters, STUDENT şters
• P utilizează D (utilizează = foloseşte + actualizează)

Instrumente folosite în abordările


– structurate: DFD, diagrama ierarhică
– obiectuale: diagrame de activităţi
Unde se face modelarea proceselor şi a fluxurilor
– analiza cerinţelor
• modelul de context al organizaţiei - diagramă de context
– DFD cu un proces, entităţi externe, fluxuri de date compuse
• modelul de procese al organizaţiei: diagramă ierarhică
– descompune activitatea organizaţiei în subsisteme şi funcţii majore
• modelul de procese al ariei de activitate
– DFD mai detaliată: entităţi externe, procese, depozite de date, fluxuri
de date
– modelarea în analiză
17
• modelul contextului aplicaţiei - diagramă de context
– DFD cu un proces, entităţi externe, fluxuri de date compuse, modelul
de date
• diagrama de descompunere a proceselor
– primul nivel de descompunere a sistemului studiat în subsisteme şi
funcţii
• modelul esenţial al prelucrărilor
– ierarhie de DFD rezultate din modelul contextual urmând
descompunerea
– proiectare
– implementare

3.3.3. Diagrame de flux de date (DFD) (cont)


Exemplu: Modelul
de context al CITITOR
PROFESOR
UNIVERSITAR

domeniului problemei
Cerere Permis Cerere
înscriere achizitie
carte

Carte PE 0
CITITOR restituitã Carte
BIBLIOTECA împrumutatã CITITOR

Facturã Carte
Comandã achizitionatã Prospect
carte cãrti noi

EDITURÃ EDITURÃ

18
3.3.3. Diagrame de flux de date (DFD) (cont)
Exemplu:
PE 0
Modelul de
procese al BIBLIOTECA
domeniului
problemei

PE 1 PE 2 PE 3
EVIDENTÃ EVIDENTÃ EVIDENTÃ
CÃRTI CITITORI ÎMPRUMUTURI

Enunţul problemei
Firma TOTALCOM S.R.L are ca domeniu de activitate comerţul en-gros cu produse. Se cere
realizarea unui sistem de gestiune a comenzilor de la clienţi, expediţie şi facturare.
Descrierea sistemului
Aplicaţia de gestiune a comenzilor, expediţie şi facturare (numită pe scurt aplicaţia
COMENZI) trebuie să gestioneze comenzile de produse emise de clienţi. Fiecare comandă conţine
produsele cerute de client şi cantitatea care trebuie livrată din fiecare produs. Preţul produsului se
stabileşte la prelucrarea comenzii, prin consultarea nomenclatorului de produse, iar disponibilitatea
produsului în magazie prin consultarea fişierului de stocuri. Dacă produsul este disponibil, se rezervă
cantitatea cerută în comandă şi comanda se păstrează pentru prelucrările ulterioare (expediere şi
facturare) într-un fişier de comenzi ordinare. Dacă produsul nu este disponibil, se creează o comandă
în aşteptare. Comenzile în aşteptare sunt consultate periodic, iar când produsele conţinute in ele
există în magazie ele sunt transformate înapoi în comenzi ordinare. Din fişierul de comenzi ordinare
se preiau loturi de comenzi şi acestea se planifică pentru expediţie, folosindu-se informaţiile despre
maşinile disponibile şi rutele geografice spre clienţi oferite de departamentul Transporturi. Pentru
fiecare lot de comenzi se pregătesc liste de magazie, care permit muncitorilor ca dintr-o singură
parcurgere a magaziei să ia toate produsele de un anumit tip care se încarcă într-un camion. Livrările
efectuate, ca şi produsele negăsite se notează pe listele de magazie, care se folosesc pe urmă la
actualizarea stocului de produse din magazie. După ce s-au luat din magazie toate produsele pentru o
rută şi s-au încărcat în camionul aferent, se completează avizele de expediţie (care cuprinde
produsele care se livrează la fiecare client). Ajunse la client, acesta face recepţia produselor livrate şi
notează toate neconcordanţele pe avizul de expediţie, care este folosit ulterior pentru elaborarea
facturii pentru produsele recepţionate de către client şi pentru actualizarea conturilor de încasări.

19
DFD De Marco/Yourdon Client

Comandă Rezervări
Preţuri,
dimensiuni Introduce Stocuri
Sistemul Info Comanda
Producţie
Comenzi aştept.
Nivel
Sistemul Info Comenzi stocuri
Transp Tranzacţie
Prelucrare stocuri
Maşini disp comenzi
Planifică rute
Sistemul Info Rute livrare aşteptare
Rute Liste de Actualiz.
magazie stocuri
Avize
Ia din raft Raport producţie
expediţie Liste de
produs
Gata magazie
Livrează actualizate Producţie
produs
Avize Facturează client
expediţie
recepţii Client
Comenzi Factură

Expandare proces
Planifică Planificare rute de livrare.
rutele de
livrare Descriere textuală
Comenzile ordinare se sortează pe
baza criteriilor geografice (după locaţiile
clienţilor încadrate în zone geografice mari)
folosindu-se informaţia furnizată de
Comenzi departamentul Transporturi. Planificarea
gata de
expediere
camioanelor se face folosind informaţia
furnizată de departamentul Transporturi, care
Rute Grupează precizează camioanele disponibile şi capacitatea
co-menzi fiecărui camion. Comenzile se grupează în
pe rute loturi de comenzi. Fiecare lot corespunde unui
Comenzi
pe rute camion, iar gruparea comenzilor pe loturi se
Camioane Comenzi face pe baza criteriilor: (a) fiecare camion se
Atribuie
disponibile comen zi la
pe camion încarcă la capacitate maxim posibilă şi (b)
Comenzi camioane fiecare camion trebuie să parcurgă o rută cât
pe camion Liste de mai scurtă. Pentru fiecare camion, produsele
Sortează magazie
Sortează în conţinute în lotul de comenzi aferent lui se
Avize de după locul
or în mag sortează după locaţia din magazie unde sunt
expediţie
dinea depozitate şi se creează astfel listele de
livrării magazie. Pentru fiecare comandă din lotul de
comenzi aferent unui camion se tipăreşte câte
un aviz de expediţie; ordinea în care se tipăresc
avizele de expediţie este ordinea de livrare
(ordinea în care camionul ajunge la clienţi
parcurgând ruta stabilită).

20
Client
2 Info cdă
Comandă Prelucrează D3 Fişier Comenzi
client comanda Stare cdă
DFD Gane- vânzare
Comandă Client nou
Sarson validă
3
Info
client nou
Creează
client
nou
Stare
Comandă 1 cont nou
respinsă Verifică Interogare
credit credit
client
Stare D2 Fişier Clienţi
Comandă credit
aprobată
4
Verifică Interog Prod
disponibi-litate D1 Fişier Produse
Stare Prod
produs
Info
Produs 6
Produs Cdă
disponibil Creează
epuizat în aştept.
comandă
5 în aşteptare
Factură Creează Stare
factură cdă
Notificare Cdă în aşteptare înD4
aşteptFişier Czi Aşt.

21