softver mlm mat18

56
Modelovanje aplikacije korišćenjem UML-a

Upload: sdmitar

Post on 20-Nov-2015

24 views

Category:

Documents


2 download

DESCRIPTION

Modeliranje aplikacija koriscenjem UML

TRANSCRIPT

  • 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