Exemple de diagrame de clasă

Ca primul exemplu din Fig. 11.17 prezintă diagrama de clasă a sistemului de control al zborului aeronavei.

Exemple de diagrame de clasă

Fig. 11.17. Schema de clasă a sistemului de control al zborului







Aceasta este clasa programului de zbor care are proprietatea Calea de zbor, operațiunea Modify Execute Program () și predictorul Endpoint Manager (). Există o asociere între această clasă și clasa SU a controlerului - instanțele programului specifică parametrii de mișcare pe care instanțele controlerului trebuie să le furnizeze.

Clasa Controlerul SU este un agregat al cărui exemple includ o copie a controlerului de viteză al clasei și un controler Angle, precum și șase exemple ale clasei Sensor. Copiile controlerului de viteză și controlerul sunt incluse în unitate de unghiurile fizic (prin utilizarea raportului compoziție) și senzorul de copii - link-ul, adică instanța SU controler include doar pointerii senzori de obiecte. Controlerul de viteză și dispozitivul de reglare a unghiului sunt subclase ale superclasei abstracte, un regulator care le transmite ca operații abstracte de mostenire. Include () și Disable (). În schimb, clasa Regulator utilizează o anumită clasă Port.

După cum puteți vedea, asociația are un nume (Definește zborul), rolurile membrilor asociației sunt indicate explicit (Server, Client). Relațiile de compoziție au, de asemenea, nume (Include), iar aceste restricții sunt impuse de limitare - controlerul nu poate include simultan controlerul de viteză și unghiul de control.

Pentru clasa CC Controller, este dată o restricție privind multiplicitatea - nu mai mult de trei cazuri din această clasă sunt permise. Clasa Regulatorul de viteză are un alt tip de restricție - este permisă reactivarea instanței sale nu mai devreme de 64 ms.

Ca un al doilea exemplu în Fig. Figura 11.18 prezintă o diagramă de clasă pentru sistemul informatic al teatrului. Acest sistem formează 6 clase.

Agregatele de clasă Teatrul și grupul au operațiunile de adăugare și înlăturare a pieselor lor, care sunt incluse în agregate prin referință. Părți ale Teatrului sunt Spectatori și Trupe, iar părți ale Trupului sunt Actori. Relația de agregare dintre clasa Teatru și clasele Trupei și Spectatorului este ușor diferită. Teatrul poate consta dintr-unul sau mai multe trupe, dar fiecare trupă se află într-un singur teatru. Pe de altă parte, orice număr de spectatori (inclusiv numărul zero) poate merge la teatru, iar spectatorul poate participa la unul sau mai multe teatre.







Între clasele Truppa și Actor există două relații - agregare și asociere. Agregarea arată că fiecare actor lucrează în unul sau mai multe trupe, iar în fiecare trupă trebuie să existe cel puțin un actor. Asociația arată că fiecare trupă este gestionată de un singur actor - directorul artistic, iar unii actori nu sunt lideri.

Asocierea dintre clasele Performance and Actor evidențiază faptul că cel puțin un actor trebuie să fie implicat în joc, totuși, actorul poate juca în orice număr de spectacole (sau nu poate juca deloc).

Între clasele de performanță și Spectator este definită o asociere. Ea explică faptul că spectatorul poate viziona orice număr de spectacole, iar la orice spectacol poate exista un număr de spectatori.

În cele din urmă, diagrama prezintă două relații de moștenire, care afirmă că există un element uman atât în ​​spectatori, cât și în actori.

Exemple de diagrame de clasă

Fig. 11.18. Diagrama clasică a sistemului informatic al teatrului

1. Explicați scopul modelelor statice ale sistemelor software orientate spre obiecte.

2. Care este principala modalitate de a reprezenta modele statice?

3. Cum sunt folosite modelele statice?

4. Care secțiuni sunt incluse în desemnarea grafică a clasei?

5. Ce secțiuni din clasă nu pot arăta?

6. Care sunt soiurile domeniului de aplicare a bunului (operațiune)?

7. Explicați sintaxa generală pentru reprezentarea unei proprietăți.

8. Ce nivel de vizibilitate știi? Sensul lor?

9. Ce caracteristici ale proprietăților vă sunt cunoscute?

10. Explicați sintaxa generală pentru reprezentarea operației.

11. Ce formă are reprezentarea parametrului de funcționare?

12. Care sunt caracteristicile operațiunilor care vă sunt cunoscute?

13. Ce înseamnă cele trei puncte din lista de proprietăți (operațiuni)?

14. Cum este organizată gruparea proprietăților (operațiunilor)?

15. Cum pot limita numărul de instanțe ale unei clase?

16. Listați asociațiile de "asociație" cunoscute.

17. Poate un model static al unui sistem software să nu aibă o relație de asociere?

18. Care este semnificația calificatorului? La ce se referă el?

19. Ce relații pot avea mărcile de vizibilitate și ce indică aceste etichete?

20. Care este scopul asocierii de clasă?

21. Care este diferența dintre agregare și compoziție? Ce fel de relații (în UML) sunt acestea?

22. Ce înseamnă UML simplu?

23. Care este sensul relației de generalizare?

24. Care sunt dezavantajele multiplei moșteniri?

25. Listează deficiențele zăbrelei de moștenire rombică.

26. Care este sensul relației de realizare?

27. Ce înseamnă "mulți la mulți" putere și în ce privințe se aplică?

28. Ce este o clasă abstractă (funcționare) și cum se afișează ea?

29. Cum să interzicem polimorfismul unei operații?

30. Cum se identifică clasa rădăcinilor?







Articole similare

Trimiteți-le prietenilor: