Vizualizacija modela u UML-u

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Koja od navedenih tvrdnji najbolje opisuje vezu između konceptualnog modela i UML dijagrama klasa?

  • Konceptualni model i UML dijagram klasa su sinonimi i koriste se naizmjenično.
  • Konceptualni model je direktna implementacija UML dijagrama klasa.
  • UML dijagram klasa se koristi za modeliranje baze podataka, a konceptualni model za grafičko sučelje.
  • UML dijagram klasa je vizualni prikaz klasa, dok konceptualni model predstavlja stvarne objekte u domenu. (correct)

Koji princip objektno-orijentiranog programiranja se koristi za upravljanje složenošću problema naglašavanjem relevantnih osobina i skrivanjem drugih?

  • Apstrakcija (correct)
  • Polimorfizam
  • Enkapsulacija
  • Nasljeđivanje

Šta od navedenog predstavlja kriterij za određivanje funkcionalne povezanosti između dvije klase?

  • Broj linija koda u svakoj klasi
  • Da li promjene u jednoj klasi utječu na promjene u drugoj klasi (correct)
  • Da li klase imaju isti autor
  • Vrijeme potrebno za kompajliranje svake klase

Koja je prva aktivnost u procesu modeliranja klasa u fazi analize i dizajna?

<p>Pronalaženje i identifikacija klasa i njihovih veza (B)</p>
Signup and view all the answers

Koja je svrha identifikacije konceptualnih klasa u početnoj fazi dizajna softvera?

<p>Modeliranje elemenata domene problema (B)</p>
Signup and view all the answers

Šta predstavlja 'domen model' u kontekstu UML-a?

<p>Skup dijagrama klasa bez metoda (B)</p>
Signup and view all the answers

U UML dijagramu klasa, koji dio pravougaonika predstavlja atribute klase?

<p>Srednji (B)</p>
Signup and view all the answers

Šta je obavezno pri kreiranju klase?

<p>Identifikator klase (B)</p>
Signup and view all the answers

Kojim dijelom govora trebaju biti imenovani atributi klase?

<p>Imenicom (B)</p>
Signup and view all the answers

Koji pojam najbolje opisuje 'vidljivost' atributa u UML dijagramu klase?

<p>Prava pristupa atributu iz drugih klasa (B)</p>
Signup and view all the answers

Šta specificira 'kardinalnost' atributa u dijagramu klasa?

<p>Broj objekata na koje se atribut odnosi (D)</p>
Signup and view all the answers

Šta označava osobina {readOnly} u definiciji atributa?

<p>Vrijednost atributa se ne može mijenjati nakon inicijalizacije. (B)</p>
Signup and view all the answers

Šta su operacije klase?

<p>Akcije koje klasa može obavljati (C)</p>
Signup and view all the answers

Koji simbol se koristi za označavanje javne (public) vidljivosti operacije u UML dijagramu klasa?

<ul> <li>(A)</li> </ul>
Signup and view all the answers

Šta označava stereotip <<create>> u operacijama klase?

<p>Operaciju koja služi za inicijalizaciju objekta (B)</p>
Signup and view all the answers

Koja je glavna svrha dijagrama klasa?

<p>Opisivanje tipova objekata u sistemu i veza među njima (B)</p>
Signup and view all the answers

Šta se podrazumijeva pod 'statičkom strukturom sistema' u kontekstu dijagrama klasa?

<p>Klase, atributi i veze koje postoje u sustavu (A)</p>
Signup and view all the answers

U kojem scenariju je najprikladnije koristiti dijagram klasa?

<p>Za dizajn objektno orijentiranog sustava (B)</p>
Signup and view all the answers

Koje vrste veza se mogu prikazati u UML dijagramu klasa?

<p>Asocijacija, generalizacija, realizacija, zavisnost (C)</p>
Signup and view all the answers

Šta predstavlja asocijacija u UML dijagramu klasa?

<p>Vezu između dva objekta (C)</p>
Signup and view all the answers

Ako asocijacija ima strelicu na oba kraja, šta to implicira?

<p>Veza je dvosmjerna. (B)</p>
Signup and view all the answers

Šta označava navigabilnost u kontekstu asocijacija u UML dijagramu klasa?

<p>Smjer u kojem se može kretati od jednog objekta do drugog (D)</p>
Signup and view all the answers

Šta predstavlja kardinalnost asocijacije?

<p>Broj instanci koje mogu sudjelovati u vezi (D)</p>
Signup and view all the answers

U asocijaciji između klasa A i B, ako klasa A 'pravi' klasu B, koji element to predstavlja u dijagramu?

<p>Glagolski oblik naziva asocijacije (D)</p>
Signup and view all the answers

Koja je razlika između agregacije i kompozicije?

<p>Kompozicija je jača veza od agregacije (B)</p>
Signup and view all the answers

Ako klasa Tim sadrži više objekata klase Osoba, te osoba može biti član više timova, koju vrstu veze to predstavlja?

<p>Agregaciju (C)</p>
Signup and view all the answers

Kad je klasa Zid dio klase Kuća, i zid ne može postojati samostalno izvan kuće, koju vrstu veze to predstavlja?

<p>Kompoziciju (B)</p>
Signup and view all the answers

Koji je ispravan opis generalizacije (nasljeđivanja) u UML-u?

<p>Mehanizam kojim se klase dijele atribute i operacije od nadređene klase. (A)</p>
Signup and view all the answers

U situaciji kada GostRestorana i InternetNaručilac nasljeđuju od klase Naručilac, koja je to vrsta veze?

<p>Generalizacija (D)</p>
Signup and view all the answers

Šta znači višestruka generalizacija?

<p>Klasa nasljeđuje osobine od više roditeljskih klasa. (B)</p>
Signup and view all the answers

Ako klasa ZaposlenikNaručilac nasljeđuje od GostRestorana i ZaposlenikRestorana, koji problem može nastati?

<p>Sukob naziva atributa i operacija. (B)</p>
Signup and view all the answers

Kada postoji zavisnost između dva elementa u UML modelu?

<p>Kada izmjene jednog elementa mogu utjecati na drugi element. (A)</p>
Signup and view all the answers

Ako klasa AplikacijaZaNaručivanje ovisi o klasi Jelovnik, šta to znači?

<p>Promjene u <code>Jelovnik</code> mogu zahtijevati promjene u <code>AplikacijaZaNaručivanje</code>. (D)</p>
Signup and view all the answers

Šta su to interfejsi u UML dijagramu klasa?

<p>Skup operacija koje specificiraju javno ponašanje klase. (C)</p>
Signup and view all the answers

Koja tvrdnja je točna za interfejse u UML-u?

<p>Interfejsi uključuju samo deklaracije operacija. (A)</p>
Signup and view all the answers

Koje su od sljedećih osobina klase?

<p>Name, Code, Comment, Type, Visibility, Cardinality, Abstract (C)</p>
Signup and view all the answers

Flashcards

Vizuelizacija modela u UML-u

Vizuelni prikaz konceptualnih klasa ili objekata stvarne situacije.

Šta je Klasa?

Opis skupa objekata koji dijele iste atribute, metode, odnose i semantiku.

Šta je Apstrakcija?

Ključni princip objektno-orijentisanog pristupa kojim se rješava složenost problema.

Zašto je Klasa apstrakcija?

Naglašava relevantne osobine, skriva druge osobine.

Signup and view all the flashcards

Funkcionalna Povezanost Klasa

Promjene u jednoj klasi utiču na promjene u drugoj klasi.

Signup and view all the flashcards

Modeliranje Klase

Kreiranje dijagrama klasa zahtijeva iterativno modeliranje zasnovano na seriji aktivnosti.

Signup and view all the flashcards

Prva aktivnost modeliranja

Pronalaženje i identifikacija svih klasa i njihovih veza u domenu problema.

Signup and view all the flashcards

Druga aktivnost modeliranja

Identifikacija atributa i operacija za klase.

Signup and view all the flashcards

Treća aktivnost modeliranja

Definisanje raznih struktura generalizacije i sličnih aktivnosti.

Signup and view all the flashcards

Konceptualni nivo apstrakcije klase

Predstavlja koncept u domenu problema.

Signup and view all the flashcards

Specifikacijski nivo apstrakcije klase

Fokus je na interfejsu apstraktnog tipa podaka.

Signup and view all the flashcards

Implementacijski nivo apstrakcije klase

Opis načina implementacije klase.

Signup and view all the flashcards

Opis Klasa u UML-u

Klase opisuju različite tipove objekata koje sistem može imati.

Signup and view all the flashcards

Šta enkapsulira Klasa?

Klasa enkapsulira stanje i ponašanje objekta koji predstavlja.

Signup and view all the flashcards

Dijelovi Simbola Klase

Identifikator, atributi i operacije.

Signup and view all the flashcards

Šta su Atributi?

Određuju osobine klase ili interfejsa.

Signup and view all the flashcards

Ime Atributa

Određuje ime atributa u klasi.

Signup and view all the flashcards

Tip Atributa

Ukazuje na ograničenje vrste objekata koji se mogu smjestiti u atribut.

Signup and view all the flashcards

Kardinalnost Atributa

Pokazuje na koliko objekata se odnosi osobina.

Signup and view all the flashcards

Inicijalna Vrijednost

Definira inicijalno dodijeljenu vrijednost atributu objekta.

Signup and view all the flashcards

Opis Osobine

Omogućava da definiramo dodatne osobine atributa.

Signup and view all the flashcards

Vidljivost atributa

Označava da li je atribut javni, privatni, zaštićeni ili paketski.

Signup and view all the flashcards

Changeable (Promjenjivost)

Vrijednost atributa se može mijenjati.

Signup and view all the flashcards

Read-only (Samo za čitanje)

Nije dozvoljeno kreiranje operacija set.

Signup and view all the flashcards

Frozen (Zamrznut)

Konstanta.

Signup and view all the flashcards

Add-only (Samo za dodavanje)

Dozvoljeno je dodati novu vrijednost.

Signup and view all the flashcards

Operacije Klase

Akcije koje klasa može obaviti. Operacijama se realizira ponašanje klasa.

Signup and view all the flashcards

Tip Rezultata Operacije

Tip povratne vrijednosti operacije, ukoliko takva postoji.

Signup and view all the flashcards

Opis Osobine Operacije

Ukazuje na posebna svojstva operacije

Signup and view all the flashcards

Asocijacija

Asocijacija predstavlja vezu između dva objekta, obilježava se punom linijom i strelicom usmjerenom od izvorne klase ka odredišnoj klasi.

Signup and view all the flashcards

Dvosmjerna Asocijacija

Eng. bidirectional se može prikazati i sa strelicama na oba kraja asocijacija i bez strelica.

Signup and view all the flashcards

Navigabilnost

Situacija u kojima želimo da usmjerimo navigaciju samo u jednom smjeru.

Signup and view all the flashcards

Kardinalnost Asocijacije

Slično kao kod označavanja kardinalnosti atributa. Ima 2 granice, m (donja granica) i n (gornja granica).

Signup and view all the flashcards

Agregacija i Kompozicija

Vrste asocijacije.

Signup and view all the flashcards

Agregacija

Predstavlja vezu izmedju tima i osoba, pri čemu je tim cjelina i može se sastojati od više osoba.

Signup and view all the flashcards

Kompozicija

Je poseban tip asocijacije gdje, kada je neki njen dio uništen, uništena je i cjelina.

Signup and view all the flashcards

Generalizacija

Je poznata i kao nasljeđivanje u objektno orijentiranim programskim jezicima.

Signup and view all the flashcards

Veza Zavisnosti

Klasa šalje poruku drugoj klasi.

Signup and view all the flashcards

Study Notes

Vizualizacija modela u UML-u

  • Vizualno predstavljanje konceptualnih klasa ili objekata u stvarnim situacijama unutar domene.
  • Objekti (konceptualne klase) nisu softverski objekti (klase).
  • Domen model u UML-u se predstavlja skupom dijagrama klasa bez metoda.
  • Postoje dva pristupa konačnom rješenju:
    • Na osnovu Use case dijagrama kreira se domain model, a zatim dizajn model.
    • Na osnovu Use case dijagrama kreira se Domain model, sekvencijalni dijagram, pa dizajn model.

Klasa

  • Klasa je opis skupa objekata koji dijele iste atribute, metode, odnose i semantiku.
  • Apstrakcija je ključni princip objektno-orijentiranog pristupa za rješavanje složenosti problema.
  • Klasa je apstrakcija jer naglašava relevantne osobine i skriva druge osobine.

Povezivanje klasa

  • Kriteriji za određivanje funkcionalne povezanosti između dvije klase uključuju:
    • Utjecaj promjena u jednoj klasi na drugu.
    • Direktni utjecaj izbacivanja klase iz sistema na drugu klasu.
    • Interakcija klase putem velikog skupa poruka.

Model klase u fazi analize i dizajna

  • Kreiranje dijagrama klasa zahtijeva iterativno modeliranje zasnovano na seriji aktivnosti.
  • Aktivnosti uključuju:
    • Pronalaženje i identifikaciju svih klasa i veza u domenu problema (korak 1).
    • Identifikaciju atributa i operacija za klase (korak 2).
    • Definisanje raznih struktura generalizacije i sličnih aktivnosti (korak 3).

Primjer – online shop-Korak 1

  • Identifikacija konceptualnih klasa za on-line shop model.
  • Nazivi objekata koji se mogu koristiti tokom online trgovine.

Domen model– Primjer-online trgovina-Korak 2

  • Identifikacija veza i mnogostrukosti veza (višestrukost veza), bez atributa.

Dijagram KLASA-Primjer- Korak3

  • Dodaju se atributi i operacije.

Klase u UML-u

  • Klase opisuju različite tipove objekata koje sistem može imati.
  • Klasa se prikazuje kao pravougaonik podijeljen u 3 dijela.
  • Gornji dio sadrži ime klase, srednji dio atribute, a donji dio operacije klase.
  • Dio UML klase namijenjene za atribute i operacije je opcionalan.
  • Ako ne postoje operacije ili atributi klase, dio koji je namijenjen za njihovo navođenje može biti prikazan kao prazan dio u okviru UML simbola klase.

Kreiranje klase

  • Klasa enkapsulira stanje i ponašanje objekta koji predstavlja.
  • Obavezan je samo identifikator klase, dakle mogu postojati klase bez atributa i/ili bez metoda - operacija.
  • Simbol klase sadrži tri dijela: identifikator, atributi i operacije.

Termini za imenovanje: klasa, atributa i operacija

  • Imenovanje klasa se vrši imenima iz domena problema.
  • Atributi implementiraju strukturu objekta i trebaju se imenovati imenicom.
  • Operacije implementiraju funkcionalnost objekta i trebaju se imenovati glagolom.

Nivoi apstrakcije klase

  • Konceptualni: predstavlja koncept u domenu problema.
  • Specifikacijski: fokus je na interfejsu apstraktnog tipa podataka.
  • Implementacijski: opis načina implementacije klase.
    • Obavezan je samo naziv klase, a ovisno o nivou apstrakcije prezentacije prikazuje se više ili manje informacija.

Definiranje atributa jedne klase

  • Atributi određuju osobine klase ili interfejsa.
  • Klase ne moraju imati atribute (konceptualni model), ili ih mogu imati više (specifikacijski, implementacijski model).
  • Svi objekti jedne klase imaju iste atribute, ali njihove vrijednosti mogu biti različite.
  • Vrijednosti atributa jedne instance klase određuju stanje instance klase ili objekta.
  • Nazivi atributa jedne klase su jedinstveni, što znači da klasa ne može imati dva atributa istog naziva.
  • Jedan atribut može biti kopiran u drugu klasu.

Atributi klase-implementacijski nivo

  • Atributi klase, koji se prikazuju u srednjem dijelu ikone za klasu, opisuju podatke sadržane u objektu klase, čiji je oblik:
    • vidljivost ime:tip kardinalnost = inicijalna_vrijednost {opis_osobine}
    • Primjer: -name: String[1] =[Bez naslova ] {ReadOnly}
  • Vidljivosti označavaju da li je atribut javni (+), privatni (-), zaštićeni (#) ili paketski (~).
    • Privatna vidljivost znači da je atribut raspoloživ samo unutar klase, unutar koje je i definiran.
    • Javna vidljivost znači da je atribut raspoloživ za sve klase koje su u asocijaciji sa klasom koja je vlasnik atributa.
    • Zaštićena vidljivost označava da je atribut raspoloživ unutar klase koja posjeduje atribut i svakog podtipa klase i vezana je za koncept generalizacije.
    • Paketska vidljivost znači, da je atribut raspoloživ samo drugim klasama u istom paketu u kojem je i klasa unutar koje je definiran atribut.
  • Atributi najčešće imaju privatnu vidljivost.

Atributi klase

  • Ime atributa određuje ime atributa u klasi i približno odgovara imenu polja u programskom jeziku - IME ATRIBUTA JE OBAVEZNO.
  • Tip atributa ukazuje na to da postoji ograničenje vrste objekata, koji se mogu smjestiti u atribut.
    • O tipu atributa se može razmišljati i kao o tipu polja u programskom jeziku.
    • Tipovi podataka atributa mogu biti primitivni ili klase.
  • Kardinalnost pokazuje na koliko objekata se odnosi osobina.
  • Inicijalna vrijednost definira inicijalno dodijeljenu vrijednost atributu objekta instanciranog na osnovu definirane klase.
  • Opis osobine omogućava da se definiraju dodatne osobine atributa.

Neke od definicija osobina

  • Osobine se koriste za dodavanje opisnih informacija o atributima, operacijama i parametrima, To su riječi sa predefiniranim značenjem i uvijek su zadnji element u definiciji objekta.
    • readOnly - vrijednost atributa se ne može mijenjati nakon inicijalizacije.
    • ordered - primjenjuje se na atribute koji sadrže skup podataka.
    • union - atribut predstavlja uniju vrijednosti drugih atributa.

Dijagram klasa

  • Dijagram klasa opisuje tipove objekata u sistemu i različite vrste statičkih veza.
  • Prikazuju svojstva i operacije klasa, načine povezivanja objekata i logički pogled na sistem.
  • Dijagram predstavlja statičku strukturu sistema.

Dijagram klasa - namjena

  1. dokumenturanje klasa koje čine jedan sistem ili podsistem- DIZAJN
  2. opisuju se veze između klasa kao što su sve vrste asocijacija, generalizacije, ovisnosti...
  3. karakteristike klasa(atributa I operacija)
  4. za vrijeme razvoja softvera, počevši od specifikacija klasa u domenu problema do implementacijskog modela za predloženi sistem, da pokažu strukturu klasa sistema.
  5. dokumenturanje kako klase pojedinog sistema sarađuju sa postojećim bibliotekama klasa
  6. interfejs koji se podržava sa datom klasom.

Tipovi veza

  • Asocijacija
  • Generalizacija(Naslijeđivanje)
  • Realizacija
  • Zavisnost
  • Agregacija
  • Kompozicija

Asocijacija

  • Asocijacija predstavlja vezu između dva objekta, obilježava se punom linijom i strelicom usmjerenom od izvorne klase ka odredišnoj klasi.
  • Ime svojstva, kardinalnost i tip svojstva su definisani na strani Odredišne klase.

Dvosmjerna asocijacija

  • Može se prikazati i sa strelicama na oba kraja( ; ). Alat za modeliranje ne prikazuje strelicu.

Definicija "Izvora" i "Odredišta"

  • Izvorna Klasa – je predstavljena preko Klase Narudžba.
  • Odredišna Klasa - je predstavljena preko Klase StavkaNarudžbe.
  • Kardinalnost – na oba kraja asocijacije.

Agregacija i kompozicija

  • Su vrste asocijacije.
  • Su načini predstavljanja, da je objekat jedne klase dio objekta druge klase.
  • Obadvije predstavljaju odnos između cjeline i njenih dijelova i predstavljaju jače verzije asocijacije.

Agregacija

  • je vrsta asocijacije se koristi da se indicira da klasa pored vlastitih atributa, može uključivati, u ovisnosti od kardinalnosti, određen broj instanci drugih klasa.
  • Termin cjelina nekad se koristi kada se misli na agregaciju.
  • Agregacije je neispunjeni romb koji ide na kraj cjeline a ne dijela.

Generalizacija-Nasljeđivanje

  • Poznata i kao nasljeđivanje.
  • Koristi da opišu da je jedna klasa tip neke druge klase.
  • Koristi se strelica generalizacija, zatvorena neispunjena strelica, koristi se da pokaže da je klasa tip druge klase.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

CSC 2210 Object Oriented Analysis & Design
40 questions
UML and Object-Oriented Design Concepts
24 questions
Object Oriented Technology and Design
25 questions
Use Quizgecko on...
Browser
Browser