Stații de andocare ale sistemului - stadopedia

Cel mai adesea, interfețele sunt utilizate pentru a simula nodurile de andocare într-un sistem format din astfel de componente software (vezi capitolul 25), ca COM + sau JavaBeans. Unele componente pe care le creați de la zero, altele cumpărați sau împrumutați din alte sisteme (a se vedea Capitolul 31). În orice caz, va trebui să scrieți un anumit cod pentru a "lipi" aceste componente, deci trebuie să înțelegeți care interfețe sunt implementate și consumate de fiecare dintre ele.

Identificarea nodurilor de andocare în sistem presupune existența unor linii clare de demarcare în arhitectura sa. Pe o parte a unei astfel de linii sunt componente care se pot schimba independent de componente, pe de altă parte, cu condiția ca ambele părți să îndeplinească contractul declarat de interfață.

Dacă luați o componentă gata făcută dintr-un alt sistem sau o cumpărați, veți obține cel mai probabil un set de operațiuni și o documentație minimă cu privire la atribuirea fiecăruia dintre ele. Acest lucru este util, dar nu suficient. Este mult mai important să se înțeleagă ordinea în care operațiunile trebuie să fie numit și ce mecanisme încorporate în interfața internă. Din nefericire, dacă componenta este prost documentată, va trebui să construiți modelul conceptual al interfeței sale prin metoda de încercare și eroare. Apoi, puteți documenta ceea ce ați găsit prin modelarea acestui nod de andocare utilizând interfețe UML, astfel încât dumneavoastră și alții să puteți lucra ulterior cu ușurință cu această componentă. Când proiectați propria componentă, trebuie să monitorizați contextul acesteia, adică să specificați interfețele pe care se așteaptă să le efectueze, precum și interfețele pe care le prezintă pentru utilizarea în alte componente.

Notă: Cele mai multe sisteme componente, cum ar fi COM + sau Enterprise JavaBeans, oferă posibilitatea unei introspecii, adică a unei cereri de software de la interfață, pentru informații despre operațiunile sale. Acesta este primul pas spre înțelegerea naturii unei componente nedocumentate.

Simularea nodurilor de andocare a sistemului este efectuată după cum urmează (pentru mai multe detalii, consultați simularea comportamentului din părțile 4 și 5):

  1. După desenarea unui set de clase și componente ale sistemului, trasați linii care separă grupuri de clase și componente strâns legate unul de celălalt.
  2. Clarificați partiția selectată ținând cont de variabilitatea sistemului. Clasele sau componentele modificabile în comun trebuie grupate în cooperări separate (a se vedea Capitolul 27).
  3. Aflați operațiile și semnalele care depășesc limitele pe care le definiți.
  4. Combină seturi de operații și semnale logic legate, formalizându-le ca interfețe.
  5. Pentru fiecare cooperare găsită în sistem, identificați interfețele la care se bazează în activitatea sa (importurile) și pe cele pe care le furnizează altora (exporturi). Interfețele de import sunt modelate de relațiile de dependență, iar exporturile sunt modelate folosind relațiile de implementare.
  6. Documentați dinamica interfețelor folosind precondițiile și postcondițiile pentru fiecare operație, precum și cazurile și automatele de utilizare a interfeței ca întreg.

De exemplu, în Fig. Figura 11.6 prezintă nodurile de andocare pentru biblioteca registrelor. Dll este o componentă preluată din sistemul financiar. Această componentă implementează trei interfețe - lnnknown, ILedger și IReports. În diagramă, prima este afișată în formă extinsă, iar celelalte două sunt prezentate sub formă abreviată. Toate cele trei interfețe sunt implementate de componentul ledger.dll și sunt exportate către alte componente care le utilizează în activitatea lor.


Fig. 11.6 Simularea nodurilor de andocare a sistemului

După cum puteți vedea din diagramă, componenta ledger.dll importă două interfețe, IStreaming și ITransaction, acestea din urmă fiind afișate într-o formă extinsă. Ambele sunt necesare de componenta ledger.dll pentru o funcționare corectă. Prin urmare, în sistemul de operare, trebuie să includeți și componentele care le realizează. Selectând interfața, de exemplu ITransaction, ați deconectat componentele aflate pe diferitele sale părți. Și aceasta înseamnă că puteți utiliza orice componentă, atâta timp cât aceasta este conformă specificației interfeței.

Asemenea interfete ca ITransaction nu sunt doar un set de operatiuni. Această interfață conține anumite ipoteze cu privire la ordinea în care trebuie apelate operațiile. Deși acest lucru nu este prezentat în diagramă, ar fi posibil să se atașeze un precedent la interfață (vezi capitolul 16) și să se prezinte modalitățile tipice de utilizare a interfeței.

Articole similare