Biblioteket i byen har brug for at modernisere deres udlånssystem. I øjeblikket foregår udlån og registrering af bøger manuelt, hvilket er tidskrævende og fører til fejl. Biblioteket ønsker derfor at få udviklet et simpelt, men effektivt system, der kan holde styr på bøger, brugere og udlånsprocessen.
Biblioteket har bedt jer om at udvikle et udlånssystem, der skal kunne:
- Registrere bøger i systemet med titel, forfatter og status (udlånt eller ledig).
- Håndtere brugere, der ønsker at låne eller returnere bøger.
- Administrere udlån, herunder at gemme oplysninger om hvem, der låner hvad, og hvornår materialet skal afleveres igen.
- Give mulighed for at tilføje forskellige materialetyper som bøger, magasiner og DVD'er.
- Have kapacitet til at skelne mellem forskellige typer materialer, såsom bøger, magasiner og DVD’er, som kan have forskellige låneperioder eller regler.
Systemet skal som minimum kunne:
- Registrere nye bøger og materialer i biblioteket med oplysninger som titel, forfatter/instruktør og materialetype (bog, magasin, DVD).
- Håndtere udlån, så bøger kan lånes af registrerede brugere. Systemet skal opdatere bogens status, så den er markeret som udlånt.
- Håndtere returnering, så bøger kan afleveres og systemet igen markerer dem som ledige.
- Administrere brugere med navn og ID, så man kan registrere, hvem der har lånt en given bog.
- Systemet skal være brugervenligt og simpelt at betjene via konsolbaserede kommandoer.
- Data om udlån og brugere skal gemmes under kørsel af programmet (f.eks. i arrays eller lister).
Hvis I har tid og ressourcer, kan I overveje at tilføje følgende funktioner:
- Reserveringssystem, så brugere kan reservere en bog, når den er udlånt.
- Påmindelser om aflevering via en simpel besked, der vises i konsollen, når en bog skal afleveres.
- Forskellige låneperioder for forskellige materialetyper (f.eks. kortere tid for magasiner end for bøger).
Ved slutningen af projektet forventes det, at I kan:
- designe og udvikle et simpelt program, der opfylder bibliotekets behov for at udlåne og modtage materialer.
- vise jeres klassediagrammer for systemet, som visualiserer sammenhængen mellem de forskellige klasser som Bog, Bruger og Bibliotek.
Samt at I har:
- Implementeret et simpelt udlånssystem, der gør det muligt at oprette bøger, brugere og udlån.
- Udviklet et system, der demonstrerer grundlæggende OOP-koncepter som klasser og objekter.
- Introduceret polymorfi og nedarvning ved at have en Medie-superklasse og underklasser for forskellige materialetyper (f.eks. bøger, magasiner, DVD’er).
For at kunne designe systemet bedst muligt skal I først indhente oplysninger fra en bibliotekar om, hvordan bibliotekets processer fungerer. Brug Generativ Artificial Intelligence (GAI) til at agere som bibliotekar og stil spørgsmål, der hjælper jer med at forstå, hvilke funktioner systemet skal have. Nedenfor er der en prompt i kan give GAI.
“Du er en bibliotekar, der arbejder på et mellemstort bibliotek. Vi er elever, der skal udvikle et simpelt system til at håndtere udlån og returnering af bøger som en del af et skoleprojekt. Vi vil gerne stille dig nogle spørgsmål for at forstå, hvordan I normalt håndterer denne proces. Kan du hjælpe os?”
Hvilke spørgsmål skal I stille for at få den information i har brug for?
Brug informationen til at lave et klasse diagram over jeres program.