Klausur
Einführung in die elektronische Datenverarbeitung I Grundlagen der Anwendungsentwicklung und Programmierung am Mittwoch, den 07.02.2001, 17:15 - 18:15 Uhr, HS 15
Hinweis : Unterlagen sind nicht erlaubt! Das Weitergeben oder Einholen von Informationen von/zu Ihrer Nachbarin oder Ihrem Nachbarn ist verboten.
Beantworten Sie die folgenden Fragen direkt auf den Aufgabenblättern. Schreiben Sie auf jedes Blatt Ihre Matrikelnummer, um ggf. lose Blätter zuordnen zu können, und achten Sie auf Vollständigkeit der Aufgabenblätter (8 Seiten).
Anmerkung: Bitte lesen Sie die Aufgabenstellung sehr sorgfältig. Die meisten Fragen setzen sich aus mehreren Teilfragen zusammen, die einzeln mit Punkten belegt sind. Maximal können Sie 60 Punkte erreichen, 24 sind nötig, um zu bestehen.
Der Hintergrund:
Tourismus stellt eine Möglichkeit dar, die Entwicklung ländlicher Räume zu
fördern. Die Vermarktung bestehender Tourismuseinrichtungen und –kapazitäten ist dabei ein wichtiger Bestandteil. EDV gestützte Informations- oder sogar
Buchungssysteme ermöglichen hierfür eine kostengünstige Lösung. Nehmen wir an, verschiedene Fremdenverkehrsverbände haben sich entschieden, ihr
Tourismusangebot im Internet mittels einer Datenbank zu vermarkten. Sie sollen dabei behilflich sein, Lösungen zu entwickeln.
1 Anforderungsdefinition (Entwicklung eines Datenmodells)
Nachfolgend sehen Sie drei Entitätsmengen, die u.a. in einem Tourismusinformations- und -buchungssystem benötigt werden:
1.1 Lösen Sie folgende netzwerkartigen Beziehungen unter Einbeziehung von Hilfsentitätsmengen (die Sie passend benennen) auf.
1.2 Erläutern Sie den Begriff "Beziehungshäufigkeit zwischen
Entitätsmengen". Beziehen Sie sich dabei auf die in Aufgabe 1.1 genannten Entitätsmengen.
Fremdenverkehrsverbände mc mc Touristen max. 6 Pkt.
max. 2 Pkt.
Freizeiteinrichtungen mc
mc
1.3 Nachfolgend sehen Sie einen Ausschnitt einer Relation [(flache) Tabelle]
"Stammdaten von Freizeiteinrichtungen" mit den betreffenden Attributen [Feldern] und zwei Tupeln [Datensätzen].
Hinweis: Jeder Freizeiteinrichtung ist eine eindeutige Betriebs- Identifikationsnummer (BetrID) zugeordnet.
BetrID BetriebsName Anschrift Normalpreis Kinderrabatt Kinderpreis 1234 Freizeitbad
Ceske Budejovice
Freizeitbad Ceske Budejovice
Bulevard Tantchev 7 87654 Ceske
Budejovice (CZ)
180,00 Kronen
10 Kronen 162,00 Kronen
1235 Stadtturm Ceske
Budejovice Marktplatz 1 87654 Ceske Budejovice (CZ)
25,00
Kronen 50 Kronen 12,50 Kronen
1.3.1 Ist die Relation in der ersten Normalform ? Warum bzw. warum nicht ? Nennen Sie eine Verbesserungsmöglichkeit.
1.3.2 Ist die Relation in der zweiten Normalform ? Warum bzw. warum nicht ? Nennen Sie eine Verbesserungsmöglichkeit.
1.3.3 Ist die Relation in der dritten Normalform ? Warum bzw. warum nicht ? Nennen Sie eine Verbesserungsmöglichkeit.
2 Anforderungsdefinition (Entwicklung einer Funktionsstruktur)
Nachfolgend sehen Sie den Ausschnitt einer statischen Funktionsstruktur für eine Hotelverwaltung.
max. 2 Pkt.
max. 2 Pkt.
max. 2 Pkt.
Hotel verwalten
2.1 Analysieren Sie die Funktionsstruktur auf Strukturbrüche und nennen Sie diese.
2.2 Entwicklung eines Datenflußdiagramms
Aufgabe: Entwerfen Sie nachfolgend den Ausschnitt eines Datenflußdiagramms für die Verwaltung von
Übernachtungsanfragen (Freie Kapazitäten, Preise, ...) durch Touristen.
Verwenden Sie hierfür die relevanten Funktionen der Funktionsstruktur aus Aufgabe 2.1: "Zimmerstammdaten verwalten", "Touristenstammdaten verwalten" und "Anfragen verwalten". Benennen Sie außerdem die benötigten (und bereits angedeuteten) Datenbestände mit passenden Bezeichnungen.
Stammdaten
verwalten Stornie-
rungen verwalten Anfragen
verwalten Übernach-
tungen abrechnen
Auswertun- gen erstellen
Zimmer- stammdaten verwalten
Touristen- stammdaten verwalten
max. 2 Pkt.
Tourist
max. 5 Pkt.
3.1 Funktionsdetailbeschreibung mittels Nassi-Shneiderman-Diagramm Stellen Sie den nachfolgend beschriebenen Ablauf und die Prüflogik zur Ermittlung einer Rechnung für Übernachtungen mittels eines Nassi- Shneiderman-Diagramms dar:
Erfolgt am Ende eines Aufenthaltes in einem Übernachtungsbetrieb die Endabrechnung, so ist für Familien und Gruppen für alle Mitglieder eine gemeinsame Rechnung zu erstellen. Dazu sind alle
Familien-/Gruppenmitglieder mit ihrem Alter zu erfassen und ggf. der betreffende Rabatt zu berechnen.
Dabei gilt: Die Übernachtung von Kindern unter 6 Jahren ist kostenlos.
Kinder zwischen 7 und 12 Jahren zahlen die Hälfte und alle älteren Personen zahlen den vollen Preis.
max. 7 Pkt.
3.2 Funktionsdetailbeschreibung mittels Entscheidungstabellen
Nachfolgend sehen Sie eine Entscheidungstabelle zur Berechnung von Übernachtungskosten unter Berücksichtigung von Rabattbeträgen, die allerdings einige Fehler enthält.
|---|
| rabatt.tab |
|---|
|# |STATEMENT M 1 2 3 4 5 6 7 8 |
|---|
|C1|Aufenthaltsdauer > 7 Tage |2 |y |y |y |y |n |n |n |n |
|C2|Aufenthaltsdauer <= 2 Wochen |2 |- |y |n |n |y |y |n |y |
|C3|Aufenthaltsdauer <= 3 Wochen |2 |- |n |y |n |y |n |y |n |
|=========================================================================|
|A1|Kosten = Standardtarif * Tage | |1 | |1 |1 |1 |1 |1 |
|A2|Kosten = Standardtarif * Tage * 0,95 |1 |2 |1 | | | | | |
|A3|Kosten = Standardtarif * Tage * 0,9 |2 | |2 | | | | | |
|A4|Kosten = Standardtarif * Tage * 0,8 |3 | | |2 | | | | |
|---|
Wieviel Regeln erwarten Sie in der oben aufgeführten
Entscheidungstabelle, wenn Sie davon ausgehen können, daß die Anzahl der Bedingungen (C1 bis C3) korrekt ist?
Wieviel Regeln enthält die oben aufgeführte Entscheidungstabelle tatsächlich ?
Analysieren Sie die oben aufgeführte Entscheidungstabelle hinsichtlich Redundanzen, Widersprüchen, fehlenden Regeln (Vollständigkeit) sowie Möglichkeiten zur Konsolidierung.
max. 5 Pkt.
max. 1 Pkt.
max. 1 Pkt.
4 Modulentwurf (Modularisierung)
Eine Aufgabe eines EDV-Tourismusinformationssystems besteht darin, daß der Tourist als Interessent am Bildschirm Suchanfragen mit Stichpunkten stellen kann und das EDV-Tourismusinformationssystem alle relevanten Informationen (z.B. Freizeiteinrichtungen) mit einem Abstract
(Kurzbeschreibung) am Bildschirm ausgibt. Das betreffende Haupt-Modul soll mit "Suchanfrage nach Stichworten durchführen" bezeichnet werden.
Nachfolgend sehen Sie den betreffenden (groben) Datenstrom.
Zerlegen Sie mittels STS-Zerlegung das Hauptmodul "Suchanfrage nach Stichworten durchführen" in eine weitere Modulebene.
Verwenden Sie hierfür den oben skizzierten Datenstrom.
max. 5 Pkt.
Suchanfrage eingeben
Suchanfrage für
Verarbeitun g umformen
Suchanfrage durchführen
Suchergeb- nisse ausgeben
5 Tests
5.1 Erklären Sie in Stichpunkten das Prinzip von White-Box-Tests
5.2 Im Rahmen einer EDV-gestützten Tourismusverwaltung ist für die
Abrechnung u.a. die Eingabeprüfung der Zimmernummer notwendig. Der gültige Wert für eine Zimmernummer soll zwischen 1 und 12 liegen.
5.2.1 Erläutern Sie an diesem o.g. Beispiel der Zimmernummer das Prinzip von Äquivalenzklassentests und der Grenzwertanalyse
5.2.2 Entwerfen Sie (in Stichpunkten) 4 in ihrem Prinzip unterschiedliche Testfälle, um die Eingabe einer fehlerhaften Zimmernummer zu vermeiden.
max. 2 Pkt.
max. 4 Pkt.
max. 4 Pkt.
Nachfolgend sehen Sie zwei Prozeduren aufgeführt.
6.1 Nehmen wir an, der Anwender gibt über die zwei Input-Boxen folgende Werte ein: Für die Länge 100 und für die Breite 20. Welche Werte werden für die nachfolgenden Variablen in der MsgBox ausgegeben?
int_laenge int_breite lng_flaeche
Option Compare Database Option Explicit
_______________________________________________________________________________________
Public Sub Hautprogramm()
Dim int_laenge, int_breite As Integer Dim lng_flaeche As Long
int_laenge = Int(InputBox("Länge eingeben")) int_breite = Int(InputBox("Breite eingeben"))
lng_flaeche = flaeche_berechnen(int_laenge, int_breite)
MsgBox ("Länge: " & int_laenge & " Breite: " & int_breite & " Flaeche: " & lng_flaeche) End Sub
_______________________________________________________________________________________
Public Function flaeche_berechnen(Optional ByVal int_l As Integer, Optional ByRef int_b As Integer) As Long
flaeche_berechnen = int_l * int_b int_l = int_l * 10
int_b = int_b * 2 End Function
6.2 Erläutern Sie an den o.g. zwei Prozeduren den Unterschied zwischen Wert- und Referenzparametern im Zusammenhang mit dem Aufruf von Unterprogrammen
6.3 Ist es – unter Berücksichtigung der Aufgabe der Funktion
"flaeche_berechnen" – sinnvoll, in dem vorliegenden Fall einen Referenzparameter zu verwenden ? Begründen Sie Ihre Anwort kurz.
max. 5 Pkt.
max. 3 Pkt.
max. 2 Pkt.