Deze website is een hulpmiddel bij P2-K1. De officiële examendocumenten en beoordelingscriteria blijven leidend.

De uitleg helpt je op weg. Lees altijd het examendocument op itslearning goed door en controleer wat er voor jouw opdracht gevraagd wordt.

P2-K1-W2

W2 - Automatiseren

Bouw het programma dat je bij W1 hebt ontworpen. Test of het werkt en leg uit hoe je code is opgebouwd.

Wat ga je doen?

  1. Kijk terug naar het goedgekeurde ontwerp uit W1.
  2. Schrijf je programma en leg functies en gegevensstromen uit.
  3. Test de normale situatie, een fout en een randgeval.
  4. Lever je code, documentatie, bewijs en AI-verantwoording in.

Lees altijd het examendocument op itslearning goed door. Lees het onderdeel W2 voordat je begint met programmeren. Controleer ook welke code, tests en bewijsstukken je moet inleveren. Stel een vraag als iets onduidelijk is.

Hulp bij de code? Bekijk de Python-cheatsheet voor korte voorbeelden.

Klik op een onderwerp om de uitleg te openen.

1. Welk proces automatiseer je?

Gebruik W1 als beginpunt. Benoem het handmatige proces, de gebruiker, de programmastappen, benodigde gegevens en de opbrengst van de automatisering.

Onderbouw je proceskeuze

Beschrijf wie het proces uitvoert, hoe vaak, de huidige problemen en minimaal twee aspecten die automatisering geschikt maken: repeterend, foutgevoelig, tijdrovend of vaste stappen. Benoem naam, doel, input en output en formuleer het verwachte resultaat SMART.

Voor de hoogste score noemt de beoordelingsonderlegger ook het analyseren van meerdere processen, het onderbouwen van de beste keuze en het aantonen van tijdwinst.

2. Opbouw van het programma

Laat zien dat je programmeerconcepten begrijpt. Gebruik ze waar ze een functie hebben in jouw oplossing. De kleine voorbeelden hieronder zijn uitleg; schrijf eigen code voor je eigen casus.

Variabelen en datatypes

Een variabele bewaart een waarde. Een string bevat tekst, een integer een geheel getal en een boolean is True of False. Kies namen die vertellen wat erin staat.

voornaam = "Sam"       # str: tekst
afdeling = "ICT"       # str: tekst
actief = True          # bool: waar/onwaar
aantal_accounts = 2    # int: geheel getal

Input en output

Met input ontvang je gegevens; met output geef je een resultaat terug. Python-input is tekst. Controleer de waarde voordat je die gebruikt.

voornaam = input("Voornaam: ").strip()
if voornaam:
    print(f"Medewerker {voornaam} wordt verwerkt.")
else:
    print("Vul een voornaam in.")

Beslissingen: if / elif / else

Een beslissing kiest welke actie nodig is. Houd het bepalen van een accounttype apart van de controle of de huidige gebruiker die actie mag uitvoeren.

if afdeling == "ICT":
    rechten = "ICT-gebruiker"
elif afdeling == "HR":
    rechten = "HR-gebruiker"
else:
    rechten = "standaard-gebruiker"

Herhalen: for en while

Een for-loop verwerkt bijvoorbeeld alle accounts in een lijst. Een while-loop herhaalt zolang een voorwaarde waar is. Zorg dat de while-loop kan stoppen.

accounts = ["sam.voorbeeld", "noor.voorbeeld"]
for account in accounts:
    print(f"Controleer account: {account}")

voornaam = ""
while not voornaam:
    voornaam = input("Voornaam (verplicht): ").strip()
print(f"Invoer ontvangen: {voornaam}")

Functies en een logisch algoritme

Een functie bundelt een herbruikbare taak. Een algoritme is de logische volgorde van stappen: eerst controleren, dan verwerken, vervolgens opslaan en het resultaat tonen.

def maak_gebruikersnaam(voornaam, achternaam):
    return f"{voornaam.strip()}.{achternaam.strip()}".lower()

gebruikersnaam = maak_gebruikersnaam("Sam", "Voorbeeld")
print(gebruikersnaam)

Dit voorbeeld maakt een gebruikersnaam, geen echt account. Ontwerp daarnaast functies voor validatie, autorisatie, accountverwerking en opslag. Controleer ook of gebruikersnamen uniek zijn.

Foutafhandeling

Een professioneel programma geeft bruikbare feedback als iets fout gaat. Vang verwachte fouten gericht af. Onderdruk geen fouten zonder melding of herstelactie.

try:
    aantal = int(input("Aantal accounts: "))
    if aantal < 1:
        print("Het aantal moet minimaal 1 zijn.")
    else:
        print(f"Te verwerken: {aantal}")
except ValueError:
    print("Vul een geheel getal in.")

Vang bij een databaseverbinding de specifieke fouten van je gekozen driver af. Toon geen wachtwoorden of technische verbindingsdetails in een melding voor de gebruiker.

Modules en verbindingen

Deel grotere code op in logische modules, bijvoorbeeld validatie.py en database.py. Gebruik bestanden, API’s of databaseverbindingen wanneer je casus dat vraagt. Benoem de gebruikte libraries en versies in je documentatie.

Sequenties en regelnummers

Een sequentie is de volgorde van instructies. Leg met regelnummers uit waarom je eerst valideert, dan verwerkt en daarna opslaat. Wijs ook variabelen, datatypes, conditionals en loops in je eigen code aan en leg de stopconditie van iedere loop uit.

Het W2-invuldocument vraagt in 4.2.2 minimaal 6 variabelen, terwijl de eindcontrole minimaal 3 noemt. Werk voorlopig 6 relevante variabelen uit en laat je docent de afwijking bevestigen. De eindcontrole vraagt minimaal 3 verschillende datatypes; beschrijf daarnaast alle gebruikte datatypes en waarom ze passen.

Variabele Regelnr. in eigen code Datatype Doel
voornaam Vul het echte regelnummer in str Naam uit invoer
afdeling Vul het echte regelnummer in str Accounttype bepalen
actief Vul het echte regelnummer in bool Status bijhouden

Deze drie regels zijn alleen een voorbeeld; werk de relevante variabelen van jouw programma uit.

3. Componenten en relaties

Maak inzichtelijk uit welke onderdelen de oplossing bestaat en hoe ze communiceren. Een eenvoudig componentdiagram is voldoende als je ieder onderdeel en de gegevensstromen uitlegt.

Gebruiker→Python-applicatie→Validatie & rechten→Database→Resultaat
Onderdeel Taak Gegevens die heen en weer gaan
Gebruikersinterface Invoer verzamelen en output tonen Medewerkergegevens, bevestiging of foutmelding
Applicatielogica Valideren, bevoegdheid controleren, acties bepalen Gevalideerde invoer en verwerkingsresultaat
Databaselaag Verbinden en query’s uitvoeren Parameters, opgeslagen gegevens en queryresultaten

Leg functie-aanroepen vast

Het W2-document vraagt om de tien belangrijkste functies waarmee je begrip aantoont. Beschrijf alle functies/modules en noteer wie wie aanroept, argumenten, returnwaarde en de logica. Bespreek met je docent hoe je het formulier invult als je ontwerp minder dan tien functies nodig heeft; voeg geen zinloze functies toe.

Aanroepende functie Roept aan Argumenten Returnwaarde
main() valideer_medewerker() medewerkergegevens Geldig/ongeldig en foutmeldingen
main() sla_medewerker_op() Gevalideerde gegevens ID of verwerkingsresultaat

Leg ook de data flow vast per stap: welke data, waar deze vandaan komt en waar deze naartoe gaat. Voeg de flowchart toe; een globaal componentdiagram alleen dekt deze invulvelden niet.

4. Werkende code en testen

Het programma moet daadwerkelijk functioneren. Demonstreer de normale situatie, ongeldige invoer, fouten, beslissingen, meerdere gegevens en juiste output.

Noteer per test de eis, invoer, verwachte uitkomst, werkelijke uitkomst, geslaagd/mislukt en bewijs. Voer de test echt uit; onderstaande uitkomsten zijn verwachtingen.

Test Invoer / situatie Verwacht resultaat
1. Correcte medewerker Alle verplichte velden ingevuld, bevoegde gebruiker Medewerker opgeslagen; afgesproken accountactie uitgevoerd; bevestiging
2. Leeg verplicht veld Voornaam ontbreekt Duidelijke melding; geen onvolledige registratie
3. Onvoldoende rechten Gebruiker zonder beheerrechten start beheerfunctie Actie geweigerd; geen wijziging
4. Database onbereikbaar Testserver tijdelijk gestopt Begrijpelijke foutmelding; geen onterechte succesmelding
5. Meerdere medewerkers Lijst met geldige en ongeldige records Ieder record gecontroleerd; resultaten per record zichtbaar

Evaluatie en reflectie

Vat je tests samen en vergelijk het resultaat met de SMART-doelen. Meet de tijd vóór en na automatisering, beschrijf welke fouten worden voorkomen, de concrete voordelen en verbeterpunten of uitbreidingen. Vul geen verzonnen meetresultaten in.

5. Documentatie

Gebruik duidelijke namen, logisch benoemde functies en comments waar ze iets uitleggen. Beschrijf hoe iemand het programma installeert, start en gebruikt. Noem benodigde libraries en bekende beperkingen.

# Naam applicatie
## Doel
Welk proces wordt geautomatiseerd en voor wie?
## Benodigdheden
Python-versie, libraries, databaseserver en testgegevens.
## Installatie
Stappen om de testomgeving en dependencies klaar te zetten.
## Starten
Exact startcommando en benodigde configuratie.
## Werking
Invoer, proces, output en benodigde rechten.
## Testen
Hoe voer je tests uit en waar staan de resultaten?
## Bekende beperkingen
Wat is nog niet ondersteund of valt buiten scope?

Wat moet je technisch documenteren?

Onderdeel Wat vul je in?
Systeemvereisten Hardware (processor, RAM, schijfruimte), OS, runtime, libraries met versies en benodigde rechten.
Installatie en gebruik Stappen, startcommando, parameters en concrete gebruiksvoorbeelden.
Input/output Bestandsformaat, verplichte velden, geldige voorbeeldregel, outputlocatie en loginhoud.
Troubleshooting Foutmelding, oorzaak en oplossing in een tabel.
Commentaar Header met studentnummer, datum en doel; functie-uitleg met parameters en returnwaarde; uitleg bij complexe code en vaste waarden.
Beveiliging en privacy Wachtwoorden buiten code, wie mag uitvoeren, omgaan met gevoelige logs en persoonsgegevens.

Het document vraagt verplicht om commentaar in de code. Gebruik je studentnummer als auteursverwijzing vanwege de instructie om nergens je naam te gebruiken.

Versiebeheer en logboek

Bewaar versies tijdens bouwen, testen en verbeteren, bijvoorbeeld met Git. Schrijf bij wijzigingen wat je veranderde en waarom. Als je afwijkt van W1, leg je dat uit in je W2-verslag.

Voeg een logboek toe: datum, tijd, activiteit en resultaat. Bewaar ook de communicatie over de oplevering aan je opdrachtgever.

6. Wat moet ik bewaren?

AI-verantwoording invullen

Lever bij W2 een aparte AI-verantwoording in. Ook als je geen AI hebt gebruikt.

Download het meest recente AI-formulier op itslearning.

  1. Vul de scanpagina in: studentnummer, datum, werkproces en of je AI gebruikte.
  2. Geen AI gebruikt? Kies “Nee” en ga direct naar de eindverklaring in sectie 3.
  3. Wel AI gebruikt? Vermeld de tool en het model als je dat weet. Vul de overzichtstabel in.
  4. Beschrijf de belangrijkste AI-momenten: datum, tool, je probleem, de exacte prompt en een korte samenvatting van het antwoord.
  5. Voeg een screenshot toe waarop jouw vraag en het antwoord zichtbaar zijn. Beschrijf wat je gebruikte, aanpaste of niet gebruikte, welke fouten je vond en hoe je die oploste.
  6. Wijs het resultaat aan: bestandsnaam, regelnummers of pagina en een fragment van maximaal 15 regels uit je eindproduct.
  7. Vul de eindverklaring in en onderteken die. Je screenshots moeten echt en onbewerkt zijn. Je moet je eigen werk kunnen uitleggen.

Gebruik zoveel blokken als nodig. Je hoeft de ongebruikte blokken niet in te vullen.

Sla op als P2K1W2_AI-verantwoording_studentnummer.docx. Het algemene formulier noemt examencode_AI-verantwoording_studentnummer.docx; de PvB-informatie geeft bovenstaande naam voor W2.

Eindcheck W2

Lees altijd het examendocument op itslearning goed door. Vergelijk je werk vóór het inleveren met de officiële opdracht en beoordelingscriteria. Alleen deze checklist afvinken is niet voldoende. Stel een vraag als iets onduidelijk is.

Jouw voortgang0 / 24 afgevinkt

Je vinkjes worden lokaal bewaard en gedeeld met de algemene eindcheck.