Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

GitHub finner dere full kode til alle deler. Dette er ikke koden akkurat slik den er forventet på eksamen, men viser delene slik vi jobbet dem frem. Også koden på GitHub kan tenkes å endre seg etterhvert, for å bli mer lesbar, bedre eksempelkode for neste års studenter etc.

Expand
titleOverordnet oppgavebeskrivelse

Eksamensinformasjon

Dersom du mener at opplysninger mangler i en oppgaveformulering, gjør kort rede for de antagelser og forutsetninger som du finner nødvendig. Hvis du i en del er bedt om å implementere klasser og metoder og du ikke klarer det (helt eller delvis), så kan du likevel bruke dem i senere deler. Du trenger aldri å gå tilbake og endre kode basert på kunnskap du får senere, det som står i en oppgavetekst eller vedlegg relatert til deloppgaven er nok. Eventuelle endringer som må gjøres i en metode du tidligere har kodet skal altså kun gjøres i den nåværende oppgaven

Les derimot igjennom hele eksamen så du får en oversikt. Det kan hende at det er bedre for akkurat deg å gjøre ferdig del 5 før du gjør ferdig del 4.

En oversikt over klasser og metoder for alle oppgavene oppgitt til venstre for oppgaveteksten. Denne teksten inneholder krav til de ulike delene, som du må ta hensyn til når du løser oppgavene. I tillegg til metodene som er oppgitt, står du fritt til å definere ekstra metoder for å gjøre løsningen ryddigere. 


Hjelpemidler

Du har tilgang til den fullstendige dokumentasjonen av java, samt enklere dokumentasjon av blant annet testing. Du vil finne begge disse vedleggene i bunnen av oppgavesettet. Disse vil åpne seg i en ny fane som du kan ha liggende under hele eksamen.

Oppgavene

Oppgavens tema er behandling av pasienter på et akuttmottak (TreatmentUnit), som håndterer koblingen mellom et sett med pasienter (Patient) og legene (Doctor) som behandler dem. Pasientene er allerede diagnostisert med et sett ulike tilstander. De behandles av leger, men hver lege kan bare behandle et sett med tilstander. Noen pasienter kan ha grunn til å bli prioritert i behandlingskøen, og en lege kan måtte avbryte en pågående behandling for å ta denne pasienten. Legene på mottaket behandler ulike tilstander, så pasienter kan måtte behandles av flere leger før de er friske og kan skrives ut. Når en lege kan ta imot en pasient skal et informasjonspanel vise hvilken pasient som skal gå til hvilken lege.

Skjelettet til klassene og metodene endrer seg mellom deloppgavene. Deloppgavene skisserer et system som gradvis utvides:

  • Del 1 er første trinn i systemet, og inneholder enklere logikk enn beskrevet ovenfor.
  • Del 2 er mer ferdig, og danner basis for resten av deloppgavene.
  • Del 3 løser prioritering av pasienter ved hjelp av arv.
  • Del 4 løser prioritering av pasienter ved hjelp av delegering. Merk at deloppgavene 3 og 4 altså løser det samme problemet på ulike måter.
  • Del 5 bruker lytting for å vise informasjon i et panel laget ved hjelp av FXML.

...