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