Übungsmaturaaufgaben 2006 Aufgabe 1 aus Qualitätsmanagement: THEMA : Entscheidungsfindung - Analytischer Hierarchie Prozess Für die Auswahl eines Eigenheimes wollen sie die Entscheidungstechnik AHP (Analytischer Hierarchie Prozess) einsetzen. Dabei sind vor allem die Kriterien „Gartengröße“, „Anzahl Schlafzimmer“, „Durchschnittliche Geräuschbelastung“ und natürlich der Preis von Bedeutung. Folgende 3 Häuser stehen für sie dabei zur Auswahl: Geräusch Garten Schlafzimmer Preis Hausname in Dezibel in m² Anzahl in T Euro Wiesenruhe 40 400 2 360 Kleinstättl 50 300 4 380 Mainstreet 63 250 3 450 Opt.Richtung kleiner größer größer kleiner Die relative Wichtigkeit der Kriterien ist wie folgt gegeben: Geräuschbelastung zu Gartengröße Geräuschbelastung zu Schlafzimmer Gartengröße zu Schlafzimmer 3:1 2:1 1:2 a) Ermitteln sie die relative Wichtigkeit der Kriterien mittels Eigenvektor. Iterieren sie dabei so oft, bis der Unterschied der erhaltenen Eigenvektoren < 0,001 ist. b) Wandeln sie die gegebenen Kriterien in geeigneter Weise um und normalisieren sie die Eigenvektoren der Alternativen. Beachten sie dabei die Optimierungsrichtung. c) Ermitteln sie relative Reihung der Alternativen an Hand der Kriterien (ohne Preis). d) Ermitteln sie das Nutzen / Kostenverhältnis und führen sie erneut eine Reihung der Alternativen durch. Welches Haus ist zu wählen? Seite 1 von 12 Übungsmaturaaufgaben 2006 Lösung (Bsp. 1): (a) Ermittlung des Eigenvektors der Kriterien Wichtigkeit der Kriterien Original Geräusch Geräusch 1,0000 Garten 0,3333 Schlafzimmer 0,5000 SUMME 1,8333 Garten 3,0000 1,0000 2,0000 6,0000 Schlafzimmer 2,0000 0,5000 1,0000 3,5000 Summe 6,0000 1,8333 3,5000 11,3333 Normalisiert 0,5294 0,1618 0,3088 1,0000 Eintragen der relativen Wichtigkeiten Ergänzen der Matrix Zeilensummen bilden Normalisierten Eigenvektor bilden (Zeilensumme / Summe der Zeilensummen) Quadriert (1) Geräusch Garten Schlafzimmer SUMME Geräusch 3,0000 0,9167 1,6667 5,5833 Garten 10,0000 3,0000 5,5000 18,5000 Schlafzimmer 5,5000 1,6667 3,0000 10,1667 Summe 18,5000 5,5833 10,1667 34,2500 Normalisiert 0,5401 0,1630 0,2968 1,0000 Delta 0,010734 0,001252 0,011987 0,023973 Quadriert (2) Geräusch Garten Schlafzimmer SUMME Geräusch 27,3333 8,2778 15,0417 50,6528 Garten 90,2500 27,3333 49,6667 167,2500 Schlafzimmer 49,6667 15,0417 27,3333 92,0417 Summe 167,2500 50,6528 92,0417 309,9444 Normalisiert 0,5396 0,1634 0,2970 1,0000 Delta 0,000533 0,000408 0,000125 0,001066 Quadriert (3) Geräusch Garten Schlafzimmer SUMME Geräusch 2241,2500 678,7703 1233,4074 4153,4277 Garten 7400,4444 2241,2500 4072,6215 13714,3160 Schlafzimmer 4072,6215 1233,4074 2241,2500 7547,2789 Summe 13714,3160 4153,4277 7547,2789 25415,0226 Normalisiert 0,5396 0,1634 0,2970 1,0000 Delta 0,000002 0,000001 0,000000 0,000003 Quadrieren der Matrix (Ausgehend von der zu ermittelten Zelle: Zeile X Spalte Y wird jedes Element der Spalte Y beginnend bei der ersten Zeile mit den Elementen der Zeile X beginnend bei der ersten Spalte multipliziert und die Produkte addiert) Zeilensummen bilden Normalisierten Eigenvektor bilden (Zeilensumme / Summe der Zeilensummen) Absolute Differenz zu voriger Iteration ermitteln und mit Zielwert vergleichen Wenn nötig neue Iteration Seite 2 von 12 Übungsmaturaaufgaben 2006 (b) Umwandlung der Kriterien und Bildung der Eigenvektoren Wiesenruhe Kleinstättl Mainstreet Opt.Richtung Summe Schlafzimmer Anschlüsse 2 4 3 größer Preis in Euro 360 380 450 kleiner Geräusch Modifikator 23 13 0 36 Geräusch 62 52 39 153 Garten 400 300 250 Schlafzimmer 2 4 3 Preis 360 380 450 Die Modifizierten Werte berechnen sich wie folgt: Modifizierter Wert = Modifikator + (Summe der Kriterienwerte – Summe der Modifikatoren) / Anzahl der Kriterienwerte also in unserem Beispiel z.B.: 23 + (153-36)/3 = 23 + 117/3 = 23 + 39 = 62 Als Kontrolle muss die Summe der modifizierten Kriteriumswerte wieder identisch mit der Originalsumme sein Normalisiert Wiesenruhe Kleinstättl Mainstreet Garten in m² 400 300 250 größer Auflisten der Faktoren und Ermittlung der Optimierungsrichtung (aus Angabe) Für Kriterien mit Optimierungsrichtung „kleiner“ (außer Preis, da wir dort mit einem Verhältnis arbeiten werden) müssen die Werte angepasst werden. Dazu ermitteln wir zuerst Modifikatoren die sich aus der Formel: Modifikator = Maximum der Kriteriumswerte – aktuellem Wert ergeben. Wiesenruhe Kleinstättl Mainstreet Summe Geräusch in Dezibel 40 50 63 kleiner 153 Geräusch 0,4052 0,3399 0,2549 1,0000 Garten 0,4211 0,3158 0,2632 1,0000 Schlafzimmer 0,2222 0,4444 0,3333 1,0000 Preis 0,3025 0,3193 0,3782 1,0000 Wie gehabt die Werte für alle Alternativen normalisieren normalisierter Wert = Ausgangswert / Summe der Werte Als Kontrolle muss die Summe der Werte gleich 1 sein. Seite 3 von 12 Übungsmaturaaufgaben 2006 (c) Ermitteln der relativen Reihung (ohne Preis) Krit.Ranking Wiesenruhe Kleinstättl Mainstreet Kontrolle Geräusch 0,5396 0,2187 0,1834 0,1375 1,0000 Garten 0,1634 0,0688 0,0516 0,0430 1,0000 Schlafzimmer 0,2970 0,0660 0,1320 0,0990 1,0000 Norm. Erg.Vektor 0,3535 0,3670 0,2795 1,0000 Krit. Ranking 2 1 3 Für jede Alternative und jedes Kriterium wird der gewichtete Kriteriumswert ermittelt gewichteter Kriteriumswert = Kriteriumswert der Alternative * Kriteriumsgewicht Als Kontrolle kann man die ermittelten Werte der Alternativen zusammenzählen und durch das Kriteriumsgewicht teilen als Ergebnis sollte man 1 erhalten. Der Ergebnisvektor lässt sich durch die Aufsummierung der einzelnen gewichteten Kriteriumswerte ermitteln. Die Summe dieser Zeilensummen muss wiederum 1 ergeben. Das Ranking ergibt sich direkt aus den ermittelten Werten (Sieger: Kleinstättl). (d) Einbeziehung des Preises Norm. Erg.Vektor 0,3535 0,3670 0,2795 Krit. Ranking 2 1 3 Nutzen / Kosten 1,1684 1,1493 0,7392 Kost. Ranking 1 2 3 Wir beziehen den Preis in unsere Überlegung ein in dem wir ein Nutzen zu Kosten Verhältnis bilden (deswegen nicht Kosten : Nutzen weil ja ein höherer Preis schlechter wäre und wir dadurch genau das Gegenteil des erwünschten Ergebnisses erhalten würden) Das ergibt also z.B. 0,3535 (Ergebnisvektor von Wiesenruhe) / 0,3025 (normalisierter Preis von Wiesenruhe) = 1,1684 Wir haben dadurch einen neuen Sieger (Wiesenruhe) Seite 4 von 12 Übungsmaturaaufgaben 2006 Aufgabe 2 aus Qualitätsmanagement: THEMA : Quality Function Deployment Ein Unternehmen möchte mittels QFD-Verfahren und Ergebnissen einer Kundenbefragung herausfinden, welche Prozessmerkmale seiner Auftragsbearbeitung verstärkt verbessert werden sollen. Gehen Sie dabei vom beiliegenden House of Quality (HoQ) aus. a) Geben sie an wie man die „gewichtete Kundenzufriedenheit“ berechnet und ergänzen sie diese im beiliegenden HoQ. Führen sie ein Ranking der Kundenanforderungen an Hand dieses Kriteriums durch und tragen sie dieses in der Tabelle ein. b) Geben sie an wie man die „Kundenanforderungsbedeutung“ berechnet und ergänzen sie diese im beiliegenden HoQ. Führen sie ein Ranking der Kundenanforderungen an Hand dieses Kriteriums durch und tragen sie dieses in der Tabelle ein. c) Geben sie an wie man das „Verbesserungsverhältnis“ berechnet und ergänzen sie dieses im beiliegenden HoQ. Führen sie ein Ranking der Kundenanforderungen an Hand dieses Kriteriums durch und tragen sie dieses in der Tabelle ein. d) Geben sie an wie man die „absolute“ und „relative Wichtigkeit der Produktmerkmale“ berechnet und ergänzen sie diese im beiliegenden HoQ. e) Geben sie an wie man „absolute“ und „relative Wichtigkeit der Produktmerkmale bezüglich der Verbesserung“ berechnet und ergänzen sie diese im beiliegenden HoQ. Führen sie ein Ranking der Produktanforderungen an Hand dieses Kriteriums durch und tragen sie dieses in der Tabelle ein. – Beantworten sie die Ausgangsfragestellung nach den 3 wichtigsten Produktmerkmalen. Seite 5 von 12 Übungsmaturaaufgaben 2006 Seite 6 von 12 Übungsmaturaaufgaben 2006 Lösung (Bsp. 2): a) gewichtete Kundenzufriedenheit Sie ergibt sich aus dem Produkt der Kundenpriorität und dem aktuellen Rating Kundenanforderungsbedeutung Diese ergibt sich aus dem Quotienten der Kundenpriorität und dem aktuellen Rating Verbesserungsverhältnis Dies ist der Quotient zwischen geplantem und aktuellem Rating absolute und relative Wichtigkeit der Prozessmerkmale b) c) d) Die absolute Wichtigkeit eines Kriteriums ist die Summe der Produkte von Kundenpriorität und Wichtigkeit des Kriteriums in Bezug auf die Kundenanforderung Die relative Wichtigkeit ergibt sich aus der absoluten Wichtigkeit des Kriteriums geteilt durch die Summe der absoluten Wichtigkeiten aller Kriterien e) absolute und relative Wichtigkeit der Prozessmerkmale bezüglich der Verbesserung Die absolute Wichtigkeit eines Kriteriums bezüglich Verbesserung ist die Summe der Produkte von (Verbesserungsverhältnis -1) und Wichtigkeit des Kriteriums in Bezug auf die Kundenanforderung Die relative Wichtigkeit bezüglich Verbesserung ergibt sich aus der absoluten Wichtigkeit bezüglich Verbesserung des Kriteriums geteilt durch die Summe der absoluten Wichtigkeiten bezüglich Verbesserung aller Kriterien Beantworten sie die Ausgangsfragestellung nach den 3 wichtigsten Produktmerkmalen. 1. Bestellbearbeitungsdauer 2. Lieferzeit 3. Lieferkosten pro Bestellung Seite 7 von 12 Übungsmaturaaufgaben 2006 Aufgabe 3 aus Qualitätsmanagement: THEMA : Testfallbestimmung Eine Funktion fPrintList zur Ausgabe einer Liste von Fließkommawerten soll folgende Parameter enthalten: fListe … eine Liste von Fließkommawerten, die über die Methoden fListe.count (ermittelt die Anzahl der Elemente der Liste) und fListe.item(Index) (liefert ein Element der Liste wobei Index von 0 bis fListe.count-1 geht) zugegriffen werden. sTitel … eine Zeichenkettenvariable die eine (optionale) Überschrift für die Ausgabe bereitstellt. Über sTitel.Empty lässt sich feststellen ob die Zeichenkette gefüllt ist. Als Ergebnis, wenn der Ausdruck erfolgreich abgelaufen ist, soll die vordefinierte Konstante GOK zurückgegeben werden. Ist die Liste leer, so soll die vordefinierte Konstante GEMPTY zurückgeliefert werden. Gab es Probleme beim Ausdruck, so soll die vordefinierte Konstante GERROR zurückgeliefert werden. Alle diese Konstanten sind vom Typ GMessage. Für den Ausdruck ist ein Printer definiert, der über Printer.Print angesprochen werden kann wobei die Methode einen Ergebniswert vom Typ GMessage zurückliefert (GOK bzw. GERROR). a) Definieren sie vollständige Testfälle für obige Funktion nach dem Äquivalenzklassenverfahren. b) Definieren sie vollständige Testfälle für obige Funktion nach dem Grenzwertanalyseverfahren. c) Beschreiben sie die Berechnungsgrundlage für C0-Überdeckung und C1-Überdeckung. d) Beschreiben sie die 3 Varianten der Bedingungsüberdeckung. e) Geben sie für den auf der folgenden Seite dargestellten Code der fPrintList-Funktion geeignete Testdaten für Pfadüberdeckung an, wobei sie die für Schleifendurchläufe vereinfachten Annahmen (0,1, >1 Durchlauf) verwenden. Anmerkung: Geben sie die Testfälle idealer Weise in Tabellenform an und verwenden sie für die Darstellung der Werte des Parameters fListe die Form { <Erster Listeneintrag> , <Zweiter Listeneintrag> , …} also z.B. { 10, 20.5, 13.7} bzw. { } für eine leere Liste. Seite 8 von 12 Übungsmaturaaufgaben 2006 Anmerkung: Der folgende Code ist in der ungebräuchlichen Programmiersprache „SCHINDEL“ (SCHematic INefficient DEscription Language) definiert, sollte aber vom Prinzip her verständlich sein. FUNCTION fPrintList (fListe AS Floatlist, sTitel AS String) AS GMessage DECLARE iZaehler AS Integer // Zaehlervariable deklarieren DECLARE gErg AS GMessage // Ergebnisvariable deklarieren IF fListe.count = 0 THEN // Liste ist leer gErg = GEMPTY // Globale Konstante zuordnen ELSE // Liste nicht leer gErg = GOK IF NOT (sTitel.Empty) THEN // Überschrift drucken gErg = Printer.Print(sTitel) // Auf Console ausgeben END // IF IF gErg = GOK THEN // Werte Drucken FOR iZaehler = 0 TO fListe.count - 1 gErg = Printer.Print(fliste.item(iZaehler)) IF gErg <> GOK THEN EXIT FOR // Bei Fehler Schleife verlassen END // FOR END // IF END // IF Return gErg // Rückgabewert END // FUNCTION Seite 9 von 12 Übungsmaturaaufgaben 2006 Lösung (Bsp. 3): a) TF# 1 vollständige Testfälle nach dem Äquivalenzklassenverfahren. {} sTitel „“ (egal) Druckerstatus ok (egal) 2 {1.5, 7.8} „“ ok 3 {1.5, 7.8} „test“ ok 4 {1.5, 7.8} „test“ (egal) Drucker nicht bereit 5 {1.5, 7.8} „test“ 6 {1.5, 7.8, …., 99.9, 17.6} Liste in maximal erlaubter Länge + 20 „test“ (egal) Drucker geht Papier aus (erst nach 1. Element) ok 7 1.5, 7.8, …., 99.9, 17.6} Liste in maximal erlaubter Länge + 20 1.5, 7.8, …., 99.9, 17.6} Liste in maximal erlaubter Länge + 20 „test“ (egal) Drucker nicht bereit „test“ (egal) Drucker geht Papier aus (erst nach 2. Element) 8 b) TF# 1 fListe sTitel „“ (egal) Druckerstatus ok (egal) 2 {1.5} – genau 1 Element „“ ok 3 {1.5} – genau 1 Element „test“ ok 4 {1.5} – genau 1 Element „test“ (egal) 5 {1.5} – genau 1 Element „test“ 6 {1.5, 7.8, ….., 99.9} Liste in maximal erlaubter Länge {1.5, 7.8, ….., 99.9} Liste in maximal erlaubter Länge „“ Drucker nicht bereit Drucker geht Papier aus (erst nach Titel) ok „test“ ok {1.5, 7.8, ….., 99.9} Liste in maximal erlaubter Länge {1.5, 7.8, ….., 99.9} Liste in maximal erlaubter Länge „test“ (egal) {1.5, 7.8, …., 99.9, 17.6} Liste in maximal erlaubter Länge + 1 1.5, 7.8, …., 99.9, 17.6} Liste in maximal erlaubter Länge + 1 1.5, 7.8, …., 99.9, 17.6} Liste in maximal erlaubter Länge + 1 „test“ (egal) Drucker nicht bereit Drucker geht Papier aus (erst nach 2. Element) ok 8 9 10 11 12 Ausgabe: test , 1.5 und 7.8 Rückgabewert: GERROR vollständige Testfälle nach dem Grenzwertanalyseverfahren. fListe {} – leere Liste 7 Erwartetes Ergebnis Keine Ausgabe, Rückgabewert GEMPTY Ausgabe: 1.5 und 7.8 Rückgabewert: GOK Ausgabe: test, 1.5 und 7.8 Rückgabewert: GOK Keine Ausgabe, Rückgabewert: GERROR Ausgabe: test und 1.5 Rückgabewert: GERROR Ausgabe: test, 1.5, 7.8, … und 99.9 Systemabsturz, da nicht abgefangen Keine Ausgabe, Rückgabewert: GERROR „test“ „test“ (egal) Drucker nicht bereit „test“ (egal) Drucker geht Papier aus (erst nach 2. Element) Seite 10 von 12 Erwartetes Ergebnis Keine Ausgabe, Rückgabewert GEMPTY Ausgabe: 1.5 Rückgabewert: GOK Ausgabe: test und 1.5 Rückgabewert: GOK Keine Ausgabe, Rückgabewert: GERROR Ausgabe: test Rückgabewert: GERROR Ausgabe: 1.5, 7.8, … und 99.9 Rückgabewert: GOK Ausgabe: test, 1.5, 7.8, … und 99.9 Rückgabewert: GOK Keine Ausgabe, Rückgabewert: GERROR Ausgabe: test , 1.5 und 7.8 Rückgabewert: GERROR Ausgabe: test, 1.5, 7.8, … und 99.9 - Systemabsturz, da nicht abgefangen Keine Ausgabe, Rückgabewert: GERROR Ausgabe: test , 1.5 und 7.8 Rückgabewert: GERROR Übungsmaturaaufgaben 2006 c) Berechnungsgrundlage für C0-Überdeckung und C1-Überdeckung. d) C0-Überdeckung (Anweisungsabdeckung) = Verhältnis der mit Testdaten durchlaufenen Anweisungen zur Gesamtzahl der Anweisungen C1-Überdeckung (Zweigabdeckung) = Verhältnis der mit Testdaten durchlaufenen Zweige zur Gesamtzahl der Zweige 3 Varianten der Bedingungsüberdeckung. e) Pfad 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Einfache Bedingungsüberdeckung Jede Atomare Bedingung nimmt mindestens einmal den Wert Wahr und mindestens einmal den Wert Falsch an Mehrfach-Bedingungsüberdeckung Alle Kombinationsmöglichkeiten aller atomaren Bedingungen sollen abgedeckt werden Minimale Mehrfach-Bedingungsüberdeckung Jede Atomare Bedingung sowie jede Gesamtbedingung nimmt mindestens einmal den Wert Wahr und mindestens einmal den Wert Falsch an Testdaten für Pfadüberdeckung fListe {} {1.1} {1.1} {1.1} {1.1} {1.1} {1.1, 2.2, 3.3} {1.1, 2.2, 3.3} {1.1, 2.2, 3.3} {1.1, 2.2, 3.3} {1.1, 2.2, 3.3} {1.1, 2.2, 3.3} {1.1, 2.2, 3.3} {1.1, 2.2, 3.3} {1.1, 2.2, 3.3} sTitel ? "" "" "T" "T" "T" "" "" "" "" "T" "T" "T" "T" "T" sTitel ? nok ok ok nok ok ok ok ok Druckstatus Item(0) Item(1) ? ? nok ok nok ok nok ok nok ok ok ok ok nok ok nok ok ok ok ok Item(2) ? nok ok nok ok Seite 11 von 12 Result GEMPTY GERROR GOK GERROR GERROR GOK GERROR GERROR GERROR GOK GERROR GERROR GERROR GERROR GOK Ausgabe 1.1 T T und 1.1 1.1 1.1 und 2.2 1.1, 2.2 und 3.3 T T und 1.1 T, 1.1 und 2.2 T, 1.1, 2.2 und 3.3 fListe.count sTitel sTitel.Empty sTitel Item(0) Item(1) Item(2) FUNCTION fPrintList (fListe AS Floatlist, sTitel AS String) AS GMessage DECLARE iZaehler AS Integer DECLARE gErg AS GMessage IF fListe.count = 0 THEN gErg = GEMPTY ELSE gErg = GOK IF NOT (sTitel.Empty) THEN gErg = Printer.Print(sTitel) END IF gErg = GOK THEN FOR iZaehler = 0 TO fListe.count - 1 gErg = Printer.Print(fliste.item(iZaehler)) IF gErg <> GOK THEN EXIT FOR END END END Return gErg END 10 {1.1, 2.2, 3.3} 9 {1.1, 2.2, 3.3} 8 {1.1, 2.2, 3.3} 7 {1.1, 2.2, 3.3} 6 {1.1} 5 {1.1} 4 {1.1} 3 {1.1} 2 {1.1} 1 {} x x x x x x x x x x x x x x x GERROR T GERROR - GOK 1.1 GERROR - GEMPTY - T T T T x x x x x x x x T(1) T(2) T(3) F GOK T und 1.1 F GERROR - T T T T T x x x x x x x x x x F T(1) T(2) T(3) F GERROR 1.1 T x x T GERROR 1.1 und 2.2 F GOK 1.1, 2.2 und 3.3 T x x F GERROR - T x x T x x T x 3 "T" F ok ok ok ok x x x F 11 {1.1, 2.2, 3.3} 0 1 1 1 1 1 3 3 3 3 3 3 3 3 ? "" "" "T" "T" "T" "" "" "" "" "T" "T" "T" "T" ? T T F F F T T T T F F F F ? - nok ok ok - nok ok ok ok ? nok ok - nok ok nok ok ok ok - nok ok ok ? - nok ok ok - nok ok ? - nok ok - nok x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x T F F F F F F F F F F F F F x x x x x x x x x x x x x x x x x x x x x x x x x x x F F T T T F F F F T T T T x x x x x x x 12 {1.1, 2.2, 3.3} GERROR T ? = Egal - = Nicht vorhanden T = True F = False x = wird ausgeführt 15 14 13 {1.1, 2.2, 3.3} GERROR T und 1.1 Drucker {1.1, 2.2, 3.3} GERROR fListe Result Ausgabe {1.1, 2.2, 3.3} T, 1.1 und 2.2 Seite 12 von 12 T, 1.1, 2.2 und 3.3 GOK Pfad Übungsmaturaaufgaben 2006