Inlämningsuppgift

Inlämningsuppgift 4 – Skapa ett digitalt bibliotekssystem

Bygg ett modulärt Pythonprogram som sparar och söker böcker i en SQLite-databas.

Uppgift

Du ska skapa ett enklare bibliotekssystem där användaren kan:

  • Lägga till en ny bok med titel och författare.
  • Söka efter böcker.
  • Visa alla böcker.
  • Lagra och läsa data från en SQLite-databas.
  • Ha programmet uppdelat i minst två egna moduler.

Syfte

Syftet med uppgiften är att du ska tillämpa dina kunskaper om:

  • Fil- och databashantering.
  • Undantagshantering med try/except.
  • Uppdelning av koden i moduler och funktioner.
  • Kodstandard och struktur.

Tekniska krav

  • Skapa en databasfil, till exempel bibliotek.db.
  • Databasen ska innehålla en tabell bocker med kolumnerna id, titel och forfattare.
  • Använd sqlite3 för databasoperationer.
  • Dela upp programmet i minst två moduler, till exempel databas.py och main.py.
  • Implementera en enkel meny i main.py.
  • Använd try/except vid all fil- och databashantering.
  • Koden ska vara läsbar, kommenterad och följa kodstandard.

Repetera innan du börjar

  • Kap 3.7 - egna moduler och import.
  • Kap 4.3 - kodstandard och struktur.
  • Kap 4.5 - använda SQLite-databaser.
  • Kap 4.6 - miniuppgift med SQLite-databas.

Validering och fel som ska hanteras

  • Tom titel ska inte sparas.
  • Tom författare ska inte sparas.
  • Tom sökning ska ge ett tydligt meddelande i stället för att visa alla böcker.
  • Databasfel ska fångas med try/except så programmet inte kraschar direkt.

Exempel på användarflöde

1. Lägg till bok
2. Sök bok
3. Visa alla böcker
4. Avsluta

Checklista inför inlämning

  • Programmet kan köras utan fel.
  • Koden är uppdelad i minst två moduler.
  • Du använder minst en funktion från varje modul.
  • Du hanterar undantag vid databasanrop.
  • SQL används för att spara och läsa data.
  • Programmet är kommenterat och lätt att följa.
  • Du har testat att lägga till och visa flera böcker.

Testfall

Test Indata Förväntat resultat
Lägg till bok Titel: "Project Hail Mary", Författare: "Andy Weir" Boken sparas i databasen.
Tom titel Titel: "", Författare: "Andy Weir" Programmet visar felmeddelande och sparar inte boken.
Sök bok Sökord: "Project" Matchande bok visas.
Tom sökning Sökord: "" Programmet ber användaren skriva ett sökord.

Förväntade kunskaper och färdigheter

  • Skapa och använda en SQLite-databas i Python.
  • Strukturera kod med funktioner och moduler.
  • Följa god kodstandard och arbeta med tydlig felhantering.
  • Göra en enkel analys av syfte och användarbehov i programupplägget.

Tips på struktur

Låt databas.py innehålla funktioner som skapar tabellen, lägger till böcker, söker och hämtar alla böcker. Låt main.py innehålla menyn och anropa funktionerna från databas.py.

Det här ska lämnas in

  • main.py.
  • databas.py.
  • Eventuell databasfil om läraren vill kontrollera sparad data.
  • En kort lista över testfall du har provat.
  • En kort kommentar om hur du delat upp koden mellan modulerna.

Till startsidan