Cunoștințe, prelegeri, diagrame de interacțiune apropiate

Înțelesul diagramei este din nou destul de ușor de înțeles, nu-i așa? Stereotipurile legăturilor ne permit să eliminăm ambiguitățile care ar putea fi, dacă vorbim, de exemplu, despre o companie multinațională distribuită.







Și încă un lucru legat de conceptul de cooperare este un obiect compus. Un obiect compus este un obiect la nivel înalt. constând din mai multe părți-obiecte. Este o instanță a unei clase compuse care implementează agregarea compusă a clasei și a părților sale. Un obiect compus este un concept apropiat de conceptul de cooperare. dar mai simplu și mai limitat. Acesta este un design care prezintă întregul sub formă de părți interacționate, dar mai ales din punct de vedere al compoziției. Un obiect compus este reprezentat ca un simbol obiect dreptunghiular, dar cu unele diferențe:

  • Numele obiectului este indicat în partea de sus a dreptunghiului, separat de restul acestuia de o linie orizontală;
  • În partea inferioară a dreptunghiului sunt plasate părți ale obiectului compozit, de asemenea, bineînțeles, reprezentate de simbolurile obiectelor;
  • părți ale unui obiect compozit pot (și chiar ar trebui) să fie conectate una la cealaltă;
  • Este posibilă o situație în care anumite părți ale unui obiect compozit sunt ele însele compozite.

Să vedem cum arată un exemplu (vezi Figura 5.18):

Nu este acest model simplificat al ferestrei grafice simplu și ușor de înțeles? Fereastra are un antet, un spațiu de lucru și două bare de derulare - orizontale și verticale, care le mișcă. E simplu!

După cum puteți vedea, toate obiectele afișate în diagramă sunt active. Există trei astfel de obiecte: un robot, un cuptor și un manager de magazin, care este descris ca un obiect activ compozit.

În general, dacă vorbim despre obiecte compuse, trebuie remarcat faptul că UML 2 are un nou tip de diagrame - o diagramă structurală compusă. Acesta prezintă structura internă a elementului, inclusiv punctele de interacțiune cu alte părți ale sistemului. Astfel, compoziția și relațiile dintre părți sunt afișate, care pun în comun comportamentul elementului. Iată un excelent exemplu de diagramă compusă din Zicom Mentor (Figura 5.20).

Un model de biciclete minunat! Recunoști prieteni vechi - obiecte compozite?

Din păcate, diagramele structurale compozite sunt în afara scopului examenului UM0-100, deci nu vom vorbi mai mult despre ele aici. În cele din urmă, să spunem că, pe lângă componente interne, pe astfel de diagrame se poate vedea o nouă inovație a porturilor UML 2. Un port este un element tastat care reprezintă partea "vizibilă exterioară" a elementului său care conține. Portul. după cum rezultă din nume, determină interacțiunea elementului model cu mediul său. Portul poate fi situat la marginea unei părți, a unei clase sau a unei structuri compuse. Portul poate descrie serviciile furnizate de elementul model (și cele solicitate de mediul său). Portul este portat ca numit (nu fără motiv, am spus anterior "tip") dreptunghi la marginea elementului său care conține modelul (deși uneori puteți vedea simbolul portului și în interiorul simbolului de clasă - atunci spuneți că clasa are un port ascuns). Pentru a termina aceste deviații de la subiect, să arătăm cum arată în diagramă și să reveniți la diagramele de interacțiune (Figura 5.21).







Amintiți-vă că reprezintă "lollipops"? Așa este, interfețele sunt furnizate de clasă și cerute de ele, bine făcute. Acum, să ne întoarcem la firul principal al narațiunii noastre.

Recomandări pentru construirea diagramelor de interacțiune

Cum și în ce succesiune ar trebui să acționăm pentru a construi o diagramă de interacțiune calitativă? Trebuie să începeți cu alegerea acelorași numai acele clase ale căror obiecte participă la interacțiunea pe care o modelați. Apoi am pus toate obiectele pe diagrama. De asemenea, este necesar să definim acele obiecte care vor exista permanent și cele care vor exista numai atunci când efectuează acțiuni în cadrul interacțiunii simulate.

Deci, obiectele sunt desenate, puteți merge la mesaje. Poate ca pentru a transmite mai bine rolurile jucate de obiecte in interactiune, va trebui sa folositi diferite tipuri de mesaje si stereotipuri. Pentru a distruge obiectele care există numai în timpul executării anumitor acțiuni, trebuie să furnizați și mesaje speciale.

Și dacă există ramuri? Cele mai simple cazuri de ramuri ale procesului de interacțiune pot fi arătate pe o diagramă - amintiți-vă exemplul cu diferite metode de plată, în funcție de valoarea obiectului vending? Dar atunci când ramura este desenată, diagrama devine mai complicată pentru a înțelege "din zbor". Trebuie să echilibrați detaliile și complexitatea: este mai bine să arătați fiecare flux de control alternativ pe o diagramă separată. În acest caz, ar trebui să luăm în considerare astfel de diagrame "private" în complex, ca un model de interacțiune.

Dacă doriți să detaliați mai departe diagrama, puteți introduce restricții temporare privind performanța acțiunilor individuale. Cu toate acestea, pentru mesajele simple asincrone, este posibil ca constrângerile de timp să nu fie necesare. Dar necesitatea de a sincroniza fluxurile complexe de management necesită adesea utilizarea unor astfel de restricții. Înregistrarea lor trebuie să respecte regulile limbii constrângerilor obiectului (OCL, Object Constraint Language). Examinarea OCL este dincolo de scopul cursului nostru și examenul UM0-100, pentru care este scris. Deși, fără să știm, am folosit deja OCL - rețineți condițiile în paranteze pătrate sub mesajele de pe diagrama de secvențe cu ramificație!

  • Diagrama de secvențe este o diagramă de interacțiune în care accentul principal se pune pe ordonarea mesajelor în timp.
  • Diagrama de cooperare reprezintă o formă alternativă de reprezentare a informațiilor conținute în diagrama succesivă.
  • Diagrama de cooperare este o diagramă a interacțiunilor în care accentul principal se pune pe organizarea structurală a obiectelor care trimit și primesc mesaje.
  • Există diferite tipuri de mesaje: sincron, asincron și răspuns, pierdute și găsite.
  • Diagramele cooperării sunt de două "nivele" - nivelul instanțelor și nivelul specificațiilor.
  • Cooperarea este o construcție statică pentru modelarea unui set de entități care interacționează unul cu celălalt.
  • Cu diagramele de concepte legate de cooperare, cum ar fi multi-obiecte. obiecte compozite și obiecte active.

Întrebări de test

  • Poate o diagramă de secvență să conțină un obiect cu o linie de viață, dar fără concentrarea controlului?
  • Care este diferența dintre prezentarea cooperării la nivel de specificație și la nivel de exemple?
  • Care este diferența dintre obiectele active și cele pasive?
  • Cum diferă un mesaj asincron față de un mesaj sincron?
  • Ce este un multi-obiect?
  • Ce este un obiect compus și cum se referă la noțiunea de cooperare?
  • Cum puteți evita complicarea diagramei de interacțiune cu un control al fluxului ramificat?






Articole similare

Trimiteți-le prietenilor: