Univerzitet u Beogradu Fakultet organizacionih nauka Laboratorija za softversko inženjerstvo Seminarski rad iz predmeta Projektovanje softvera Tema: Softverski sistem apotekarske ustanove Profesor: Student: prof. dr Siniša Vlajić Petrović Stefan 701/08
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Univerzitet u BeograduFakultet organizacionih nauka
Laboratorija za softversko inženjerstvo
Seminarski rad iz predmeta
Projektovanje softveraTema: Softverski sistem apotekarske ustanove
Profesor: Student:prof. dr Siniša Vlajić Petrović Stefan 701/08
2.2 Ponašanje softverskog sistema - Definisanje ugovora o sistemskim operacijama...............29
2.3 Struktura softvarskog sistema – Konceptualni (domenski) model.......................................32
2.4 Struktura softverskog sistema – Relacioni model................................................................32
2
1. Korisnički zahtevi1.1 Verbalni opis
Potrebno je napraviti program koji omogućava automatizaciju rada jedne apoteke, prikupljanje i čuvanje podataka bitnih za njen rada sve u cilju lakšeg poslovanja apoteke.
Korisnik sistema je apotekar, koji treba biti ulogovan u sistem kako bi ga koristio.
Apoteka je namenjena za skladištenje i čuvanje lekova, a centralna aktivnost u radu apoteke jeste izdavanje leka. Apotekaru je potrebno da u svakom trenutku raspolaže sa ažuriranim podacima vezanim za trenutno stanje apoteke. Svaki lek se čuva sa svojim relevantnim podacima, od njegovog komercijalnog naziva, preko šifre leka, trenutne količine u skladištu apoteke i dr.
Aplikacija treba da omogući da se pamte podaci o svim lekovima koji postoje na stanju. Da bi se bicikl lek uneo u sistem potrebno je da se unesu određeni podaci o leku i da se zapamti ostvarena evidencija. Aplikacija omogućava i izmenu i brisanje podataka o leku kao i pretragu leka po zadatom kriterijumu. Takođe aplikacija omogućava izdavanje računa za prodate izdate lekove, kao i pretraga i storniranje istih. Za lekove treba pamtiti i njihove proizvođače.
3
1.2 Slučajevi korišćenja
Slučaj korišćenja opisuje skup scenarija, odnosno skup željenih korišćenja sistema od strane aktora. Iz toga proizilazi da scenario opisuje jedno željeno korišćenje sistema od strane aktora. Scenario je opisan preko sekvence akcija i interakcija između aktora I sistema. Slučaj korišćenja se sastoji iz glavnog i alternativnih scenarija.Scenarija definišu željene fukcije sistema koje, kada se izvršavaju, pozivaju po određenom redosledu osnovne funkcije sistema.
U konkretnom slučaju identifikovani su sledeći slučajevi korišćenja:
1) Unos leka2) Izmena leka3) Brisanje leka4) Pretraga leka5) Unos računa6) Pretraga računa7) Storniranje računa8) Unos proizođača leka9) Izmena podataka o proizvođaču10) Prijava apotekara na sistem
4
Slika 1. – Dijagram slučajeva korišćenja
1.2.1 Slučaj korišćenja 1: Unos leka
Naziv SKUnos leka
Aktori SKKorisnik(Apotekar)
Učesnici SKKorisnik i sistem
Preduslov: Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za unos leka. Učitana je lista proizvođača lekova koja je dostupna korisniku.
Osnovni scenario SK
1. Korisnik unosi podatke o leku. (APUSO)2. Korisnik kontroliše da li je ispravno uneo podatke o leku. (ANSO)3. Korisnik poziva sistem da zapamti podatke o leku. (APSO)4. Sistem pamti podatke o leku. (SO)5. Sistem prikazuje korisniku lek i poruku: ”Lek je uspesno unet”. (IA)
Alternativna scenarija
5.1 Ukoliko sistem ne moze da zapamti podatke o leku prikazuje korisniku poruku ”Sistem nije zapamtio lek” (IA)
1.2.2. Slučaj korišćenja 2: Izmena leka
Naziv SKIzmena leka
Aktori SKKorisnik
Učesnici SKKorisnik i sistem
Preduslov: Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa lekom. Učitana je lista postojećih lekova i učitana je lista proizvođača lekova koje su dostupne korisniku.
5
Osnovni scenario SK
1. Korisnik unosi vrednost po kojoj pretražuje lekove. (APUSO)2. Korisnik poziva sistem da pronađe lekove po zadatoj vrednosti. (APSO)3. Sistem traži lekove po zadatoj vrednosti. (SO)4. Sistem prikazuje korisniku pronađene lekove i poruku: ”Sistem je izvršio pretragu.” (IA)5. Korisnik bira lek koji želi da izmeni. (APUSO)6. Korisnik poziva sistem da prikaže podatke odabranom leku. (APSO)7. Sistem vraća podatke o izabranom leku. (SO)8. Sistem prikazuje korisniku podatke o leku i poruku .” Sistem je pronašao lek!“ (IA)9. Korisnik unosi (menja) podatke o leku. (APUSO)10. Korisnik kontroliše da li je ispravno izmenio podatke o leku. (ANSO)11. Korisnik poziva sistem da zapamti izmenjene podatke o leku. (APSO)12. Sistem pamti izmenjene podatke o leku. (SO)13. Sistem prikazuje korisniku izmenjeni lek i poruku: “Podaci su uspešno izmenjeni.” (IA)
Alternativna scenarija4.1 Ukoliko sistem ne uspe da pronađe lek, obaveštava korisnika porukom: “Sistem ne može da pronađe lek”. Prekida se izvršenje scenarija. (IA)
8.1 Ukoliko sistem ne može da prikaže odabrani lek, obaveštava korisnika porukom: ”Sistem ne može da prikaže lek”. Prekida se izvršenje scenarija. (IA)
13.1 Ukoliko sistem ne može da zapamti izmenjene podatke o leku, obaveštava korisnika porukom: “Sistem ne može da zapamti izmene”. (IA)
1.2.3. Slučaj korišćenja 3: Brisanje lekaNaziv SKBrisanje leka
Aktori SKKorisnik
Učesnici SKKorisnik i sistemPreduslov: Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa lekovima. Učitana je lista postojećih lekova koja je dostupna aktoru.
Osnovni scenario SK
1. Korisnik unosi vrednost po kojoj pretražuje lekove. (APUSO)2. Korisnik poziva sistem da pronađe lekove po zadatoj vrednosti. (APSO)3. Sistem pretražuje lekove po zadatoj vrednosti. (SO)4. Sistem prikazuje korisniku pronađene lekove i poruku: ”Sistem je izvršio pretragu”. (IA)5. Korisnik bira lek koje želi da izbriše. (APUSO)
6
6. Korisnik poziva sistem da obriše lek. (APSO)7. Sistem briše lek. (SO)8. Sistem prikazuje korisniku izbrisani lek i poruku: “Sistem je obrisao lek”. (IA)
Alternativna scenarija
4.1 Ukoliko sistem ne uspe da pronađe lek, obaveštava korisnika porukom: “Sistem ne može da pronađe lek.” Prekida se izvršenje scenarija. (IA)
8.1 Ukoliko sistem ne može dа obriše lek, obaveštava korisnika porukom: “Sistem ne može da obriše lek”.
1.2.4. Slučaj korišćenja 4: Pretraga lekaNaziv SKPretraga leka
Aktori SKKorisnik
Učesnici SKKorisnik i sistem
Preduslov: Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa lekovima. Učitana je lista postojećih lekova koja je dostupna aktoru.
Osnovni scenario SK
1. Korisnik unosi vrednost po kojoj pretražuje lekove. (APUSO)2. Korisnik poziva sistem da pronađe lekove po zadatoj vrednosti. (APSO)3. Sistem traži lek po zadatoj vrednosti. (SO)4. Sistem prikazuje korisniku podatke o pronađenim lekovima i poruku: ” Sistem je izvršio
pretragu”. (IA)5. Korisnik bira lek koji želi da izmeni/obriše. (APUSO)6. Korisnik poziva sistem da učita podatke o odabranom leku. (APSO)7. Sistem učitava podatke o odabranom leku. (SO)8. Sistem prikazuje korisniku poruku „Odabrani lek je prikazan!“ i prikazuje podatke o
odabranom objektu. (IA)
Alternativna scenarija
4.1 Ukoliko sistem ne može da pronađe lek, obaveštava korisnika porukom: “Sistem ne može da pronađe lek po zadatoj vrednosti.” Prekida se izvršenje scenarija. (IA)
8.1 Ukoliko sistem ne može dа učita lek, obaveštava korisnika porukom: “Sistem ne može da učita lek”.
7
1.2.5. Slučaj korišćenja 5: Unos računaNaziv SKUnos računa
Aktori SKKorsinik
Učesnici SK
Korisnik i sistem
Preduslov: Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za unos računa. Učitana je lista postojećih lekova koja je dostupna aktoru.
Osnovni scenario SK
1. Korisnik unosi podatke o računu. (APUSO)
2. Korisnik kontroliše dа li je korektno uneo podаtke o novom računu. (ANSO)
3. Korisnik poziva sistem da zapamti podatke o računu. (APSO)
4. Sistem čuva račun. (SO)
5. Sistem obaveštava korisnika o uspešnom čuvanju računa i prikazuje poruku: "Sistem je zapamtio račun". (IA)
Alternativna scenarija
5.1 Ukoliko sistem ne može da sačuva račun, prikazuje korisniku poruku: “Sistem ne može da zapamti novi račun”. (IA)
1.2.6 Slučaj korišćenja 6: Pretraga računaNaziv SKPretraga računa
Aktori SKKorisnik
Učesnici SKKorisnik i sistem
Preduslov: Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa računima. Učitana je lista postojećih računa.
8
Osnovni scenario SK
1. Korisnik unosi vrednost po kojoj pretražuje račun. (APUSO)2. Korisnik poziva sistem da pronađe račun po zadatoj vrednosti. (APSO)3. Sistem traži račune po zadatoj vrednosti. (SO)4. Sistem prikazuje korisniku podatke o pronađenim računima i poruku: ” Sistem je izvršio
pretragu”. (IA)5. Korisnik bira račun koji želi da pronađe/stornira. (APUSO)6. Korisnik poziva sistem da učita podatke o odabranom računu. (APSO)7. Sistem učitava podatke o odabranom računu. (SO)8. Sistem prikazuje korisniku poruku „Odabrani račun je prikazan!“ i prikazuje podatke o
odabranom objektu. (IA)
Alternativna scenarija
4.1 Ukoliko sistem ne može da pronađe račun, obaveštava korisnika porukom: “Sistem ne može da pronađe račun po zadatoj vrednosti.” Prekida se izvršenje scenarija. (IA)
8.1 Ukoliko sistem ne može dа učita račun, obaveštava korisnika porukom: “Sistem ne može da učita račun”.
1.2.7. Slučaj korišćenja 7: Storniranje računaNaziv SKStorniranje računa
Aktori SKKorisnik
Učesnici SKKorisnik i sistem
Preduslov: Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Korisnik je u meniju odabrao opciju Račun i podopciju Storniranje računa. Sistem prikazuje formu za storniranje računa.
Osnovni scenario SK
1. Korisnik unosi broj računa koji želi da stornira. (APUSO)2. Korisnik poziva sistem da prikaže podatke o računu.(APSO)3. Sistem proverava postojanje računa.(SO)4. Sistem prikazuje podatke o računu i prikazuje poruku „Sistem je našao račun po
zadatoj vrednosti“(IA)5. Korisnik poziva sistem da stornira račun. (APSO)6. Sistem stornira račun. (SO)7. Sistem prikazuje poruku „Račun storniran!“ (IA)
Alternativna scenarija
4.1 Ukoliko ne postoji račun sa zadatim brojem sistem prikazuje poruku „ Sistem ne može da nađe račun po zadatoj vrednosti!“ (IA) Prekida se izvršenje scenarija.
9
7.1 Ukoliko račun ne može da se stornira sistem prikazuje poruku „ Račun se ne može stornirati“ (IA)
1.2.8 Slučaj korišćenja 8: Unos proizvođača lekaNaziv SKUnos proizvođača leka
Aktori SKKorisnik
Učesnici SKKorisnik i sistem
Preduslov: Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za unos proizvođača leka.
Osnovni scenario SK
1. Korisnik unosi podatke o proizvođaču leka. (APUSO)2. Korisnik kontroliše da li je ispravno uneo podatke o proizvođaču leka. (ANSO)3. Korisnik poziva sistem da zapamti podatke o proizvođača leka. (APSO)4. Sistem pamti podatke o proizvođaču leka. (SO)5. Sistem prikazuje korisniku lek i poruku: ”Uspešno ste uneli proizvođača leka”. (IA)
Alternativna scenarija
5.1 Ukoliko sistem ne moze da zapamti podatke o leku prikazuje korisniku poruku ”Sistem nije zapamtio proizvođača leka ” (IA)
1.2.9. Slučaj korišćenja 9: Izmena proizvođača lekaNaziv SKIzmena proizvođača leka
Aktori SKKorisnik
Učesnici SKKorisnik i sistem
Preduslov: Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa proizvođačima lekova. Učitana je lista postojećih proizvođača lekova.
Osnovni scenario SK
1. Korisnik unosi vrednost po kojoj pretražuje proizvođače. (APUSO)2. Korisnik poziva sistem da pronađe proizvođače po zadatoj vrednosti. (APSO)3. Sistem traži proizvođače po zadatoj vrednosti. (SO)4. Sistem prikazuje korisniku pronađene proizvođače i poruku: ”Sistem je izvršio pretragu.” (IA)5. Korisnik bira proizvođača koji želi da izmeni. (APUSO)6. Korisnik poziva sistem da prikaže podatke odabranom proizvođaču. (APSO)
10
7. Sistem vraća podatke o izabranom proizvođaču. (SO)8. Sistem prikazuje korisniku podatke o proizvođaču i poruku .” Sistem je pronašao
proizvođača!“ (IA)9. Korisnik unosi (menja) podatke o proizvođaču. (APUSO)10. Korisnik kontroliše da li je ispravno izmenio podatke o proizvođaču. (ANSO)11. Korisnik poziva sistem da zapamti izmenjene podatke o proizvođaču. (APSO)12. Sistem pamti izmenjene podatke o proizvođaču. (SO)13. Sistem prikazuje korisniku izmenjeni lek i poruku: “Podaci su uspešno izmenjeni.” (IA)
Alternativna scenarija4.1 Ukoliko sistem ne uspe da pronađe proizvođača, obaveštava korisnika porukom: “Sistem ne može da pronađe proizvođača”. Prekida se izvršenje scenarija. (IA)
8.1 Ukoliko sistem ne može da prikaže odabranog proizvođača, obaveštava korisnika porukom: ”Sistem ne može da prikaže proizvođača”. Prekida se izvršenje scenarija. (IA)
13.1 Ukoliko sistem ne može da zapamti izmenjene podatke o proizvođača, obaveštava korisnika porukom: “Sistem ne može da zapamti izmene”. (IA)
1.2.10. Slučaj korišćenja 10: Prijavljivanje korisnikaNaziv SKPrijavljivanje korisnika
Aktori SKKorisnikUčesnici SKKorisnik i sistemPreduslov: Sistem je uključen i prikazuje formu za logovanje.Osnovni scenario SK
1. Korisnik unosi korisničko ime i šifru za autentifikaciju korisnika. (APUSO) 2. Korisnik poziva sistem da pronađe korisnika sa zadatim podacima. (APSO) 3. Sistem pretražuje korisnike. (SO) 4. Sistem prikazuje korisniku poruku: “Korisnik je uspešno ulogovan” i korisniku se omogućava
pristup sistemu .(IA)
Alternativna scenarija
4.1. Ukoliko sistem ne može da nađe korisnika prikazuje poruku korisniku: " Sistem ne može da nađe korisnika na osnovu datih vrednosti".(IA)
11
2. ANALIZAFaza analize opisuje logičku strukturu i ponašanje softverskog sistema (poslovnu logiku softverskog sistema).
Ponašanje softverskog sistema je opisano pomoću sistemskih dijagrama sekvenci, koji se prave za svaki slučaj korišćenja, i pomoću ugovora o sistemskim operacijama, koje se dobijaju na osnovu sistemskih dijagrama sekvenci.
Struktura softverskog sistema se opisuje pomoću konceptualnog i relacionog modela.
2.1 Ponašanje softverskog sistema – Sistemski dijagrami sekvenciSistemski dijagram sekvenci prikazuje, za izdvojeni scenario SK, događaje u određenom redosledu, koji uspostavljaju interakciju između aktora i softverskog sistema.
2.1.1 DS1: Dijagram sekvenci slučaja korišćenja – Unos lekaOsnovni scenario SK
1. Korisnik poziva sistem da zapamti podatke o leku. (APSO)2. Sistem prikazuje korisniku lek i poruku: ”Lek je uspešno unet”. (IA)
Alternativna scenarija
2.1 Ukoliko sistem ne moze da zapamti podatke o leku prikazuje korisniku poruku ”Sistem nije zapamtio lek” (IA)
12
Sa navedenih dijagrama sekvenci uočava se jedna sistemska operacija koju treba projektovati:
1. Korisnik poziva sistem da pronađe lekove po zadatoj vrednosti. (APSO)2. Sistem prikazuje korisniku pronađene lekove i poruku: ”Sistem je izvršio pretragu.” (IA)3. Korisnik poziva sistem da prikaže podatke odabranom leku. (APSO)4. Sistem prikazuje korisniku podatke o leku i poruku .” Sistem je pronašao lek!“ (IA)5. Korisnik poziva sistem da zapamti izmenjene podatke o leku. (APSO)6. Sistem prikazuje korisniku izmenjeni lek i poruku: “Podaci su uspešno izmenjeni.” (IA)
Alternativna scenarija2.1 Ukoliko sistem ne uspe da pronađe lek, obaveštava korisnika porukom: “Sistem ne može da pronađe lek”. Prekida se izvršenje scenarija. (IA)
13
4.1 Ukoliko sistem ne može da prikaže odabrani lek, obaveštava korisnika porukom: ”Sistem ne može da prikaže lek”. Prekida se izvršenje scenarija. (IA)
6.1 Ukoliko sistem ne može da zapamti izmenjene podatke o leku, obaveštava korisnika porukom: “Sistem ne može da zapamti izmene”. (IA)
Sa navedenih dijagrama sekvenci uočavaju se dve nove sistemske operacije koje treba projektovati:
1. signal PretražiLekove(KriterijumPretrage, List<Lek>);2. Signal IzmeniLek (Lek)
4. Sistem prikazuje prodavacu poruku: “Sistem je obrisao lek.” (IA)
15
Alternativna scenarija:
2.1. Ukoliko sistem ne može da nađe proizvode on prikazuje korisniku poruku: “Sistem ne može da nađe lekove po zadatim vrednostima”. Prekida se izvršenje scenaria. (IA)
4.1.Ukoliko sistem ne može da obriše proizvode on prikazuje korisniku poruku: “Sistem ne može da obriše proizvode”. (IA)
16
Sa navedenih sekvencnih dijagrama uočavaju se dve sistemske operacije koje treba projektovati:
1. signal PretražiLekove(KriterijumPretrage, List<Lek>);2. signal ObrišiLek(Lek);
1. Korisnik poziva sistem da pronađe lekove po zadatoj vrednosti. (APSO)2. Sistem prikazuje korisniku podatke o pronađenim lekovima i poruku: ” Sistem je
izvršio pretragu”. (IA)3. Korisnik poziva sistem da učita podatke o odabranom leku. (APSO)4. Sistem prikazuje korisniku poruku „Odabrani lek je prikazan!“ i prikazuje podatke o
odabranom objektu. (IA)
Alternativna scenarija
2.1 Ukoliko sistem ne može da pronađe lek, obaveštava korisnika porukom: “Sistem ne može da pronađe lek po zadatoj vrednosti.” Prekida se izvršenje scenarija. (IA)
17
4.1 Ukoliko sistem ne može dа učita lek, obaveštava korisnika porukom: “Sistem ne može da učita lek”.
Sa navedenih dijagrama sekvenci uočavaju se dve nove sistemske operacije koje treba projektovati:
1. Korisnik poziva sistem da pronađe račun po zadatoj vrednosti. (APSO)2. Sistem prikazuje korisniku podatke o pronađenim računima i poruku: ” Sistem je
izvršio pretragu”. (IA)3. Korisnik poziva sistem da učita podatke o odabranom računu. (APSO)4. Sistem prikazuje korisniku poruku „Odabrani račun je prikazan!“ i prikazuje podatke
o odabranom objektu. (IA)
Alternativna scenarija
2.1 Ukoliko sistem ne može da pronađe račun, obaveštava korisnika porukom: “Sistem ne može da pronađe račun po zadatoj vrednosti.” Prekida se izvršenje scenarija. (IA)
20
4.1 Ukoliko sistem ne može dа učita račun, obaveštava korisnika porukom: “Sistem ne može da učita račun”.
Sa navedenih dijagrama sekvenci uočavaju se dve nove sistemske operacije koje treba projektovati:
1. Korisnik poziva sistem da prikaže podatke o računu.(APSO)2. Sistem prikazuje podatke o računu i prikazuje poruku „Sistem je našap račun
po zadatoj vrednosti“(IA)3. Korisnik poziva sistem da stornira račun. (APSO)4. Sistem prikazuje poruku „Račun storniran!“ (IA)
21
Alternativna scenarija
2.1 Ukoliko ne postoji račun sa zadatim brojem sistem prikazuje poruku „ Sistem ne može da nađe račun po zadatoj vrednosti!“ (IA) Prekida se izvršenje scenarija.
4.1 Ukoliko račun ne može da se stornira sistem prikazuje poruku „ Račun se ne može stornirati“ (IA)
22
Sa navedenih sekvencnih dijagrama uočavaju se dve sistemske operacije koje treba projektovati:
1. Korisnik poziva sistem da zapamti proizvođača. (APSO)
2. Sistem prikazuje poruku da je proizvođač uspešno unet. (IA)
Alternativna scenarija:
2.1. Ukoliko sistem ne može da zapamti podatke o novom proizvođaču on prikazuje korisniku poruku “Sistem ne može da zapamti novog proizvođača”. (IA)
23
Sa navedenih sekvencnih dijagrama uočavaju se sistemske operacije koje treba projektovati:
signal ZapamtiProizvođača(Proizvođač);
2.1.9 DS9: Dijagram sekvenci slučaja korišćenja – Izmena podataka o proizvođačuOsnovni scenario SK:
1. Korisnik poziva sistem da pronađe proizvođača po zadatoj vrednosti. (APSO)
2. Sistem prikazuje prodavcu poruku: "Sistem je našao proizvođača." (IA)
3. Korisnik poziva sistem da učita izabranog proizvođača. (APSO)
4. Sistem prikazuje korisniku podatke o izabranom proizvođaču. (IA)
5. Korisnik poziva sistem da izmeni podatke o proizvođaču. (APSO)
6. Sistem prikazuje korisniku poruku: “Sistem je izmenio podatke o proizvođaču.” (IA)
24
Alternativna scenarija:
2.1. Ukoliko sistem ne može da nađe proizvođača on prikazuje korsinku poruku: “Sistem ne može da nađe željenog proizvođača”. Prekida se izvršenje scenaria. (IA)
4.1 Ukoliko sistem ne može da prikaže podatke o proizvođaču, obaveštava korisnika o tome: “Sistem ne može da prikaže podatke o izabranom proizvođaču”. Prekida se izvršenje scenarija. (IA)
25
6.1. Ukoliko sistem ne može da izmeni podatke o proizvođaču on prikazuje prodavcu poruku: “Sistem ne može da izmeni proizvođača”. (IA)
26
Sa navedenih sekvencnih dijagrama uočavaju se sistemske operacije koje treba projektovati:
1. signal PretražiProizvođače(KriterijumPretrage, List<Proizvođač>);2. signal IzaberiProizvođača(Proizvođač);3. signal IzmeniProizvođača(Proizvođač);
1. Korisnik poziva sistem da pronađe korisnika sa zadatim podacima. (APSO) 2. Sistem prikazuje korisniku poruku: “Korisnik je uspešno ulogovan” i korisniku se
omogućava pristup sistemu .(IA)
27
Alternativna scenarija
2.1. Ukoliko sistem ne može da nađe korisnika prikazuje poruku korisniku: " Sistem ne može da nađe korisnika na osnovu datih vrednosti".(IA)
Sa navedenih dijagrama sekvenci uočava se jedna sistemska operacija koju treba projektovati:
1. Signal PronadjiKorisnika (Korisnik)
28
Kao rezultat analize scenarija dobijeno je ukupno 12 sistemskih operacija koje treba projektovati:
1. Signal PronadjiKorisnika(Korisnik)2. Signal ZapamtiLek(Lek)3. Signal IzmeniLek(Lek)4. signal PretraziLekove(KriterijumPretrage, List<Lek>)5. signal ObrišiLek(Lek)6. signal ZapamtiRacun(Racun)7. Signal PronadjiRacun(Racun)8. signal Storniraj(Racun)9. signal ZapamtiProizvodjaca(Proizvođač)10. signal PretražiProizvodjace(KriterijumPretrage, List<Proizvođač>)11. signal IzaberiProizvodjaca(Proizvođač)12. signal IzmeniProizvodjaca(Proizvođač)
2.2 Ponašanje softverskog sistema - Definisanje ugovora o sistemskim operacijama
Ugovor UG1: PronadjiKorisnika
Operacija: PronadjiKorisnika(Korisnik):signal
Veza sa SK: SK10
Preduslovi:
Postuslovi: Korisnik je prijavljen na sistem.
Ugovor UG2: ZapamtiLek
Operacija: ZapamtiLek(Lek):signal
Veza sa SK: SK1
Preduslovi: Mora biti zadovoljeno prosto vrednosno ograničenje nad objektom Lek.
Postuslovi: Novi Lek je sačuvan u sustemu. Strukturno ograničenje nad objektom Lek je zadovoljeno.
Ugovor UG3: IzmeniLek
Operacija: IzmeniLek(Lek) :signal
Veza sa SK: SK2
Preduslovi: Mora biti zadovoljeno prosto vrednosno ograničenje nad objektom Bicikl. U sistemu postoji Lek koji se menja.
Postuslovi: Lek je izmenjen. Strukturno ograničenje nad objektom Bicikl je zadovoljeno.
Postuslovi: Proizvod je obrisan. Strukturno ograničenje nad objektom Proizvod mora biti zadovoljeno
Ugovor UG6: ZapamtiRacun
Operacija: ZapamtiRacun(Racun):signal
Veza sa SK: SK5
Preduslovi:Ako je račun storniran ne može se izvršiti sistemska operacija. Moraju biti zadovoljena prosta vrednosna i strukturna ograničenja nad objektom Račun.
Postuslovi: Izračunata je vrednost svake od stavki računa. Izračunata je ukupna vrednost računa.
Ugovor UG7: PronadjiRacun
Operacija: PronadjiRacun(Racun):signal
Veza sa SK:
Preduslovi:
Postuslovi: Lista računa je vraćena.
Ugovor UG8: Storniraj
Operacija: Storniraj(Racun):signal
Veza sa SK: SK7
Preduslovi: Ako je račun storniran ne može se izvršiti sistemska operacija
Postuslovi: Račun je storniran
Ugovor UG9: ZapamtiProizvodjaca
Operacija: ZapamtiProizvodjaca(Proizvođač):signal
30
Veza sa SK: SK8
Preduslovi: Prosto vrednosno ograničenje nad objektom Proizvođač mora biti zadovoljeno. Strukturno ograničenje nad objektom Proizvođač mora biti zadovoljeno
Preduslovi: Prosto vrednosno ograničenje nad objektom Proizvođač mora biti zadovoljeno. Strukturno ograničenje nad objektom Proizvođač mora biti zadovoljeno.
Postuslovi: Podaci o proizvođaču su zapamćeni.
31
2.3 Struktura softvarskog sistema – Konceptualni (domenski) model
2.4 Struktura softverskog sistema – Relacioni modelNa osnovu konceptualnog modela koji je predstavljen dijagramom klasa dobijen je sledeći relacioni model: