Laten we een context en DFD van niveau 0 creëren voor een eenvoudige online boekwinkel. Dit zal het proces illustreren en het gemakkelijker maken om te begrijpen hoe dit op andere systemen kan worden toegepast.
Scenario: Klanten kunnen door boeken bladeren, ze aan een winkelwagentje toevoegen, afrekenen en betalen met een creditcard. Het systeem beheert de voorraad en de orderverwerking.
1. Contextdiagram (niveau 0,0): Dit toont het systeem als een enkel proces dat interactie heeft met externe entiteiten.
```
+----------------+ +----------------+ +----------------+
| Extern |---->| Online boekwinkel |---->| Extern |
| Entiteiten | | Systeem | | Entiteiten |
+----------------+ +----------------+ +----------------+
^ |
| Klant (browsen, bestellen, betalen) |
| v
|--------------------------------------|
| |
| Leverancier (voorraadbeheer) |
|--------------------------------------|
```
* Externe entiteiten: Klant, Leverancier (Deze vallen buiten de controle van het systeem.)
* Online boekwinkelsysteem: Dit is het hele systeem weergegeven als één enkel proces. De pijlen vertegenwoordigen gegevensstromen.
2. Niveau 0-diagram (niveau 0): Hierdoor wordt het systeem opgesplitst in de belangrijkste processen.
```
+----------------+ +----------------+ +----------------+ +----------------+
| Klant |---->| Catalogus doorbladeren |---->| Voeg toe aan winkelwagen |---->| Afrekenen |
+----------------+ +----------------+ +----------------+ +----------------+
| ^
| |
| Betaalinformatie | Orderbevestiging
v |
+----------------+ +----------------+ +----------------+ +----------------+
| Betaling verwerken |---->| Voorraad bijwerken|---->| Bestellingen beheren |---->| Leverancier |
+----------------+ +----------------+ +----------------+ +----------------+
```
* Processen:
* Door catalogus bladeren: Haalt boekinformatie op uit de database.
* Toevoegen aan winkelwagen: Voegt geselecteerde boeken toe aan het winkelwagentje van de klant.
* Afrekenen: Start het afrekenproces.
* Betaling verwerken: Verwerkt de betaling van de klant met behulp van een betalingsgateway.
* Voorraad bijwerken: Werkt de inventarisdatabase bij nadat een bestelling is geplaatst.
* Beheer bestellingen: Beheert bestelgegevens en statussen.
* Gegevensstromen (gelabelde pijlen): Deze vertegenwoordigen de gegevens die tussen processen bewegen. 'Betalingsinformatie' stroomt bijvoorbeeld van 'Afrekenen' naar 'Betaling verwerken', en 'Orderbevestiging' stroomt van 'Bestellingen beheren' naar de 'Klant'.
* Gegevensopslag (niet expliciet weergegeven maar impliciet): Een database (of databases) zou boekinformatie, klantgegevens, voorraadniveaus en bestelgegevens opslaan. Deze worden meestal weergegeven als tweezijdige rechthoeken in een DFD.
Uitleg van elementen:
* Externe entiteiten: Actoren of systemen buiten de grenzen van het systeem die ermee interacteren.
* Processen: Gegevens transformeren; het zijn de acties of activiteiten binnen het systeem.
* Gegevensstromen: Toon de beweging van gegevens tussen processen en entiteiten. Ze moeten duidelijk worden geëtiketteerd met beschrijvende namen.
* Gegevensopslag: (Hier geïmpliceerd, maar meestal weergegeven als rechthoeken met een open einde) Geef aan waar gegevens zijn opgeslagen, zoals databases of bestanden.
Dit voorbeeld toont een vereenvoudigde boekwinkel. Een systeem in de echte wereld zou meer processen en gegevensstromen hebben, maar dit demonstreert de fundamentele concepten van context en DFD's van niveau 0. Vergeet niet om alle gegevensstromen duidelijk te labelen om het begrip te vergroten. U kunt deze structuur aanpassen om uw eigen systeem te modelleren door de processen en gegevensstromen te vervangen door de processen en gegevensstromen die relevant zijn voor uw specifieke toepassing. |