Transcript Document

Unified Modeling Language
Ivan Šaškor
(za FESB adaptirala Marijana Puljak)
Osnovne teme
 Kako
je nastao UML?
 Osnovne ideje
 Glavni dijagrami
 Dostupni alati
 Dodatne informacije
Kako je nastao UML?
Kako je nastao UML?
Predmetode UML-a
• Booch-ova OOAD (Object-Oriented Analysis and Design)
• Jacobson-ova OOSE (Object-Oriented Software Engineering)
• Rumbaugh-ova OMT (Object Modeling Technique)
Osnivači UML-a
Grady Booch
Ivar Jacobson
James Rumbaugh
Nov ‘97
UML approved by the OMG
(preuzeto sa www.rational.com)
Osnovne ideje
?
Uhvatiti i opisati
poslovne procese
Uhvatiti i opisati
poslovne procese
Uhvatiti i opisati
poslovne procese
Uhvatiti i opisati
poslovne procese
Uhvatiti i opisati
poslovne procese
Uhvatiti i opisati
poslovne procese
Uhvatiti i opisati
poslovne procese
Uhvatiti i opisati
poslovne procese
Uhvatiti i opisati
poslovne procese
Poboljšati komunikaciju
Poboljšati komunikaciju
Projektant
Programer
Poboljšati komunikaciju
Projektant
(poslovanje)
Programer
Poboljšati komunikaciju
Projektant
(poslovanje)
Programer
(tehnologija)
Poboljšati komunikaciju
Projektant
(poslovanje)
Programer
(tehnologija)
Poboljšati komunikaciju
Projektant
(poslovanje)
Programer
(tehnologija)
Poboljšati komunikaciju
?
?
?
Projektant
(poslovanje)
Programer
(tehnologija)
?
Poboljšati komunikaciju
Projektant
(poslovanje)
Programer
(tehnologija)
Pomoć u borbi s
kompleksnošću
Pomoć u borbi s
kompleksnošću
Pomoć u borbi s
kompleksnošću
Pomoć u borbi s
kompleksnošću
Pomoć u borbi s
kompleksnošću
Pomoć u borbi s
kompleksnošću
Pomoć u borbi s
kompleksnošću
Pomoć u borbi s
kompleksnošću
Pomoć u borbi s
kompleksnošću
Definirati logičku
arhitekturu sustava
Definirati logičku
arhitekturu sustava
Definirati logičku
arhitekturu sustava
Definirati logičku
arhitekturu sustava
Korisničko sučelje
Visual Basic, Java
Poslovna logika
C++, Java
Baza podataka
C++ & SQL
Definirati logičku
arhitekturu sustava
Korisničko sučelje
Visual Basic, Java
Poslovna logika
C++, Java
Baza podataka
C++ & SQL
Ponovno korištenje već
gotovih komponenti
Ponovno korištenje već
gotovih komponenti
Ponovno korištenje već
gotovih komponenti
Ponovno korištenje već
gotovih komponenti
Projekt A
Ponovno korištenje već
gotovih komponenti
Projekt A
Projekt B
Ponovno korištenje već
gotovih komponenti
Projekt A
Projekt B
Projekt C
Ponovno korištenje već
gotovih komponenti
Projekt A
Projekt B
Projekt C
Projekt D
Ponovno korištenje već
gotovih komponenti
Projekt A
Projekt B
Projekt C
Projekt D
Ponovno korištenje već
gotovih komponenti
Projekt A
Projekt B
Projekt C
Projekt D
Ponovno korištenje već
gotovih komponenti
Projekt A
Projekt B
Projekt C
Projekt D
Osnovne ideje
Uhvatiti i opisati poslovne procese
 Poboljšati komunikaciju
 Pomoći u borbi s kompleksnošću
 Definirati logičku arhitekturu sustava
 Omogućiti ponovno korištenje već
gotovih komponenti

Glavni dijagrami
Activity Diagram
• Pokazuje tok iz aktivnosti u aktivnost unutar sustava i
bavi se dinamičkim pogledom na sustav.
• Za razliku od dijagrama toka može podržavati i
paralelno ponašanje.
• Moguće upotrebe:
• prije početka projekta, za modeliranje najvažnijih
business workfolow-a,
• za vrijeme faze specifikacije zahtjeva, za detaljnije
pojašnjavanje tijeka aktivnosti u use case-vima,
• za vrijeme analize i dizajna, kao pomoć pri
definiranju ponašanja pojedinih operacija.
Activity Diagram
Provjera podataka o članu
Provjera podataka o članu
Provjera podataka o članu
Izdavanje kazeta
Provjera podataka o članu
Izdavanje kazeta
Povrat kazeta
Provjera podataka o članu
Izdavanje kazeta
Povrat kazeta
Naplata računa
Provjera podataka o članu
Izdavanje kazeta
Povrat kazeta
Naplata računa
Provjera podataka o članu
Izdavanje kazeta
Povrat kazeta
Naplata računa
Provjera podataka o članu
Izdavanje kazeta
Povrat kazeta
Naplata računa
Provjera podataka o članu
Izdavanje kazeta
Povrat kazeta
[Nema računa]
[Ima računa]
Naplata računa
Provjera podataka o članu
Izdavanje kazeta
Povrat kazeta
[Nema računa]
[Ima računa]
Naplata računa
Provjera podataka o članu
Izdavanje kazeta
Povrat kazeta
[Nema računa]
[Ima računa]
Naplata računa
Služba korisnika
Financijska služba
Provjera podataka o članu
Izdavanje kazeta
Povrat kazeta
[Ima računa]
[Nema računa]
Naplata računa
Use Case Diagram
Use Case Diagram
Radnik u
videoteci
Radnik u
videoteci
Član
Radnik u
videoteci
Član
Radnik u
videoteci
Centralni
sistem
Član
Radnik u
videoteci
Obrada rezervacije
Centralni
sistem
Obrada člana
Pregled ponude
Član
Rezervacija filma
Radnik u
videoteci
Obrada rezervacije
Centralni
sistem
Obrada člana
Pregled ponude
Član
Rezervacija filma
Radnik u
videoteci
Obrada rezervacije
Centralni
sistem
Obrada člana
Provjera stanja
Pregled ponude
Član
Rezervacija filma
Rezervacije
Radnik u
videoteci
Obrada rezervacije
Centralni
sistem
Obrada člana
Provjera stanja
Sequence Diagram
Sequence Diagram
Karla:Radnik u
videoteci
Karla:Radnik u
videoteci
Sučelje PR:
Sučelje prema
radniku
Karla:Radnik u
videoteci
Sučelje PR:
Sučelje prema
radniku
Karla:Radnik u
videoteci
Knjiga Č:
Knjiga članova
Sučelje PR:
Sučelje prema
radniku
Karla:Radnik u
videoteci
Knjiga Č:
Knjiga članova
Sučelje PR:
Sučelje prema
radniku
Karla:Radnik u
videoteci
Registriraj izdavanje kazete
(57, 154, ‘Marko Breljak’)
Knjiga Č:
Knjiga članova
Sučelje PR:
Sučelje prema
radniku
Knjiga Č:
Knjiga članova
Karla:Radnik u
videoteci
Registriraj izdavanje kazete
(57, 154, ‘Marko Breljak’)
Da li postoji član
(154, ‘Marko Breljak’)
Sučelje PR:
Sučelje prema
radniku
Knjiga Č:
Knjiga članova
Karla:Radnik u
videoteci
Registriraj izdavanje kazete
(57, 154, ‘Marko Breljak’)
Da li postoji član
(154, ‘Marko Breljak’)
Otvori karton člana (154)
Sučelje PR:
Sučelje prema
radniku
Knjiga Č:
Knjiga članova
Karton Č (154):
Karton člana
Karla:Radnik u
videoteci
Registriraj izdavanje kazete
(57, 154, ‘Marko Breljak’)
Da li postoji član
(154, ‘Marko Breljak’)
Otvori karton člana (154)
Pripremi podatke
Sučelje PR:
Sučelje prema
radniku
Knjiga Č:
Knjiga članova
Karton Č (154):
Karton člana
Karla:Radnik u
videoteci
Registriraj izdavanje kazete
(57, 154, ‘Marko Breljak’)
Da li postoji član
(154, ‘Marko Breljak’)
Otvori karton člana (154)
Pripremi podatke
Sučelje PR:
Sučelje prema
radniku
Knjiga Č:
Knjiga članova
Karton Č (154):
Karton člana
Karla:Radnik u
videoteci
Registriraj izdavanje kazete
(57, 154, ‘Marko Breljak’)
Da li postoji član
(154, ‘Marko Breljak’)
Otvori karton člana (154)
Pripremi podatke
Registriraj izdavanje kazete (57)
Sučelje PR:
Sučelje prema
radniku
Knjiga Č:
Knjiga članova
Karton Č (154):
Karton člana
Karla:Radnik u
videoteci
Registriraj izdavanje kazete
(57, 154, ‘Marko Breljak’)
Da li postoji član
(154, ‘Marko Breljak’)
Otvori karton člana (154)
Pripremi podatke
Registriraj izdavanje kazete (57)
Izdavanje kazete
uspješno registrirano
Collaboration Diagram
Collaboration Diagram
Karla:Radnik u
videoteci
Karla:Radnik u
videoteci
Karla:Radnik u
videoteci
Sučelje PR:
Sučelje prema
radniku
Knjiga Č:
Knjiga članova
Karton Č (154):
Karton člana
Karla:Radnik u
videoteci
Sučelje PR:
Sučelje prema
radniku
Knjiga Č:
Knjiga članova
Karton Č (154):
Karton člana
1: Registriraj izdavanje kazete (57, 154, ‘Marko Breljak’)
Karla:Radnik u
videoteci
Sučelje PR:
Sučelje prema
radniku
Knjiga Č:
Knjiga članova
Karton Č (154):
Karton člana
1: Registriraj izdavanje kazete (57, 154, ‘Marko Breljak’)
Karla:Radnik u
videoteci
Sučelje PR:
Sučelje prema
radniku
2: Da li postoji član (154, ‘Marko Breljak’)
Knjiga Č:
Knjiga članova
Karton Č (154):
Karton člana
1: Registriraj izdavanje kazete (57, 154, ‘Marko Breljak’)
Karla:Radnik u
videoteci
Sučelje PR:
Sučelje prema
radniku
2: Da li postoji član (154, ‘Marko Breljak’)
3: Otvori karton člana (154)
Knjiga Č:
Knjiga članova
Karton Č (154):
Karton člana
1: Registriraj izdavanje kazete (57, 154, ‘Marko Breljak’)
Karla:Radnik u
videoteci
Sučelje PR:
Sučelje prema
radniku
2: Da li postoji član (154, ‘Marko Breljak’)
3: Otvori karton člana (154)
Knjiga Č:
Knjiga članova
4: Pripremi podatke
Karton Č (154):
Karton člana
1: Registriraj izdavanje kazete (57, 154, ‘Marko Breljak’)
Karla:Radnik u
videoteci
Sučelje PR:
Sučelje prema
radniku
2: Da li postoji član (154, ‘Marko Breljak’)
5: Registriraj izdavanje
kazete (57)
3: Otvori karton člana (154)
Knjiga Č:
Knjiga članova
4: Pripremi podatke
Karton Č (154):
Karton člana
1: Registriraj izdavanje kazete (57, 154, ‘Marko Breljak’)
Karla:Radnik u
videoteci
6: Izdavanje kazete uspješno registrirano
Sučelje PR:
Sučelje prema
radniku
2: Da li postoji član (154, ‘Marko Breljak’)
5: Registriraj izdavanje
kazete (57)
3: Otvori karton člana (154)
Knjiga Č:
Knjiga članova
4: Pripremi podatke
Karton Č (154):
Karton člana
Class Diagram
Class Diagram
(I) Naglasak na komunikaciji
(II) Naglasak na nasljeđivanju
Class Diagram (I)
Class Diagram (I)
Sučelje prema radniku
Sučelje prema radniku
Sučelje prema radniku
Knjiga članova
Karton člana
Sučelje prema radniku
Knjiga članova
Karton člana
Sučelje prema radniku
Knjiga članova
Karton člana
Sučelje prema radniku
Knjiga članova
Registriraj izdavanje kazete()
Karton člana
Sučelje prema radniku
Registriraj izdavanje kazete()
Knjiga članova
Da li postoji član ()
Otvori karton člana ()
Karton člana
Sučelje prema radniku
Registriraj izdavanje kazete()
Knjiga članova
Da li postoji član ()
Otvori karton člana ()
Karton člana
Pripremi podatke()
Registriraj izdavanje kazete()
Sučelje prema radniku
Registriraj izdavanje kazete()
Knjiga članova
Da li postoji član ()
Otvori karton člana ()
Karton člana
Ime
Prezime
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Sučelje prema radniku
Knjiga članova
Broj članova
Registriraj izdavanje kazete()
Da li postoji član ()
Otvori karton člana ()
Karton člana
Ime
Prezime
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Sučelje prema radniku
Aktivni radnik
Odabrani član
Registriraj izdavanje kazete()
Knjiga članova
Broj članova
Da li postoji član ()
Otvori karton člana ()
Karton člana
Ime
Prezime
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Sučelje prema radniku
Aktivni radnik
Odabrani član
Registriraj izdavanje kazete()
Knjiga članova
Broj članova
Da li postoji član ()
Otvori karton člana ()
Karton člana
Ime
Prezime
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Knjiga članova
Sučelje prema radniku
Aktivni radnik
Odabrani član
Registriraj izdavanje kazete()
Broj članova
1
1
Da li postoji član ()
Otvori karton člana ()
Karton člana
Ime
Prezime
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Knjiga članova
Sučelje prema radniku
Broj članova
Aktivni radnik
Odabrani član
1
1
Da li postoji član ()
Otvori karton člana ()
Registriraj izdavanje kazete()
1
Karton člana
1
Ime
Prezime
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Knjiga članova
Sučelje prema radniku
Broj članova
Aktivni radnik
Odabrani član
1
1
Da li postoji član ()
Otvori karton člana ()
Registriraj izdavanje kazete()
1
1
0..*
Karton člana
1
Ime
Prezime
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Class Diagram (II)
Class Diagram (II)
Karton člana
Ime
Prezime
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Karton člana
Ime
Prezime
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Karton člana
Naziv
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Član – Fizička osoba
Karton člana
Naziv
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Član – Fizička osoba
Karton člana
Naziv
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Član – Pravna osoba
Član – Fizička osoba
Ime
Prezime
Ulica i broj
Karton člana
Naziv
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Član – Pravna osoba
Član – Fizička osoba
Ime
Prezime
Ulica i broj
Član – Pravna osoba
Tvrtka
Sjedište (ulica i broj)
Kontakt osoba
Karton člana
Naziv
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Član – Fizička osoba
Ime
Prezime
Ulica i broj
Član – Pravna osoba
Tvrtka
Sjedište (ulica i broj)
Kontakt osoba
Karton člana
Naziv
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Član – Fizička osoba
Ime
Prezime
Ulica i broj
Član – Pravna osoba
Tvrtka
Sjedište (ulica i broj)
Kontakt osoba
Karton člana
Naziv
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Član – Fizička osoba
Ime
Prezime
Ulica i broj
Član – Pravna osoba
Tvrtka
Sjedište (ulica i broj)
Kontakt osoba
Prelazak na mjesečnu naplatu()
Karton člana
Naziv
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Član – Fizička osoba
Ime
Prezime
Ulica i broj
Član – Pravna osoba
Tvrtka
Sjedište (ulica i broj)
Kontakt osoba
Karton medija za najam
Prelazak na mjesečnu naplatu()
Broj
Naziv filma
Glavni glumac
Pripremi podatke()
Karton člana
Naziv
Ulica i broj
Pripremi podatke()
Registriraj izdavanje kazete()
Medij - Kazeta
Medij - DVD
Član – Fizička osoba
Ime
Prezime
Ulica i broj
Član – Pravna osoba
Tvrtka
Sjedište (ulica i broj)
Kontakt osoba
Karton medija za najam
Prelazak na mjesečnu naplatu()
Broj
Naziv filma
Glavni glumac
Pripremi podatke()
Karton člana
Naziv
Ulica i broj
Medij - Kazeta
Kvaliteta snimka
Pripremi podatke()
Registriraj izdavanje kazete()
Medij - DVD
Jezici sinhronizacije
Jezici titla
Član – Fizička osoba
Ime
Prezime
Ulica i broj
Član – Pravna osoba
Tvrtka
Sjedište (ulica i broj)
Kontakt osoba
Karton medija za najam
Prelazak na mjesečnu naplatu()
Broj
Naziv filma
Glavni glumac
Pripremi podatke()
Karton člana
Naziv
Ulica i broj
Medij - Kazeta
Kvaliteta snimka
Pripremi podatke()
Registriraj izdavanje kazete()
Prijava uništenje trake()
Prijava popravka()
Medij - DVD
Jezici sinhronizacije
Jezici titla
State transition Diagram
State transition Diagram
Inicijalizacija
Inicijalizacija
Inicijalizacija
Kazeta dostupna
Inicijalizacija
Kazeta dostupna
Kazeta iznajmljena
Inicijalizacija
Kazeta dostupna
Kazeta iznajmljena
Inicijalizacija
Kazeta dostupna
Kazeta iznajmljena
Inicijalizacija
Kazeta dostupna
Kazeta iznajmljena
Inicijalizacija
Kazeta dostupna
Iznajmljivanje kazete
Kazeta iznajmljena
Inicijalizacija
Kazeta dostupna
Povrat kazete
Kazeta iznajmljena
Iznajmljivanje kazete
Inicijalizacija
Kazeta na popravku
Kazeta dostupna
Povrat kazete
Kazeta iznajmljena
Iznajmljivanje kazete
Inicijalizacija
Ide na popravak
Kazeta dostupna
Povrat kazete
Kazeta iznajmljena
Iznajmljivanje kazete
Kazeta na popravku
Inicijalizacija
Ide na popravak
Kazeta dostupna
Kazeta popravljena
Povrat kazete
Kazeta iznajmljena
Iznajmljivanje kazete
Kazeta na popravku
Inicijalizacija
Ide na popravak
Kazeta dostupna
Kazeta popravljena
Povrat kazete
Kazeta iznajmljena
Iznajmljivanje kazete
Kazeta na popravku
Inicijalizacija
Ide na popravak
Kazeta na popravku
Kazeta dostupna
Kazeta popravljena
Povrat kazete
Kazeta iznajmljena
Iznajmljivanje kazete
Kazeta uništena
Inicijalizacija
Ide na popravak
Kazeta na popravku
Kazeta dostupna
Kazeta popravljena
Kazeta ukradena
Povrat kazete
Kazeta iznajmljena
Iznajmljivanje kazete
Kazeta uništena
Inicijalizacija
Ide na popravak
Kazeta na popravku
Kazeta dostupna
Kazeta popravljena
Kazeta ukradena
Povrat kazete
Iznajmljivanje kazete
Kazeta iznajmljena
Kazeta ukradena
Kazeta uništena
Inicijalizacija
Kazeta u opticaju
Ide na popravak
Kazeta na popravku
Kazeta dostupna
Kazeta popravljena
Povrat kazete
Iznajmljivanje kazete
Kazeta iznajmljena
Kazeta ukradena
Kazeta uništena
Inicijalizacija
DO: Postavi podatke o kazeti
Kazeta u opticaju
Ide na popravak
Kazeta na popravku
Kazeta dostupna
Kazeta popravljena
Povrat kazete
Iznajmljivanje kazete
Kazeta iznajmljena
Kazeta ukradena
Kazeta uništena
Inicijalizacija
DO: Postavi podatke o kazeti
Kazeta u opticaju
Ide na popravak
Kazeta na popravku
Kazeta dostupna
ENTRY: Prijava kazete u popis
dostupnih kazeta
Kazeta popravljena
EXIT: Odjava kazete iz popisa
Povrat kazete
Iznajmljivanje kazete
Kazeta iznajmljena
Kazeta ukradena
Kazeta uništena
Inicijalizacija
DO: Postavi podatke o kazeti
Kazeta u opticaju
Otišla na popravak
Kazeta na popravku
Kazeta dostupna
ENTRY: Prijava kazete u popis
dostupnih kazeta
Kazeta popravljena
EXIT: Odjava kazete iz popisa
Povrat kazete
Iznajmljivanje kazete
Kazeta iznajmljena
DO: Provjera isteka roka najma
EXIT: Proračunavanje cijene
posudbe
Kazeta ukradena
Kazeta uništena
Component Diagram
Component Diagram
karton_clana.cls
karton_clana.cls
knjiga_clanova.cls
karton_clana.cls
knjiga_clanova.cls
karton_clana.cls
clanovi.dll
knjiga_clanova.cls
karton_clana.cls
clanovi.dll
knjiga_clanova.cls
karton_clana.cls
clanovi.dll
knjiga_clanova.cls
karton_clana.cls
video.exe
clanovi.dll
knjiga_clanova.cls
karton_clana.cls
video.exe
clanovi.dll
knjiga_clanova.cls
karton_clana.cls
video.exe
clanovi.dll
knjiga_clanova.cls
karton_clana.cls
video.exe
clanovi.dll
knjiga_clanova.cls
backup.exe
karton_clana.cls
video.exe
clanovi.dll
knjiga_clanova.cls
backup.exe
karton_clana.cls
Deployment Diagram
Deployment Diagram
Kasa
Kasa
Pretraživanje
filmova 1
Kasa
Pretraživanje
filmova 2
Pretraživanje
filmova 1
Kasa
Pretraživanje
filmova 2
Pretraživanje
filmova 1
Kasa
Lokalni
server
Pretraživanje
filmova 2
Pretraživanje
filmova 1
Kasa
Lokalni
server
Pretraživanje
filmova 2
Pretraživanje
filmova 1
Kasa
Lokalni
server
Pretraživanje
filmova 2
Pretraživanje
filmova 1
Kasa
Lokalni
server
Pretraživanje
filmova 2
Centrala
Pretraživanje
filmova 1
Kasa
Lokalni
server
Pretraživanje
filmova 2
Centrala
Pretraživanje
filmova 1
Kasa
Lokalni
server
Glavni dijagrami
 Activity
Diagram
 Use Case Diagram
 Sequence Diagram
 Collaboration Diagram
 Class Diagram (I i II)
 State transition Diagram
 Component diagram
 Deployment diagram
Alati
Rational Rose
Ostali alati
 Microsoft
Visio
 System Architect
 Describe Enterprise
 ...
Dodatne informacije
Internet
 www.rational.com/uml
 www.omg.org
 www.uml.org
 www.rational.com/products/rose
 www.sdmagazine.com
Knjige


Adison Wesley
Object Technology Series
(www.aw.com)
UML Distilled,
Martin Fowler
Key notes
Osnivači UML-a
Grady Booch
Ivar Jacobson
James Rumbaugh
Nov ‘97
UML approved by the OMG
(preuzeto sa www.rational.com)
Osnovne ideje
Uhvatiti i opisati poslovne procese
 Poboljšati komunikaciju
 Pomoći u borbi s kompleksnošću
 Definirati logičku arhitekturu sustava
 Omogućiti ponovno korištenje već
gotovih komponenti

Glavni dijagrami
 Activity
Diagram
 Use Case Diagram
 Sequence Diagram
 Collaboration Diagram
 Class Diagram (I i II)
 State transition Diagram
 Component diagram
 Deployment diagram