Projektovanje Informacionih Tehnologija-Turisticka Agencija

  • View
    63

  • Download
    13

Embed Size (px)

DESCRIPTION

Sadrzu detalje o projektovanju IS jedne turisticke agencije

Text of Projektovanje Informacionih Tehnologija-Turisticka Agencija

Zadatak iz baza podataka TA

TURISTICKA AGENCIJA

1. Opis problema

Napraviti bazu podataka za jednu turistiku agenciju sa sledeim opisom: Agencija organizuje razne tipove aranmana letovanja, zimovanja, ekskurzije, poslovne posete i td. Potrebno je za svaki aranman voditi podatke o jednoj krajnjoj destinaciji (mestu) kao i osvim prolaznim mestima koja se poseuju. Za svako prolazno mesto u aranmanu treba dati sadraj posete sa satnicom. Svaki aranman se realizuje u veem broju termina, gde se vodievidencija o datumu polaska, datumu povratka, ceni aranmana. Za svaku realizaciju aranmana angauje se jedno ili vie vozila istog ili razliitog tip.

2. MOV

3. Relacioni modelAranzman(AranzmanID, NazivAranzmana)

Termin(TerminID,AranzmanID,MestaID,DatumPolaska, DatumPovratka, Cena)

Vozilo(VoziloID, TipVozilaID, NazivVozila, RegistarskiBroj, Ispravnost)

TipVozila(TipVozilaID,NazivTipaVozila, Sifra)

Iznajmljuje(VoziloID, TerminID)

Mesta(MestaID,NazivMesta)

ProlaznaMesta(ProlaznaMestaID, MestaID, Sadrzaj, Satnica)

4. Dijagram aktivnostiDijagram rezervisanja vozila

Dijagram dobijanja licence

Dijagram rezervisanja aranzmana

Dijagram rezervisanja termina

5. Dijagram promene stanjaDijagram promene stanja kreiranja aranzmana

Dijagram promene stanja popunjavanja zahteva za rezervaciju vozila

6. Dijagram slucajeva koriscenja

Ime Kreiranje aranmana

Uesnici Direktor agencije

Preduslovi Sistem je ukljuen. Sistem prikazuje poetnu formu.

SvrhaSlui za kreiranje aranmana.

Uspeni scenario 1. Direktor agencije unosi u sistem sifru novog aranzmana.

2.Direktor agencije unosi u sistem naziv destinacije.

3.Direktor agencije unosi u sistem Broj dana aranzmana.

4.Direktor agencije unosi u sistem Termin aranzmana.

5. Direktor agencije unosi u sistem cenu tog aranzmana.

6. Direktor klikne na dugme Unesi i poziva sistem da zapamti novi aranzman7. Sistem pokazuje direktoru poruku o uspenom unosu novog aranzman.

Alternativni tokovi 1)Ako je destinacija neispravna sistem vraca gresku.

2)Ako direktor agencije unese neispravan broj vozila , neko slovo , sistem vraca gresku.

Slucaj koriscenja 1: Kreiranje aranzmana

Sistemski dijagam sekvenci za kreiranje aranzmana

Dijagram sekvenci za Kreiranje aranzmana

Dijagram klasa za Kreiranje aranzmana

Forma za kreiranje aranzmana

Slucaj koriscenja 2: Rezervacija Aranzmana

Ime Rezervacija aranzmana

Uesnici Korisnik

Preduslovi Sistem je ukljuen. Sistem prikazuje poetnu formu.

SvrhaSlui za rezervisanje aranzmana.

Uspeni scenario 1)Korisnik unosi svoje ime i prezime

2) Korisnik unosi svoj JMBG

3)Korisnik bira destinaciju. 4)Korisnik bira termin u kojem zeli da putuje na odredjenu destinaciju

5)Korisnik bira broj dana

6)Korisnik klikne na dugme rezervisi i poziva sistem da zapamti rezervaciju

7) Sistem pokazuje korisniku poruku o uspesnoj rezervaciji

Alternativni tokovi 1)Ako je korisnik izabrao broj dana koji ne odgovara terminu i destinaciji sistem izbacuje poruku Greska

2)Ako je dati termin pun za odredjenu destinaciju pun, sistem izbacuje poruku Nema slobodnih mesta.

Sistemski dijagram sekvenci za Rezervaciju aranzmana

Dijagram sekvenci za Rezervaciju aranzmana

Dijagram klase za Rezervaciju aranzmana

Forma za rezervaciju aranzmanaSlucaj koriscenja 3: Prodaja aranzmana

ImeProdaja aranzmana

UcesniciAgent

PredusloviSistem je ukljuen. Sistem prikazuje poetnu formu

SvrhaSluzi za prodaju aranzmana

Uspesni scenario 1. Agent unosi u sistem ime putnika koji je uplatio za aranzman.

2. Agent unosi u sistem kolicinu novca koju je putnik platio za aranzman

3. Agent unosi u sistem destinaciju na koju putnik putuje

4. Agent unosi u sistem u kom terminu putnik putuje.

5. Agent klikne na dugme unesi i poziva sistem da zapamti novu prodaju.

6. Sistem pamti novu prodaju.

7. Sistem pokazuje agentu poruku o uspenom unosu nove prodaje.

Alternativni tokovi1)Ako agent unese pogresnu cenu aranzmana, agentu se salje poruka greska cene aranzmana.

2) Ukoliko nema vise mesta za destinaciju u terminu koji putnici zele, agentu se salje poruka nije moguce izvrsiti prodaju.

Sistemski dijagram sekvenci za prodaju aranzmana

Dijagram sekvenci za prodaju aranzmana

Dijagram klasa za prodaju aranzmana

Forma za Prodaju aranzmana

Slucaj koriscenja 4:Pretraga aranzmana

ImePretraga aranzmana

UcesniciAgent

PredusloviSistem je ukljuen. Sistem prikazuje poetnu formu

SvrhaSluzi za pretragu aranzmana

Uspesni scenario1. Kupac bira destinaciju

2. Kupac bira termin u kome zeli da realizuje aranzman.

3. Kupac bira koliko dana zeli da provede na datoj destinaciji.

4. Kupac klikne na dugme pretraga i poziva sistem da pretrazi ovaj aranzman.

5. Sistem pretrazuje aranzman.

6. Sistem izbacuje rezultate pretrage.

Alternativni tokovi1) Ako nema aranzmana za odredjenu destinaciju u zeljenom terminu, sistem izbacuje poruku korisniku Nema Aranzmana.

Sistemski dijagram sekvenci za pretragu aranzmana

Dijagram sekvenci za pretragu aranzmana

Dijagram klasa za pretragu aranzmana

Forme za pretragu aranzmana60 Poglavlje 3 Modelovanje slucaja koriscenjaTo je cinjenica koja je ignorisana u mnogim knjigama o slucajevima koriscenja.Ali ramislite o tome: Kako mozete da vozite model objekata od Slucajeva koriscenja ako ti slucajevi nisu povezani sa objektom? Kratak odgovor je da ne mozete. U isto vreme, nemate svo znanje o eventualnim modelima objekata kada pocnete da pisete slucajeve koriscenja. Kada imate znanje u tom odeenom vremenu to je preliminarana verzija objekata modela koja opisuje problem domena u nedvosmislenim terminima-koji je domen modela. Pa link slucajka koriscenja ka domenima objekata. U praksi ovo znaci referenciju domena Slucaja po imenima u tekstu Slucaja koriscenja.

Recimo da imate domene modela koji sadrze domene casova kao: Lista zelja, Knjiga, Lista knjiga I Kolica za spoing. Praticete koriscenje tekst Slucaja koriscenja koji je sortiran po domenima klasa, ali se ne upucuje na njih imenom(lutajuci tekst je prikazan crvenom bojom).

Korisnik bira naziv I dodaje ga na njegovu listu knjiga da bi ga sacuvao za kasnije. Sistem pokazuje stranicu sa aodejtovanom listom I takodje pokazuje Listu naslova u korisnikovim kolicima , spremnu za cekiranje.

I ako se ovaj tekst cini jasnim, to je leglo dvosmislenosti. Lista knjiga za cuvanje za kasnije mozda, u sledecem scenariju Slucaja koriscenja, bude skraceno na Listu knjiga ili Sacuvane knjige, kad bi se oboje intepretiralo znacilo bi nesto komletno razlicito.

Evo ispravljenog teksta (isprevljeni delovi su boldirani):

Korisnik bira Knjigu I dodaje je na njegovu Listu zelja. Sistem pokazuje stranicu sa apdejtovanom listom I takodje pokazuje Soping kolica korisnika.

Presli ste na problem pravljenja domena modela da bi ste nedvosmisleno komunicirali o detaljima sistema koji ste razvili. S obzirom da je izbegavanje dvosmislenosti u sluaju korienja jedan od vaih primarnih ciljeva, ne bi bilo mudro da se koristi terminologija sa kojom se va tim kolektivno sloio u Domenu modela.

___________________________________________________________________________

VEZBA Postoji jos jedna stavka slucaja koriscenja ovog odeljka teksta koja je potencijalno dvosmislena. Mi ga pokrivamo u narednom poglavlju (Referentne Granicne Klase po Imenu) , ali pogledajte da li mozete da ga primenite pre prelaska. Razmislite cime biste ga zamenili.___________________________________________________________________________

Poglavlje 3 Modelovanje slucaja koriscenja 61

1. Referentne Granicne Klase po ImenuOd kad ste na zadatku da piste nedvosmislena zahtevanja ponasanja, I posto zahtev za ponasanje uvek uknjucuje korisnicki interfejs, dobra je ideja da ne pisete nejasne I dvosmislene fraze kao Sistemu pokazuje veb starnicu u vasem slucaju koriscenja. Radije , eksplicitno ime vaseg ekrana- na pr Sistem prikazuje proverenu starnicu.

U mnogim slicajevima, znacajno ponasanje softvera se odnosi na interakciju stranice pre pokazivanja, I takodje treba da napisete o ovom ponasanju: Sistem pokazuje Checkout page (Cekiranu stranicu) pokazujuci korisnikov osnovi obracun I adresu sa koje je sve stiglo (posiljajucu adresu). Primeticete kako korisnikov tekst postaje progresivno manje dvosmislen.

Vracamo se na listu zelja, primer, ovde je kako se tekst pojavljuje jednom kada se granicni cas odnosi na ime (ispravljen tekst je boldiran):

Korisnik bira knjigu I dodaje je na listu zelja. Sistem pokazuje Korisnikovu Listu Zelja (koja takodje pokazuje korisnikovu Soping Korpu koja je postavljena po datumu).

Primeticete da smo progresivno izbacili dvosmislenost iz slucaja koriscenja stavljajuci ga u kontekst modela objekata I GUI.

Organizovanje Slucaja koriscenja u pakete:Internet knjizaraVeoma uskoro pocecemo da pisemo neke od korisnickih slucajeva za Internet kniizaru,ali pre nego sto uradimo to,treba nam neki nacin organizovanja svih ovih slucajeva.U sistemu pristojnne velicine ,mogli bi ste da imate od 100 slucajeva pa navie

Srecom,UML nas obezbedjuje sa paketom mehanizma,koji je nacin grupisanja povezanih elemenata.Paketi su u osnovi sadrzioci kontejneri koji sadrze bilo koji UML konstruckiju,ukljucujuci i druge pakete.Ako ste JAVA programer,UML paketi nisu skroz razliciti Java paketima,u tom vam dozvoljavaju da podelite vas