STUDIEADMINISTRASJON

Dere har fått i oppdrag å lage et datasystem for studieadministrasjonen på en høgskole. (Dere kan selv velge hvilket navn dere vil bruke på skolen eller på programmet.) Datasystemet skal være interaktivt og enkelt å bruke. Hensikten er å få registrert hvilke fag skolen til enhver tid tilbyr undervisning i, hvilke faglærere som er ansvarlig for de forskjellige fagene, hvilke studenter som studerer ved skolen, hvilke fag disse har, samt data om eksamener. Nærmere detaljer er spesifisert nedenfor. Skolen regner med at det vil dukke opp nye ønsker for datasystemets funksjonalitet etter hvert som man får erfaring med å bruke det. Det er derfor viktig at datasystemet er bygget opp slik at det lett lar seg vedlikeholde og bygges ut med ny funksjonalitet.

Oppgavens størrelse vil være avhengig av hvor mye av oppdragsgiverens krav og ønsker dere implementerer. For mange vil den bli for omfattende hvis alt skal implementeres fullt ut. En av utfordringene blir derfor å gjøre fornuftige valg mht. hva som implementeres og hva som kan utelates. Det er imidlertid viktig at programmet kan kompletteres på et senere tidspunkt (for eksempel av en annen programmerer) uten at det må gjøres vesentlige forandringer i den eksisterende koden.

Kravene fra oppdragsgiver er veiledende. Dere kan legge til og trekke fra alt etter som dere finner det hensiktsmessig. Oppdragsgiver ønsker imidlertid at dere skal komme med forslag til utvidelser av programmet. Dere står også fritt til å implementere mer funksjonalitet enn det som er beskrevet i det følgende. Dersom dere implementerer mindre enn det som er beskrevet, må det gå klart fram av dokumentasjonen hva som er utelatt og hvordan dere har prioritert.

I det følgende står en nærmere spesifikasjon av oppdragsgivers ønsker.

REGISTRERING

Det er umulig å forutsi hvor mange fag, studenter og faglærere det kan bli behov for å registrere. Programmets datastruktur må derfor ikke sette noen begrensninger på antallene.

Registrering av fag

For hvert fag ønskes følgende registrert:

Registrering av personer

Det skal registreres data for studenter og faglærere. For studenter ønskes følgende registrert:

Programmet skal også arkivere data for studenter som har avsluttet studiet. For disse skal i tillegg til det ovenfor nevnte også avslutningsåret registreres. Programmet må sørge for at de registrerte studentnumrene blir unike.

For hvert av studentens fag ønskes det registrert:

Som det går fram av opplistingen ovenfor, vil en del av dataene først kunne registreres i ettertid, det vil si en tid etter at studenten først ble registrert ved skolen. Det gjelder fag (registreres etter hvert som studiet går framover), avslutningsår, og alle data som skal registreres for hvert av fagene som studenten har.

For faglærere ønskes følgende registrert:

For ordens skyld gjør vi oppmerksom på at det for faglærerne i dette prosjektet bare skal registreres de opplysningene som er relevante når det gjelder undervisningen. Skolen har for de ansatte en annen persondatabase der det blir registrert andre relevante data for de ansatte. Men denne skal altså ikke være en del av dette prosjektet.

INFORMASJON

En viktig del av funksjonaliteten til datasystemet er at en lett skal kunne hente ut forskjellig type informasjon. Oppdragsgiver har kommet med disse ønsker:

Informasjon om fag

En skal kunne få ut informasjon om enkeltfag og om hele fagtilbudet. I begge tilfeller er det all registrert informasjon om faget eller fagene som skal skrives ut.

Når det gjelder informasjon om enkeltfag, skal en kunne søke på fagkoden. Fagkodene skal være unike. Programmet må sikre at dette blir oppfylt ved registrering av fag. Ved søk på fagkode, er det derfor informasjon om bare det ene faget som har denne fagkoden som skal vises (forutsatt at dette eksisterer). Det er også ønskelig å kunne søke på navn. Ved søk på navn skal det vises informasjon om alle fag som har dette navnet. (Det skal altså være tillatt at flere fag har samme navn, men de skal da ha hver sine unike fagkoder.)

Informasjon om studenter

Det skal kunne søkes på studentnummer, som skal være unike. Ved søk på studentnummer er det selvsagt bare data for studenten med dette nummeret som blir vist. Alle registrerte data for denne studenten skal da skrives ut.

Det er også ønskelig å kunne søke på navn. Ved søk på navn skal det komme opp en liste som inneholder navn, adresse, telefonnummer, e-post-adresse og studentnummer for alle studenter med dette navnet.

Diverse informasjon

En del informasjon involverer både studenter og fag. Oppdragsgiver har kommet med disse ønsker:

Av mer spesielle ønsker som ikke har like høy prioritet, har oppdragsgiver nevnt følgende:

LAGRING

Skrive data til fil

For at dataene som ligger lagret i programmets interne datastruktur ikke skal gå tapt når programmet avsluttes, må alle data lagres på fil. Lagring på fil må foretas i forbindelse med hver programavslutning. Det kan dessuten være ønskelig å kunne foreta lagring på fil også under programmets kjøring.

Lese data fra fil

Hver gang programmet startes, må alle dataene som ligger lagret på fil leses inn i programmets interne datastruktur.

EVENTUELLE UTVIDELSER

Som nevnt innledningsvis, er oppdragsgiver interessert i forslag til utvidelser av programmet. Det er også tillatt å legge til utvidelser, men det er ikke noe krav. En utvidelse som oppdragsgiver særlig ville ønsket seg, er for de enkelte fag mulighet for å kunne registrere innlevering og godkjenning av obligatoriske oppgaver, samt registrering av eventuelle individuelle prøver.