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.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.
For alle artister kreves registrert
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.
Det kreves registrert
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.
For konserter kreves følgende registrert:
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.
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.
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.)
Det er ønskelig at programmet har gode og fleksible søkemuligheter. Aktuelle ønsker er:
Informasjon om
Det er ønskelig at programmet skal kunne skrive ut diverse typer informasjon og statistikk. Det kan være
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.