Projektovanje softvera/K2 2024
Drugi kolokvijum 2024. godine održan je 1. decembra 2024. godine. Bile su dostupne prezentacije sa vežbi, kao i UML prezentacije profesora Tartalje. Vreme za izradu je bilo 120 minuta. Postavka je dostupna sa stranice predmeta.
Postavka
Informacioni sistem fiktivne medicinske kuće “PS medik” dokumentovan je u okviru StarUML fajla lekari.mdj. Doktorima se prate ime i prezime i godine staža, a pacijentima ime i prezime i jedinstveni zdravstveni identifikator (niska znakova koja poštuje unapred poznata pravila). Pacijentu se zakazuje pregled kod nekog od doktora, pri čemu se prate termin pregleda i ordinacija u kojoj se pregled obavlja, kao i status pregleda (zakazan, u toku, održan). Lekovima se prati naziv, proizvođač, doza aktivne supstance i može im se dohvatiti opis koji se sastoji od svih parametara leka.
- Ispraviti greške na dijagramu klasa i dokumentovati ih u fajlu greske.docx. Način dokumentovanja grešaka je opisan u tom fajlu. Napomena: prikazane klase poseduju još operacija, ali one nisu od interesa u ovoj tački i njihovo nedostajanje ne treba smatrati greškom. Po potrebi se operacije mogu dodavati u okviru ostalih tačaka.
- Izmeniti model i dijagram klasa tako da se omogući praćenje stručne specijalizacije lekara (neke od njih su: radiolog, kardiolog, lekar opšte prakse, ostale nema potrebe prikazivati). Lekari obavljaju pregled drugačije u zavisnosti od specijalizacije. Smatrati da lekari uvek imaju tačno jednu specijalizaciju i ona im se ne menja. Skup generalizacija i njegova ograničenja dokumentovati pomoću StarUML elementa Text postavljenog iznad generalizacije
- Dopuniti dijagram klasa tako da se omogući praćenje dijagnoza koje lekar propisuje u okviru pregleda. Dijagnozi se prate tekstualni naziv bolesti i lekovi koji su prepisani za tu dijagnozu, pri čemu neki lekovi mogu biti prepisani na recept, a neki bez recepta.
- Lekar opšte prakse Mihajlo Mihajlović je pregledao pacijenta Luku Lukića u ordinaciji 4. U okviru pregleda Luki je dijagnostikovan akutni laringitis i na recept prepisan “Hemomicin”, a preporučeno mu je i da koristi “Ferveks” i “Strepsils”, koji se kupuju bez recepta. Na dijagramu objekata prikazati stanje sistema nakon pregleda. Atribute čije vrednosti nisu poznate ne treba prikazivati.
- Zahtev za sastavljanje izveštaja o pregledu koji nije završen dovodi do greške. U slučaju da je pregled završen, izveštaj se sastoji od imena i prezimena i jedinstvenog zdravstvenog identifikatora pacijenta, imena i prezimena lekara, kao i opisa dijagnoza formiranih u toku pregleda. Opis dijagnoze sastoji se od naziva dijagnostikovane bolesti, opisa lekova koji su prepisani bez recepta i opisa lekova koji su prepisani na recept. Napraviti dijagram sekvence koji prikazuje sastavljanje izveštaja o pregledu, razrađen do nivoa sastavljanja opisa leka (ne treba prikazivati kako se realizuje sastavljanje opisa leka) i po potrebi dopuniti dijagram klasa da bi obavljanje scenarija bilo izvodivo.
Rešenje
- Pregled grešaka. Napomena: "Sting" u konstruktoru klase Doktor je greška u kucanju, koju ne treba navoditi.
R. br. |
Dijagram |
Element |
Opis greške |
|---|---|---|---|
| 1 | Klasni | Klasa Doktor | brojOrdinacije je atribut viška |
| 2 | Klasni | Klasa Doktor | Atribut radniStaž treba da bude ceo broj, a ne string |
| 3 | Klasni | Klasa Pacijent | Atribut zdravstveniID treba da bzde tip podataka ZdravstveniIdentifikator |
| 4 | Klasni | Enumeracija StatusPregleda | Nedostaje literal U_TOKU |
| 5 | Klasni | Klasa Pregled | Nedostaje atribut brojOrdinacije, tipa ceo broj |
| 6 | Klasni | Asocijacija Doktor-Pacijent | Multiplikativnosti treba da bude 0..* sa obe strane |