Projektovanje softvera/K2 2024

Izvor: SI Wiki
< Пројектовање софтвера
Datum izmene: 10. januar 2026. u 14:10; autor: Aleksa (razgovor | doprinosi) (→‎Решење)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu

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.

  1. 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.
  2. 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
  3. 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.
  4. 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.
  5. 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.
Početno stanjer


Rešenje

  1. Pregled grešaka. Napomena: "Sting" u konstruktoru klase Doktor je greška u kucanju, koju ne treba navoditi.

  2. R. br.

    Dijagram

    Element

    Opis greške
    1 Klasni Klasa Doktor/Klasa Pregled brojOrdinacije je atribut viška u klasi Doktor, treba da stoji u klasi Pregled
    2 Klasni Klasa Doktor Atribut radniStaž treba da bude ceo broj, a ne string
    3 Klasni Klasa Doktor Konstruktor ne treba da bude statički
    4 Klasni Klasa Pacijent Atribut zdravstveniID treba da bude tip podataka ZdravstveniIdentifikator
    5 Klasni Enumeracija StatusPregleda Nedostaje literal U_TOKU
    6 Klasni Asocijacija Doktor-Pacijent Multiplikativnosti treba da bude 0..* sa obe strane