KONSERTFORMIDLING

    Dere får nå i oppdrag å utvikle et dataprogram for et firma som arrangerer konserter, også kalt impresariovirksomhet. Det vil si at firmaet har kontakt med artister (vi bruker dette som fellesbetegnelse på enkeltutøvere, grupper og orkestre) og konsertlokaler på forskjellige steder og gjør avtaler om at bestemte artister skal opptre i et bestemt konsertlokale på et bestemt tidspunkt. Firmaet formidler også billettsalg til sine konserter og kan gi diverse informasjon om artister, konserter og konsertlokaler. Oppdragsgiver ønsker at dataprogrammet, foruten å kunne brukes til de nevnte operasjoner, også skal kunne generere diverse typer statistikk.

    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.

    REGISTRERING

    Programmet skal kunne registrere alle artister, konserter og konsertlokaler som firmaet gjør bruk av i sin virksomhet. Det er umulig å kunne forutsi hvor mange det kan dreie seg om av hver av disse. Programmets datastruktur må ikke sette noen begrensninger på antallene.

    Registrering av artister

    For alle artister kreves registrert

    • navn, adresse, telefonnummer og e-post-adresse
    • hvilken musikksjanger (pop, rock, jazz, klassisk, ...)
    • en kort biografi (tidligere konserter, plateutgivelser, eventuell nettadresse etc.)
    • hvilke konserter artisten skal delta i (arrangert av dette firma).

    For enkeltutøvere kreves dessuten registrert

    • instrument(er).

    For grupper/orkestre kreves registrert

    • antall.

    Av andre ønsker, uten at dette er noe krav, har oppdragsgiver nevnt slikt som smakebiter fra musikken, bilder, videoer, anmeldelser av plateutgivelser og eventuelt konserter, turnéer, etc.

    Registrering av konsertlokaler

    Det kreves registrert

    • lokalets navn, adresse, telefonnummer, e-post-adresse og nettadresse
    • antall plasser
    • om lokalet har nummererte plasser eller ikke
    • musikksjanger (kan være flere, noen lokaler egner seg for noen typer musikk, andre lokaler for andre typer)
    • en kort beskrivelse av lokalet
    • hvilke konserter som skal holdes i dette lokalet (arrangert av dette firma)
    • pris for leie av lokalet

    Av andre ønsker, uten at dette er noe krav, har oppdragsgiver nevnt slikt som mer utfyllende informasjon om konsertlokalet med bilder, hvilke artister som har spilt der tidligere etc.

    Registrering av konserter

    For konserter kreves følgende registrert:

    • Hvilket lokale konserten skal holdes i.
    • Tidspunkt.
    • Hvilken musikksjanger det er (jf. beskrivelse av artist).
    • Hvilke artister som skal delta.
    • Eventuell dirigent (noen konserter har dirigent, andre ikke).
    • Program (kan være kortfattet).
    • Billettpris (for enkelhets skyld kan du anta at alle billetter på en konsert har samme pris).
    • Billettsalg (solgte og usolgte billetter, se nedenfor).
    • Om det fortsatt er noen ledige billetter.

    Når det gjelder musikksjanger, er det et krav at sjangeren til konserten må passe med sjangeren som konsertlokalet er beregnet for. For øvrig må en selvsagt unngå dobbeltbooking: Du kan anta at det i et konsertlokale bare kan holdes én konsert på hver dato.

    Når en konsert er avholdt, skal den fortsatt være registrert. En skal da kunne få ut opplysninger om hvor stor prosent av billettene som ble solgt og hvor store de samlede billettinntektene ble. Videre skal det, etter at en konsert er avholdt, i biografiene til alle artister som deltok i denne konserten, tilføyes opplysninger om dette i deres biografier. Det er også ønskelig at det i opplysningene om konsertlokalet tilføyes at de nevnte artister opptrådte i det på det aktuelle tidspunkt.

    Registrering av billettsalg

    Programmet må kunne registrere salg av billetter til en valgt konsert (forutsatt at konserten ikke allerede er holdt og at det fortsatt er ledige billetter). Hver solgt billett skal registreres med eventuelt plassnummer, navn på konsertlokale, dato, pris og telefonnummer for den som har kjøpt/reservert billetten. For enkelhets skyld kan du anta at i konsertlokaler med nummererte plasser er alle billetter nummerert fra 1 og opp til det antall plasser som er i vedkommende konsertlokale.

    SLETTING

    Det må være mulighet for at konserter kan bli avlyst, f.eks. på grunn av sykdom. Alle registrerte data for konserten skal da slettes fra programmets datastruktur. Men før sletting, skal det skrives ut (på skjermen) en liste over eventuelle solgte billetter til konserten, slik at kjøperne kan kontaktes og få refundert sine penger. (Dette skal ikke foretas av programmet, men av dem som bruker det.)

    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.

    SØKEMULIGHETER OG INFORMASJON

    Det er ønskelig at programmet har gode og fleksible søkemuligheter. Aktuelle ønsker er:

    Informasjon om

    • alle konserter: sted, tidspunkt og sjanger
    • alle konserter innen en valgt sjanger
    • alle artister: navn og musikksjanger
    • alle artister innen en valgt sjanger
    • alle konsertlokaler: navn, adresse, telefon, e-post-adresse, nettadresse, musikksjanger
    • alle data om en valgt artist, også hvilke konserter denne skal opptre i
    • alle data om en valgt konsert
    • alle data om et valgt konsertlokale, også hvilke konserter som skal holdes der
    • alle artister som skal opptre i et valgt konsertlokale
    • alle konserter i en gitt tidsperiode

    STATISTIKK

    Det er ønskelig at programmet skal kunne skrive ut diverse typer informasjon og statistikk. Det kan være

    • prosentvis belegg på konsertene i et gitt lokale
    • prosentvis belegg på konsertene til en gitt artist
    • totalt antall konserter (tidligere og framtidige) arrangert i hvert lokale
    • liste over de 10 mest inntektbringende artistene (totale billettinntekter for disse, fratrukket leie av lokalet)

    UTVIDELSESMULIGHETER

    Opplistingen av søkemuligheter og statistikk er å betrakte som eksempler. Dere står fritt når det gjelder hva dere vil implementere og også fritt i å supplere programmet med andre søkemuligheter.

    Oppdragsgiver har nevnt som et utvidelsesønske å få registrert anmeldelser av konserter som er holdt. Disse kan eventuelt knyttes til konserter og/eller artister. Det kan også tenkes generert statistikk på grunnlag av dette. Det er f.eks. ikke uvanlig nå til dags at anmelderne gir såkalte terningkast ved anmeldelser. Det kunne da f.eks. være av interesse å se hvilke artister som har fått terningkast 6, hvor mange ganger de har fått det etc.

    For øvrig er oppdragsgiver interessert i alle forslag til utvidelser som dere måtte ha, selv om det vil føre for langt å implementere dem i denne omgang.