1 FACULTEIT DER INFORMATICA Kenmerk: INF00/IS-vdW Datum : 23 november 2000 TENTAMEN INFORMATIESYSTEMEN (212010) 1 december 2000, 09:00 – 12:30 uur Dit tentamen bestaat uit twee deeltoetsen. U dient van tevoren bij het invullen van het cijferbriefje aan te geven óf u alleen de eerste toets maakt, óf alleen de tweede toets, óf het gehele tentamen. Als u een bepaalde toets maakt, komt een eventueel eerder behaald cijfer voor deze toets te vervallen. Degenen die alleen de eerste toets maken, maken opgaven 1 en 2. U hebt hiervoor van 09.00 tot 11.30 uur de tijd. Degenen die alleen de tweede toets maken, maken opgaven 3 en 4. U hebt hiervoor van 09.00 tot 10.30 uur de tijd. Degenen die het gehele tentamen afleggen maken alle opgaven. U hebt hiervoor van 09.00 tot 12.30 uur de tijd. Eindcijfer voor het vak Informatiesystemen = (2*(cijfer toets I) + cijfer toets II)/3. Voorwaarde voor het geven van het eindcijfer is dat voor beide toetsen minimaal 4.0 moet zijn behaald. REGULIERE VERSIE (niet voor herhalers)
Toets I Normering van de vraagstukken 1. 50 pt, 2. 50 pt. Eindcijfer toets I = (totaal aantal punten behaald voor de opgaven)/10. Casusbeschrijving Reisbureau voor opgave 1 en 2 Het reisbureau REIS-RAAK biedt diverse vliegreizen op maat aan. Voor de ondersteuning van de administratieve afhandeling van deze reizen is een informatiesysteem gewenst. Voor dit informatiesysteem zijn de volgende feiten van belang: • •
•
•
Het reisbureau REIS-RAAK verkoopt alleen reizen op maat naar bepaalde plaatsen in een aantal landen, dus er is geen sprake van rondreizen of groepsreizen, maar van op wensen van de klant samengestelde reis. Van de plaatsen van bestemming wordt door het reisbureau vastgelegd: de plaatsnaam, land, omschrijving, alsmede voor iedere maand van het jaar de gemiddelde dagtemperatuur en het gemiddeld aantal uren zonneschijn per dag. Het reisbureau onderhoudt kontakten met de VVV’s van plaatsen van bestemming. Deze VVV’s sturen (per e-mail) regelmatig gegevens over een aantal hotels in die plaats (hotelnaam, adres, telefoonnummer, hotelklasse (zoals toerist, midden, eerste, luxe), en de inkoopprijzen (wat het reisbureau dient te betalen) voor een overnachting per persoon). Het hoofd van het reisbureau selecteert vervolgens een aantal hotels die kunnen worden aangeboden aan de klanten van het reisbureau voor de samenstelling van de reizen. De gegevens van niet geselecteerde hotels worden verwijderd. De genoemde VVV’s sturen ook (per e-mail) overzichten van beschikbare excursies en evenementen ter plekke. Van excursies en evenementen is gegeven de omschrijving, de data en de inkoopprijs. Van evenementen is bovendien gegeven de categorie (bijvoorbeeld opera, musical, jazzfestival, ballet enz.) van een evenement. Ook daaruit
•
maakt het hoofd van reisbureau een selectie, waarna de gegevens van niet geselecteerde excursies en evenementen worden verwijderd. Verder krijgt het reisbureau van een aantal luchtvaartmaatschappijen de gegevens van vluchten (luchtvaartmaatschappij, vluchtnummer, vliegdatum, vertrektijdstip en aankomsttijdstip, inkoopprijs) van Schiphol naar de bestemmingen en van de bestemmingen naar Schiphol. Elke uitvoering van een vlucht heeft een ander nummer. Een vlucht duurt hoogstens één dag. Ook hier wordt door het hoofd van het reisbureau een selectie gemaakt en worden de overige gegevens verwijderd.
•
Van de overnachtingen van alle geselecteerde hotels, excursies, evenementen, en vluchten wordt door het hoofd van het reisbureau de verkoopprijs (de prijs die de deelnemer dient te betalen) vastgesteld
•
Bij het boeken van een reis wordt door een medewerker van het reisbureau van elke klant vastgelegd: naam, adres en telefoonnummer. Ook worden de naam, adres, telefoonnummer en het paspoortnummer van alle deelnemers aan de reis vastgelegd. Vervolgens krijgt de klant de keuze op welke datum hij/zij wil vertrekken en op welke datum de terugkeer zal plaats vinden. Vervolgens kan de klant uit de beschikbare vluchten naar en van de verlangde bestemming kiezen. Omdat de reizen op maat dienen te zijn kan het voorkomen dat de klant geen gebruik maakt van de vluchten omdat de klant op eigen gelegenheid reist, en/of de klant geen gebruik maakt van een hotel omdat bijvoorbeeld bij familie wordt overnacht, en/of de klant aan geen excursie wil deelnemen of aan geen evenement wenst te deel te nemen. Wat de klant op eigen houtje organiseert valt niet onder verantwoording van het reisbureau en de betreffende gegevens worden vanzelfsprekend niet vastgelegd bij het reisbureau.
•
•
Binnen veertien dagen na de boeking dient een aanbetaling van 5% van de totale reissom door het reisbureau te zijn ontvangen, anders komt de boeking te vervallen. Minimaal zes weken voor vertrek moet het gehele bedrag zijn betaald. Minimaal twee weken voor vertrek stuurt het reisbureau alle reisbescheiden (vluchtschema, ticket, reserveringsbewijzen voor het hotel, de excursies en evenementen) op aan de klant.
•
Aan het eind van elke maand wordt vastgesteld wat de totale verkoop van die maand is geweest en voor welk bedrag het verkocht is ingekocht.
Opgave 1: Entity Relationship Diagram. Maak een entity relationship diagram voor de bovenbeschreven casus. Benoem de entiteittypen en relaties in het model en geef de multipliciteiten van relaties. Geef bij ieder entiteittype de attributen aan. Opgave 2: Functioneel model. Maak voor de bovenbeschreven casus een context diagram en een (top level) dataflow diagram. Licht waar nodig heel kort de door u gemaakte keuzen toe. Maak de teksten in het contextdiagram en het DFD zoveel mogelijk zelfverklarend. Als u afkortingen in een diagram heeft gebruikt, geef dan ook (waar nodig) de volledige omschrijving onder, boven of naast het diagram. SCHRIJF DUIDELIJK!!
3
Toets II Normering van de vraagstukken 3. 70 pt. 4. 30 pt. Eindcijfer toets II = (totaal aantal punten behaald voor de opgaven)/10.
Casusbeschrijving Woningbouwvereniging voor opgave 3 en 4 De woningbouwvereniging ‘Ons woongenot’ beschikt over woningen die worden verhuurd. Voor de administratie van de woningen, de huidige huurders, en de personen die een woning willen huren wil de woningbouwvereniging een geautomatiseerd informatiesysteem laten ontwikkelen. Voor dit informatiesysteem zijn de volgende feiten van belang: •
De vereniging beschikt over woningen waarvan de volgende gegevens beschikbaar dienen te zijn: straatnaam, huisnummer, huurprijs, aantal kamers, aantal kubieke meters inhoud, of al of niet een tuin aanwezig is. Tevens is vastgelegd de wijk waarin de woning zich bevindt. • Er zijn drie categorieën woningen: appartementen, eengezinswoningen, bungalows. Voor eengezinswoningen en bungalows is de kavelgrootte vastgelegd, en voor appartementen de verdieping waarop de ingang van het appartement zich bevindt. • Van een wijk wordt vastgelegd de naam van de wijk, de ligging (o.a. platteland, stadsrand, binnenstad, rustig stadsdeel) en de soort wijk (o.a. volkswijk, villawijk). De gegevens over woningen en wijken worden door het bestuur van de woningbouwvereniging bijgehouden. •
Van een huurder van een woning dient bekend te zijn de naam, geboortedatum, geslacht (vrouw/man), telefoonnummer. Uiteraard dient ook bekend te zijn welke woning zij/hij heeft gehuurd en wat de ingangsdatum was van de huurovereenkomst. Een huurder kan maar één woning tegelijk huren. Ook al zijn er meerdere huisgenoten, er is maar één van hen de huurder van de woning.
•
Personen die een woning van de woningbouwvereniging willen huren moeten een inschrijfformulier indienen. Wat betreft de persoonlijke gegevens van de toekomstige huurders moet de naam, geboortedatum, geslacht (vrouw/man), de huidige straatnaam en het huisnummer, het telefoonnummer, het salaris en het sofi-nummer worden ingevuld. De toekomstige huurder moet verder vermelden welke prijsklasse, woning-categorie (slechts één categorie is toegestaan), ligging en soort wijk en de aanwezigheid van een tuin de toekomstige huurder voor de gewenste woning in gedachte heeft, en of de huurder alleenstaand, samenwonend, gehuwd of deel uitmakend van een woongroep is. Eventueel kan de voorkeur voor een specifieke wijk worden opgegeven. Er wordt onderscheid gemaakt tussen twee soorten inschrijvingen: inschrijvingen met urgentie en inschrijvingen zonder urgentie. Bij inschrijvingen met urgentie wordt door een medewerker van woningbouwvereniging, die het inschrijfformulier met de toekomstige huurder doorneemt, de urgentiegraad vastgelegd. Het aantal inschrijvingen met urgentie wordt zo beperkt mogelijk gehouden. Bij de inschrijving wordt de datum en tijdstip van inschrijving vastgelegd. Er kan maar één inschrijving per toekomstige huurder bestaan.
•
•
De huurders die de huurovereenkomst willen opzeggen dienen dit minimaal een maand tevoren te doen en aangeven per welke datum de huurovereenkomst wordt opgezegd.
•
•
•
Iedere twee weken wordt aan de hand van de opzegdata van huurovereenkomsten van de woningen nagegaan, in volgorde van urgentiegraad en voor een gegeven urgentiegraad in volgorde van datum en tijdstip van inschrijving, welke toekomstige huurder het eerst voor de vrijkomende woning in aanmerking komt. Deze persoon wordt schriftelijk op de hoogte gesteld welke woning beschikbaar is voor haar/hem alsmede de gegevens van deze woning. Deze persoon dient binnen vijf dagen te reageren of de betreffende woning geaccepteerd wordt. Als de woning wordt geaccepteerd wordt een huurovereenkomst gesloten. In geval de woning niet wordt geaccepteerd of als er niet binnen vijf dagen wordt gereageerd dan kan de woning aan de volgende gegadigde ter beschikking worden gesteld. Als er geen gegadigden zijn voor een woning dan kan het gebeuren dat de woning een tijd onbewoond blijft. Nadat de huurovereenkomst is gesloten zijn uiteraard met name vertrouwelijke gegevens als salaris en sofi-nummer van de inschrijving niet meer van belang. Bovendien ontvangen de huurder en het bestuur van de woningbouwvereniging een kopie van de huurovereenkomst. Ook huidige huurders kunnen zich inschrijven voor een andere woning omdat de woonwensen in de loop van de jaren zich kunnen wijzigen.
Opgave 3: Completeren modellen. Beschouw onderstaande incomplete gebeurtenissenlijst, incompleet entity relationship diagram, incompleet dataflow diagram en incompleet state transition diagram die gebaseerd zijn op de casusbeschrijving. a. Geef aan op grond van welke gebeurtenis van de gebeurtenissenlijst aan het entity relationship diagram een entiteittype, een attribuut aan een entiteittype en/of een relationship moet worden toegevoegd. b. Geef aan op grond van welke entiteittype, een attribuut van een entiteittype en/of een relationship van het entity relationship diagram aan de gebeurtenissenlijst een gebeurtenis moet worden toegevoegd. c. Geef aan op grond van welk proces in het dataflow diagram aan de gebeurtenissenlijst een gebeurtenis moet worden toegevoegd. d. Geef aan op grond van welke state of state transition van het state transition diagram aan het dataflow diagram een proces en/of een store moet worden toegevoegd.
5 INCOMPLETE Gebeurtenissenlijst
GEBEURTENIS
INPUT
ACTIE
DIRECTE UITV.
INDIR. UITVOER
Een aspiranthuurder schrijft zich in
Inschrijfgegevens
Verwerken inschrijving
-
Melding beschikbare woning
Tweewekelijks moeten beschikbare woningen bepaald worden
-
Bepalen beschikbare woningen
Melding beschikbare woning
-
Een reactietermijn verstrijkt
-
Opnieuw bepalen beschikbare woningen
Melding beschikbare woning
-
Een huurder zegt zijn/haar contract op
Opzegdatum
Verwerken opzegging
-
Melding beschikbare woning
INCOMPLEET State diagram voor entiteitstype Aspiranthuurder
INCOMPLEET Entity relationship Diagram
INCOMPLEET Data flow diagram
7
Opgave 4 In deze opgave moet een UML-diagram worden aangevuld: een collaboration diagram voor de casus van opgave 3. Figuur 1 toont een use case diagram voor deze casus (dit diagram is al volledig en hoeft dus niet aangevuld te worden.) Voor één van de use cases, namelijk ‘verwerk reactie op aanbod’, moet een collaboration diagram worden aangevuld.
Figuur 1: use case diagram voor het woningensysteem.
Bij use case ‘verwerk reactie op aanbod’ hoort één scenario, waarin vele paden onderscheiden kunnen worden. In deze opgave richten we ons op één pad: •
• •
1. Voor een aspirant-huurder, Dhr. De Ruiter, (die nog nooit eerder gehuurd heeft), is woning ‘w7455’ beschikbaar. Hij heeft een aanbod ontvangen voor deze woning. Dhr. De Ruiter reageert positief op dit aanbod: hij accepteert de woning; de huur moet ingaan op 28 december 2000. 2. Het systeem genereert een huurcontract voor Dhr. De Ruiter. Gegevens van hem en van de woning zijn (uiteraard) al in het systeem bekend. Het huurcontract wordt geprint. 3. Het systeem verwijderd de beschikbaarheid van woning ‘w7455’ en (om privacyredenen) de aspirant-huurdergegevens (straat, huisnummer, salaris en SOFI-nummer) van Dhr. De Ruiter. Voortaan wordt het adres van woning ‘w7455’ gebruikt als adres van Dhr. De Ruiter.
De realisatie van dit pad is weergegeven in een onvolledig collaboration diagram (Figuur 3, op apart blaadje). Vul dit collaboration diagram aan, scheur het blad los en lever het in. Gebruik het (onvolledige) static structure diagram (SSD) in Figuur 2 voor de namen van signals en operaties. Dit SSD is niet volledig, maar alle informatie die nodig is voor deze opgave staat erin. Het SSD hoeft niet aangevuld te worden.
9
Figuur 2: onvolledig static structure diagram (niet aanvullen!).
(einde)
11 Tentamen Informatiesystemen (212010)
1 december 2000
Naam
voorl.
Studentnr.
geb.datum
Figuur 3: onvolledig collaboration diagram voor pad van opgave 4.