T 3.1 definisanje zahteva koriscenjem use case dijagrama

1,374 views
1,213 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,374
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

T 3.1 definisanje zahteva koriscenjem use case dijagrama

  1. 1. Definisanje zahteva korišćenjem Use CasedijagramaAnaliza i specifikacija informacionih sistema dr Zoran Jeremić zoran.jeremic@gmail.com 1
  2. 2. Sadržaj Uvod Use Case dijagrami Pisanje slučajeva upotrebe Povezivanje slučajeva upotrebe Uputstvo za definisanje efektivnih slučajeva upotrebe 2Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  3. 3. Proces razvoja sistema Faza Aktivnost Izlaz BiznisZapočinjanje Utvrđivanje poslovnih potreba dokumenta Intervjuisanje stejkholdera, istraživanje OrganizovanaAnaliza sistemskog okruženja dokumentacija Analiza inženjerskih aspekata sistema, Logički modelSpecifikacija definisanje koncepata sistema sistema Programiranje, testiranje jedinica, ProverljivImplementacija integrisanje, dokumentovanje sistem ResultatiTestiranje & Integrisanje svih komponenti, verifikacija, testiranja,Integracija validacija, instalacija, obuka funkcionalan sistem Popravljanje bagova, modifikacije,Održavanje adaptacija Verzije sistema 3Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  4. 4. Izvori zahteva Početni zahtevi dolaze od korisnika, preko:  Dokumenta, kao što su RFI/RFP  Sastanci, izveštaji Detaljniji zahtevi dolaze od analitičara, nakon studiranja:  Domena i cene  Izvodljivosti (tehničke, organizacione itd)  Prototipovi Konačni zahtevi se ustaljuju kroz iterativni proces. 4Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  5. 5. Zahtevi vs. dizajn Zahtevi:  Šta sistem treba da radi  Abstraktnije Dizajn:  Kako sistem treba da radi nešto  Više detalja 5Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  6. 6. Tipovi zahteva Vidljivi funkcionalni zahtevi  “Sistem će korisniku dati gotovinu”  “Gotovina će se dati korisniku nakon što se izvadi kartica” Kvalitativni zahtevi  “Proces autorizacije ne sme da traje duže od 1 sekunde”  “Korisnički interfejs treba da bude jednostavan” Skriveni zahtevi Vidljivi  “Proces održavanja baze podataka funkcionalni zahtevi će se odvijati svake noći” Skriveni funkcionalni zahtevi Kvalitativni zahtevi 6Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  7. 7. Sadržaj Uvod Use Case dijagrami Pisanje slučajeva upotrebe Povezivanje slučajeva upotrebe Uputstvo za definisanje efektivnih slučajeva upotrebe 7Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  8. 8. Slučajevi upotrebe Use Case Učesnik Slučaj upotrebe u dijagramu Slučaj upotrebe u tekstu Slučaj upotrebe je prikaz interakcije između sistema i učesnika. Puni model slučajeva upotrebe se sastoji iz:  Dijagrama – opisuje relacije između slučajeva upotrebe i učesnika.  Dokumenta koji detaljno opisuje svaki slučaj upotrebe. 8Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  9. 9. Cilj Kreiranje polu-formalnog modela funkcionalnih zahteva Analiza i definisanje:  Domena  Spoljašnjih interfejsa  Scenarija i reakcija 9Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  10. 10. Šta čini dobru specifikaciju slučajeva upotrebe? Nepostojanje dvosmislenosti  Svaki zahtev mora biti interpretiran na jedinstven način. Kompletnost  Moraju zadovoljiti sve trenutne zahteve sistema. Konzistentnost  Zahtevi ne smeju biti u konfliktu jedan sa drugim. Ukoliko konflikti postoje, moraju se pronaći ustupci. Izbegavaju dizajn  Zahtevi treba da iskažu potrebu, a ne da daju odgovor na nju. (Zašto?) 10Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  11. 11. Slučajevi upotrebe kao sredstvo komunikacije Kupci Dizajneri Korisnici Slučaj upotrebe treba da stimuliše diskusiju o tome šta sistem treba da radi, uglavnom sa ljudima koji su van razvojnog tima. 11Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  12. 12. Jednostavan primer: Bolnički informacioni sistem Granice sistemaUčesnik Slučaj Asocijacija upotrebe 12
  13. 13. Pronalaženje učesnika Spoljašnji objekti koji proizvode/koriste podatke:  Moraju služiti kao izvor i odredište podataka  Moraju biti van sistema Ljudi Mašine Spoljašnji sistemi Senzori Organizacione jedinice Baze podataka Štampač 13Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  14. 14. Učesnici mogu biti generalizovani Dete učesnik nasleđuje sve asocijacije slučaja upotrebeTreba koristiti ako (i samoako), specifični učesnik imaviše odgovornosti odgeneralizovanog (tj.,povezan je sa više slučajevaupotrebe) Example 14Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  15. 15. Sadržaj Uvod Use Case dijagrami Pisanje slučajeva upotrebe Povezivanje slučajeva upotrebe Uputstvo za definisanje efektivnih slučajeva upotrebe 15Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  16. 16. Struktura specifikacije slučaja upotrebe Ime Učesnici Okidač Preduslovi Posledice Uspešni scenario Alternativni tokovi 16Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  17. 17. Okidači (triggers) Šta aktivira slučaj upotrebe? Primeri:  Korisnik podnosi zahtev  Korisnik ubacuje karticu  Sistemsko vreme je 10:00 17Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  18. 18. Preduslovi Koje uslove je potrebno da sistem ispuni pre započinjanja slučaja upotrebe. Primeri:  Korisnikov račun postoji  Korisnik ima dovoljno novca na svom računu  Postoji dovoljno prostora na disku 18Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  19. 19. Posledice Posledice predstavljaju rezultat realizovanog slučaja upotrebe. Primeri:  Novac je prenet sa korisnikovog računa  Korisnik je ulogovan  Fajl je sačuvan na hard disk Minimalne garancije  Minimalna stvar koju sistem može obećati, čak i kada se slučaj upotrebe nije uspešno realizovao.  Primeri: Novac nije prenet dok autorizaciju nije odobrio korisnik Uspešne garancije  Šta se dešava nakon uspešnog izvršenja slučaja upotrebe.  Primeri: Fajl je sačuvan; Novac je prenet 19Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  20. 20. Uspešni scenario Uspešni scenario je glavna nit priče slučaja upotrebe Napisan je pod pretpostavkom da je sve u redu, da nije došlo do grešaka ili problema, i vodi direktno ka željenom ishodu slučaja upotrebe Sastavljen je od niza akcionih koraka Primeri: Korak interakcije 1. Korisnik unosi ime proizvoda, šifru i opis Korak 2. Sistem proverava šifru proizvoda validacije 3. Sistem dodaje proizvod u bazu podataka i šalje poruku potvrde Korak unutrašnje (dodatni) korak promene interakcije 20Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  21. 21. Primer uspešnog scenarija1. Korisnik unosi ključnu reč2. Sistem prikazuje skup rezultata pretraživanja i sponzorisane proizvode, pri čemu svaki obuhvata ime, kratak opis i cenu3. Korisnik bira proizvod4. Sistem prikazuje stranu proizvoda koja obuhvata informacije o proizvodu, prikaz i slične proizvode5. Korisnik dodaje proizvod na šoping listu 21Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  22. 22. Uputstvo za efektivno pisanje Koristite jednostavnu gramatiku Samo jedna strana (sistem ili Sistem Učesnik učesnik) radi nešto u jednom koraku Učesnik traži novac Pišite sa ciljne tačke gledišta Sistem pita za količinu  Loše: “Uzmi količinu od korisnika i daj Učesnik unosi količinu mu novac” Bilo koji korak mora voditi do nekog Sistem daje novac progresa  Loše: “Korisnik potvrdi na enter dugme” 22Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  23. 23. Koraci – nastavak Grane:  Ukoliko korisnik ima više od 10 000 $ na svom računu, sistem mu prikazuje listu reklama  U suprotnom… Ponavljanja: 1. Korisnik unosi ime artikla koji želi da kupi 2. Sistem prikazuje stavke 3. Korisnik bira stavke koje želi da kupi 4. Sistem dodaje stavke na šoping listu 5. Korisnik ponavlja korake 1-4 sve dok ne prijavi da je završio 23Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  24. 24. Slučajevi upotrebe – najčešće greške Suviše složeni dijagrami Nema sistema Nema učesnika Previše detalja o korisničkom interfejsu  “Korisnik unosi username i password, klikne OK ili pritisne Enter” Vrlo malo bitnih detalja  Korisnik obezbeđuje ime  Korisnik obezbeđuje adresu  Korisnik obezbeđuje broj telefona  … 24Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  25. 25. Alternativni tokovi Koriste se da opišu vanredne funkcionalnosti Primeri: Polazne tačke  Greške  Neuobičajeni ili retki slučajevi  Otkazi Izuzeci  Polazne tačke Uspešni Prečice scenario  Završne tačke  Prečice Završne tačke 25Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  26. 26. Alternativni tokovi - Primer Greške:  “Kućište se nije otvorilo propisno”  “Bilo koja mrežna greška koja se dogodila između koraka 4 i 7”  “Bilo koja vrsta greške da se dogodila” Neuobičajeni ili retki slučajevi  “Kreditna kartica je definisana kao ukradena”  “Korisnik je izabrao da doda novu reč u rečnik” Završne tačke  “Sistem je utvrdio da nema više otvorenih stavki” Prečice:  “Korisnik može napustiti slučaj upotrebe pritiskom na dugme “esc” 26Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  27. 27. Specifikacija slučaja upotrebe: BIS Ime: Ažuriranje podataka o pacijentu Učesnici: Zdravstveni radnik Okidač: Dolazak pacijenta u ordinaciju Da pacijent ima važeću ličnu Preduslovi: kartu i zdravstvenu knjižicu U pacijentov karton su uneti Posledice: podaci o pruženoj usluzi 27Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  28. 28. Specifikacija slučaja upotrebe: BIS (2) 1. Provera identiteta pacijenta uz pomoć lič.karte i zdr. knjižice, 2. Pretraga baze pod. I otvaranje e-Uspešni kartona ako ga pacijent nema,scenario 3. Pružanje usluge pacijentu, 4. Unos podataka o usluzi, 5. Štampanje recepta, 1. Pacijent nema važeću lič.kartu ili zdr. knjižicu, pacijent odlazi. Alternativni 2. Pacijent želi da mu usluge pruži drugi tokovi lekar (koji nije njegov, pacijent ga nije izabrao), pacijent mora da čeka, odlazi. 28Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  29. 29. Sadržaj Uvod Use Case dijagrami Pisanje slučajeva upotrebe Povezivanje slučajeva upotrebe Uputstvo za definisanje efektivnih slučajeva upotrebe 29Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  30. 30. Povezivanje slučajeva upotrebe Povezivanje omogućava fleksibilnost u specifikaciji zahteva  Izolovanje funkcionalnosti  Omogućavanje deljenja funkcionalnosti  Deljenje funkcionalnosti u delove koji se lakše obrađuju Koriste se tri vrste relacija:  Uključuje (Include)  Proširuje (Extend)  Nasleđuje (Inheritance) 30Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  31. 31. “Include” konstrukcija Include se koristi u sledećim slučajevima:  Dekomponovanje složenog ponašanja  Centralizovanje zajedničkog ponašanja Osnovni slučaj upotrebe eksplicitno uključuje ponašanje drugog slučaja upotrebe lociranog u svojoj bazi. Unos podataka o Ažuriranje podataka o <<include>> pacijentu izvršenom pregledu primer 31Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  32. 32. Pisanje Include konstrukcija Ako bazni slučaj upotrebe uključuje drugi slučaj upotrebe, dodaćemo referencu kao sledeći korak: 1. Sistem prikazuje karton pacijenta 2. Zdravstveni radnik unosi podatak o izvršenom pregledu ili <include: unos podataka o izvršenom pregledu> 32Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  33. 33. Extend – grafičko predstavljanje Osnova slučaja upotrebe može uključiti drugi slučaj upotrebe u određenim tačkama, zvanim tačke proširenja. Obratite pažnju na smer strelice  Osnovni slučaj upotrebe ne zna koji slučaj upotrebe ga proširuje <<extend>> Ažur. pod. o pacijentu Otvaranje e-kartona nema e-karton pacijentu Primer 33Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  34. 34. Pisanje Extend konstrukcije Scenariji ne uključuju reference Umesto toga, oni uključuju tačke proširenja, kao što su: Zdravstveni radnik pretražuje b.p. korišćenjem jmbg Sistem ne pronalazi traženog pacijenta Tačka proširenja: otvaranje e-kartona pacijentu ili <extension point: otvaranje e-kartona pacijentu> Proširenje slučaja upotrebe obuhvata uslove u kojima će se proširenje primeniti  Primer: ako je korisnik upućen na specijalistički pregled 34Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  35. 35. Primer: Bolnički IS Otvaranje e-kartona Ažuriranje podataka o pacijentu Upućivanje na specijalistički pregled 35Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  36. 36. 36
  37. 37. Generalizacija između slučajeva upotrebe Slučaj upotrebe dete nasleđuje ponašanje roditeljskog slučaja upotrebe:  Interakcija (opisana tekstualno)  Linkovi slučaja upotrebe (associations, include, extend, generalization) Slučaj upotrebe dete može zameniti roditeljski slučaj upotrebe Primer 37Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  38. 38. Sadržaj Uvod Use Case dijagrami Pisanje slučajeva upotrebe Povezivanje slučajeva upotrebe Uputstvo za definisanje efektivnih slučajeva upotrebe 38Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  39. 39. Proces kombinovanja Brojno ograničenje:  Dijagram bi trebalo da sadrži između 3 i 10 osnovnih slučajeva upotrebe.  Dijagram ne bi trebalo da sadrži više od 15 slučajeva upotrebe (osnovni + uključeni + prošireni). Abstrakcija:  Svi slučajevi upotrebi bi trebalo da budu na sličnom nivou abstrakcije. Veličina:  Slučajeve upotrebe bi trebalo opisati na pola strane ili više. 39Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  40. 40. Proces deljenja Veličina:  Ako slučaj upotrebe zauzima više od jedne strane, potrebno je razmotriti mogućnost korišćenja include/extend Slaba zavisnost:  Ako je zavisnost između dva dela slučaja upotrebe slaba, potrebno ih je razdvojiti. UC 40Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  41. 41. Još detalja Faktori van zajedničke upotrebe koji su potrebni od strane više slučajeva upotrebe  Ako je upotreba neophodna koristite <<include>>  Ako je osnovni slučaj upotrebe kompletan a upotreba je opciona, razmotrite upotrebu <<extend>> Dijagram slučaja upotrebe treba da:  Uključi samo učesnike koji su neophodni 41Uvod | Dijagrami | Pisanje | Povezivanje | Uputstvo
  42. 42. Definisanje zahteva korišćenjem Use CasedijagramaAnaliza i specifikacija informacionih sistema dr Zoran Jeremić zoran.jeremic@gmail.com 42

×