Sunteți pe pagina 1din 20

UNIUNEA EUROPEANĂ GUVERNUL ROMÂNIEI Fondul Social European Instrumente Structurale OIPOSDRU UNIVERSITATEA

MINISTERUL MUNCII, PSD DRU 2007 - 2013 2007 - 2013 TEHNICĂ DE


FAMILIEI ŞI CONSTRUCŢII DIN
PROTECTIEI SOCIALE BUCUREŞTI
AMPOSDRU

Investeşte în oameni !
Proiect cofinanţat din FONDUL SOCIAL EUROPEAN
prin Programul Operaţional Sectorial Dezvoltarea Resurselor Umane 2007 – 2013
Axa prioritară 1: „EDUCAŢIA ŞI FORMAREA PROFESIONALĂ ÎN SPRIJINUL CREŞTERII ECONOMICE ŞI DEZVOLTĂRII SOCIETĂŢII
BAZATE PE CUNOAŞTERE”
Domeniul major de intervenţie 1.2 „Calitate în învăţământul superior”
Cerere de propuneri de proiecte: nr. 86 „Universitate pentru viitor”
Titlul proiectului: Reţea naţională de centre pentru dezvoltarea programelor de studii cu rute flexibile şi a unor instrumente didactice la specializarea de licenţă
şi masterat, din domeniul Ingineria Sistemelor
Numărul de identificare al contractului: POSDRU/86/1.2/S/63806

Gabriela Varvara
Ingineria Programarii I

C
Curs 4
Modele ale sistemelor software

Partener P4

MINISTERUL EDUCAŢIEI, UNIVERSITATEA UNIVERSITATEA TEHNICĂ UNIVERSITATEA TEHNICĂ UNIVERSITATEA SC ASTI AUTOMATION SRL
CERCETĂRII, TINERETULUI ”POLITEHNICA” DIN ”GHEORGHE ASACHI” ”POLITEHNICA”
ŞI SPORTULUI DIN CLUJ-NAPOCA DIN DIN
BUCUREŞTI IAŞI TIMIŞOARA

Obiective

Obiective curs 4:

Obiectivul
Obi ti l 1:1 modelare
d l sistem
i t – parte
t a procesului
l i de
d inginerie
i i i a cerintelor
i t l sii
design.
Obiectivul 2: descrierea a trei perspective uzuale de modelare: modelare
comportamentala, modelare bazata pe date si modelare obiectuala.
Obiectivul 3: introducerea unui numar de notatii utilizate in Unifid Modelling
Language (UML)
Obiectivul 4: prezentarea modalitatii in care utilitarele suport permit
modelarea sistemului.

Subiecte tratate: modele contextuale, comportamentale, ale datelor,


obiectuale, utilitare suport in modelare.

2
Modelarea sistemului

Modelarea sistemelor ajuta analistul:


Sa inteleaga functionalitatea
S comunice
Sa i (prin
( i intermediul
i t di l modelelor
d l l cu clientii)
li tii)

Modele diferite reprezinta sistemul din perspective diferite:


Perspectiva externa ilustreaza contextul de operare sau mediul de operare
Perspectiva comportamentala detaliaza aspecte de reactivitate la stimuli
Perspectiva structurala pune accent pe arhitectura sistemului sau a setului de date
manipulate

Tipuri de modele

Modelul de procesare a datelor expliciteaza modul de procesare a datelor la


diferite nivele

Modelul de compunere reprezinta modul de compunere si recompunere a


entitatilor ce alcatuiesc sistemul

Modelul arhitectural prezinta subsistemele constitutive

Modelul de clasificare pune accent pe caracteristicile comune ale entitatilor


constituente

4
1. Modele contextuale

Sunt utilizate pentru a ilustra contextul operational al sistemului – ele pun accent
pe ce e
exista
ista dincolo de limitele sistemului.
sistem l i

Considerente sociale si organizationale pot modifica deciziile ce stabilesc care


sunt limitele (frontierele) sistemului

Modelele arhitecturale pot fi considerate modele de context deoarece ele


precizeaza limitele entitatii sistem si relatiile sale cu alte sisteme

Model de context pentru un sistem ATM

Sistem securitate

Sistem contabil Baza de date
sucursala conturi

Bancomat

Sistem
numerotare Baza de date 
conturi curenta
sucursala

Sistem  intretinere

6
Modelarea activitatilor sistemelor

Modelele activitatilor sistemelor prezinta detalii de operare, de dezvoltare, de


intretinere, etc. ale acestora. Acestea sunt reprezentate in suite numite procese.

Procesele pot fi identificate prin intermediul modelelor de fluxuri de date –


acestea pun in evidenta atat structura proceselor unui sistem precum si fluxul de
informatii de la un proces la altul.

In cadrul UML (Unified Modeling Language – limbaj standardizat de modelare


pentru sisteme orientate obiect) un proces este reprezentat printr-un caz de
utilizare (Use-Case – UC)

Modelul procesului de procurare a unui echipament

Specificatie verificata
Nota 
livrare
Solicitare 
Specificare Validare  costuri  Acceptare  Verificare 
Get cost
echipament specificatie estimative
estima tes livrare  repere 
solicitat echipament livrate
Specificatie+
Notificare  Instructiuni 
Furnizor+
Specificatie ordin instalare
Lista furnizori  Estimare
echipament
Baza date  Identificare  Alege  Plasare  Instalare 
furnizori furnizori furnizor ordin echipament

Completare  Receptie  
ordin instalare

Receptie 
echipament 
Formular ordin  livrat
verificat si 
semnat Detalii 
echipament 

Baza date 
echipamente 

8
3. Modele comportamentale

Sunt folosite pentru a descrie comportarea globala a sistemului

Exista doua tipuri de modele de comportament:


3.1 modele de procesare a datelor ce prezinta modul de conversie a acestora
pe masura ce traverseaza sistemul
3.2 modele ale masinii de stare ce pun accent pe modul cum raspunde
sistemul la evenimente (interne/externe)

Aceste modele reprezinta perspective diferite, astfel incat ambele sunt necesare
t modelarea
pentru d l t t l a sistemelor.
comportamentala i t l

3.1 Modele de procesare a datelor

Diagramele fluxurilor de date (DFD) sunt utilizate pentru a modela modul de


procesare a datelor de catre sistem.

Acestea precizeaza pasii de procesare in decursul traversarii sitemului de catre


fluxul informational.

Numeroase metode de analiza au drept componenta intrinseca DFD

DFD reprezinta o modalitate de notare simpla pe care utilizatorii o pot intelege

Prezinta procesul de procesare al datelor de la un capat la altul

10
Ex.1 (3.1) DFD pentru procesarea unui ordin bancar

Formular ordin  Formular  Ordin verificat 


Completed
completat  Signed
aprobat  Trimitere la 
Send to aprobat +
Detalii ordin + order for m order for m furnizor notificare ordin
supplier
formular în alb
Completare  Validare  Inregistrare 
g
f Complete
C l l td
formular ordin Vordin
Validate
lid t R
Recordd
ordin
or der form order or der
Adjust
Ajustare 
buget le
availab
Order
Detalii  disponibil
ordin Formular  budget
details ordin 
order for
semnat
Detalii costuri 
Order
ordin + sold 
amount
cont
+ account
details

Or ders
Fisier cu Budget
Fisier 
ordine 
file buget
file

11

Diagrame ale fluxurilor de date

DFD modeleaza sistemul dintr-o perspectiva practica

Evidentierea si documentarea datelor asociate unui proces este utila in


dobandirea unei intelegeri globale asupra sistemului

Diagramele fluxurilor de date pot fi folosite si pentru reprezentarea schimburilor


de date intre sistem si alte sisteme externe acestuia (din mediul de operare al
acestuia)

12
Ex.2 (3.1) Diagrama fluxului de date pentru pompa de insulina

sange parametrii sangvini


senzor  glucoza in  analiza glucoza
sange din sange nivel glucoza sangvina

Calcul
necesar
insulina

comanda

i li
insulina control pompa
controler cerere

pompa insulina livrare insulina

insulina

13

3.2 Modele de tip masina de stare

Modeleaza comportarea sistemului ca raspuns la evenimentele interne/externe

Pun in evidenta raspunsurile sistemului la diferiti stimuli, astfel incat sunt adesea folosite
in modelarea sistemelor de timp real

Modelele de tip masina de stare reprezinta starile ca noduri si evenimentele ca arce intre
aceste noduri. La aparitia unui eveniment sistemul realizeaza o trecere dintr-o stare in alta

Diagramele de stare sunt integrate in UML sub numele de “Model al masinii de stare”.

14
3.2 Diagrame de stare

p
Permit descompunerea unui model in sub-modele ( vezi slide-ul urmator))

O scurta descriere a actiunilor este trecuta in paragraful “do” al fiecarei stari

Pot fi complementate cu tabele ce descriu starile si stimulii aferenti

15

Ex. 32. a. Modelul unui cuptor cu microunde


(din Information System Design IT60105, Autumn 2007)

16
Ex. 3.2. d. Modelul de operare a cuptorului cu microunde

17

4. Modele semantice ale datelor

Folosite pentru descrierea structurii logice a datelor procesate de sistem

Un model de tipul entitate-relatie-atribut seteaza entitatile din sistem, atributele si


relatiile dintre acestea

Folosite pe scara larga in modelarea bazelor de date. Pot fi implementate rapid in cadrul
bazelor de date relationale

Nu au o reprezentare directa in UML, dar pot fi asimilate cu obiecte si relatii de asociere


intre acestea

18
Ex. 4 Modelul semantic al unei biblioteci

19

5. Dictionare de date

Dictionarele de date sunt liste ale tututror numelor folosite in modelarea unui sistem. Sunt
incluse descrieri de entitati, atribute si relatii intre acestea.

Avantaje:

Se poate aplica un management integrat al numelor cu evitarea duplicarilor


Permite memorarea si corelarea la nivel organizational a cunostintelor din fazele de
analiza, proiectare si implementare

Exista numeroase utilitare CASE ce suporta lucrul cu dictionare de date

20
5. Exemplu de intrare intr-un dictionar de
date

Nume Descriere Tip Data

Articol detalii ale articolului publicat,


publicat posibil ordonate de utilizatorii LIBSYS entitate 30 10 2013
30.10.2013
Autori nume autori articol ce poate determina o partajare a taxei atribut 30.10.2013
Cumparator persoana/organizatie ce comanda o copie a articolului entitate 30.10.2013
Taxa platibila la relatie 1:1 intre articol si agentie copyright catre care se plateste taxa relatie 29.10.2013
Adresa (cumparator) adresa cumparatorului folosita pentru orice facturare atribut 30.10.2013

21

6. Modele structurale de tip obiect (1)

Modelele obiectuale descriu sistemul in termenii claselor ce modeleaza obiectele si a


relatiilor dintre acestea

O clasa este o abstractizare a unui set de obiecte ce isi impart atribute comune (ca tip)
si servicii (operatii), toate fiind furnizate de catre oricare obiect din clasa

Exista mai multe perspective de a modela obiectele in diagrame de tipul:

Mostenire
Agregare
Interactiune

22
6. Modele structurale de tip obiect (2)

Reprezinta o modalitate naturala de a reflecta entitatile din lumea reala ce sunt


p
manipulate de catre sistemul modelat

Cu cat entitatile au un grad de abstractizare mai mare cu atat ele sunt mai
dificil de modelat prin aceasta metoda

Identificarea claselor este un proces recunoscut ca fiind dificil, ce implica o


buna cunoastere a domeniului aplicatiei

23

6.1 Modele de mostenire

Organizeaza domeniul clasei sub forma unei ierarhii

Clasele din varful ierarhiei reflecta caracteristicile comune tuturor claselor

Clasele isi mostenesc atributele si serviciile mono sau multi parental. Aceasta conduce
la obtinerea oricarui grad de specializare dorit

Proiectarea unei ierarhii de clase este un proces recunoscut ca fiind dificil daca se
d
doreste
t evitarea
it oricarui
i i proces de
d duplicare
d li in
i diferitele
dif it l ramurii ale
l arborelui
b l i

24
Modelele obiectuale si UML

Pentru dezvoltatorii de aplicatii orientate-obiect, folosirea UML in analiza si proiectare a


devenit o practica extinsa

UML este
t la
l ora actuala
t l un standard
t d d ded modelare
d l orientata-obiect
i t t bi t

Notatii in diagramele de mostenire:

Clasele sunt reprezentate prin dreptunghiuri cu numele in partea superioara, atributele


in sectiunea de mijloc si operatiile in sectiunea de baza
Relatiile dintre obiecte (numite asocieri) sunt reprezentate prin linii de legatura
Mostenirea este reprezentata in sensul unei generalizari cu o sageata spre clasa
parinte

25

Clase ce reprezinta obiecte dintr-o biblioteca – structura


ierarhica

26
Ierarhia claselor pentru utilizatori ai bibliotecii

27

Mostenirea multipla

Sistemele ce suporta mostenirea multipla permit modelarea acestui concept

Un astfel de proces implica riscuri legate de conflicte semantice in cazul in care


atribute/servicii au acelasi nume in super-clase diferite, dar semnificatii diferite

Reorganizarea ierarhiilor de clase in cazul mostenirii multiple este un proces complex

28
Ex. Mostenire multipla

29

Agregarea obiectelor

Un model de agregare
g g ilustreaza modul in care clasele agregat
g g sunt alcatuite
din alte clase

Modelele de agregare sunt similare cu relatiile de tipul “este o parte a” din


modelele semantice ale datelor.

30
Exemplu de diagrama de agregare

31

Modelarea comportamentului obiectelor

Modelul de comportament ilustreaza interactiunile intre obiecte ce conduc spre o


reactie comportamentala particulara a sistemului ce este specificata intr-un caz
de utilizare (Use-Case)

Diagramele de secventa (sau diagramele de colaborare) UML sunt folosite pentru


modelarea interactiunii dintre clase/obiecte

32
Ex. Proces de eliberare a unui document electronic – diagrama de secvente

33

7. Metode structurate de modelare

Acestea incorporeaza modelul sistemului ca parte intrinseca a unei metode

Metodele structurate definesc un set de modele, un proces (succesiune de


activitati) de deducere a modelelor, precum si regulile si ghidurile ce trebuie
aplicate pentru deducerea acestora

Utilitarele CASE suporta modelarea sistemelor ca parte a unei metode


structurate

34
Puncte vulnerabile in lucrul cu metode structurate

Metodele structurate:

nu sunt capabile sa modeleze cerintele nefunctionale ale sistemului

nu contin informatii care sa specifice pentru ce tip de probleme pot fi


aplicate

pot produce un volum mare de documentatie

Modelele deduse astfel sunt, uneori, prea detaliate si dificil de inteles de catre
utilizatori

35

Utilitare CASE de tip “workbench”

Reprezinta un set coerent de utilitare proiectate sa suporte activitati legate de


procesele software de analiza, proiectare sau testare.

Utilitarele workbench pentru analiza si proiectare


permit modelarea sistemului pe parcursul disciplinelor de inginerie a
cerintelor si proiectare sistem
pot suporta o anumita metoda de proiectare sau pot oferi suport pentru
crearea mai multor tipuri de modele ale sistemului

36
Workbench pentru analiza si proiectare

Dictionar  Utilitare structurate 
Structur ed R epor t
Facilitati generare 
Dadate
ta pentru creare 
dia g r amming rapoarte 
gener a tion
dictionary diagrame 
tools facilities

Generator de  Centr al
Spatiu central memorare  Query
Facilitati limbaj 
Code
cod  inf orinformatii
ma tion interogare
langua ge
gener ator
r epository facilities

For ms
Utilitare pentru creare  Utilitare pentru proiectare, 
Design, anal ysis Facilitati 
analiza si verificare Impor t/e xpor t
formulare
cr ea tion and checking import/export
facilities
tools

37

Utilitare workbench pentru analiza

Editoare de diagrame
Utilitare pentru analiza si verificare model
Utilitare stocare si interogare asociate
Dictionare de date
Utilitare definire si generare rapoarte
Utilitare pentru creare formulare
Translatoare pentru operatii import/export
Utilitare generare cod

38
Puncte cheie ale prelegerii

Un model reprezinta o vedere abstracta a unui sistem. Tipuri complementare


de modele furnizeaza informatii diferite despre sistem
Modelele de context ilustreaza pozitia unui sistem in mediul sau de operare,
alaturi de alte sisteme si procese
Modelele fluxurilor de date pot fi folosite pentru a ilustra modul de procesare a
informatiei in cadrul sistemului
Modelele de tip masina de stare ilustreaza comportarea sistemului ca raspuns
la producerea unor evenimente interne/externe
Modelele semantice ale datelor descriu structura logica a datelor ce sunt
importate/exportate de catre sistem
Modelele obiectuale descriu entitatile logice din sistem, clasificarea si
agregarea acestora
Modelele secventiale reprezinta interactiunile intre actorii (factori umani sau
sisteme fizice) din sistem si obiectele pe care acestia le folosesc
Metodele structurate ofera un cadru pentru dezvoltarea modelelor sistemelor

39

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