Sunteți pe pagina 1din 16

Universitatea POLITEHNICA Bucureti

Facultatea de Antreprenoriat, Ingineria i Managementul Afacerilor

Modulul

Prezentarea metodologiei
OMT - "Object Modelling Technique"

dr.ing. Gabriel Neagu

2014
CUPRINS

I. Modele OMT ................................................................................................................3


1. MODELUL OBIECT...................................................................................................1
1.1. Definiii: ..............................................................................................................1
1.2. De reinut: ..........................................................................................................1
2. MODELUL DINAMIC .................................................................................................3
2.1. Definiii: ..............................................................................................................3
2.2. De reinut: ..........................................................................................................3
3. MODELUL FUNCIONAL..........................................................................................5
3.1. Definiii: ..............................................................................................................5
3.2. De reinut: ..........................................................................................................6
4. RELAIA NTRE CELE 3 MODELE OMT............................................................................7
II. Faze metodologice .....................................................................................................8
5. ANALIZA ...................................................................................................................9
5.1. Obiectiv..............................................................................................................9
5.2. Etape .................................................................................................................9
5.2.1. Descrierea problemei (caietul de sarcini)............................................................. 9
5.2.2. Construirea modelului obiect ............................................................................... 9
5.2.3. Construirea modelului dinamic........................................................................... 12
5.2.4. Construirea modelului functional........................................................................ 12
5.2.5. Adaugare operatii .............................................................................................. 13
5.3. Rezultate obinute............................................................................................13
I. Modele OMT
1. MODELUL OBIECT

1.1. Definiii:

Obiect: un concept, o abstractizare sau un lucru real cu semnificaie i delimitri clare n


domeniul abordat.
Clas: grup de obiecte caracterizate prin proprieti (atribute), comportament (operaii),
relaii cu alte obiecte i semantic similare.
Diagrama obiect: o reprezentare grafic formal pentru modelarea obiectelor, claselor i
relaiilor ntre acestea.
Atribut: o valoare a unei entiti caracteristic obiectului unei clase.
Operaie: o funcie sau o transformare ce poate fi executat de un obiect sau asupra unui
obiect al unei clase.
Metoda: implementarea unei operaii
Polimorfism
Legtur: o conexiune fizic sau conceptual ntre obiecte.
Asociere: grup de legturi cu structur i semantic comune (legturi ntre obiectele unei
clase).
Cardinalitate
Atributele asocierii
Asocierea ca clas
Rol: semnificaia uneia din extremitile unei asocieri.
Agregare: asociere de tip component ansamblu.
Generalizare: relaie ntre o clas i una sau mai multe versiuni detaliate ale sale.
Atribut de discriminare
Specializare
Motenire: relaia ntre o clas i generalizarea sa de la care preia atributele i operaiile
comune.
Motenire multipl

1.2. De reinut:

 Construirea modelului obiect trebuie precedat de nelegerea problemei.


Coninutul modelului este stabilit pe baza relevanei sale pentru soluia avut n
vedere.
 Modelul trebuie pstrat ct mai simplu.
 Denumirile obiectelor trebuie alese cu grij: descriprive, lapidare, clare, s vizeze
ansamblul caracteristicilor relevante ale obiectivului. Alegerea denumirilor
reprezint una din cele mai dificile probleme ale modelrii orientate obiect.

Prezentarea metodologiei OMT -1- Gabriel Neagu


 Legturile ntre obiecte se descriu prin asocieri, nu se ncapsuleaz n structura
acestora, la nivelul atributelor.
 De utilizat n principal asocierile binare. Cele de grad mai mare vor fi
descompuse, utiliznd calificatori i atribute ale asocierilor.
 Asocierile unu-la-unu vor fi analizate atent. n multe cazuri, unul din obiecte este
opional (asociere zero-la-unu), n altele este vorba de asocieri cu cardinalitate
supraunitar.
 Modelul obiect este rezultatul unui proces iterativ. Corectarea sa este normal, nu
trebuie evitat sau considerat un eec.
 Este recomandabil atragerea altor persoane n corectarea modelului.
 Documentarea modelului este foarte util. Reprezentarea grafic nu specific
dect structura acestuia. Sunt necesare explicaii scrise privind motivaia i
semnificaia fiecrei clase sau asocieri.
 Nu vor fi utilizate dect structurile OMT care se dovedesc necesare modelului
respectiv. Tendine de ncrcare a acestuia cu ct mai multe tipuri de construcii
este nociv.

Prezentarea metodologiei OMT -2- Gabriel Neagu


2. MODELUL DINAMIC

2.1. Definiii:

Eveniment: un transfer unidirecional de informaie de la un obiect la altul.


Scenariu: secven de evenimente n funcionarea sistemului.
Stare : set de valori ale atributelor i legturilor unui obiect la un moment dat.
Diagrama strilor: reprezentarea grafic a relaiilor ntre evenimente i stri.
Tranziie: schimbarea strii unui obiect generat de un eveniment.
Tranziie automat
Condiia de gard
Activitate: o operaie de durat, asociat unei stri.
Activiti concurente
Aciune: o operaie instantanee, asociat unui eveniment.
Aciuni la intrare/ ieire
Aciuni interne

Reprezentare grafic

Stare1 Stare2
do: activitate1 event1 (attrib1) [condiii1] / aciune1 do: activitate2
enrty/ actiune2 entry/ actiune5
exit/ actiune3 exit/ actiune6
event/ actiune4 event/ actiune7

2.2. De reinut:

 Modelul dinamic se construiete numai pentru clasele al cror comportament este


semnificativ pentru problema abordat.
 Pentru consistena modelului dinamic la nivelul ntregului sistem este esenial
evidenierea evenimentelor comune ntre diagramele de stare la nivelul claselor.
 Scenariile constituie un suport important pentru demararea modelrii dinamice.
 Nu este obligatorie utilizarea tuturor atributelor unui obiect n diagrama sa de
stare; vor fi selectate numai cele relevante pentru fiecare stare.
 Nivelul de detaliu (granularitatea) pentru evenimente i stri trebuie s depind
de cerinele aplicaiei.
 Activitile i aciunile vor fi departajate atent: activitile au o durat, aciunile se
desfoar instantaneu.

Prezentarea metodologiei OMT -3- Gabriel Neagu


 Dac o stare are mai multe tranziii de intrare care declaneaz aceeai aciune,
aceasta se specific n interiorul strii, precedat de eticheta entry (n loc s fie
nscris pe fiecare din tranziii); se procedeaz similar pentru tranziiile de ieire,
utiliznd eticheta exit.
 n cazul unor relaii de generalizare/motenire, se vor construi diagrame de stare
distincte pentru subclase i pentru superclasa acestora; diagramele subclaselor
se vor concentra pe atributelor specifice acestora.

Prezentarea metodologiei OMT -4- Gabriel Neagu


3. MODELUL FUNCIONAL

3.1. Definiii:

Diagrama fluxului de date: reprezentarea grafic a relaiei funcionale ntre valorile


prelucrate n sistem (intrri, interne, ieiri).

Elemente componente:
proces: transformarea valorii datelor:
- nivelul de baz al procesului este funcia
- este implementat ca metod a unui obiect
flux de date: transferul datelor ntre procese:
- semnificaia datelor transferate este indicat prin etichet
- flux cu ieiri multiple: pentru adresarea mai multor obiecte (inclusiv descompu-
nere date agregate)
- flux de control: o variabil boolean de care depinde activarea unui proces
actor: obiect activ, cu rol de surs/ consumator de date:
- este plasat, n general, la extremitile diagramei (terminator)
- aciunile sale fac obiectul modelului dinamic
memorie: obiect pasiv, destinat memorrii datelor:
- structura obiectului trebuie descris n modelul obiect
- caz particular: o memorie generat de un flux de date i utilizat de un alt flux.

Reprezentare grafic

memorie flux de date memorie


proces1
intrare iesire

actor proces2

proces3

Prezentarea metodologiei OMT -5- Gabriel Neagu


3.2. De reinut:

 MF specific numai posibilele variante de flux al prelucrrii datelor, nu i suportul


decizional pentru selectarea variantei recomandabile n contextul de funcionare
dat.
 Ca i n cazul celorlalte modele OMT, modelele funcionale imbricate permit
detalierea pe niveluri a funcionalitii sistemului: un proces este expandat ntr-o
diagram de flux.
 Funcie de natura lor, operaiile reprezentate prin procese pot fi specificate n
diverse moduri:
- funcii matematice
- pre- i post-condiii
- tabele de decizie
- pseudocod
- limbaj natural
 Restriciile repezint relaii ntre dou obiecte la un moment dat sau ntre valori
ale aceluiai obiect la momente diferite. n cazul MF, pot fi definite restricii care
vizeaz condiiile de execuie a unui proces.

Prezentarea metodologiei OMT -6- Gabriel Neagu


4. RELAIA NTRE CELE 3 MODELE OMT

Modelul functional descrie ce trebuie s fac sistemul. Procesele-frunz din model sunt
operaii ale obiectelor.
Modelul obiect identific executanii a ceea ce trebuie fcut: fiecare proces este
implementat ca operaie a unui obiect.
Modelul dinamic indic secventa n care sunt executate operaiile.

n modelul funcional, procesele indic obiectele care interacioneaz n cadrul unei


funcii. Fluxurile de date ntre actori reprezint operaii executate/suportate de obiectele
respective. Actorii sunt obiecte auto-motivate, deci este nevoie de modelul dinamic pentru a
specifica momentele n care ei acioneaz. Memoriile sunt obiecte pasive, care rspund
operaiilor de interogare (fluxurile de ieire) i celor de actualizare (fluxurile de intrare). Rezult
c modelul lor dinamic nu este relevant.

Pentru modelul funcional:


 modelul obiect indic structura actorilor, memoriile i fluxurilor;
 modelul dinamic indic ordinea n care procesele sunt executate.

Pentru modelul obiect:


 modelul funcional indic operaiile claselor i argumentele acestora;
 modelul dinamic indic strile fiecrui obiect i operaiile care sunt executate la
recepia evenimentelor care determin schimbrile de stare.

Pentru modelul dinamic:


 modelul funcional indic aciunile i activitile (ca procese-frunz);
 modelul obiect identific cine i schimb strile i operaiile aferente.

Prezentarea metodologiei OMT -7- Gabriel Neagu


II. Faze metodologice
5. ANALIZA

5.1. Obiectiv
Construirea unui model precis, concis, inteligibil i corect al domeniului real.
Rspuns la ntrebarea: Ce trebuie fcut ?

5.2. Etape
5.2.1. Descrierea problemei (caietul de sarcini)

Aceast etap trebuie s rspund la urmtoarele ntrebri:


scopul problemei abordate
ce se dorete
contextul de aplicare
ipoteze
performane necesare
Etapa are la baz colaborarea strns ntre analist i utilizator.
Nivelul de detaliu al descrierii problemei depinde de natura i nivelul de noutate al
acestora, de abordrile sale anterioare.
O eroare frecvent care se face este abordarea n cadrul acestei etape a unor aspecte
i decizii specifice etapelor ulterioare ale fazei de analiz sau chiar altor faze ale precesului de
proiectare: soluia general de realizare, algoritmi, structuri de date, arhitectur.

5.2.2. Construirea modelului obiect

 Identificare obiecte i clase

Obiectele includ entiti fizice, concepte, relevante pentru domeniul analizat. De reinut
c nu toate clasele de obiecte sunt explicite; unele sunt implicite sau aparin cunotinelor
generale despre domeniul respectiv.
Pentru lista iniial, derivat din descrierea problemei, nu se va acorda prea mult atenie
problemelor de motenire i de ierarhizare, tratate ulterior, n procesul de rafinare a modelului.
Din lista iniial, stabilit be baza detalierii cerinelor utilizator, vor fi eliminate clasele i
obiectele false:
clase redundante: descriu aceeai entitate sub nume diferite;
clase irelevante: au legtur redus cu problema n cauz, chiar dac ntr-un alt
context de analiz pot fi importante;
clase vagi (incorect definite): scop i arie imprecis definite;
atribute: denumiri care pot viza obiecte n sens general, dar care n contextul
analizat nu au acest rol (de ex. vrst, adres);
operaii: denumiri care pot viza obiecte n sens general, dar care n contextul
analizat descriu operaii asupra altor obiecte;

Prezentarea metodologiei OMT -9- Gabriel Neagu


roluri ale obiectelor: denumirea clasei trebuie s reflecte natura sa, nu rolul jucat
ntr-o asociere;
construciile specifice fazei de implementare: program, subrutin, algoritm etc.

 Intocmirea dicionarului de date

Dicionar de date = prezentare sintetic a claselor i obiectelor privind scopul


acestora n cadrul sistemului, ipoteze, restricii, relaii cu alte obiecte.

 Identificare asocieri

Asocierile sunt exprimate prin verbe i se refer la:


 localizarea fizic;
 comunicare
 apartenen
 ndeplinirea unei condiii
 execuia unei aciuni.

Ca i n cazul claselor, este important reinerea asocierilor autentice, fiind eliminate:


asocierile cu clase eliminate anterior
aciunile: asocierea se refer la o proprietate structural, nu la aspecte temporale;
asocierile ntre trei sau mai multe clase de obiecte: acestea pot fi descompuse n
asocieri binare (eventual calificate); un termen ntr-o asociere ternar care este
pur descriptiv i nu are caracteristicile sale proprii, reprezint un atribut al unei
asocieri binare;
asocieri irelevante sau care in de implementare;
asocierile derivate (care pot fi exprimate prin alte asocieri): atunci cnd sunt totui
utile pentru explicitarea modelului, vor fi reprezentate cu linie punctat, pentru a le
evidenia de cele de baz.

 Identificare atribute

Valorile unui atribut sunt exprimate, n general, prin adjective. n faza de analiz este
important identificarea atributelor, nu a valorilor acestora.
Vor fi avute n vedere numai atributele relevante pentru aplicaia respectiv, cu accent
pe cele eseniale; detaliile pot fi adugate ulterior. Atributele derivate vor fi ignorate pe ct posibil
sau notate distinct. Nu trebuie uitate atributele asocierilor.
Atribute false:
obiecte: dac pentru o noiune este important existena sa ca entitate
independent, atunci aceasta este un obiect; dac este important valoarea sa -
este un atribut;
nume: un nume este un atribut dac nu este dependent de context, n special
dac nu trebuie s fie unic;

Prezentarea metodologiei OMT - 10 - Gabriel Neagu


identificatori: n lista de atribute vor fi incluse numai atributele valabile pentru
aplicaia abordat, nu i identificatorul obiectului respectiv (n sens limbaj de
programare);
atribute ale unei legturi: acestea sunt evidente n cazul legturilor "n-la-n", dar
sunt mai subtile pentru asocieri "1-la-n" pentru c pot fi ataate la obiectul "n",
fr a se pierde informaie;
valori interne (nerelevante pentru vizibilitatea extern a obiectului);
detalii minore.

 Rafinarea modelului cu relaii de generalizare/motenire

Generalizarea aspectelor comune mai multor clase ntr-o superclas sau motenirea
elementelor unei clase n subclase.

 Testarea cilor de acces

Accesibilitatea obiectelor i atributelor pe ansamblul modelului corespuztor


diverselor cereri de interogare formulate la nivelul operaiilor.

 Verificarea modelului

Adugarea elementelor utile, excluderea celor inutile, aducerea modelului la acelai


nivel de detaliere.

Indicii
Pentru clas absent:
asimetrie n asocieri i generalizri: se adaug o clas
atribuite i operaii neomogene la nivelul unei clase: clasa se spliteaz
o clas joac dou roluri diferite: clasa se spliteaz
lipsa clasei (claselor) int pentru o operaie
dou asocieri cu acelai nume i scop: se adaug o superclas prin generalizare

Pentru clas inutil:


lipsa atributelor i operaiilor pentru clasa respectiv

Pentru asociere absent:


lipsa cii de acces pentru o operaie

Pentru asociere inutil:


informaii redundante n dou asocieri
asocierea nu este traversat de nici o cale de acces.

 Gruparea claselor n module

Prezentarea metodologiei OMT - 11 - Gabriel Neagu


Modul = set de clase care acoper un subansamblu din logica sistemului abordat.
O soluie frecvent de modularizare: construirea unui modul rdcin compus din clase
de nivel nalt, cruia i se ataeaz module formate din clase subordonate, obinute prin relaie
de motenire.

5.2.3. Construirea modelului dinamic

 Pregtire scenarii
Scenariu = secven de evenimente referitoare la interaciunea utilizator - sistem;
include machete, meniuri, mesaje, comenzi.

Este de preferat abordarea prin scenarii fa de varinata construirii de la nceput a


modelului general de funcionare a sistemului. Se ncepe cu scenarii pentru situaiile normale,
crora li se adaug gradual scenarii pentru cazurile de excepie.

 Identificare evenimente
Semnale, ntreruperi, comenzi, decizii.

Evenimentele sunt identificate prin analiza scenariilor. Evenimentele cu efect similar


asupra funcionrii sistemului sunt grupate sub acelai nume.
n final fiecare scenariu va putea fi descris ca o secven de evenimente.
La nivelul unui modul este recomandabil ntocmirea diagramei fluxului de evenimente,
pentru verificarea coerenei i completitudinii setului de evenimenete.

 Construirea diagramei strilor


Diagrama strilor = modelul de comportament al unei clase de obiecte.
Este construit pe baza scenariilor i a diagramei fluxului de evenimente.
Sunt abordate prioritar clasele de obiecte caracterizate prin nivel ridicat de interaciune
cu exteriorul.

 Stabilire evenimente de legtur ntre diagrame de stare


Reprezint verificarea de completitudine i consisten a modelului dinamic al sistemului
(ansamblul diagramelor de stare ale claselor).

5.2.4. Construirea modelului functional

 Identificare valori de intrare i ieire

Reprezint parametri ai evenimentelor de interaciune a sistemului cu exteriorul.

 Construire diagrame de flux al datelor

Descriu modul de obinere a valorilor de ieire din valorile de intrare.


Se pornete de la valorile de ieire i se identific funciile necesare obinerii lor. De
obicei se construiesc diagrame multi-nivel pentru detalierea gradual a procesului de calcul.

Prezentarea metodologiei OMT - 12 - Gabriel Neagu


 Descriere funcii

Descrierea poate fi declarativ sau procedural. Nu sunt tratate aspectele de


implementare a funciei.

 Identificare restricii ntre obiecte

Restricie = dependen funcional ntre obiecte care nu sunt conectate prin valori
de intrare-ieire.

 Specificare criterii de optimizare

Valori de minimizat/maximizat/optimizat. n cazul unor criterii divergente de optimizare,


se indic soluia de negociere.

5.2.5. Adaugare operatii

Tipologie operaii:
specifice structurii obiectului: citire/scriere valori atribute sau asocieri;
generate de evenimentele i aciunile din modelul dinamic;
funciile din modelul funcional.

5.3. Rezultate obinute

Documentaia de analiz:
 formularea problemei;
 modelul obiect
- diagrama modelului obiect
- dicinarul de date
 modelul dinamic;
- diagramele de stare
- diagrama global a fluxului de evenimente
 modelul funcional
- diagramele fluxurilor de date
- restricii

Prezentarea metodologiei OMT - 13 - Gabriel Neagu

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