You are on page 1of 54

VEDENJSKO MODELIRANJE

Literatura: Systems Analysis and Design with UML version 2.0

POSLOVNO-TEHNIŠKA FAKULTETA, UNIVERZA V NOVI GORICI


Pregled predavanja

• Vedenjsko modeliranje

• Diagrami zaporedij (Sequence diagrams)

• Komunikacijski diagrami (Communication diagrams)

• Diagrami stanj (Behavioral State Machines)

2
Spomnimo…

• Klasičen pristop analize razdeli diagrame na:


• Procesne diagrame – Diagrami podatkovnih tokov (Data Flow Diagrams – DFD)
• Podatkovne diagrame – Entitetno-relacijski diagrami

• Objektno-orientiran pristop analize:


• V diagramih so predstavljeni procesi in podatki skupaj.

3
Spomnimo…

Klasični Objektno-
pristop orientiran
pristop

Procesni Podatkovni Funkcionalni Strukturni Vedenjski


modeli modeli modeli modeli modeli

Diagrami Diagrami
Diagrami Diagrami
podatkovnih E-R diagrami primerov CRC karte
aktivnosti razredov
tokov uporabe

4
Spomnimo…

Objektno-
Klasični orientiran
pristop pristop

Procesni Podatkovni Funkcionalni Strukturni Vedenjski


modeli modeli modeli modeli modeli

Diagrami Diagrami
podatkovnih E-R diagrami Diagrami Diagrami Diagrami Komunikacijski
primerov CRC karte Diagrami stanj
aktivnosti razredov zaporedij diagrami
tokov uporabe

5
Spomnimo…

• Objektno-orientirana analiza:
• Sistemski analitik in uporabnik ustvarita
funkcionalni prikaz sistema.
• Sistemski analitik poskuša ustvariti strukturni
prikaz sistema.
• S pomočjo strukturnega prikaza sistema,
analitik opiše funkcionalnost sistema in
ustvari vedenjski prikaz sistema.
• Funkcionalno, strukturno in vedenjsko
modeliranje.

6
Vedenjsko modeliranje

• Funkcionalni modeli opisujejo funkcionalno, ali zunanje obnašanje


informacijskega sistema.

• Strukturni modeli opisujejo notranjo strukturo (predstavljajo statičen


pogled) informacijskega sistema.

• Vedenjski modeli opisujejo notranje obnašanje (dinamičen pogled)


informacijskega sistema.

• Vsi trije pristopi predstavljajo arhitekturno-centriran pristop k razvoju


informacijskih sistemov.

7
Vedenjsko modeliranje

• Vedenjski modeli izhajajo iz primerov uporabe, ki so bili identificirani pri


izdelavi funkcionalnih modelov.

• Iterativni razvoj vedenjskih modelov in posledično tudi popravljanje


funkcionalnih in strukturnih modelov.

• Medtem, ko strukturni modeli opisujejo objekte in relacije med njimi,


vedenjski modeli prikazujejo notranji pogled na poslovne procese, ki
so opisani s primeri uporabe.

8
Vedenjsko modeliranje

• Procesi so opisani preko interakcij med objekti, ki podpirajo primere


uporabe.

• Dve vrsti vedenjskih modelov:


• Prvi predstavljajo podrobnosti poslovnih procesov opisanih z modeli primerov
uporabe:
• diagrami zaporedij (sequence diagrams)
Diagrami interakcij
• komunikacijski diagrami (communication diagrams)
• Drugi predstavljajo spremembe, ki se dogajajo pri stanjih in podatkih v sistemu:
• diagrami stanj (behavioral state machines)

9
Pregled predavanja

• Vedenjsko modeliranje

• Diagrami zaporedij (Sequence diagrams)

• Komunikacijski diagrami (Communication diagrams)

• Diagrami stanj (Behavioral State Machines)

10
Diagrami zaporedij

• Diagrami razredov vs. diagrami interakcij:


• Struktura vs. obnašanje
• Fokus na klase vs. fokus na objekte

• Elementi diagramov interakcij:


• Objekt – instancirana klasa (dejanska oseba, mesto, ali stvar, ki jo opisujemo)
• Primer: klasa - pacient, objekt (instanca klase) – Janez Novak
• Atributi – informacije o objektu
• Operacije – obnašanje, oz. aktivnost, ki jo izvaja objekt
• Sporočila – informacije poslane objektom, ki mu povedo, da izvrši eno od svojih
operacij

11
Diagrami zaporedij

• Diagrami zaporedij opisujejo objekte, ki so vključeni v primerih


uporabe in sporočila, ki si jih izmenjujejo skozi čas.

• So dinamični modeli, ki predstavljajo eksplicitno (časovno) zaporedje


sporočil, ki se izmenjujejo med objekti.

• En diagram zaporedij – en scenarij primera uporabe.

12
Diagrami zaporedij:
Elementi
Akter (dejanski)

• Oseba ali sistem, ki uporablja sistem in je „zunaj“


sistema.

• Sodeluje v zaporedju s pošiljanjem in/ali


sprejemanjem sporočil.
Akter (dejanski)

• Nahaja se na vrhu diagrama.


<<actor>>
Akter (dejanski)

13
Diagrami zaporedij:
Elementi
Objekt
• Sodeluje v zaporedju s pošiljanjem in/ali Objekt : Klasa
sprejemanjem sporočil.
• Nahaja se na vrhu diagrama.

Življenjska črta
• Označuje življenjsko dobo objekta v zaporedju.
• Točka, kjer klasa ne sodeluje več v interakcijah, je
označena z X.

14
Diagrami zaporedij:
Elementi
Izvrševanje aktivnosti
• Se postavi nad življenjsko črto.
• Označuje čas, ko objekt pošilja ali sprejema
sporočilo.

Sporočilo
Sporočilo()
• Prenaša informacije od enega objekta do
drugega.
• Poslano sporočilo s polno črto, odgovor na Povratna vrednost
sporočilo s prekinjeno črto.

15
Diagrami zaporedij:
Elementi

Pogojeno sporočilo
• Predstavlja test, ki mora biti izpolnjen [Pogoj] : Sporočilo()

zato, da se sporočilo pošlje.

Okvir
Kontekst
• Označuje kontekst diagrama
zaporedij.

16
Diagrami zaporedij:
Primer

17
Diagrami zaporedij

Navodila za ustvarjanje diagramov


zaporedij:
1. Poskusite urediti sporočila ne samo od zgoraj
navzdol, vendar tudi z leve proti desni. Lažje je
interpretirati diagram, če so sporočila urejena
na tak način. Da bi to dosegli, morajo biti
akterji postavljeni v enak vrstni red kot v
scenariju.

2. Če akter in objekt konceptualno predstavljajo


isto stvar, imajo isto ime v diagramu. To
pomeni, da se pojavljajo tako v diagramu
primerov uporabe kot v class diagramu.

18
Diagrami zaporedij

Navodila za ustvarjanje diagramov


zaporedij:
3. Pobudnika scenarija narišemo zgoraj
levo v diagramu.
4. Če imamo več objektov istega tipa je
potrebno napisati ime objekta poleg
klase.
5. Nariši povratne vrednosti sporočil samo
takrat, ko niso očitne, da ne bo
diagram preveč kompleksen.
6. Napiši imena sporočil, da bo diagram
lažje berljiv.

19
Diagrami zaporedij:
Koraki
1. Postavi kontekst diagrama
• Sistem, primer uporabe ali scenarij primera uporabe. Običajno izberemo en
scenarij primera uporabe.
2. Identificiraj akterje in objekte
• Akterje identificiramo pri ustvarjanju funkcionalnih modelov, objekte pa pri
ustvarjanju strukturnih modelov.
3. Postavi življenjsko črto
4. Dodaj sporočila
5. Dodaj oznake za izvrševanje aktivnosti
6. Potrdi diagram

20
Vi ste na vrsti 

• Sistem za oddajo stanovanj v študentskem naselju


• Cilj sistema je, da pomaga študentom najti stanovanje. Lastniki stanovanj izpolnijo
obrazce z informacijami o stanovanju, ki ga oddajajo (npr., lokacija, število sob,
najemnina) in se zapišejo v podatkovno bazo. Študentje lahko brskajo po bazi
preko spleta in iščejo stanovanje, ki ustreza njihovim potrebam. Nato kontaktirajo
lastnika stanovanja za ogled. Lastniki stanovanj zbrišejo podatke o stanovanju, ki
so ga oddali.

• Narišite diagram zaporedij za opisani sistem!

21
Vi ste na vrsti 

• Nakup korekcijskih očal


• Prvi korak pri nakupu korekcijskih očal je ta, da pacient obišče očesnega
zdravnika, ki mu izmeri dioptrijo. Pacient z izvidom gre k optiku, kjer izbere očala in
jih naroči. Ko so očala narejena, se pacient vrne, poskusi očala in jih na koncu
plača.

• Narišite diagram zaporedij za opisani sistem!

22
Vi ste na vrsti 

• Pri zobozdravniku…
• Ko pacient pride prvič v ordinacijo, izpolni formular, kjer napiše svoje ime, naslov,
telefonsko številko, itd. Podatki se hranijo v bazi o pacientih. Ko pacient pokliče,
da se naroči na pregled, ali da spremeni termin pregleda, operater pogleda v
bazo z naročenimi pacienti in najde prosti termin. Če termin ustreza pacientu, ga
operater naroči. Par dni pred pregledom operater obvesti pacienta o
prihajajočem pregledu pri zobozdravniku.

• Narišite diagram zaporedij za opisani sistem!

23
Vi ste na vrsti 

• Univerzitetni sistem
• Sistem omogoča zaposlenim na univerzi vpogled v predmete, ki jih ponuja
določena fakulteta/program, dodajanje in brisanje predmetov in spreminjanje
informacij v zvezi s predmeti. Sistem omogoča študentom, da preverijo kateri
predmeti so na voljo, da dodajo ali zbrišejo predmete iz svojega urnika in da
pogledajo gradivo izbranih predmetov. Zaposleni lahko tiskajo različna poročila v
zvezi s predmeti in študenti, ki obiskujejo predmete. Sistem mora zagotoviti, da
študentje ne izberejo preveč predmetov in onemogočiti dostop študentov, ki
nimajo poravnanih svojih finančnih obveznosti.

• Narišite diagram zaporedij za opisani sistem!

24
Pregled predavanja

• Vedenjsko modeliranje

• Diagrami zaporedij (Sequence diagrams)

• Komunikacijski diagrami (Communication diagrams)

• Diagrami stanj (Behavioral State Machines)

25
Komunikacijski diagrami

• Komunikacijski diagrami:
• Opisujejo sodelovanje med objekti pri izvrševanju določenega scenarija primera
uporabe;

• Opisujejo kako so eni objekti odvisni od drugih;

• Predstavljajo relacije pri pošiljanju sporočil, namesto relacije za generalizacijo in


združevanje;

• So podobni diagramom zaporedij, vendar poudarjajo pretok informacij med


objekti in ne toliko časovnega zaporedja.

• Uporabljajo se za razumevanje, kateri objekti sodelujejo med sabo pri določenih


poslovnih procesih.

26
Komunikacijski diagram:
Elementi

Akter (dejanski)

• Oseba ali sistem, ki uporablja sistem in je „zunaj“


sistema.

• Sodeluje v komunikaciji s pošiljanjem in/ali Akter (dejanski)


sprejemanjem sporočil.

<<actor>>
Akter (dejanski)

27
Komunikacijski diagram:
Elementi

Objekt
• Sodeluje v komunikaciji s pošiljanjem in/ali
Objekt : Klasa
sprejemanjem sporočil.

Relacija
• Relacija med akterji in/ali objekti.
• Označuje pošiljanje sporočil.

28
Komunikacijski diagram:
Elementi

Sporočilo
• Prenaša informacije od enega
objekta do drugega.
• Smer je označena s puščico. ZaporednaŠtevilka : Sporočilo 

• Vsebuje zaporedno številko, ki


označuje zaporedje sporočil.

29
Komunikacijski diagrami:
Elementi

Pogojeno sporočilo
• Predstavlja test, ki mora biti izpolnjen ZaporednaŠtevilka : [Pogoj] : Sporočilo 
zato, da se sporočilo pošlje.

Okvir
Kontekst
• Označuje kontekst komunikacijskega
diagrama.

30
Komunikacijski diagrami:
Primer

31
Komunikacijski diagrami

Navodila za ustvarjanje komunikacijskih diagramov:

1. Uporabiti moramo pravilen diagram za predstavitev sistema


uporabniku. Potrebno je paziti, da ne uporabljajmo komunikacijskih
diagramov za modeliranje procesov.

2. Če želimo poudariti časovno zaporedje dogodkov, raje uporabimo


diagrame zaporedij, ne glede na to, da komunikacijski diagrami
vsebujejo zaporedne številke sporočil.

32
Komunikacijski diagrami:
Koraki
1. Postavi kontekst diagrama
• Sistem, primer uporabe ali scenarij primera uporabe. Običajno izberemo en
scenarij primera uporabe.
2. Identificiraj akterje, objekte in relacije
• Akterje identificiramo pri ustvarjanju funkcionalnih modelov, objekte pa pri
ustvarjanju strukturnih modelov.
3. Nariši diagram
• Čim bolj „čist“, čim manj križanja relacij.
4. Dodaj sporočila
5. Potrdi diagram

33
Vedenjski diagrami:
Preverjanje konsistentnosti
• Vsi akterji in objekti, ki so vključeni v diagramu zaporedij, morajo obstajati tudi v
komunikacijskem diagramu in obratno.

• Če obstaja sporočilo v diagramu zaporedij, mora obstajati tudi relacija v


komunikacijskem diagramu in obratno.

• Vsako sporočilo, ki je vključeno v diagramu zaporedij, se mora pojaviti kot sporočilo


nad neko relacijo v komunikacijskem diagramu in obratno.

• Če imamo pogojeno sporočilo v diagramu zaporedij, mora biti isto sporočilo


pogojeno tudi v komunikacijskem diagramu in obratno.

• Zaporedna številka sporočila v komunikacijskem diagramu mora odgovarjati


zaporedju pošiljanja sporočila v diagramu zaporedij.

34
Vi ste na vrsti 

• Sistem za oddajo stanovanj v študentskem naselju


• Cilj sistema je, da pomaga študentom najti stanovanje. Lastniki stanovanj izpolnijo
obrazce z informacijami o stanovanju, ki ga oddajajo (npr., lokacija, število sob,
najemnina) in se zapišejo v podatkovno bazo. Študentje lahko brskajo po bazi
preko spleta in iščejo stanovanje, ki ustreza njihovim potrebam. Nato kontaktirajo
lastnika stanovanja za ogled. Lastniki stanovanj zbrišejo podatke o stanovanju, ki
so ga oddali.

• Narišite komunikacijski diagram za opisani sistem!

35
Vi ste na vrsti 

• Nakup korekcijskih očal


• Prvi korak pri nakupu korekcijskih očal je ta, da pacient obišče očesnega
zdravnika, ki mu izmeri dioptrijo. Pacient z izvidom gre k optiku, kjer izbere očala in
jih naroči. Ko so očala narejena, se pacient vrne, poskusi očala in jih na koncu
plača.

• Narišite komunikacijski diagram za opisani sistem!

36
Vi ste na vrsti 

• Pri zobozdravniku…
• Ko pacient pride prvič v ordinacijo, izpolni formular, kjer napiše svoje ime, naslov,
telefonsko številko, itd. Podatki se hranijo v bazi o pacientih. Ko pacient pokliče,
da se naroči na pregled, ali da spremeni termin pregleda, operater pogleda v
bazo z naročenimi pacienti in najde prosti termin. Če termin ustreza pacientu, ga
operater naroči. Par dni pred pregledom operater obvesti pacienta o
prihajajočem pregledu pri zobozdravniku.

• Narišite komunikacijski diagram za opisani sistem!

37
Vi ste na vrsti 

• Univerzitetni sistem
• Sistem omogoča zaposlenim na univerzi vpogled v predmete, ki jih ponuja
določena fakulteta/program, dodajanje in brisanje predmetov in spreminjanje
informacij v zvezi s predmeti. Sistem omogoča študentom, da preverijo kateri
predmeti so na voljo, da dodajo ali zbrišejo predmete iz svojega urnika in da
pogledajo gradivo izbranih predmetov. Zaposleni lahko tiskajo različna poročila v
zvezi s predmeti in študenti, ki obiskujejo predmete. Sistem mora zagotoviti, da
študentje ne izberejo preveč predmetov in onemogočiti dostop študentov, ki
nimajo poravnanih svojih finančnih obveznosti.

• Narišite komunikacijski diagram za opisani sistem!

38
Pregled predavanja

• Vedenjsko modeliranje

• Diagrami zaporedij (Sequence diagrams)

• Komunikacijski diagrami (Communication diagrams)

• Diagrami stanj (Behavioral State Machines)

39
Diagrami stanj

• Nekatere klase v diagramih razredov predstavljajo objekte, ki so


dinamični in gredo skozi več različnih stanj tekom svojega obstoja.
• Primer: Stanje pacienta se lahko spremeni iz „trenutni“ v „nekdanji“.

• Diagrami stanj – dinamični modeli, ki prikazujejo različna stanja skozi


katera gredo objekti, ko sodelujejo v poslovnih procesih, ter dogodke,
ki povzročajo spremembo stanj.

• Diagramov stanj ne razvijamo za vse objekte v sistemu, le za bolj


kompleksne objekte.

40
Diagrami stanj

• Elementi diagramov stanj:


• Stanja
• Dogodki
• Prehodi
• Dejanja
• Aktivnosti
• Pri razvoju diagramov stanj lahko odkrijemo:
• Dodatne dogodke, ki jih moramo vključiti v funkcionalne modele
• Dodatne operacije, ki jih moramo vključiti v strukturne modele
…kar bi zahtevalo tudi spremembo diagramov interakcij.

41
Diagrami stanj:
Elementi
• Stanje – vrednost atributov objekta in relacije z drugimi objekti v točno
določenem trenutku.
• Primer: Objekt „pacient“ ima lahko tri stanja: nov, obstoječi, nekdanji.

• Dogodek – nekaj, kar se zgodi v določenem trenutku in pri tem


spremeni vrednosti atributov in stanje objekta.
• Prehod – relacija, ki predstavlja prehod objekta iz enega stanja v
drugo.
• Dejanje – nerazgradljiv proces, ki ne more biti prekinjen.
• Aktivnost – zaporedje več dejanj.

42
Diagrami stanj:
Elementi
Stanje
• Prikazano s „zaobljenim“ pravokotnikom. Stanje
• Vsebuje ime stanja objekta.

Začetno stanje
• Predstavlja stanje, kjer objekt začne obstajati.

Končno stanje
• Predstavlja konec aktivnosti.

43
Diagrami stanj:
Elementi
Dogodek
• Nekaj, kar povzroča spremembo stanja.
dogodek
• Uporablja se za označevanje prehodov.

Prehod
• Označuje, da bo objekt iz enega stanja prešel v drugo
stanje.
• Prehod povzroča dogodek, s katerim označimo prehoda.

Kontekst
Okvir
• Označuje kontekst diagrama stanj.

44
Diagrami stanj:
Primer

45
Diagrami stanj:
Primer

46
Diagrami stanj

Navodila za ustvarjanje diagramov stanj:

1. Diagrame stanj delamo za objekte, katerim se obnašanje spreminja v


odvisnosti od stanja. Teh diagramov ne delamo za objekte, ki imajo
isto obnašanje ne glede na stanje v katerem so.

2. Začetno stanje se postavi v zgornji levi del diagrama, končno stanje


pa po možnosti spodaj desno.

3. Imena stanj naj bodo enostavna in intuitivna.

47
Diagrami stanj

Navodila za ustvarjanje diagramov stanj:

4. Treba je paziti, da ne nastanejo „črne luknje“ (stanje v katero objekt


gre in ne pride ven), ali „čudežna stanja“ (stanje iz katerega objekt
pride ven, vendar v njega ni nikoli šel).

5. Pogoji pri pogojenih relacijah se ne smejo prekrivati.


• Primer: X>=0, X<=0 – pogoji se prekrivajo za X=0.

6. Vsi prehodi morajo biti povezani s sporočili in operacijami. V


nasprotnem se stanje objekta ne bi moglo spremeniti.

48
Diagrami stanj:
Koraki
1. Postavi kontekst diagrama
• Diagrami stanj običajno opisujejo instanco klase iz diagrama razredov. Iz
diagrama razredov izberemo klase, ki gredo skozi kompleksno zaporedje
sprememb stanj nakar naredimo diagram stanj za vsako od teh klas.
2. Identificiraj stanj objekta
• Identifikacija začetnega in končnega stanja objekta. Vmesna stanja identificiramo
iz opisov primerov uporabe, ali z opisom dogodkov pri katerih objekt sodeluje od
začetka do konca.
3. Postavi diagram
4. Dodaj prehode
• Dogodki, ki so povezani s prehodom, so povzročitelji sprememb stanja.
5. Potrdi diagram

49
Vi ste na vrsti 

• Sistem za oddajo stanovanj v študentskem naselju


• Cilj sistema je, da pomaga študentom najti stanovanje. Lastniki stanovanj izpolnijo
obrazce z informacijami o stanovanju, ki ga oddajajo (npr., lokacija, število sob,
najemnina) in se zapišejo v podatkovno bazo. Študentje lahko brskajo po bazi
preko spleta in iščejo stanovanje, ki ustreza njihovim potrebam. Nato kontaktirajo
lastnika stanovanja za ogled. Lastniki stanovanj zbrišejo podatke o stanovanju, ki
so ga oddali.

• Narišite diagram stanj za en objekt iz opisanega sistema!

50
Vi ste na vrsti 

• Nakup korekcijskih očal


• Prvi korak pri nakupu korekcijskih očal je ta, da pacient obišče očesnega
zdravnika, ki mu izmeri dioptrijo. Pacient z izvidom gre k optiku, kjer izbere očala in
jih naroči. Ko so očala narejena, se pacient vrne, poskusi očala in jih na koncu
plača.

• Narišite diagram stanj en objekt iz opisanega sistema!

51
Vi ste na vrsti 

• Pri zobozdravniku…
• Ko pacient pride prvič v ordinacijo, izpolni formular, kjer napiše svoje ime, naslov,
telefonsko številko, itd. Podatki se hranijo v bazi o pacientih. Ko pacient pokliče,
da se naroči na pregled, ali da spremeni termin pregleda, operater pogleda v
bazo z naročenimi pacienti in najde prosti termin. Če termin ustreza pacientu, ga
operater naroči. Par dni pred pregledom operater obvesti pacienta o
prihajajočem pregledu pri zobozdravniku.

• Narišite diagram stanj en objekt iz opisanega sistema!

52
Vi ste na vrsti 

• Univerzitetni sistem
• Sistem omogoča zaposlenim na univerzi vpogled v predmete, ki jih ponuja
določena fakulteta/program, dodajanje in brisanje predmetov in spreminjanje
informacij v zvezi s predmeti. Sistem omogoča študentom, da preverijo kateri
predmeti so na voljo, da dodajo ali zbrišejo predmete iz svojega urnika in da
pogledajo gradivo izbranih predmetov. Zaposleni lahko tiskajo različna poročila v
zvezi s predmeti in študenti, ki obiskujejo predmete. Sistem mora zagotoviti, da
študentje ne izberejo preveč predmetov in onemogočiti dostop študentov, ki
nimajo poravnanih svojih finančnih obveznosti.

• Narišite diagram stanj en objekt iz opisanega sistema!

53
Pregled predavanja

• Vedenjsko modeliranje

• Diagrami zaporedij (Sequence diagrams)

• Komunikacijski diagrami (Communication diagrams)

• Diagrami stanj (Behavioral State Machines)

54

You might also like