Seminar Ski Rad Avio Kompanija

Embed Size (px)

Citation preview

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    1/48

    1

    SADRAJ

    1. SPECIFIKACIJA ZAHTEVA I SLUAJEVI KORIENJA........................ 2

    1.1OPIS PROBLEMA ...................................................................................................... 21.2.SPECIFIKACIJA ZAHTEVA POMOU MODELA SUAJEVA KORIENJA .............................. 4

    2. ANALIZA............................................................................................ 9

    2.1.PONAANJE SOFTVERSKOG SISTEMA SISTEMSKI DIJAGRAM SEKVENCI......................... 92.2PONASANJE SOFTERSKOG SISTEMADEFINISANJE UGOVORA O SISTEMSKIM OPERACIJAMA................................................................................................................................. 20

    2.3STRUKTURA SOFTVERSKOG SISTEMA KONCEPTUALNI (DOMENSKI) MODEL................. 23

    2.4.STRUKTURA SOFTVERSKOG SISTEMA RELACIONI MODEL ........................................ 243. PROJEKTOVANJE ............................................................................. 25

    3.1.ARHITEKTURA SOFTVERSKOG SISTEMA ................................................................... 253.2.PROJEKTOVANJE APLIKACIONE LOGIKE KONTROLER............................................... 253.3.PROJEKTOVANJE STRUKTURE SOFTVERSKOG SISTEMA (APLIKACIONA LOGIKAPOSLOVNALOGIKADOMENSKE KLASE) ........................................................................................ 273.4.PROJEKTOVANJE STRUKTURE SOFTVERSKOG SISTEMA (APLIKACIONA LOGIKAPOSLOVNALOGIKASISTEMSKE OPERACIJE) ................................................................................. 283.5.PROJEKTOVANJE APLIKACIONE LOGIKEBROKER..................................................... 303.6.PROJEKTOVANJE SKLADITA PODATA...................................................................... 33

    3.7.STRUKTRURA KORISNIKOG INTERFEJSA................................................................. 343.8.PROJEKTOVANJE KORISNIKOG INTERFEJSA ............................................................ 34

    4. IMPLEMENTACIJA ...........................................................................47

    5. TESTIRANJE ....................................................................................48

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    2/48

    2

    1. SPECIFIKACIJA ZAHTEVA I SLUAJEVI KORIENJA

    1.1 Opis problema

    Verbalni opis: Potrebno je realizovati aplikaciju koja e omoguiti voenje poslovajedne avio kompanije, tj. voditi evidenciju o putnicima, rezervacijama i letovima. U skladu satim potrebno je obezbediti unoenje, uvanje, pregled i brisanje podataka o rezervacijama iletovima, takoe treba voditi rauna i o auriranju broja putnika na letovima prilikomunoenja nove ili brisanja stare rezervacije.

    Korisnik: Ova aplikacija je namenjena radniku/ci u avio kompaniji.

    1.2. Specifikacija zahteva pomou modela suajeva korienja

    Postoje sledei sluajevi korienja:

    1. Ubacivanje novog putnika(rezervacija karte)2. Pretragapodatakao putnikupremaimenuiprezimenu3. Brisanje putnika4. Izmenapodatakao putniku5. Pretraga letovapremadatumu6. Pretraga letovapremadestinaciji7. Ubacivanje novog leta8. Brisanje letova9. Izmenapodatakao letu

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    3/48

    3

    Navedene sluajeve korienja koristi slubenik (aktor), to se moe predstaviti prekosledeih dijagrama SK:

    Dijagram: Model sluaja korienja

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    4/48

    4

    SK1:Sluaj korienja Ubacivanje novog putnika

    Naziv SK: ubacivanje novog putnika

    Aktori SK: slubenik u avio komplaniji

    Uesnici SK: slubenik i program (u daljem tekstu sistem)

    Preduslov: Sistem je ukljuen. Otvorena je forma Rezervacija karata.

    Osnovni scenario SK:1. Slubenik bira vrednost po kojoj pretrauje letove.(APUSO)2. Slubenik poziva sistem da pronae let po zadatim vrednostima.(APSO)3. Sistem trai let po zadatom kriterijumu.(SO)4. Sistem prikazuje letove za zadate kriterijume.(IA)5. Slubenik bira let.(APUSO)6. Slubenik bira vrstu karte.(APUSO)7. Slubenik unosi podatke o putniku.(APUSO)8. Slubenik proverava da li je korektno uneo podatke o putniku.(ANSO)9. Slubenik poziva sistem da zapamti rezervaciju.(APSO)10.Sistem pamti podatke o rezervaciji i aurira broj putnika na letu.(SO)11.Sistem prikazuje prikazuje poruku o uspenosti rezervacije kao i broj sedita putnika.(IA)

    Alternativna scenarija:3.1 Ukoliko sistem ne moe da nae let za zadati kriterijum on prikazuje poruku:Nema

    letova na zadatoj destinaciji!.(IA)4.1 Ukoliko je slubenik izabrao let na kome su popunjena sva mesta sistem prikazuje

    poruku:Sva mesta su popunjena! Izaberite drugi let.(IA)10.1 Ukoliko sistem ne moe da zapamti podatke o rezervaciji izbacuje odgovarajuu poruku

    i prekida izvrenje scenarija.(IA)

    SK2:Sluajkorienja Pretraga podatakao putniku premaimenuiprezimenu

    Naziv SK: Pretraga podataka o putniku prema imenu i prezimenu

    Aktori SK: Slubenik

    Uesnici SK: slubenik i sistem

    Preduslov: Sistem je ukljuen. Otvorena je forma Putnici.

    Osnovni scenario SK:1. Slubenik unosi ime i prezime putnika kojeg eli da pronae (APUSO)2. Slubenik poziva sistem da pronae putnike sa zadatim imenom (APSO)3. Sistem vraa listu putnika sa zadatim imenom (SO)4. Sistem prikazuje sve pronaene putnike (IA)5. Slubenik prikazuje eljenog putnika iz liste (ANSO).

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    5/48

    5

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan putnik sa zadatim imenom i prezimenom, sistem

    prikazuje odgovarajuu poruku (IA) i prekida izvrenje scenarija.

    SK3:Sluajkorienja Brisanje putnika

    Naziv SK: Brisanje putnika

    Aktori SK: slubenik

    Uesnici SK: slubenik i sistem

    Preduslov: Sistem je ukljuen. Otvorena je forma Putnici.

    Osnovni scenario SK:1. Slubenik unosi ime i prezime putnika kojeg eli da pronae (APUSO)2. Radnik poziva sistem da pronae putnike sa zadatim imenom i prezimenom (APSO)3. Sistem vraa listu putnika sa zadatim imenom i prezimenom(SO)4. Sistem prikazuje sve pronaene putnike (IA)5. Slubenik prikazuje eljenog putnika iz liste (ANSO)6. Slubenik poziva sistem da izbrie odabranog putnika (APSO)7. Sistem brie putnika i aurira broj putnika na letu (SO)8. Sistem prikazuje poruku da je putnik izbrisan (IA)

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan putnik sa zadatim imenom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija.8.1 Ako sistem ne moe da izbrie putnika, sistem prikazuje odgovarajuu poruku (IA) i

    prekida izvrenje scenarija.

    SK4:Sluajkorienja Izmena podatakao putniku

    Naziv SK: Izmena podataka o putniku

    Aktori SK: slubenik

    Uesnici SK: slubenik i sistem

    Preduslov: Sistem je ukljuen. Otvorena je forma Putnici.

    Osnovni scenario SK:

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    6/48

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    7/48

    7

    Aktori SK: Slubenik

    Uesnici SK: slubenik i sistem

    Preduslov: Sistem je ukljuen. Otvorena je forma Letovi.

    Osnovni scenario SK:1. Slubenik unosi destinaciju leta kojeg eli da pronae (APUSO)2.Slubenik poziva sistem da pronae letove sa zadatom destinacijom (APSO)3.Sistem vraa listu letova sa zadatom destinacijom (SO)4.Sistem prikazuje sve pronaene letove (IA)5.Slubenik prikazuje eljeni let iz liste (ANSO).

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan let sa zadatom destinacijom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija.

    SK7:Sluajkorienja Ubacivanje novogleta

    Naziv SK: ubacivanje novog leta

    Aktori SK: slubenik

    Uesnici SK: slubenik i sistem

    Preduslov: Sistem je ukljuen. Otvorena je forma Letovi.

    Osnovni scenario SK:1. Slubenik unosi podatke o novom letu (APUSO)2. Slubenik poziva sistem da zapamti novi let (APSO)3. Sistem pamti novu let (SO)4. Sistem pokazuje radniku poruku o uspenom pamenju leta (IA)

    Alternativna scenarija4.1 Ukoliko sistem ne moe da zapamti novu let, prikazuje se odgovarajua poruka (IA) i

    prekida se izvrenje scenarija.

    SK8:Sluajkorienja Brisanje letova

    Naziv SK: Brisanje putnika

    Aktori SK: slubenik

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    8/48

    8

    Uesnici SK: slubenik i sistem

    Preduslov: Sistem je ukljuen. Otvorena je forma Letovi.

    Osnovni scenario SK:1. Slubenik unosi destinaciju leta koji eli da pronae (APUSO)2.Radnik poziva sistem da pronae let sa zadatom destinacijom (APSO)3.Sistem vraa listu letova sa zadatom destinacijom(SO)4.Sistem prikazuje sve pronaene letove (IA)5.Slubenik prikazuje eljeni let iz liste (ANSO).6.Slubenik poziva sistem da izbrie odabrani let(APSO)7.Sistem brie let i sve putnike sa tog leta (SO)8.Sistem prikazuje poruku da je let izbrisan kao i svi putnici sa tog leta (IA).

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan let sa zadatom destinacijom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija.

    8.1 Ako sistem ne moe da izbrie let, sistem prikazuje odgovarajuu poruku (IA) i prekidaizvrenje scenarija.8.2 Ako sistem ne moze da izbrise putnike, sistem prikazuje odgovarajuu poruku (IA) i

    prekida se izvrenje scenarija.

    SK9:Sluajkorienja Izmena podatakaoletu

    Naziv SK: Izmena podataka o putniku

    Aktori SK: slubenik

    Uesnici SK: slubenik i sistem

    Preduslov: Sistem je ukljuen. Otvorena je forma Letovi.

    Osnovni scenario SK:1. Slubenik unosi destinaciju leta kojeg eli da pronae (APUSO)2.Slubenik poziva sistem da pronae letove sa zadatom destinacijom(APSO)3.Sistem vraa listu letova sa zadatom destinacijom(SO)4.Sistem prikazuje sve pronaene letove (IA)5.Slubenik prikazuje eljeni let iz liste (ANSO)6.Slubenik unosi nove podatke o letu (APUSO)7.Slubenik poziva sistem da zapamti nainjene izmene (APSO)8.Sistem pamti izmene leta (SO)9.Sistem prikazuje poruku da je let uspeno izmenjen (IA).

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan let sa zadatom destinacijom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    9/48

    9

    9.1 Ako sistem ne moe da zapamti promene nad podacima, sistem prikazuje odgovarajuuporuku (IA) i prekida izvrenje scenarija.

    2. Analiza

    Faza analize opisuje logiku strukturu i ponaanje softverskog sistema, tj. poslovnu logikusoftverskog sistema.Ponaanje opisujemo pomou:

    o sistemskih dijagrama sekvenci, koji se prave za svaki prethodno utvrdjen SK;o ugovora o sistemskim operacijama, koje se dobijaju na osnovu sistemskih dijagrama

    sekvenci.Strukturu opisujemo pomou:

    o konceptualnog modela io relacionog modela.

    2.1.Ponaanje softverskog sistema sistemski dijagram sekvenciZa svaki SK, odnosno za svaki scenario SK, prave se sistemski dijagrami i to samo za APSO(Aktor Poziva sistem da izvri Sistemsku Operaciju) i IA (Izlazni argument).

    DS1: Dijagrami sekvenci sluaja korienja - Ubacivanje novog putnika

    Osnovni scenario SK:1. Slubenik poziva sistem da pronae let po zadatim vrednostima.(APSO)2. Sistem prikazije letove za zadate kriterijume(IA)3. Slubenik poziva sistem da zapamti rezervaciju.(APSO)4. Sistem prikazuje prikazuje poruku o uspenosti rezervacije kao i broj sedita putnika.(IA)

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    10/48

    10

    Alternativna scenarija:2.1 Ako u sistemu ne postoji ni jedan let sa zadatim kriterijumima, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija.

    2.2 Ukoliko je slubenik izabrao let na kome su popunjena sva mesta sistem prikazujeporuku:Sva mesta su popunjena! Izaberite drugi let.(IA)

    4.1Ukoliko sistem ne moe da zapamti rezervaciju, prikazuje se odgovrajua poruka (IA) iprekida izvrenje scenarija.

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    11/48

    11

    Sa navedenih sekvencnih dijagrama uoavaju se 2 sistemske operacije koje treba projektovati:1. VratiLetove()2. VratiDestinacije()3. UbaciRezervaciju()4. AzurirajBrojPutnika()

    DS2: Dijagrami sekvenci sluaja korienja Pretraga podataka o putniku

    Osnovni scenario SK:1. Slubenik poziva sistem da pronae putnike sa zadatim imenom i prezimenom (APSO)2. Sistem prikazuje sve pronaene putnike (IA)

    Alternativni scenario:

    2.1 Ako u sistemu ne postoji ni jedan putnik sa zadatim imenom i prezimenom, sistem

    prikazuje odgovarajuu poruku (IA) i prekida izvrenje scenarija.

    Uoene sisitemske operacije:

    1. VratiPutnika()

    DS3: Dijagrami sekvenci sluaja korienja: Brisanje putnika

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    12/48

    12

    1. Radnik poziva sistem da pronae putnike sa zadatim imenom i prezimenom (APSO)2. Sistem prikazuje sve pronaene putnike (IA)3. Slubenik poziva sistem da izbrie odabranog putnika i da azurira broj putnika(APSO)4. Sistem prikazuje poruku da je putnik izbrisan (IA)

    Alternativna scenarija:

    2.1 Ako u sistemu ne postoji ni jedan putnik sa zadatim imenom i prezimenom, sistemprikazuje odgovarajuu poruku (IA) i prekida izvrenje scenarija.

    4.1 Ako sistem ne moe da izbrie putnika, sistem prikazuje odgovarajuu poruku (IA) iprekida izvrenje scenarija.

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    13/48

    13

    Uoene sisitemske operacije:

    1. ObrisiRezervaciju()DS4: Dijagrami sekvenci sluaja korienja: Izmena podataka o putniku

    1. Slubenik poziva sistem da pronae putnike sa zadatim imenom i prezimenom(APSO)2. Sistem prikazuje sve pronaene putnike (IA)3. Slubenik poziva sistem da zapamti nainjene izmene (APSO)4. Sistem prikazuje poruku da je putnik uspeno izmenjen (IA).

    Alternativna scenarija:2.1 Ako u sistemu ne postoji ni jedan putnik sa zadatim imenom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    14/48

    14

    4.1 Ako sistem ne moe da zapamti promene nad podacima, sistem prikazujeodgovarajuu poruku (IA) i prekida izvrenje scenarija.

    Uoene sisitemske operacije:

    1. AzurirajRezervaciju()DS5: Dijagrami sekvenci sluaja korienja: Pretraga letova prema datumu

    1. Slubenik poziva sistem da pronae letove sa zadatim datumom (APSO)2. Sistem prikazuje sve pronaene letove (IA)

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    15/48

    15

    Alternativna scenarija:2.1 Ako u sistemu ne postoji ni jedan let sa zadatim datumom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija.

    Uoene sisitemske operacije:

    1. VratiLetPoDatumu()

    DS6: Dijagrami sekvenci sluaja korienja: Pretraga letova prema destinaciji

    1. Slubenik poziva sistem da pronae letove sa zadatom destinacijom (APSO)2. Sistem prikazuje sve pronaene letove (IA)

    Alternativna scenarija:2.1 Ako u sistemu ne postoji ni jedan let sa zadatom destinacijom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija.

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    16/48

    16

    Uoene sistemske operacije:1. VratiLet()

    DS7: Dijagrami sekvenci sluaja korienja: Ubacivanje novog leta

    1. Slubenik poziva sistem da zapamti novi let (APSO)2. Sistem pokazuje radniku poruku o uspenom pamenju leta (IA)

    Alternativna scenarija2.1 Ukoliko sistem ne moe da zapamti novu let, prikazuje se odgovarajua poruka (IA) i

    prekida se izvrenje scenarija.

    Uoene sistemske operacije:

    1. SacuvajLet()

    DS8: Dijagrami sekvenci sluaja korienja: Brisanje letova

    1. Radnik poziva sistem da pronae let sa zadatom destinacijom (APSO)2. Sistem prikazuje sve pronaene letove (IA)3. Slubenik poziva sistem da izbrie odabrani let(APSO)4. Sistem prikazuje poruku da je let izbrisan kao i svi putnici na tom letu (IA).

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    17/48

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    18/48

    18

    4.2 Ako sistem ne moe da izbrie putnike, sistem prikazuje odgovarajuu poruku (IA) iprekida izvrenje scenarija.

    Uoene sistemske operacije:1. ObrisiLet()2. ObrisiRezervacije()

    DS9: Dijagrami sekvenci sluaja korienja: Izmena podataka o letu

    1. Slubenik poziva sistem da pronae letove sa zadatom destinacijom(APSO)2. Sistem prikazuje sve pronaene letove (IA)3. Slubenik poziva sistem da zapamti nainjene izmene (APSO)4. Sistem prikazuje poruku da je let uspeno izmenjen (IA).

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    19/48

    19

    Alternativna scenarija:2.1 Ako u sistemu ne postoji ni jedan let sa zadatom destinacijom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija

    4.1 Ako sistem ne moe da zapamti promene nad podacima, sistem prikazujeodgovarajuu poruku (IA) i prekida izvrenje scenarija.

    Uoene sistemske operacije:1. AzurirajLet()

    2.2 Ponaanje softverskog sistema - Definisanje ugovora o sistemskimoperacijama

    UGOVOR UG1: UbaciRezervacijuOperacija: UbaciRezervaciju(Rezervacija r)

    Veza sa SK: DS1Preduslovi:

    y Sistem je ukljueny Korisniku je prikazana forma za rad sa rezervacijom karata

    Postuslovi: Snimljena je nova rezervacija u bazi podataka.

    UGOVOR UG2: VratiLetoveOperacija: VratiLetove(Polazak p, Odrediste o)

    Veza sa SK: DS1Preduslovi:

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    20/48

    20

    y Sistem je ukljueny Korisniku je prikazana forma za rad sa rezervacijom karata

    Postuslovi: Vraeni su svi letovi za zadati kriterijum

    UGOVOR UG3: VratiDestinacijeOperacija: VratiDestinacije()

    Veza sa SK: DS1Preduslovi:

    y Sistem je ukljueny Korisniku je prikazana forma za rad sarezervacijom karata

    Postuslovi: Vraeni su svi letovi

    UGOVOR UG4: AurirajBrojPutnikaOperacija: AurirajBrojPutnika(Let l)

    Veza sa SK: DS1Preduslovi:

    y Sistem je ukljueny U bazi postoji letPostuslovi: Izmenjeni su podaci o broju putnika u bazi

    UGOVOR UG5: VratiPutnikaOperacija: VratiPutnika(Rezervacija r)

    Veza sa SK: DS2,DS3,DS4Preduslovi:

    y Sistem je ukljueny Korisniku je prikazana forma za rad sa putnicimay U bazi postoji putnik za zadati kriterijum

    Postuslovi: Snimljena je nova usluga u bazu podataka.

    UGOVOR UG6: ObrisiRezervacijuOperacija: ObrisiRezervaciju(Rezervacija r)

    Veza sa SK: DS3Preduslovi:

    y Sistem je ukljueny Korisniku je prikazana forma za rad sa putnicimay U bazi postoji usluga koja se brie.

    Postuslovi: Rezervacija je izbrisana iz baze podataka.

    UGOVOR UG7: AzurirajRezervacijuOperacija: AzurirajRezervaciju(Rezervacija r)

    Veza sa SK: DS4Preduslovi:y Sistem je ukljueny Korisniku je prikazana forma za rad sa putnicimay U bazi postoji usluga koja se menja.

    Postuslovi: Izmenjeni su podaci o rezervaciji u bazi podataka.

    UGOVOR UG8: VratiLetPoDatumu

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    21/48

    21

    Operacija: VratiLetPoDatumu(Polazak p)Veza sa SK: DS5Preduslovi:

    y Sistem je ukljueny Korisniku je prikazana forma za rad sa letovimay U bazi postoji usluga koja se brie.

    Postuslovi: Vraeni su letovi za zadati kriterijum

    UGOVOR UG9: VratiLetOperacija: VratiLet(Polazak p,Odrediste o)

    Veza sa SK: DS6Preduslovi:

    y Sistem je ukljueny Korisniku je prikazana forma za rad sa letovima

    Postuslovi: Vraeni su svi letovi za zadati kriterijum

    UGOVOR UG10: SacuvajLet

    Operacija: SacuvajLet(Let l)Veza sa SK: DS7Preduslovi:

    y Sistem je ukljueny Korisniku je prikazana forma za rad sa letovima

    Postuslovi: Sauvan je let u bazi podataka

    UGOVOR UG11: ObrisiLetOperacija: ObrisiLet(Let l)

    Veza sa SK: DS8Preduslovi:

    y Sistem je ukljueny Korisniku je prikazana forma za rad sa letovima

    Postuslovi: Let je izbrisan iz baze podataka

    UGOVOR UG12: ObrisiRezervacijeOperacija: ObrisiRezervacije(Rezervacija r)

    Veza sa SK: DS8Preduslovi:

    y Sistem je ukljueny Korisniku je prikazana forma za rad sa letovima

    Postuslovi: Rezervacije su izbrisane iz baze podataka

    UGOVOR UG13: AzurirajLetOperacija: AzurirajLet(Let l)Veza sa SK: DS9Preduslovi:

    y Sistem je ukljueny Korisniku je prikazana forma za rad sa letovimay U bazi podataka postoji let

    Postuslovi: Izmenjeni su podaci o letu u bazi podataka

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    22/48

    22

    2.3 Struktura softverskog sistema konceptualni (domenski) model

    Kao rezultat analize scenarija SK i pravljenja konceptualnog modela dobija se logika struktura iponaanje softverskog sistema.

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    23/48

    23

    2.4 Struktura softverskog sistema relacioni model

    TRezervacija(ID, ImePrezime, Grad, Drzava, ZipKod, BrojTelefona, E-mail, Polazak,Odrediste, DatumPolaska, DatumPovratka, DatumRezervacije, CenaKarte, BrojSedista, LetID)

    TLet(LetID, PolazakID, OdredisteID, DatumPolaska, DatumPovratka, BrojPutnika, Ogranicenje,CenaUJednomPravcu, CenaPovratne)

    Polazak(ID, Naziv)

    Odrediste(ID, Naziv)

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    24/48

    24

    3. Projektovanje

    3.1. Arhitektura softverskog sistema

    Arhitektura softverskog sistema izvedena je iz tronivoske arhitekture, sastavljene od sledeihnivoa:

    y korisniki interfejs;y aplikaciona logika;y skladite podataka.Nivo korisnikog interfejsa je na strani klijenta, a aplikaciona logika i skladite podataka na

    strani servera. U fazama prikupljanja zahteva i analize dali smo specifikaciju strukture iponaanja softverskog sistema, odnosno specifikaciju poslovne logike softverskog sistema.

    Tronivoska arhitektura desktop aplikacije

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    25/48

    25

    Arhitektuar sofrverskog sistema poslovna logika

    3.2. Projektovanje aplikacione logike kontroler

    Preko klase KontrolerKI prihvataju se zahtevi od klijenta za izvrenje sistemskih operacijakoji se zatim prosleuju do odgovarajuih klasa koje su odgovorne za izvrenje SO. Za svaku SOprave se softverske klase koje treba da realizuju SO (one opisuju ponaanje sistema pa senazivaju i softverske klase ponaanja).

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    26/48

    26

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    27/48

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    28/48

    28

    3.4. Projektovanje strukture softverskog sistema (aplikaciona logika Poslovna logika Sistemske operacije)

    Za svaku SO treba napraviti konceptualna reenja koja su direktno povezana sa logikomproblema.Za svaki od ugovora projektuje se konceptualno reenje.Nakon projektovanja svake od SO prelazi se na projektovanje klase koja je odgovorna zakonekciju sa bazom i za kontrolu izvrenja transakcije. Metoda koja obezbenuje navedenezahteve se zove izvrsiSO(OpstiDomenskiObjekat odo)

    publicabstractclassOpstaSo{

    List lista;

    publicList Lista

    {get { return lista; }set { lista = value; }

    }

    publicbool izvrsiSo(OpstiDomenskiObjekat odo){

    bool rezultat;

    Broker.dajSesiju().otvoriKonekciju();

    Broker.dajSesiju().zapocniTransakciju();rezultat = izvrsi(odo);if (rezultat)

    {

    Broker.dajSesiju().potvrdaTransakcije();}

    else{

    Broker.dajSesiju().ponistiTransakciju();}Broker.dajSesiju().zatvoriKonekciju();

    return rezultat;}

    protectedabstractbool izvrsi(OpstiDomenskiObjekat odo);}

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    29/48

    29

    3.5. Projektovanje aplikacione logike Broker

    Klasa Broker se projektuje kako bi se obezbedio perzistentni servis objektima domenskihklasa koji se uvaju u bazi podataka. Tako klasa Broker predstavlja perzistentni okvir kojiposreduje u svim operacijama nad bazom podataka i realizuje sledee metode:

    1. Azuriraj(Domeni.OpstiDomenskiObjekat)

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    30/48

    30

    2. azurirajLet(Domeni.OpstiDomenskiObjekat3. obrisi(Domeni.OpstiDomenskiObjekat)4. obrisiRezervacije(Domeni.OpstiDomenskiObjekat)5. otvoriKonekciju()6. ponistiTransakciju()7. potvrdaTransakcije()8. ubaci(Domeni.OpstiDomenskiObjekat)9. vratiDestinacije(Domeni.OpstiDomenskiObjekat)10.vratiLet(Domeni.OpstiDomenskiObjekat)11.vratiLetPoDatumu(Domeni.OpstiDomenskiObjekat)12.vratiObjekte(Domeni.OpstiDomenskiObjekat)13.vratiSveObjekte(Domeni.OpstiDomenskiObjekat)14.zapocniTransakciju()15.zatvoriKonekciju()

    Veina metoda Brokera su projektovane kao generike, to znai da je mogu da prihvati razliitedomenske objekte preko parametara kako ne bi u Broker-u implementirali pojedinane metodeza svaku domensku klasu.

    U procesu pravljenja Broker klase dobili smo metode interfejsa OpstiDomenskiObjekat:

    publicinterfaceOpstiDomenskiObjekat{

    string vratiImeTabele();

    string vratiKljucIUslov();

    string VrednostZaInsert();

    string VratiImeKolone();

    string vratiImeKolone2();

    string vratiKlucIUslov2();

    string vratiKljucIUslov3();

    string vratiKolone();

    string vratiUslov();

    List vratiListu(OleDbDataReader citac);}

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    31/48

    31

    Svaka klasa iz domena implementira dati interfejs, i sve njegove metode. Na taj nain jeomogueno da metode Broker-a budu generike.

    Broker klasa se povezuje sa klasom OpstiDomenskiObjekat

    Arhitektura softverskog sistema nakon projektovanja Broker klase

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    32/48

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    33/48

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    34/48

    34

    Osnovni scenario SK:1. Slubenik bira vrednost po kojoj pretrauje letove.(APUSO)

    2. Slubenik poziva sistem da pronae let po zadatim vrednostima.(APSO)3. Sistem trai let po zadatom kriterijumu.(SO)4. Sistem prikazuje letove za zadate kriterijume.(IA)

    5. Slubenik bira let.(APUSO)6. Slubenik bira vrstu karte.(APUSO)7. Slubenik unosi podatke o putniku.(APUSO)

    8. Slubenik proverava da li je korektno uneo podatke o putniku.(ANSO)9. Slubenik poziva sistem da zapamti rezervaciju.(APSO)10.Sistem pamti podatke o rezervaciji i aurira broj putnika na letu.(SO)11.Sistem prikazuje prikazuje poruku o uspenosti rezervacije kao i broj sedita putnika.(IA)

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    35/48

    35

    Alternativna scenarija:3.1 Ukoliko sistem ne moe da nae let za zadati kriterijum on prikazuje poruku:Nema

    letova na zadatoj destinaciji!.(IA)

    4.1 Ukoliko je slubenik izabrao let na kome su popunjena sva mesta sistem prikazujeporuku:Sva mesta su popunjena! Izaberite drugi let.(IA)

    10.1 Ukoliko sistem ne moe da zapamti podatke o rezervaciji izbacuje odgovarajuu porukui prekida izvrenje scenarija.(IA)

    SK2:Sluajkorienja Pretraga podatakao putniku premaimenuiprezimenu

    Preduslov: Sistem je ukljuen. Otvorena je forma Putnici.

    Osnovni scenario SK:

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    36/48

    36

    1. Slubenik unosi ime i prezime putnika kojeg eli da pronae (APUSO)

    2. Slubenik poziva sistem da pronae putnike sa zadatim imenom (APSO)3. Sistem vraa listu putnika sa zadatim imenom (SO)4. Sistem prikazuje sve pronaene putnike (IA)

    5. Slubenik prikazuje eljenog putnika iz liste (ANSO).

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    37/48

    37

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan putnik sa zadatim imenom i prezimenom, sistem

    prikazuje odgovarajuu poruku (IA) i prekida izvrenje scenarija.

    SK3:Sluajkorienja Brisanje putnika

    Preduslov: Sistem je ukljuen. Otvorena je forma Putnici.

    Osnovni scenario SK:1. Slubenik unosi ime i prezime putnika kojeg eli da pronae (APUSO)2. Radnik poziva sistem da pronae putnike sa zadatim imenom i prezimenom (APSO)3. Sistem vraa listu putnika sa zadatim imenom i prezimenom(SO)4. Sistem prikazuje sve pronaene putnike (IA)

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    38/48

    38

    5. Slubenik prikazuje eljenog putnika iz liste (ANSO)6. Slubenik poziva sistem da izbrie odabranog putnika (APSO)7. Sistem brie putnika i aurira broj putnika na letu (SO)8. Sistem prikazuje poruku da je putnik izbrisan (IA)

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan putnik sa zadatim imenom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija.

    8.1 Ako sistem ne moe da izbrie putnika, sistem prikazuje odgovarajuu poruku (IA) iprekida izvrenje scenarija.

    SK4:Sluajkorienja Izmena podatakao putniku

    Naziv SK: Izmena podataka o putniku

    Aktori SK: slubenik

    Uesnici SK: slubenik i sistem

    Preduslov: Sistem je ukljuen. Otvorena je forma Putnici.

    Osnovni scenario SK:1. Slubenik unosi ime i prezime putnika kojeg eli da pronae (APUSO)2. Slubenik poziva sistem da pronae putnike sa zadatim imenom i prezimenom(APSO)3. Sistem vraa listu putnika sa zadatim imenom i prezimenom (SO)4. Sistem prikazuje sve pronaene putnike (IA)5. Slubenik prikazuje eljenog putnika iz liste (ANSO)

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    39/48

    39

    6. Slubenik unosi nove podatke o putniku (APUSO)7. Slubenik poziva sistem da zapamti nainjene izmene (APSO)8. Sistem pamti izmene putnika (SO)9. Sistem prikazuje poruku da je putnik uspeno izmenjen (IA).

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan putnik sa zadatim imenom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija9.1 Ako sistem ne moe da zapamti promene nad podacima, sistem prikazuje odgovarajuu

    poruku (IA) i prekida izvrenje scenarija.

    SK5:Sluajkorienja Pretragaletova premadatumu

    Preduslov: Sistem je ukljuen. Otvorena je forma Letovi.

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    40/48

    40

    Osnovni scenario SK:1. Slubenik bira datum leta kojeg eli da pronae (APUSO)

    2. Slubenik poziva sistem da pronae letove sa zadatim datumom (APSO)3. Sistem vraa listu letova sa zadatim datumom (SO)4. Sistem prikazuje sve pronaene letove (IA)

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    41/48

    41

    5. Slubenik prikazuje eljeni let iz liste (ANSO).

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan let sa zadatim datumom, sistem prikazuje odgovarajuuporuku (IA) i prekida izvrenje scenarija.

    SK6:Sluajkorienja Pretragaletova premadestinaciji

    Preduslov: Sistem je ukljuen. Otvorena je forma Letovi.Osnovni scenario SK:

    1. Slubenik unosi destinaciju leta kojeg eli da pronae (APUSO)

    2. Slubenik poziva sistem da pronae letove sa zadatom destinacijom (APSO)3. Sistem vraa listu letova sa zadatom destinacijom (SO)4. Sistem prikazuje sve pronaene letove (IA)

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    42/48

    42

    5. Slubenik prikazuje eljeni let iz liste (ANSO).

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan let sa zadatom destinacijom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija.

    SK7:Sluajkorienja Ubacivanje novogleta

    Preduslov: Sistem je ukljuen. Otvorena je forma Letovi.

    Osnovni scenario SK:1. Slubenik unosi podatke o novom letu (APUSO)

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    43/48

    43

    2. Slubenik poziva sistem da zapamti novi let (APSO)3. Sistem pamti novu let (SO)4. Sistem pokazuje radniku poruku o uspenom pamenju leta (IA)

    Alternativna scenarija4.1Ukoliko sistem ne moe da zapamti novu let, prikazuje se odgovarajua poruka (IA) i

    prekida se izvrenje scenarija.

    SK8:Sluajkorienja Brisanje letova

    Preduslov: Sistem je ukljuen. Otvorena je forma Letovi.

    Osnovni scenario SK:1. Slubenik unosi destinaciju leta koji eli da pronae (APUSO)2. Radnik poziva sistem da pronae let sa zadatom destinacijom (APSO)3. Sistem vraa listu letova sa zadatom destinacijom(SO)4. Sistem prikazuje sve pronaene letove (IA)5. Slubenik prikazuje eljeni let iz liste (ANSO).

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    44/48

    44

    6. Slubenik poziva sistem da izbrie odabrani let(APSO)7. Sistem brie let i sve putnike sa tog leta (SO)8. Sistem prikazuje poruku da je let izbrisan kao i svi putnici sa tog leta (IA).

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan let sa zadatom destinacijom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija.8.1 Ako sistem ne moe da izbrie let, sistem prikazuje odgovarajuu poruku (IA) i prekida

    izvrenje scenarija.

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    45/48

    45

    8.2 Ako sistem ne moze da izbrise putnike, sistem prikazuje odgovarajuu poruku (IA) iprekida se izvrenje scenarija.

    SK9:Sluajkorienja Izmena podatakaoletu

    Preduslov: Sistem je ukljuen. Otvorena je forma Letovi.

    Osnovni scenario SK:1. Slubenik unosi destinaciju leta kojeg eli da pronae (APUSO)2. Slubenik poziva sistem da pronae letove sa zadatom destinacijom(APSO)3. Sistem vraa listu letova sa zadatom destinacijom(SO)4. Sistem prikazuje sve pronaene letove (IA)5. Slubenik prikazuje eljeni let iz liste (ANSO)6. Slubenik unosi nove podatke o letu (APUSO)

    7. Slubenik poziva sistem da zapamti nainjene izmene (APSO)8. Sistem pamti izmene leta (SO)9. Sistem prikazuje poruku da je let uspeno izmenjen (IA).

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    46/48

    46

    Alternativna scenarija:4.1 Ako u sistemu ne postoji ni jedan let sa zadatom destinacijom, sistem prikazuje

    odgovarajuu poruku (IA) i prekida izvrenje scenarija9.1 Ako sistem ne moe da zapamti promene nad podacima, sistem prikazuje odgovarajuu

    poruku (IA) i prekida izvrenje scenarija.

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    47/48

    47

    4. Implementacija

    Softverski sistem, rezultat ovog rada razvijen je u programskom jeziku C#, a izvorni kod jepriloen na fleu. Sistem je projektovan kao klijent-server. Kao razvojno okruenje korien jeMicrosoft Visual Studio 2010. Kao sistem za upravljanjem bazom podataka korien je MS

    Access, a za izradu UML dijagrama korien je sajthttp://www.gliffy.com . Server i klijent suimplementirani kao desktop aplikacije. Na osnovu arhitekture softverskog sistema dobijene susledee softverske klase:

    o Brokery Broker.cs

    o Domeniy Let.csy Odredistey OpstiDomenskiObjekat.csy Polazak.csy Rezervacija.csy TransferKlasa.cs

    o Formey Form1.csy Komunikacija.csy KontrolerKI.cs

    o Servery ObradaKlijenta.csy Server.cs

    o SistemskeOperacijey AzurirajBrojPutnika.csy AzurirajLet.csy AzurirajRezervacije.csy ObrisiLet.csy ObrisiRezervacije.csy ObrisiRezervaciju.csy OpstaSo.csy SacuvajLet.csy UbaciRezervaciju.csy VratiDestinacije.csy VratiLet.csy VratiLetove.csy VratiLetPoDatumu.csy VratiPutnika.csy VratiRezervacije.csy VratiSveLetove

  • 8/6/2019 Seminar Ski Rad Avio Kompanija

    48/48

    5. Testiranje

    U ovoj fazi testirani su slucajevi koricenja. Prilikom testiranja svakog slucajakoricenja pored unetih pravilnih podataka unoeni su i nepravilni podaci tj. podaci

    pogrenog tipa, nepostojeci podaci, da bi se utvrdilo kakav ce rezultat izvrenja biti.Na osnovu izvrenih testiranja otklonjeni su uoceni nedostaci.