Dit project betreft de uitwerking van een formatieve toets. De opdracht test de voorkennis van studenten die beginnen aan het leren OOP programmeren. Maak onderstaande opdracht en gebruik de uitwerking om je eigen werk te controleren.
Opdracht: maak de applicatie zoals onder omschreven en volgens onderstaande modellen in C#.
Het doel van deze formatieve toets is om vast te stellen of de vereiste voorkennis aanwezig is voor het volgen van Web Application Development en om te identificeren welke onderdelen nog bijgeschaafd moeten worden.
Tijdsinschatting: Deze opdracht zou in één dag geprogrammeerd moeten kunnen worden.
Deze formatieve opdracht test of je de volgende onderwerpen beheerst:
- Classes maken - Definiëren van klassen zoals
Vehicle,CarOwnerenCommercialVehicle - Objecten maken - Instantiëren van objecten en gebruik van constructors
- Attributen en properties maken - Declareren van velden en properties met getter/setter
- Access modifiers - Correct gebruik van
public,protectedenprivate - Methods maken - Implementeren van methoden en business logic
- Encapsulation - Data hiding en het gebruik van properties voor gecontroleerde toegang
- Inheritance - Overerving van
VehiclenaarCommercialVehicle - Polymorphisme - Gebruik van virtual/override methoden (zoals
CheckLicensePlate()) - Data access layer maken - Implementatie van CRUD operaties in
DALSQLklasse - Database maken - Ontwerpen en implementeren van SQL Server database schema
De eigenaar van een autogarage wil bijhouden welke voertuigen bij welke eigenaar horen. Er bestaan gewone auto's en bedrijfswagens. Voor bedrijfswagens wordt een maximaal trekgewicht geregistreerd.
| ID | Requirement | Prioriteit |
|---|---|---|
| E1 | De garagehouder voegt een eigenaar toe | 100 |
| V1 | De garagehouder voegt een auto toe aan een eigenaar | 90 |
| V6 | De garagehouder voegt een bedrijfswagen toe aan een eigenaar | 80 |
| V5 | De garagehouder registreert het trekgewicht van een bedrijfswagen | 75 |
| A1 | De garagehouder bekijkt een lijst van eigenaren met bijbehorende voertuigen | 70 |
| V2 | De eigenaar wijzigt het kenteken van het voertuig | 60 |
| V3 | Het kenteken bestaat uit 8 karakters met exact twee koppeltekens | 60 |
| V4 | Het kenteken van een bedrijfswagen begint met een V | 60 |
| V7 | De garagehouder verwijdert een voertuig | 60 |
- Programmeertaal: .NET Core (versie 9.0)
- Applicatietype: Console applicatie
- Database: SQL Server 2019
- Architectuur: Minimaal 3 applicatielagen:
- UI (User Interface)
- Business Logic
- Data Access Layer
Het project implementeert het volgende conceptuele klassendiagram:
classDiagram
class CarOwner {
+string Name
}
class Vehicle {
+string? Description
+string LicensePlate
}
class CommercialVehicle {
+int TowingWeight
}
CarOwner "1" -- "0..*" Vehicle : owns
Vehicle <|-- CommercialVehicle
Klasse beschrijvingen:
-
CarOwner: Vertegenwoordigt een eigenaar van voertuigen
Name: string - Naam van de eigenaar
-
Vehicle: Basisklasse voor voertuigen
Description: string? - Beschrijving van het voertuigLicensePlate: string - Kenteken van het voertuig
-
CommercialVehicle: Erft over van Vehicle
TowingWeight: int - Trekgewicht van het bedrijfsvoertuig
Het systeem ondersteunt de volgende use cases:

Use Cases:
- UC1: Eigenaar toevoegen - De garagehouder kan nieuwe eigenaren registreren
- UC2: Lijst met eigenaren en voertuigen bekijken - Overzicht van alle geregistreerde gegevens
- UC3: Kenteken wijzigen - Wijzigen van kentekens van bestaande voertuigen (extends UC2)
- UC4: Voertuig verwijderen - Verwijderen van voertuigen uit het systeem (extends UC2)
- UC5: Voertuig toevoegen - Toevoegen van nieuwe voertuigen aan eigenaren (extends UC2)
Voor vragen over deze opdracht, neem contact op met de docent.
Belangrijk: Dit is een formatieve toets bedoeld om je voorkennis te testen. Neem de tijd om de concepten goed te begrijpen!