Oblikovanje i implementacija ISa Vjebe ak god 201314
Oblikovanje i implementacija IS-a Vježbe, ak. god. 2013/14.
Terminski plan vježbi � Utorak, 1. 2. 3. 4. 5. 6. 7. 13: 15 -16: 30 h 26. 11. 2013. 03. 12. 2013. 10. 12. 2013. 17. 12. 2013. 07. 01. 2014. 21. 01. 2014. Class diagram Use-Case diagram Component diagram Object diagram Sequence diagram
Vježbe 1. Teorijski dio 2. Praktični dio 3. Zadatak �Osnovne karakteristike dijagrama �Tvorbeni elementi �Rad u UML editoru ASTAH �Rad u grupama �Rješavanje zadatka na kraju svakog poglavlja
Vježbe � Kratki test u Loomen-u na početku vježbi (provjera znanja s prethodnih vježbi) � Bodovanje: ◦ ◦ ◦ Dolasci na predavanja i vježbe Aktivnost na predavanjima Test u Loomenu (4 x) Timski zadaci na vježbama (5 x) Ispit (predrok / redovan)
UML � Unified Modeling Language � Jedinstveni jezik za modeliranje � Koristi grafički prikaz za izradu apstraktnog modela sustava � Modeliranje: ◦ ◦ Softwarea Poslovnih procesa Ogranizacijskih struktura Ostalih sustava
UML � Model pojednostavljeni opis sustava iz određene perspektive � Dokumentira se dijagramima � 1997. godine nastao UML 1. 0. � Trenutna verzija UML-a je 2. 4. 1. objavljena od OMG-a (Object Modeling Group)
Dijagrami
Dijagram klasa � Prikazuje sustav pomoću klasa (razreda) i relacija među klasama � Statički dijagram ne uzima u obzir vremensku komponentu, nego dio ili cijeli sustav u određenom trenutku � Pripada skupini strukturnih UML dijagrama
KLASA � Osnovni tvorbeni element dijagrama � Opis grupe objekata sa sličnim svojstvima STUDENT Pero Perić Marković OBJEKTI KLASA Ivanković
KLASA � Promatra se parkiralište � Klasa? Objekti?
KLASA � Objekt entitet iz stvarnog svijeta, ima dobro definirane granice i smisao u sustavu ◦ Osoba, mjesto, događaj. . . � Objekti imaju svoje atribute (svojstva) i čine radnje (imaju operacije/metode) � Klasa je prikaz objekta, tj. predložak na temelju kojeg se oni kreiraju
KLASA � Odrediti: 1. naziv klase 2. atribute 3. operacije velikim slovom – početna slova – informacije o objektu, prva riječ malim slovom, ostatak velikim – stvari koje objekt ili klasa čine, prva riječ malim slovom, ostatak velikim Narudzba. Robe -datum : date -iznos : double -kolicina : long +izvrsi() +zakljuci()
KLASA � Primjer: � Svaki Definirati klasu Student student ima svoj broj indeksa, prezime, ime i prosjek ocjena. � Student može prijaviti i odjaviti ispit te mu pristupiti.
Odnosi među klasama � Objekti su često vezani za druge objekte studenti POLAŽU ispite, asistenti ODRŽAVAJU vježbe, referenti OVJERAVAJU indekse � Odnosi su prikazani kao linije koje spajaju 2 klase čiji su objekti (instance) povezani � 2 tipa odnosa među klasama: 1. PRIDRUŽIVANJE 2. PODTIP
PRIDRUŽIVANJE PODTIP
Pridruživanje (asocija) � Jednosmjerno (unidirekcionalno) � Dvosmjerno (bidirekcionalno) � Agregacija � Refleskivno Ukoliko smjer nije naznačen, smatra se da je veza ili nepoznata ili dvosmjerna!
Pridruživanje - dvosmjerno � Primjer � Veza dvosmjerne veze: između klasa Osoba i Knjiga ◦ Osoba je posudila knjigu ◦ Knjiga pokazuje koje su je sve osobe posudile Osoba Knjiga
Pridruživanje - dvosmjerno � Veza uvijek ima 2 vrha, povezanih s 2 klase. � Vrhovi se nazivaju ULOGE. � Vrh može i ne mora imati naziv (može biti imenica ili glagol) � Višestrukost veze koliko objekata može sudjelovati u odnosu između 2 klase
Višestrukost veze 1 n 1. . n 2, n 3 n. . * točno 1 pojedinac 0. . * ili n više pojedinaca, neograničeno bilo koji točno određeni broj (0, 1, 5, 23) između n 1 i n 2 (5. . 8 5, 6, 7 ili 8) između n 1 i više pojedinaca kombinacija (4. . 7, 9 4, 5, 6, 7 ili 9) n ili više pojedinaca, neograničeno (5. . * 5 ili više)
Višestrukost � Ako višestrukost nije naznačena, smatra se vrijednost 1 (točno 1 pojedinac) � Primjer: Veza između klase Student i Indeks � Jedan student može imati samo jedan indeks
Višestrukost � Primjer: � Na Veza između klase Racun i Artikl računu može biti jedan ili više artikala
Višestrukost � Nakon završetka ispitnog roka profesor svaki put ispravlja točno 60 pismenih ispita Profesor Ispit 1 60
Višestrukost � Na nekom projektu profesor mora voditi barem pet studenata � Studenti mogu biti samo na jednom projektu � Ako to žele, studenti ne moraju prijaviti sudjelovanje na projektu Profesor Student 0. . 1 5. . *
Pridruživanje - refleksivno � Klasa povezana sama sa sobom. � Više pojedinaca istog razreda moraju međusobno komunicirati � Primjer: Programsko rješenje za vođenje poslovanja poduzeća koristi šifarnik u koji se unose skladišta i blagajne poduzeća. Međutim, svakoj blagajni potrebno je dodijeliti jedno skladište. Jedna blagajna je uvijek pridružena jednom skladištu �
Agregacija � jedna klasa sadrži druge klase (agregirana je u drugoj klasi) � oblik odnosa nadskup-podskup (cjelina-dio) � Nadskup agregat � Simbol agregacije uvijek dodiruje razred nadskup, a prazna linija podskup � Veza agregacije usmjerena od nadskupa prema podskupu � Automobil - motor
Agregacija � Primjer: U nekom poduzeću postoje odjeli nabave, prodaje, financija. . Zaposlenici su zaposleni u tim odjelima.
Kompozicija � slična agregaciji � uništavanjem (gašenjem, zatvaranjem) agregata (cjeline) gase se i njegovi dijelovi. � jaki tip agregacije � promatrana klasa ne može egzistirati bez druge klase
Kompozicija � Primjer: Poduzeće osim svog sjedišta može imati i nekoliko poslovnica � Zatvaranjem poduzeća, zatvaraju se i sve poslovnice. Veza 0. . *? ?
ATRIBUTI � svojstva klasa � navode se u pravokutniku ispod naziva klase � imaju svoja svojstva: ◦ NAZIV – prva riječ malim slovom, početno slovo ostalih riječi velikim (broj. Indeksa) ◦ VIDLJIVOST �javno + (public) – dostupan svim klasama i paketima �privatno – (private) – dostupan unutar iste klase �zaštićeno # (protected) – unutar iste i izvedenih klasa �paket ~ (package) – dostupan svim klasama istog paketa
ATRIBUTI ◦ TIP �UML tipovi (boolean, integer, string, unlimited. Integer) �Java tipovi (byte, char, double, float, int) ◦ POČETNA VRIJEDNOST – inicijalna vrijednost dodana atributima (klasa automobil atribut broj. Vrata vrijednost 4) � Pravilo pisanja atributa: [vidljivost] ime. Atributa : tip. Atributa
ATRIBUTI � Tipovi atributa navode se pokraj imena, nakon znaka „ : „ ◦ STRING – tekstualni tip, za prikaz znakova �ime. Studenta : String = „Marko” ◦ INTEGER – za prikaz cijelih brojeva �broj. Indeksa : Integer = 34952 ◦ DOUBLE – za prikaz decimalnih brojeva �prosjek. Ocjena : Double = 3, 7 ◦ BOOLEAN – sadržava 2 vrijednosti: true ili false �prosao. Ispit : Boolean = true
ATRIBUTI � Primjer: �U bazi podataka fakulteta nalaze se podaci o studentima. � Svaki student ima broj indeksa, ime, prezime, OIB te odabrani smjer � Broj indeksa je privatni podatak, ime, prezime i smjer su javni, OIB je zaštićeni
OPERACIJE � procesi koje klasa može izvršiti � navode se u pravokutniku ispod atributa � svojstva operacija: ◦ vidljivost (isto kao i kod atributa) ◦ ulazni i izlazni parametri – svojstveni samo za operacije. � Pravilo pisanja operacija: [vidljivost] ime. Operacije (parametri)
OPERACIJE � Primjer: � Prikazati klasu Blagajnik koja sadrži atribute Šifra, Ime, Prezime, OIB. � Blagajnik priprema robu i izrađuje račun
Primjer: atributi i operacije � Primjer: � Promatraju se dobavljači nekog poduzeća. � Dobavljači sadržavaju sljedeće podatke: ◦ ◦ ◦ OIB (zaštićeni podatak) Naziv (javni podatak) Ukupan iznos nabave (javni podatak) Kontakt osobu (javni podatak) Telefon (privatni podatak) � Dobavljači obavljaju sljedeće operacije: ◦ Dobavljaju robu ◦ Ispostavljaju račune
NASLJEĐIVANJE � temeljni koncept OO programiranja � između različitih klasa često postoje sličnosti ◦ mogu dijeliti iste atribute i/ili iste metode Nepotrebno ponavljanje programskog koda NASLJEĐIVANJE
NASLJEĐIVANJE � klasa A nasljeđuje od B ◦ A podklasa klase B ◦ B nadklasa klase A � „Čisto nasljeđivanje” klasa A nasljeđuje SVE atribute i metode od klase B � Jedna klasa je „roditelj” jednoj ili više drugih klasa. � Veza od podklase prema nadklasi
NASLJEĐIVANJE � primjer: � Postoji mnogo sličnosti između klasa Student i Profesor � Imaju iste atribute i obavljaju iste metode � Zajednički atributi su ime, prezime i OIB � Zajednička metoda je kupi pokaz za tramvaj � Kreira se nova klasa Osoba od koje nasljeđuju klase Student i Profesor
NASLJEĐIVANJE
� Klasa Osoba glavna klasa. Apstraktna je jer postoji samo zbog drugih klasa koje nasljeđuju od nje (kosim slovima) � Student i Profesor imaju iste atribute i metode koji se pišu u klasi Osoba � Nasljeđivanjem se smanjila količina potrebnog posla � Atributi i metode se implementiraju samo jednom, u klasi Osoba
Ovisnost � jedna klasa ovisi o drugoj klasi � promjena u jednom entitetu utječe na drugi � neovisni entitet isporučitelj � ovisni entitet klijent � jednosmjerna veza
Ovisnost � Primjer: �U poduzeću manager ima najvišu funkciju � Direktor prodaje nadređen je zaposlenicima u prodaji � Komercijalist obavlja poslove prodaje � Svi su oni zaposlenici poduzeća � Manager smije promicati i davati povišice svim zaposlenicima
Ovisnost
- Slides: 44