Documente Academic
Documente Profesional
Documente Cultură
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
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 72 entităti. Numarul
de erori
C(P)>C(P1)+C(P2)
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)
8
Reguli
Regulament
creare
examinare
teste
Profesor Student
Reguli
creare
teste
Generarea Regulament
Intrebari teste
examinare
testelor
Evaluarea testelor
Student Informatii
evaluare
A0.3 pt borderou
Profesor
9
EXEMPLU DE UTILIZARE A
SADT
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
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
2. Teste Apreciere 3.
Examinarea Evaluarea
cunostintelor testelor
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.
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.
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: