UML Dijagrami Klasa1
-
Upload
tanja-lazarevic -
Category
Documents
-
view
68 -
download
7
description
Transcript of UML Dijagrami Klasa1
![Page 1: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/1.jpg)
Objektno-orijentisano modelovanje na jeziku UML
Aleksandar Milosavljević
Dijagrami klasa
![Page 2: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/2.jpg)
Dijagrami klasa
KlaseAtributiMetodeRelacije
AsocijacijaAgregacija (Kompozicija)ZavisnostGeneralizacija
![Page 3: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/3.jpg)
Dijagrami klasa
![Page 4: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/4.jpg)
Asocijacija
![Page 5: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/5.jpg)
Asocijacija
![Page 6: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/6.jpg)
Asocijacija
![Page 7: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/7.jpg)
Asocijacija
Klasa A Klasa B1..*
![Page 8: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/8.jpg)
Asocijacija
![Page 9: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/9.jpg)
Agregacija
![Page 10: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/10.jpg)
Kompozicija
![Page 11: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/11.jpg)
Generalizacija
![Page 12: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/12.jpg)
Generalizacija
![Page 13: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/13.jpg)
Zavisnost
![Page 14: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/14.jpg)
Preslikavanje dijagrama klasa u C++ kod
![Page 15: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/15.jpg)
Zadatak 1.
Napisati C++ kod za klasu prikazanu na slici:
Toaster
m_nDarkness : intm_State : ToasterState
StartHeat()LowerToaster()RaiseToaster()
![Page 16: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/16.jpg)
Zadatak 1. (Toaster.h)
class Toaster{public:int m_nDarkness;
void StartHeat();void LowerToast();void RaiseToast();
private:ToasterState m_State;
};
![Page 17: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/17.jpg)
Zadatak 1. (Toaster.cpp)
#include "Toaster.h"
void Toaster::StartHeat(){
//...}void Toaster::LowerToast(){
//...}void Toaster::RaiseToast(){
//...}
![Page 18: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/18.jpg)
Zadatak 2.
Napisati C++ kod za dijagram klasa prikazan na slici:
Left Right+right+left
![Page 19: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/19.jpg)
Zadatak 2. (LeftRight.h)
class Right;
class Left{public:Right* right;
};
class Right{public:Left* left;
};
![Page 20: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/20.jpg)
Zadatak 3.
Napisati C++ kod za dijagram klasa prikazan na slici:
Car Wheel
44
+m_aWheel
![Page 21: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/21.jpg)
Zadatak 3. (Car.h)
#include "Wheel.h"
class Car
{
public:
Wheel m_aWheel[4];
};
![Page 22: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/22.jpg)
Zadatak 4.
Napisati C++ kod za dijagram klasa prikazan na slici:
Rectangle
Shape
![Page 23: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/23.jpg)
Zadatak 4. (Rectangle.h)
#include "Shape.h"
class Rectangle : public Shape
{
//...
};
![Page 24: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/24.jpg)
Primena dijagrama klasa za modelovanje domena
![Page 25: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/25.jpg)
Zadatak 5.
Dijagramom klasa predstaviti model fakulteta. Svaki student upisuje studije na jednom i samo jednom odseku, a odsek pridapa jednom i samo jednom fakultetu.
Detaljno opisati atribute klase student.
![Page 26: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/26.jpg)
Zadatak 5. (rešenje)
Fakultet Odsek
1..n1
Student
brojIndeksa : Integerime : Stringprezime : Stringadresa : Stringgodina : Byte
1..n
1
+odsek
1..n
+fakultet
1
+student
+studiraNa
1..n
1
![Page 27: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/27.jpg)
Zadatak 6.
Dijagramom klasa predstaviti logičku arhitekturu sistema za automatsku prijavu studenata za kurseve.
Studenti biraju 4 primarna kursa.Jedan kurs može pohađati maksimalno 10
studenata. Minimalan broj studenata za kurs je 3. Jedan profesor može da ponudi maksimalno 4
kursa, pri čemu više profesora mogu da ponude isti kurs.
![Page 28: UML Dijagrami Klasa1](https://reader033.fdocuments.net/reader033/viewer/2022061509/563db8c8550346aa9a96e948/html5/thumbnails/28.jpg)
Zadatak 6. (rešenje)
Algoritam rasporeda
Osoba
ime : String
Profesor
titula : String
Student
smer : String
Forma registracije
PonudaKursa
lokacija : String
Otvori()DodajStudenta(s : Student)
1
0..4
3..10
4
Menadzer registracije
DodajStudenta(k : Kurs, s : Student)
1
0..n
Kurs
naziv
Otvori()DodajStudenta(s : Student)
1..n 1
1..n
1
1..n
11
0..4
3..10
4
1
0..n
1..n 1