FORSIKRING

Dere har fått i oppdrag å lage et java-program for et forsikringsselskapet. Programmet skal kunne registrere selskapets kunder, opprette ulike typer forsikringer, registrere skader og utbetale erstatninger. Systemet skal kunne generere ulik type statistikk og historikk, i tillegg til at det skal være enkelt å hente ut forskjellig informasjon. De ulike forsikringstypene selskapet i dag tilbyr er bilforsikring, båtforsikring, hus- og innboforsikring, forsikring av fritidsbolig og reiseforsikring. De har imidlertid planer om å utvide sitt forsikringstilbud og programmet må derfor bygges opp på en måte som gjør at det enkelt å bygges det ut med flere forsikringstyper etterhvert.

Forsikringsselskapet tilbyr 10% i rabatt på den årlige forsikringspremien for forsikringskunder som defineres som "totalkunde". For å bli totalkunde må kunden ha minst tre ulike typer forsikringer.

Med hensyn til bilforsikring følger selskapet det vanlig bonus-systemet som gjelder i Norge, der kunder som kjører skadefritt opparbeider seg bonus og øker derved sin rabatt på bilforsikringen med en gitt prosent for hvert år. Kunden kan pr idag ikke opparbeide høyere bonus enn 75%. Hvis vedkommende skader bilen, vil bonusen minske og bilforsikringspremien øke. Bonussystemet er imidlertid til revidering og systemet skal derfor lett kunne oppdateres og tilpasses de bonusregler som til enhver tid måtte gjelde. (Sjekk reglene som gjelder i andre forsikringsselskap.)

REGISTRERING

Registrering av forsikringskunder

Følgende informasjon skal lagres om forsikringskunden:

Tegning (registrering) av forsikringer

For ALLE forsikringer skal det registreres

Bilforsikring

For bilforsikringer skal det i tillegg registreres

Båtforsikring

For båtforsikringer skal det i tillegg registreres

Hus- og innboforsikring

For hus- og innboforsikring skal det i tillegg registreres

Fritidsboligforsikring

For forsikring av fritidsboliger skal det i tillegg registreres

Fritidsboligforsikring

For reiseforsikring det i tillegg registreres

SKADEMELDINGER

Forsikringsselskapet mottar forløpende skademeldinger fra sine kunder. Hvis kunden har en forsikring som dekker skaden, skal det registreres at erstatning blir utbetalt.

Registrering av skademeldinger

Hver skademelding skal registreres på gjeldende kunde, under forutsetning at kunden har forsikring for den aktuelle skadetypen. For hver skademelding skal følgende registreres:

TIDLIGERE KUNDER OG FORSIKINGER

Det skal være mulig å registrere at et kundeforhold opphører. Alle data tilknyttet kunden skal imidlertid bevares i systemet slik at de kan brukes til historikk og statistikk. Det samme gjelder hvis en kunde sier opp en forsikringstype. Det skal være mulig å finne ut hvilke forsikringstyper kunden har hatt tidligere, i tillegg til de vedkommende har i dag.

LAGRING

Skrive data til fil

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

Lese data fra fil

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

INFORMASJON

Søking

Det skal være mulig å søke i systemet etter ulik type informasjon:

Inntekter og utgifter

Det skal være mulig å hente ut ulik informasjon om utgifter og inntekter:

STATISTIKK

Det er ønskelig at dataprogrammet skal kunne skrive ut ulik statistikk, som for eksempel:

UTVIDELSESMULIGHETER

Opplistingen av søkemuligheter og statistikk er å betrakte som eksempler. Her er det bare fantasien og tiden som setter begrensninger for hva som kan gjøres. Dere står fritt når det gjelder hva dere vil implementere og også fritt i å supplere dataprogrammet med andre søkemuligheter.

OPPGAVENS OMFANG

Oppgavens størrelse vil være avhengig av hvor mye av oppdragsgiverens krav og ønsker dere implementerer. For de fleste vil den bli alt for omfattende hvis alt skal implementeres fullt ut. En av utfordringene blir derfor å gjøre fornuftige valg for HVA som implementeres og HVA som kan utelates. Det er imidlertid viktig at programmet kan kompletteres på et seinere 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.

Programmet SKAL være en vanlig java-applikasjon, ikke en web-applikasjon.