Cunoștințe, prelegere, tipuri de diagrame uml

Diagrama secvențelor (diagramă secvență)

Tocmai ne-am familiarizat cu diagrama obiectelor, care arată relația dintre obiecte la un moment dat,





e. ne oferă o imagine a stării sistemului, fiind statică. Diagrama secvențelor arată interacțiunea obiectelor în dinamică. Ce înseamnă "dinamică"? Doar cu asta trebuie să ne dăm seama.

În UML, interacțiunea obiectelor este înțeleasă ca schimbul de informații între ele. Astfel, informațiile au forma mesajelor. În plus, faptul că mesajul conține anumite informații, afectează, de asemenea, destinatarul într-un fel. După cum puteți vedea, în acest sens, UML corespunde pe deplin principiilor de bază ale OOP. în conformitate cu care interacțiunea de informații între obiecte este redusă la trimiterea și primirea de mesaje.







Diagrama de secvență se referă la diagramele interacțiunii UML care descriu aspectele comportamentale ale sistemului, însă iau în considerare interacțiunea obiectelor în timp. Cu alte cuvinte, diagrama de secvențe arată calendarul transmiterii și recepției mesajelor de către obiecte.

Cititorul sofisticat va spune probabil că o diagramă precedentă face ceva similar. Da, într-adevăr, diagramele de secvențe pot (și ar trebui să fie!) Utilizate pentru a rafina diagramele cazurilor de utilizare. o descriere mai detaliată a logicii scenariilor de utilizare. Acesta este un instrument excelent pentru documentarea proiectului în ceea ce privește scenariile de utilizare! Diagramele de secvențe conțin, de obicei, obiecte. care interacționează în cadrul scriptului, mesaje. pe care le schimbă, iar rezultatele s-au întors. legate de mesaje. Cu toate acestea, rezultatele returnate adesea sunt indicate doar dacă nu este evident din context.

Acum despre ce notație este folosită în diagrama succesivă. Ca și înainte, obiectele sunt notate cu dreptunghiuri nume subliniate (pentru a le distinge de clase), mesaje (apeluri de metode) - vezi săgețile linii, rezultatele returnate - linii punctate cu săgeți. Dreptunghiurile de pe liniile verticale de sub fiecare dintre obiecte arată "durata de viață" (focalizare) a obiectelor. Cu toate acestea, destul de des nu sunt prezentate pe diagramă, totul depinde de stilul individual de design.

Din moment ce textul paragrafului precedent poate să nu fie bine primit de ureche și este mai bine să "vezi o dată decât să auzi de o sută de ori", vom da un exemplu de diagramă de secvență (vezi figura 2.12):

Credem că sensul diagramei este destul de ușor de înțeles: studentul dorește să se înscrie într-un anumit seminar, oferit în cadrul unui curs de formare. În acest scop, o verificare de pregătire a studentului pentru lista ce se cere (istorie) a cursului de seminarii, un student a trecut (Du-te la atelierul următor poate fi doar un material lucrat de studii anterioare - o imagine familiară, nu-i așa?). După obținerea atelierelor de clasă istorie obiect „ascultător“ primește statutul de pregătire, pe baza cărora studentul a raportat rezultatul (starea) din încercările sale de a scrie la seminar. Apropo, atenție la metodele de apel. După cum puteți vedea, totul este simplu!

Iată ce descrie următoarea diagramă (a se vedea figura 2.13), încercați să vă ghiciți. Doar, chur, nu spionezi in urmatorul text al conferintei!

Ai ghicit-o? Și nici nu ne-am îndoit! Desigur, aceasta este aceeași lucrare a ascensorului obișnuit al casei, pe care o folosim în fiecare zi! Apropo, uita-te la numele de obiecte - puteți vedea că acesta este un stil de design ușor diferit decât în ​​exemplul anterior. În cele din urmă, un alt exemplu (Figura 2.14):

Recunoașteți telefonul mobil?

Diagrama interacțiunii (cooperare, diagramă de cooperare)

Diagramele de secvențe reprezintă o modalitate excelentă de a documenta comportamentul sistemului, detaliind logica scenariilor de utilizare; dar există și un alt mod - de a folosi diagramele de interacțiune. Diagrama de interacțiune arată fluxul mesajelor dintre obiectele sistemului și asociațiile principale dintre ele și, de fapt, așa cum am menționat deja mai sus, este o alternativă la diagrama succesivă. Un cititor atent poate spune că diagrama obiectelor face același lucru - și va fi greșit. Diagrama obiectului prezintă statica. un instantaneu al sistemului, comunicarea între obiecte într-un timp dat, diagrama de interacțiune, precum și o diagramă de secvență care prezintă interacțiuni (scuza joc de cuvinte involuntare) obiecte în timp, t. e. în dinamică.

Trebuie remarcat faptul că utilizarea unei diagrame de secvențe sau a unei diagrame de interacțiune reprezintă o alegere personală a fiecărui proiectant și depinde de stilul individual de design. Noi, de exemplu, dăm prioritate diagramei de secvență. Utilizăm notația folosită în diagrama de interacțiune, nu ar trebui să locuim în detaliu. Totul este standard aici: obiectele sunt indicate prin dreptunghiuri cu nume subliniate (pentru a le distinge de clasă, amintiți?), Asocierea dintre obiectele menționate în formă de linii conectarea acestora, o săgeată pot fi afișate peste ele cu numele unui mesaj și numărul său de serie.

Necesitatea numărului de mesaj este explicată foarte simplu - spre deosebire de diagrama succesivă, timpul de pe diagrama de interacțiune nu este prezentat ca o măsură separată. Prin urmare, secvența transmiterii mesajelor poate fi specificată numai prin numerotarea lor. Acesta este motivul probabil pentru neglijarea unor astfel de diagrame de către mulți designeri.

Dar să ajungem în sfârșit la exemple (Figura 2.15):

După cum puteți vedea, această diagramă descrie (foarte aproximativ) activitatea personalului de întreținere pe bibliotecarul clienților bibliotecii primește un ordin de la un client incredinteaza un angajat găsi informații cu privire la cartea dorită la client, iar după primirea datelor încredințează un alt angajat pentru a da cartea la client. Inteles? Apoi un alt exemplu (Figura 2.16):

Sperăm că și această diagramă nu vă poate pune capăt. Cel mai probabil, ea descrie procesul de gestionare a cursurilor de formare (evident, prin crearea lor din module gata făcute) pentru un centru de instruire. După cum puteți vedea, totul este simplu!

Și, în sfârșit, încă un exemplu (Figura 2.17), care ar trebui să provoace o ușoară "deja vu" de la un cititor atent.







Articole similare

Trimiteți-le prietenilor: