Sunteți pe pagina 1din 33

TEMA 7:

METODA STRUCTURATĂ
DE ANALIZĂ ŞI
PROIECTARE A SI

1
TEOREMA FUNDAMENTALĂ A
INGINERIEI PROGRAMĂRII
Fie două probleme separate P şi Q, pentru soluţionarea
cărora se va crea un program combinat.
M(P) – măsură pentru problema P
C(P) – costul scrierii unui soft pentru problema P
Dacă M(P)>M(Q), atunci C(P)>C(Q).
Considerând cele două probleme împreună se obţine o problemă
nouă P+Q, a cărei dimensiune este mai mare decât a celor două
probleme luate separat.
Astfel: M(P+Q)>M(P)+M(Q),
iar între costuri relaţia devine:
C(P+Q)>C(P)+C(Q) (*) 2
TEOREMA FUNDAMENTALĂ A
INGINERIEI PROGRAMĂRII

Pe măsură ce complexitatea problemelor creşte, în rezolvarea lor


se comit tot mai multe erori.
Atunci când problemele sunt combinate în una singură trebuie
rezolvată nu numai fiecare problemă în parte, dar şi interacţiunea
dintre ele.

3
TEOREMA FUNDAMENTALĂ A
INGINERIEI PROGRAMĂRII
Studiile efectuate au arătat că
memoria imediată (rapidă), necesară în
cazul rezolvării problemelor cu mai
multe elemente are o capacitate de
aproximativ 72 entităti. Numarul
de erori

Peste acest număr de elemente


distincte, ce trebuie folosite simultan,
numărul de erori comise creşte mult
mai repede.
Dacă problemele sunt descompuse în
subprobleme, atunci numărul erorilor
creşte mai lent. 1 2 3 4 5 6 7 Numarul de
elemente distincte
ale problemei 4
TEOREMA FUNDAMENTALĂ A
INGINERIEI PROGRAMĂRII
Aceasta înseamnă că în cazul problemelor mai mari, pentru a
învinge complexitatea la un cost mai redus se poate recurge la
ruperea (descompunerea) problemei în unităţi (module) mai mici.

Făcând o substituţie convenabilă în relaţia de mai sus (*),


ajungem la „teorema fundamentală a ingineriei programării”:

Dacă o problemă complexă este descompusă în subprobleme,


atunci costul problemei complexe poate fi micşorat:

C(P)>C(P1)+C(P2)

unde P1 şi P2 sunt două subprobleme independente, prin a căror


rezolvare se soluţionează printr-un cost mai scăzut problema P.5
NOTAŢII GRAFICE SPECIFICE
METODEI STRUCTURATE
Cele mai utilizate sunt:
• SADT (Structured Analysis and Design Technique) – modele
şi diagrame funcţionale

• DFD (Data Flow Diagrams) – diagramele fluxurilor de date

• ERD (Entity-Relationship Diagrams) – diagramele entitate-


relaţie
• Modelul conceptual

• Modelul logic şi fizic al BD

6
DIAGRAME SADT
Modelul funcţional SADT reflectă acţiunile îndeplinite şi legăturile
existente între aceste acţiuni ale obiectului.
Elementele de bază ale acestei metodologii sunt:
Blocurile (drepunghiurile) care reflectă funcţia (în interior)
Săgeţile - corespunzătoare intrărilor şi ieşirilor. Control
Rolurile săgeţilor:
 I – input Intrari Functia Iesiri

 C – control
 O – output Mecanism
 M – mechanism
Informatiile de control intră în bloc de sus, informaţia ce necesită
prelucrare este reprezentată în partea stângă ca o săgeată ce
intră în bloc, rezultatele prelucrărilor – ieşirile – se indică în partea
dreaptă a blocului. Mecanismul (omul sau un sistem automatizat),
care îndeplineşte operaţia, se reprezintă cu ajutorul săgetii ce
7
intră în bloc de jos.
REGULI DE CONSTRUIRE
A DIAGRAMELOR SADT
Limitarea numărului de blocuri la fiecare nivel de descompunere
(de regulă 3-7 blocuri)

Legătura între diagramele de la diferite nivele

Unicitatea etichetelor şi ale denumirilor (nu trebuie să se


întâlneasacă nume care se repetă, ele trebuie să fie distincte)

Respectarea regulilor sintactice în grafică (blok-uri şi săgeţi)

Separarea intrărilor de fluxurile de control.

8
Reguli
Regulament
creare
examinare
teste

Sustinerea Teste verificate


Intrebari teste
examenului Informatii
Raspunsuri teste evaluare
A0 pt borderou

Profesor Student

Reguli
creare
teste

Generarea Regulament
Intrebari teste
examinare
testelor

A0.1 Intrebari testare


Examinarea
Regulament
cunostintelor examinare
Profesor
Raspunsuri teste A0.2 Teste si raspunsuri Teste verificate

Evaluarea testelor
Student Informatii
evaluare
A0.3 pt borderou

Profesor

9
EXEMPLU DE UTILIZARE A
SADT

Sarcină: Descompuneţi procesul în subprocese (încă 1-2 nivele


de detaliere).
Procesul de întocmire a comenzilor poate fi descompus în:
Selectarea produsului (produselor), Înregistrarea comenzii,
Înregistrarea datelor clientului, Prelucrarea datelor comenzii şi
salvarea datelor, Vizualizarea stării comenzii 10
DFD – DIAGRAME ALE
FLUXURILOR DE DATE
Se utilizează pentru:
 documentarea unui sistem existent
 schiţarea unui sistem în curs de proiectare

Analiştii elaborează DFD şi prezintă lumea reală prin intermediul:


 săgeţilor (pentru fluxurile de date)
 cercurilor (pentru procese de prelucrare a datelor).

11
NOTAŢII UTILIZATE ÎN DFD
Client
1. Entitatea externă sau internă
reprezintă un obiect material sau o persoană fizică care poate
servi drept emiţător sau primitor de informaţii

2. Sistem şi subsistem
drept nume de sistem sau subsistem serveşte o propoziţie ce
defineşte complet activitatea
Ex: subsistem de deservire a clienţilor

3. Procesul
reprezintă transformarea fluxurilor de date de intrare în fluxuri de
ieşire, conform unui algoritm predefinit
Ex: afişarea informaţiei despre clent; verificarea capacităţii de
creditare a clienţilor, etc.
12
NOTAŢII UTILIZATE ÎN DFD
4. Suporturi de stocare a datelor
reprezintă un dispozitiv abstract, necesar pentru
păstrarea datelor, informaţiilor. Acestea pot fi în
orice moment de timp plasate în locul de stocare
şi peste o anumită perioadă de timp extrase.
Suportul de stocare a datelor reprezintă şablonul viitoarei BD, iar
descrierea datelor ce se păstrează l pe el trebuie să fie în
concordanţă cu modelul informaţional.
5. Fluxurile de date
determină informaţia care este
transmisă printr-un anume nod
de la emiţător (sursă) la destinaţie.
În practică se folosesc 2 tehnici de redare a DFD:
 Gane&Sarson
 Yourdon&DeMarco (după numele autorilor). 13
SCOPUL DFD
DFD se elaborează pentru o anumita componentă organizatorică
sau functională (secţie, birou, compartiment, întreaga unitate) la
care se referă o anumită activitate (vânzare, cumpărare, incasare,
plată etc).
Scopul DFD este de a scoate în relief într-o manieră cît mai
sugestivă următoarele aspecte:
 Sursa datelor de prelucrat
 Operaţiunile de prelucrare prin care trec datele
 Destinaţia datelor prelucrate
 Legătura existentă între prelucrări şi activitatea de stocare a
datelor.
14
TIPURI DE DFD
1. Diagrama de context sau DC
este o diagramă de la nivelul cel mai de sus, prin care sunt
descrise fluxurile de date:
 în şi din sistem
 din şi spre entitatea externă (EE) sau internă (EI)
a sistemului analizat.
Cercul diagramei de context defineşte graniţele sistemului.
Graniţa reprezinta locul de separare a sistemului studiat de mediul
său extern.
Mediul este tot ceea ce înconjoară sistemul.
Bon
Proces
Client plata de Depunere Banca
incasare
15
EXEMPLU DC
Client
Comenzi de vanzare

Prelucrarea Comenzi de
Documente stocurilor de aprovizionare
Banca decontare vânzare şi Furnizor
cumpărare a
mărfurilor Informaţii
despre loturi
aprovizionate

Informatii despre
vânzări

Management

16
TIPURI DE DFD

2. Diagrama fluxurilor de date fizice sau DFDF


este o reprezentare schematică a sistemului prin care sunt scoase
în evidenţă:
 entităţile interne şi externe ale sistemului
 fluxurile datelor în şi din aceste entităţi.

O entitate internă poate fi: o persoană, un loc (secţie) sau un


echipament (calculator) din sistem care contribuie la
transformarea datelor.
Acest tip de diagramă mai este numit şi detalierea diagramei de
context.
17
TIPURI DE DFD
3. Diagrama fluxurilor de date logice sau DFDL
este o reprezentare simbolizată a unui sistem prin care:
• se evidenţiaza procesele sistemului
• intrările sau ieşirile de date în sau din procese.

Prin ea se reprezintă natura logică a sistemului, ce activităţi


efectuează sistemul, fără a se specifica cum, unde, de catre cine
sunt executate activităţile.

Avantajul DFDL - permite reflectarea proceselor executate de


sistem.

Obs: Diagramele DFDF şi DFDL se completează reciproc şi se


folosesc adesea la etapa de analiză, când se modelează
activitatea sistemului informaţional.
18
IERARHIZAREA DFD
DFD se ierarhizează pe următoarele nivele:
1. DC – de nivelul 0
2. DFDF - de nivelul 1
3. DFDL - de nivelul 2

• O diagramă de context indică principalele subsisteme ale


sistemului
• Până la 7 diagrame de nivel 1, indică principalele procese ale
fiecărui subsistem;
• Până la 49 de diagrame de nivel 2, indică detaliile fiecărui
proces sau ale fiecărei aplicaţii.

19
Raspunsuri, matricola Teste pentru pastrare
Student Sustinerea Profesor
Nota, matricola completata
examenului
Intrebari, apreciere

Borderou Borderou
necompletat completat

Decanat

Profesor Teste
pentru
pastrare
Intrebari Apreciere

1.
Generarea
testelor

Teste pentru pastrare

Teste+ D1 | Teste examen Teste+


raspunsuri raspunsuri

2. Teste Apreciere 3.
Examinarea Evaluarea
cunostintelor testelor

Raspunsuri, Nota+ Borderou


Borderou
matricola matricola complet

Student Decanat
20
DIAGRAMA DE CONTEXT PENTRU
SI „Atelierul Curcubeu”

21
DIAGRAMA DETALIATĂ, DE NIVEL 0,
PENTRU SI „Atelierul Curcubeu”

22
DETALIEREA SUBSISTEMULUI 3 –
„ADMINISTRAREA DATELOR UTILIZATORILOR”

23
Sarcină
Evidenţiaţi principalele procese ale subsistemului
“Înregistrarea comenzilor”.
Principalele procese:
 Selectarea produsului (produselor),
 Înregistrarea comenzii,
 Înregistrarea datelor clientului,
 Prelucrarea datelor comenzii
 Salvarea datelor,
 Vizualizarea stării comenzii,
 Autentificarea clientului (în cazul în care clientul doreşte să
vizualizeze starea comenzii)

24
DESCRIEREA LOGICII
FUNCŢIILOR
Procesele, evidenţiate la ultimul nivel, trebuie descrise a.î. să
poată fi uşor convertite în coduri de program prin intermediul unui
limbaj de programare.
În faza de analiză şi proiectare, modelarea logicii proceselor se
face cât mai detaliat şi complet posibil, fără a fi ataşată de
structura sau sintaxa unui anumit limbaj de programare.

Algoritmii pot fi descrişi prin diferite metode:


 Folosind limbajul natural
 Folosind schemele logice
 Cu ajutorul limbajelor speciale (algoritmice)
 Cu ajutorul schemelor de tip grafuri (automate finite din care
derivă R-schemele, diagramele stărilor, diagramele de
tranziţii) 25
 Prin intermediul reţelelor Petri.
DESCRIEREA FUNCŢIEI „GESTIUNE COMANDĂ”,
accesibila managerului de comenzi.

26
Schema-bloc
ER-DIAGRAME
Se folosesc pentru modelarea BD relaţionale
Se evidenţiază:
 entităţile de date (obiectele despre care se doreşte păstrarea
datelor)
 relaţiile care există între entităţi
 caracteristicile entităţilor de date.
Scopul: asigurarea echipei de dezvoltare cu o schemă
conceptuală a BD sub forma unui model sau a câtorva modele
locale, care pot fi reflectate usor în orice SGBD.

Poate fi construit atât modelul conceptual al datelor, cât şi cel


logic.
Sunt mai multe notaţii grafice.

27
EXEMPLU
Modelul conceptual
 Reflectă noţiunile domeniului
 Relaţiile dintre entităţi Student Se inmatriculeaza la
Facultate

 Este citibil

Studiaza

Disciplina

28
EXEMPLU
Modelul logic şi fizic al BD

29
SARCINĂ

• Construiţi modelele:
– conceptual
– fizic şi logic al datelor pentru problema „Atelierul
Curcubeu”

30
ÎNTREBĂRI ŞI EXERCIŢII
1. Formulaţi teorema fundamentală a ingineriei programării
2. Care este formula pentru măsură în teorema fundamentală a
ingineriei programării?
3. Care este formula pentru costuri în teorema fundamentală a
ingineriei programării?
4. Completaţi: la creşterea numărului de elemente în problemă
numărul erorilor creşte (conform teoremei fundamentale a
ingineriei programării?)
5. Cum poate fi redus costul unei probleme complexe?
6. Care sunt diagramele metodei structurate?
7. Pentru ce se utilizează diagramele SADT?
8. Care sunt elementele diagramelor SADT?
9. Descrieţi elementele:

31
10.Descifraţi notaţiile: I -input, O --output, C -control, M -ecanism
ÎNTREBĂRI ŞI EXERCIŢII
11.Care sunt regulile de construire a diagramelor SADT?
12.Pentru ce se folosesc diagramele DFD?
13.Denumiţi elementele DFD:

14.Denumiţi cele 2 tehnici de construire a DFD


15.Care este scopul DFD?
16.Denumiţi tipurile DFD:
17.Descrieţi DC, DFDF, DFDL
18.Care este ierarhizarea DFD?
19.Care sunt metodele de descriere a algoritmilor?
20.Scopul ER-diagramelor?
21.Descrieţi modelul conceptual
32
22.Descrieţi modelul logic şi fizic al BD
33

S-ar putea să vă placă și