10 dijagrami klasa - napredni pojmovi

Download 10 Dijagrami Klasa - Napredni Pojmovi

Post on 04-Mar-2015

44 views

Category:

Documents

5 download

Embed Size (px)

TRANSCRIPT

Projektovanje softvera

Dijagrami klasa napredniji pojmovi

Aktivne klaseAktivni objekat je onaj koji poseduje vlastiti tok kontrole koji se odvija paralelno/konkurentno sa drugim tokovima kontrole Aktivna klasa je klasa ije su instance aktivni objekti Aktivni objekti su koreni pojedinih tokova kontrole

oni pozivaju svoje ili metode drugih objekata kada se aktivni objekat kreira/unitava mogu postojati i posebne operacije za pokretanje i zaustavljanje

Tok kontrole se pokre e/zaustavlja: Mnogi jezici podravaju aktivne objekte (Ada, Java, Smalltalk) Aktivni objekti i aktivne klase se mogu pojaviti u dijagramima gde i pasivni

2

Dijagrami klasa napredniji pojmovi

24.11.2010.

Procesi i nitiProces (process, task) je "teki" (heavyweight) tok kontrole

ima vlastiti adresni prostor deli zajedni ki adresni prostor sa drugim nitima

Nit (thread) je "laki" (lightweight) tok kontrole Jedan proces moe sadrati vie niti Proces je jedinica konkurentnosti u operativnim sistemima:

procesi konkuriu za resurse procesi - razmena poruka (message passing) niti - deoba zajedni kih podataka (data sharing)

Primeren mehanizam za komunikaciju:

3

Dijagrami klasa napredniji pojmovi

24.11.2010.

Aktivne klase - notacijaGrafi ki simbol aktivne klase: UML 1: KontrolerSignals PeriferalSpreman

UML2:

Takt

poseban odeljak se predvi a za signale koje klasa moe primati Sabirac

Nit (thread)

Sabirac

Proces (process)

Kompresor

Kompresor

UML 1

UML 224.11.2010.

4

Dijagrami klasa napredniji pojmovi

abloniablon (template) je parametrizovani element

C++, Ada, Java podravaju ablone (generike)

Primer na C++:template class GenerickiBafer{ public: virtual void stavi(const Element&); virtual Element& uzmi(); ... }; typedef GenerickiBafer Bafer; // eksplicitno generisanje GenerickiBafer bafer; // implicitno generisanje

5

Dijagrami klasa napredniji pojmovi

24.11.2010.

abloni - notacijaPrimer generi kog bafera:

definicija ablona i eksplicitno generisanje iz njega:Element Broj : Integer = 10 GenerickiBafer +stavi(Element) +uzmi(): Element

implicitno generisanje:GenerickiBaferPredmet, Broj->100>

Predmet, Broj->100> Bafer

6

Dijagrami klasa napredniji pojmovi

24.11.2010.

IzuzeciIzuzeci su vrste signala koji se modeliraju stereotipom klase Signal alje operacija koja izaziva izuzetak

modelira se stereotipom relacije zavisnosti

Primer:Stek +stavi(Element) {exception StekPun} +uzmi(): Element {exception StekPrazan} StekPun

StekPrazan

7

Dijagrami klasa napredniji pojmovi

24.11.2010.

Klasa asocijacijeSama asocijacija moe imati svoje atribute Ti atributi pripadaju klasi koja opisuje asocijaciju (sli no veznoj tabeli kod relacionih baza) Primer:Firma +poslodavac * Posao +opis +datumZaposlenja +plata +zaposleni 1..* Lice

8

Dijagrami klasa napredniji pojmovi

24.11.2010.

N-arna asocijacijaAsocijacija moe povezivati vie od 2 klase

takva asocijacija se naziva n-arnom

Svaka instanca n-arne asocijacije je n-torka vrednosti odgovaraju ih klasa Sezona Primer ternarne asocijacije * (sa klasom asocijacije): Tim *Statistika pobeda izgubljenih

*

Igra

9

Dijagrami klasa napredniji pojmovi

24.11.2010.

Kvalifikacija (1)Koristi se da ozna i klju (kvalifikator) koji se koristi za selekciju objekta iz neke strukture Objekat strukture za datu vrednost klju a selektuje jedan ili grupu elemenata U esnici u relaciji su Struktura i njen Element

element(i) strukture se izdvaja(ju) uz pomo klju a

Kvalifikator moe imati vie atributa, oni su atributi asocijacije Atributi kvalifikatora imaju istu sintaksu kao i atributi klasifikatora, sem inicijalne vrednosti Grafi ka notacija:Struktura kljuc 0..1 Element

ukras je deo asocijacije, ne klaseDijagrami klasa napredniji pojmovi 24.11.2010.

10

Kvalifikacija (2)Primeri struktura kojima se pristupa pomo u klju a su

he tabela, B-stablo, mogu e kardinalnosti skupa selektovanih objekata uparivanjem sa objektom strukture uz zadatu vrednost klju a:0..1 1 * moe da bude selektovan jedinstven objekat, ali postoje i vrednosti klju a za koje se ne selektuje ni jedan objekat svaka mogu a vrednost kvalifikatora selektuje jedinstvenu instancu elementa vrednost kvalifikatora deli skup elemenata u podskupove

Multiplikativnost na kraju asocijacije kod klase Element:

Primeri:Banka racun * 0..1 OsobaSahTabla red kolona 1 1 Polje

11

Dijagrami klasa napredniji pojmovi

24.11.2010.

Specifikator interfejsa (UML 1)Uloge mogu implementirati samo neke od interfejsa koje realizuju klase u asocijaciji Ime interfejsa koji zadovoljava uloga - iza dvota ke koja sledi naziv uloge supervizor:IUpravnik Osoba Primer 1:1 radnik:IZaposleni *

Primer 2:Predmet -podsetnik:IPodsetnik Podsetnik -podsetnik:ICuvani Cuvar

12

Dijagrami klasa napredniji pojmovi

24.11.2010.

Generalizacioni skupoviRelacija generalizacije/specijalizacije uspostavlja odnos izme u posebnog i opteg Ponekad se specijalizacija vri po nekom klasifikacionom kriterijumu

kriterijum klasifikacije odre uje podtipove esto objekti podtipova ne mogu biti i jedne i druge klase (ograni enje disjoint)

Generalizacioni skup definie poseban skup relacija generalizacije koji opisuje na koji na in se natklasa specijalizuje Ograni enja generalizacionog skupa (piu se u zagradama {}):

disjoint/overlapingda li objekti podtipova mogu biti isklju ivo jednog od podtipova generalizacionog skupa

complete/incompleteda li podtipovi predstavljaju potpuni skup mogu ih podtipova

13

Dijagrami klasa napredniji pojmovi

24.11.2010.

Notacija i primerPrimer generalizacionog skupa pol:Osoba pol {complete, disjoint} zaposlenje {incomplete} Zena Zaposleni

Osoba

pol ---------------------------Muskarac Zena Zaposleni

Muskarac

potklase klase Osoba mogu biti Muskarac, Zena i Zaposleni generalizacije prema potklasama Muskarac i Zena pripadaju generalizacionom skupu pol

14

Dijagrami klasa napredniji pojmovi

24.11.2010.

MetaklasaMetaklasa je klasifikator ije su instance klase Primer:

metaklasa Class u metamodelu (metajeziku) UML-a opisuje apstrakciju klase instance ove metaklase su klase u modelu koji kreiramo metamodel je model kojim se specificira jezik za modeliranje

15

Dijagrami klasa napredniji pojmovi

24.11.2010.

PowertypePowertype je klasifikator ije su sve instance deca (potklase) nekog roditelja Powertype je tako e metatip (tip u metamodelu), ali korisni ki

instance tog metatipa su tipovi (klase) koji su podtipovi nekog drugog tipa u modelu ako je A tip, tada je Power(A) tip ije su sve instance podtipovi tipa A ako je tip B instanca tipa Power(A), tada je B podtip A

Formalno:

16

Dijagrami klasa napredniji pojmovi

24.11.2010.

Powertype - primerPrimer: instance Model (Yugo, Megan,...) su deca klase AutomobilAuto mo bil Model

A utomobil

* :Model

1

Model

Yugo

Megan

Yugo

Megan

UML 1

UML 2

U gronjem primeru Model je metatip za klase Yugo, Megan UML 1:

odredite stereotipa relacije zavisnosti je powertype klasifikator stereotip zavisnosti se koristri za veze klasa-->metaklasa Dijagrami klasa napredniji pojmovi 24.11.2010.

17

Konteksti relacije realizacijeRealizacija se koristi u dva konteksta:

kontekst interfejsa (realizuje ga klasa ili komponenta) kontekst slu ajeva kori enja (realizuje ga kolaboracija) IKruzniBafer FIFOred +stavi() +uzmi()

Klasni dijagram:

FIFOred IKruzniBafer +stavi() +uzmi()PosloviStampaca

Dijagram komponenata:IBafer

Dijagram slu ajeva kori enja:ProveraLozinke ProveraIdentiteta

18

Dijagrami klasa napredniji pojmovi

24.11.2010.

Parametrizovana kolaboracijaKoristila se za opis projektnih uzoraka u UML1 Notacija u UML 1:uloga 1 uloga 2 ... naziv uzorka uloga 1 Ucesnik1 uloga 2 Ucesnik2

19

Dijagrami klasa napredniji pojmovi

24.11.2010.

Projektni uzorci u UML 2Definicija uzoraka "posmatra parametrizovana saradnja:

Konkretna saradnja koja realizuje uzorak "posmatra ":

20

Dijagrami klasa napredniji pojmovi

24.11.2010.

Standardni stereotipovi klasifikatorautility focus auxiliary stereotype metaclass powertype thread process Legenda:

klasa iji su atributi i operacije zajedni ki za sve instance klase klasa koja implementira glavnu (poslovnu) logiku klasa koja pomae focus klasi u implementaciji logike klasifikator je stereotip koji se moe primeniti na druge elemente klasifikator ije su instance klase klasifikator ije su instance deca datog roditelja (UML1) klasa iji su objekti aktivni sa deljenim adresnim prostorom (UML1) komponenta iji primerci imaju vlastite procese (u UML1 process je bio stereotip klase)

naglaeno stereotip specificiran kao standardni i u UML 2 (profili L2 i L3) obi no nije naveden kao zastareo, ali nije naveden ni kao std. stereotip UML 2 kurziv stereotip eksplicitno naveden kao zastareo

21

Dijagrami klasa napredniji pojmovi

24.11.2010.

Standardni stereotipovi relacije zavisnostiIzme u klasa i/ili objekata na klasnom dijagramu:

instantiate izvor kreira instance odredita instanceOf izvor je objekat koji je instanca odredinog kla