Casus


In deze cursus maken we gebruik van het volgende praktijkvoorbeeld. Van te voren willen we wel duidelijk maken dat het voorbeeld nog niet compleet is. Echter om de theorie duidelijk te maken willen we het niet te ingewikkeld maken.

Garagebedrijf Nieuwenhuis

Garagebedrijf Nieuwenhuis is een klein garagebedrijf in het Brabantse Maasdonk. Cees Nieuwenhuis is de eigenaar van het bedrijf. Cees nadert zijn pensioen gerechtigde leeftijd en wil daarom zijn bedrijf laten overnemen door zijn kleinzoon Dirk-Jan Nieuwenhuis die nu nog bij een groot garagebedrijf in Eindhoven werkt.
Dirk-Jan heeft daar wel oren naar, maar wil het bedrijf wat informatievoorziening aan de mogelijkheden van de 21ste laten voldoen. Cees gebruikt tot nu toe een Excel worksheet om zijn boekhouding bij te houden. Zijn klantenbestand is ook in een Excel worksheet opgeslagen. Er is ook een website, die biedt echter alleen een kleine beschrijving en de adresgegevens van het bedrijf.
Dirk-Jan wil graag een webapplicatie waarin alles wat met gegevens in het bedrijf te maken heeft kan worden opgeslagen en verwerkt. Hij heeft echter niet genoeg kennis in huis om een dergelijk systeem te bouwen. Jij hebt de opdracht gekregen om en systeem voor hem op te zetten.
In een eerste gesprek hebben jullie het volgende overdacht. De website moet mooier woren en meer verhalen over het bedrijf en de werknemers. Het moet een familiebedrijf blijven. De uitstraling moet ook zo zijn dat een bezoekende klant het ons kent ons gevoel ook krijgt. Mensen die een dergelijk gevoel waarderen is precies de doelgroep van Dirk-Jan. De afstandelijkheid van zijn vorige bedrijf stond hem tegen, ondanks de hoge kwaliteit van het geleverde werk.
Behalve deze familiegezelligheid moet een klant producten kunnen bestellen. Een product kan een ding zijn zoals een ruitenwisser maar ook een dienst zoals winterbanden monteren. Klanten moeten na het vullen van een winkelmand inloggen om een bestelling (ofwel order) te bevestigen en te betalen. Natuurlijk kan een klant ook gewoon langskomen en daar bij een medewerker zijn wensen kenbaar maken. De medewerker voert dan de order in. Medewerkers moeten dus ook in het systeem kunnen inloggen. Niet alleen om orders in te voeren maar ook om werkzaamheden bij zo'n order te melden. B.v. "Henk heeft een op maandag een nieuwe uitlaat gemonteerd. De order verwacht nu ook nog een installatie van een nieuw audio systeem, maar het systeem is nog niet binnen. Als het systeem binnen is zal Ahmed de montage doen."
Het systeem moet ook orders kunnen tonen (zowel aan medewerkers als klanten), maand en kwaartaal raporten kunnen produceren. De verjaardagen van klanten en medewerkers komen op wekelijkse basis op de website te staan.

In de volgende hoofdstukken zal je op basis van dit eerste gesprek een systeem gaan ontwikkelen.

  • Eerst zorg je voor een Data Flow Diagram dat als basis voor de communicatie met Dirk-Jan en als basis voor het te ontwikkelen systeem moet gaan dienen.
  • Vervolgens ontwerp je een entiteit relatie model (ERM) voor de database en maak je de grafische weergave daarvan (ERD = entiteit relatie diagram). Ook dit model is belangrijk voor zowel de communicatie met Dirk-Jan alswel de implementatie van de database zelf en de ontsluiting van de database door de server applicatie.
  • Kennis van de vorige begrippen heb je nodig voor de toets binnen het PTA. Voor de toets heb je ook de kennis van database programmeertaal SQL nodig. De voor de toets nodige technieken leer je in hoofdstukken 5 en 6.
  • Met bovenstaande kennis maak een DFD, ERM en een server applicatie voor een "fictief" bedrijf. De basistechnieken worden behandelt aan de hand van het garagebedrijf, jij past deze code aan voor jouw bedrijf.

In de opdrachten wordt vaak verwezen naar modulen VII en VIII in boek Fundament Informatica. Zorg dus dat je je boek in deze lessen meeneemt!