softver mlm mat18
DESCRIPTION
Modeliranje aplikacija koriscenjem UMLTRANSCRIPT
-
Modelovanje aplikacije korienjem UML-a
-
Objektno modelovanje - UML
UML (Unified Modeling Language) - objedinjeni vizuelni jezik za poslovno i softversko modelovanje u svim fazama razvoja i za svetipove sistema, kao i za generalno modelovanje kojim se definiu statike strukture i dinamiko ponaanje.
Standardni jezik za: vizuelizaciju
specifikaciju
konstruisanje i
dokumentovanje softverskih sistema
UML kombinuje najbolje iz: Koncepta Data Modeling (Entity Relationships Diagrams)
Poslovnog modelovanja (work flow)
Objektnog i komponentnog modelovanja
-
UML
UML je projektovan kao vrlo fleksibilan i prilagodiv jezik, kojiomoguava vrlo razliite vrste modelovanja, ukljuujui: modele koji olakavaju razumevanje poslovnih procesa,
odvijanja tokova dogaaja,
sekvenci upita,
aplikacija,
baza podataka,
arhitektura i drugog.
-
UML
UML je nastao kao rezultat evolucije objektno orijentisanih jezika za modelovanje.
Razvila ga je kompanija Rational Software objedinjavanjem tri vodee metode objektno orijentisanog modelovanja: Booch koji je razvio Grady Booch, OMT (Object Modeling Technique) koji je razvio Jim Rambaugh i OOSE (Object-Oriented Software Engineering) koji je razvio Ivar
Jacobson.
-
Arhitektura softverskih sistema
Kako je sistem struktuiran?
Koje su funkcije sistema? Kako izgraditi
sistem?
Gde instalirati?
Kako je sistem predstavljen?
Kako se sistem ponaa?
-
Kategorije korisnika
UML koriste sledee kategorije korisnika Sistem analitiari i krajnji korisnici specifikacija
zahtevane strukture i ponaanje sistema
Arhitekte sistema projektanti sistema koji e zadovoljiti zahteve
Razvojni inenjeri (developers) transformiu arhitekturu u izvrni kod
Kontrolori kvaliteta provera strukture i ponaanje sistema
Rukovodioci projekta (menagers) vode i usmeravaju kadrove i resurse
-
UML dijagrami
Dijagram u UML-u grafika predstava skupa elemenata - iscrtan kao graf vorova (stvari) i lukova (relacija)
Dijagrami UML-a prikazuju sistem iz vie uglova:
Dijagram sluajeva upotrebe (Use-Case Diagram)
Dijagram klasa (Class Diagram)
Dijagram objekata (Object Diagram)
Dijagram sekvenci (Sequence Diagram)
Dijagram saradnje (Collaboration Diagram)
Dijagram promene stanja (State Diagram)
Dijagram aktivnosti (Activity Diagram)
Dijagram komponenti (Component Diagram)
Dijagram razvoja (Deployment Diagram)
-
Gradivni blokovi UML-a
Stvari (things)
Relacije (relationships)
-
Things
Postoje 4 vrste stvari (things):
Stvari strukture statiki delovi modela koji reprezentuju konceptualne ili fizike elemente (imenice)
Stvari ponaanja dinamiki delovi modela koji reprezentuju ponaanje kroz prostor i vreme (glagoli)
Stvari grupisanja - organizacioni delovi modela
Stvari anotacije opisni delovi modela, komentari koji se primenjuju na bilo koji dokument
-
Statiki delovi modela
Fiziki i zamenljivi deo sistema koji obezbeuje realizaciju skupa interfejsa
Komponenta
OpisSimbolIme
vor
Aktivne klase
Sluaj upotrebe
Korisnik
Kolaboracija (Saradnja)
Interfejs
Klasa
Fiziki element koji postoji u vreme izvravanja i predstavlja raunarski resurs ima memoriju i mogunost procesiranja.
Klase iji objekti poseduju jedan ili vie procesa ili niti mogu inicirati kontrolnu aktivnost.
Opis skupa sekvenci akcija koje sistem izvodi da bi izvrio neki zahtev korisnika.
Spoljanji entitet koji komunicira sa sistemom, obino osoba.
Definie interakciju i udruuje uloge i druge elemente tako da rade zajedno i obezbeuju kolaborativno ponaanje.
Kolekcija operacija koje opisuju servise klase ili komponente.
Opis skupa objekata koji dele iste atribute, operacije, veze i semantiku. Implementira 1 ili vie interfejsa.
-
Dinamiki delovi UML modela
OpisSimbolIme
Prikaz stanja
Interakcija
Ponaanje specificirano sekvencom stanja objekta ili neke interakcije.
Ponaanje prilikom razmene skupa poruka izmeu skupa objekata da bi se objasnile specifine namene.
prikaz
ekanje
-
Organizacioni delovi UML modela
OpisSimbolIme
Paket
Grupe na koje model moe biti dekomponovan. Mehanizam opte namene, za organizovanje elemenata u grupe.
Paket je isto konceptualan postoji samo u vreme razvoja.
-
Delovi za objanjenja
OpisSimbolIme
Anotacija
Komentari kojima opisujemo, objanjavamo i naznaavamo bilo koji element u modelu.
Osnovna vrsta anotacije je napomena (note).
-
Relacije (relationships)
Semantika relacija izmeu klasifikatora, gde jedan klasifikator specificira ugovor koji drugi klasifikator garantuje da e ispuniti.
Objekti specijalizovanih elemenata (dete) predstavljaju zamene za objekte generalizovanih elemenata (roditelj).
Vrh strelice na roditelju.
Strukturna relacija koja opisuje skup veza kojim se postavlja veza izmeu objekata.
Semantika relacija izmeu nezavisne i zavisne stvari. Nezavisna stvar utie na semantiku zavisne.
Usmerenje iz zavisnog sluaja.
Opis
Realizacija
Generalizacija
SimbolIme
Asocijacija
Zavisnost
0..1 *
radi radj
-
Dijagrami sluajeva upotrebe (korienja)
-
Dijagram sluajeva upotrebe(Use-Case Diagram)
Omoguavaju krajnjim korisnicima da razumeju sistem
Pogled korisnika na funkcionisanje sistema (ta sistem radi, a ne kako sistem funkcionie)
Razvoj dijagrama sluajeva upotrebe definie se sledeim aktivnostima: Definisanjem uesnika
Definisanjem sluajeva upotrebe
Definisanjem tipova veza izmeu uesnika i sluajeva upotrebe
Izradom dijagrama sluajeva upotrebe
Uesnik
Asocijativni naziv
Sluaj upotrebe
-
Primer 1.
Potrebno je napraviti aplikaciju koja e omoguiti korisniku da preko Interneta rezervie bioskopske ulaznice za eljene projekcije.
Takoe je potrebno omoguiti korisniku stalan uvid u bioskopski repertoar i informacije o bioskopu u kojem eljeni film igra.
-
Dijagram sluajeva upotrebe
korisnik
Pregled filmova
Pregled bioskopa
Rezervacija
-
Dijagram sluaja upotrebeprocesa rezervacije
Odabir filma
Odabir bioskopa
Odabir termina
Rezervacija karata
Potvrda rezervacije
Unos podataka
korisnik
-
Definisanje uesnika
Korisnik je ovek koji koristi sistem, dok je uesnik specifina uloga koju korisnik ima u komunikaciji sa sistemom
Uesnik osoba ili vetaki entitet (softver ili sistem) koji uestvuje u sluaju upotrebe
-
Definisanje uesnika
Uesnika je mogue identifikovati na osnovu odgovora na sledea pitanja:
Ko e koristiti osnovnu funkcionalnost sistema (primarni uesnici)
Ko treba da upravlja, administrira i odrava sistem (sekundarni uesnici)
Kome e biti potrebna podrka sistema u obavljanju dnevnih zadataka
Kojim hardverskim ureajima sistem treba da upravlja
Sa kojim drugim sistemima dotini sistem treba da bude u vezi
Ko ili ta je zainteresovan za rezultate koje sistem proizvodi
-
Definisanje sluajeva upotrebe
Sluaj upotrebe definie funkcionalnost sistema sa stanovita uesnika ablon ponaanja delova sistema
Pitanja za uesnika identifikuju sluajeve upotrebe: Koje funkcije uesnik zahteva od sistema ta uesnik treba da
radi?
Da li uesnik treba da ita, kreira, brie, izmeni ili da unese neke informacije u sistem?
Da li uesnik treba da bude obaveten o dogaajima u sistemu?
Da li svakodnevni rad uesnika moe da se pojednostavi kroz nove funkcije sistema?
-
Definisanje veze izmeu uesnika i sluajeva upotrebe
Veze koje se uspostavljaju u dijagramu sluajeva upotrebe: Asocijacija (Association)
Asocijacija izmeu sluajeva upotrebe tipa
Asocijacija izmeu sluajeva upotrebe tipa
Generalizacija (Generalization-Inheritance)
Zavisnost (Depedency)
-
Asocijacija
Bidirekciona veza linija koja spaja uesnike i sluajeve upotrebe
Asocijacija izmeu samih uesnika ili sluajeva upotrebe, definie povezanost tih elemenata
Menader projekta
Inenjer razvoja
Razvoj sistema
-
Upotreba tipa
Slino ponaanje deli se izmeu slinih sluajeva upotrebe
Veza opisuje odnos izmeu sluajeva upotrebe u kojem jedan sluaj upotrebe koristi usluge drugog
Razvoj softvera
Operacije sistema
Razvoj sistema
Definicija problema
-
Upotreba tipa
Korisnik LoginPristupa Webu
>
-
Upotreba tipa
Proirivanjem jednog suaja upotrebe opie neka sloenija funkcija sistema
Proirivanje se vri sa jednim ili vie drugih postojeih sluajeva upotrebe
Ako sluaj A proiruje sluaj B: i sluaj A i sluaj B mogu da postoje sami
sluaj B moe (a ne mora) da bude proiren sluajem A
A B
-
Upotreba tipa
Praenje finansija
Praenje dnevnog kumulativaPeriodina kontrola
-
Generalizacija
Generalizacija veza izmeu roditelja i deteta vezana za pojam nasleivanja dete nasleuje osobine roditelja
Generalizacija uesnika izvedeni uesnik ima sve osobine i ponaanje osnovnog (apstraktnog) uesnika, ali moe dodati osobine ili redefinisati ponaanje
zaposlen
Rukovodilac Knjigovoa Kontrolor
-
Generalizacija
Generalizacija sluajeva upotrebe izvedeni sluaj upotrebe ima sve osobine i ponaanje apstraktnog sluaja upotrebe, ali moe dodati osobine ili redefinisati ponaanje
Novane transakcije
UplataIsplata
-
Primer 2.
Operator
Korisnik
Banka
sesija
transakcije
uplata isplata transfer izvetaj
-
Primer 3.
slubenik
pacijent
Zakazuje pregled
Otkazuje pregled
Provera pacijentove dokumentacije
Zahteva leenje
Razliliti naini plaanja
Plaanje raunaTake proirenjaNaredni tretmani
kartoteka
doktor
Polisa osiguranja
-
Elektronska prodavnica knjiga
Primer 4.
-
Analiza sistema
Analiza sistema treba da omogui odgovor na pitanje: Koja je prioritetna funkcija koju treba da ostvari sajt namenjen elektronskoj trgovini?
Jedan od naina za realizaciju sajta je uoavanje poslovnih ciljeva, na osnovu kojih se razvija lista funkcionalnosti sistema i zahteva za informacijama.
-
Analiza sistema
Poslovni ciljevi predstavljaju jednostavnu listu mogunosti koje od sajta oekujemo.
Funkcionalnosti sistema predstavljaju listu mogunosti informacionog sistema koje su potrebne da bi se ostvarili poslovni ciljevi.
Informacioni zahtevi za sistem predstavljaju informacione elemente koje sistem mora da produkuje da bi se realizovali poslovni ciljevi.
Tako formirane liste moraju se dostaviti programerima da bi znali ta menader od njih oekuje.
-
Broj posetilaca, poseene stranice, kupljeni proizvodi.
Sistem za praenje i izvetaj o sajtu
Razumeti efikasnost marketinga.
Inventar proizvoda, ID i kontakt izdavaa.
Upravljanje inventaromMogunost lakog auriranja i proirivanja kataloga
Korisnikov ID, knjige, datum porudbine.
Baza podataka o porudbinama
Obezbediti podrku potroau nakon kupovine knjiga.
Ime, adresa, telefon i e-mail svakog potroaa. Online registracija korisnika.
Baza podataka potroaaPrikupiti podatke o potroau.
Naziv, autor, cena, izdava i kratak opis svake knjige.
Baza podataka knjigaNeposredno pretraiti katalog i dodati knjige u potroaku korpu.
Upis svakog korisnika koji pristupi sajtu.
Veza sa potroaemPersonalizovati/kastomizovati svaku knjigu.
Opis knjige, broj zaliha, nivo inventara.
Baza podataka knjigaObezbediti detaljnije informacije o knjigama.
Dinamian tekst i grafiki katalog.Digitalni katalogPrikazati knjige.
Informacioni zahteviFunkcionalnost sistemaPoslovni ciljevi
-
Specifikacija zahteva
Korisnika
Registraciju novih korisnika
Prijavljivanje starih korisnika
Pregled kataloga
Pretragu kataloga
Postavljanje odabranih knjiga u potroaku korpu
Modifikaciju potroake korpe
Pranjenje cele korpe
Administratora
Registraciju novog administratora
Izmenu lozinke registrovanog administratora
Brisanje administratora
Postavljanje novih kategorija u katalog
Uklanjanje kategorija iz kataloga
Postavljanje novih knjiga u katalog
Editovanje atributa knjige u katalogu
Uklanjanje knjiga iz kategorija
Premetanje knjiga iz jedne u drugu kategoriju
Postavljanje novih izdavaa
Modifikaciju atributa postojeih izdavaa
-
Prikaz optih sluajeva upotrebe
Login
Registracija
Pretraga kataloga
Formiranje porudbine
Modifikacija porudbine
Pranjenje cele korpe
Login
Registracija
Modifikacija kategorija
Modifikacija knjiga
Modifikacija administratora
Modifikacija izdavaa
korisnikadministrator
-
Sluaj korienja: Modifikacija podataka
-
Sluaj korienja: Pretraga
-
Sluaj korienja: Logovanje administratora na sistem
Unos lozinke
provera lozinke
-
Dijagrami aktivnosti
-
Razvoj dijagrama aktivnosti
Poslovni proces sluaj upotrebe posmatra se kao sistem koji ima svoja stanja u kojima se obavljaju aktivnosti, dok prelaze iz jednog u drugo stanje koje diktiraju dogaaji
Prikazuje sekvencijalni tok aktivnosti
Sastoji se od: Stanja Akcija Prelaza
Proces Razvoja dijagrama aktivnosti sadri: Definisanje plivakih staza Definisanje stanja dijagrama aktivnosti Definisanje tranzicija
-
Definisanje stanja dijagrama aktivnosti
Stanje dijagrama aktivnosti moe da predstavlja:
Akciju ne moe biti dekomponovana, traje kratko vreme, ne moe se prekidati
Aktivnost ima trajanje, moe se prekidati zbog nekih dogaaja, moe se dekomponovati
Pseudostanje ili
Stanje toka objekta
Oznaka stanja je jedinstvena:
Naziv stanja
-
Definisanje stanja dijagrama aktivnosti
Definisanje pseudostanja stanja prelaza
Poetno stanje
Krajnje stanje
Stanje odluke - grananje
Sinhronizacija
-
Definisanje tranzicija
Tranzicija - prelazak iz jednog u drugo stanje prouzrokuje (okida) neki dogaaj
Dogaaji mogu da budu: Spoljni generiu se van sistema generiu ga uesnici Kraj aktivnosti Vremenski spoljni ali bez uesnika Upravljaki generie rukovodilac posla
Tranzicija prouzrokuje dogaaj koji sadri uslove, argumente i akcije
Dogaaj poruka ako su oigledne ne prikazuju se na dijagramu
Dogaaj 1 (argument) [uslov 1] / Akcija 1
-
Prikaz grananja
A
C
[uslov]
[not uslov]
B
grananje
-
Prikaz grananja
postavi iterator
radi()
promeni iterator
[kraj]
[not kraj]
poetno stanje
zavrno stanje
-
Sinhronizacija
Sinhronizacija zadebljana horizontalna linija
Ravanja (fork) i udruivanja (join) niti obavljaju se u sinhronizacionim takama
Tranzicije koje ulaze u sinhronizaciju su uslov za paralelno obavljanje tranzicija koje iz nje izlaze jedna aktivnost eka na ispunjenje uslova (pristizanje svih dogaaja) za njeno izvrenje
-
Prikaz sinhronizacije
Priprema
Aktivnost 1 Aktivnost 2
Finalizacija
Sinhronizaciona takaRavanje (fork)
Udruivanja (join)
-
Definisanje plivakih staza
Dijagram aktivnosti deli se u odgovarajue logike celine plivake staze definiu odgovornost pojedinih objekata za izvrenje odgovarajuih akcija
Svaka staza navode uesnici, aktivnosti radna lista definisana u okviru opisa radnog mesta prilikom opisa organizacije
Stanja pripadaju stazama, a tranzicije mogu da prelaze iz jedne staze u drugu
-
Definisanje plivakih staza
Ime 1 Ime 2 Ime 3
A
B
C
D
Plivaka staza
-
Primer
Isporuka
korisnik prodaja magacin
Zahtev za isporukom
Prijem porudbine
Plaanje
Isporuka Preuzimanje
robe
Order [placed] Order
[entered]
Order [filled]
Order [delivered]
Priprema isporuke
-
Korisnik Automat Banka
Postavi karticu
Unesi PIN
Podiem iznos
Preuzmi novac
Uzmi karticu
Identifikacija
Provera stanja na raunu
Umanji iznos na raunu
Prikazuje stanje na raunu
Vraa karticu
-
Dijagrami aktivnosti