Software Maintenance - Musterlösung zum Übungsblatt 1



Ähnliche Dokumente
W-Rechnung und Statistik für Ingenieure Übung 11

B 2. " Zeigen Sie, dass die Wahrscheinlichkeit, dass eine Leiterplatte akzeptiert wird, 0,93 beträgt. (genauerer Wert: 0,933).!:!!

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

1 Vom Problem zum Programm

Die Pareto Verteilung wird benutzt, um Einkommensverteilungen zu modellieren. Die Verteilungsfunktion ist

Erfahrungen mit Hartz IV- Empfängern

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

GEVITAS Farben-Reaktionstest

Schleswig-Holstein Kernfach Mathematik

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Finanzwirtschaft. Teil II: Bewertung

R. Brinkmann Seite Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007

bagfa ist die Abkürzung für unseren langen Namen: Bundes-Arbeits-Gemeinschaft der Freiwilligen-Agenturen.

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

QTrade GmbH Landshuter Allee München Seite 1

Anzeige von eingescannten Rechnungen

Menü auf zwei Module verteilt (Joomla 3.4.0)

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Übungsaufgaben Tilgungsrechnung

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Bedienungsanleitung für den Online-Shop

Arcavis Backend - Invoice Baldegger+Sortec AG

Sterbegeldversicherung. Vorsorge treffen

Horen. PRESENTED BY: André Schmidt

Anleitung für die Version von online 1. Schritt: Rufen Sie die Website auf...

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Informationsblatt Induktionsbeweis

Kurz-Anleitung Veranstaltungskalender AHG

Für eine längere Laufzeit oder zusätzlichen Optionen sowie Jobarten, Regionen und Tätigkeitsbereiche werden immer Credits berechnet.

Bundesverband Flachglas Großhandel Isolierglasherstellung Veredlung e.v. U g -Werte-Tabellen nach DIN EN 673. Flachglasbranche.

Häufig gestellte Fragen

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Algorithmen und Datenstrukturen

Modalitäten der LSF-Belegung für die Lehrveranstaltungen

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Hinweise zur Lizenzierung der winlactat 5 Software von mesics

Erste Schritte mit Sfirm32 und itan

Stammdatenanlage über den Einrichtungsassistenten

Diana Lange. GENERATIVE GESTALTUNG Arten des Zufalls

Internationales Altkatholisches Laienforum

Internet online Update (Mozilla Firefox)

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

Installation OMNIKEY 3121 USB

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

Auftrag zum Fondswechsel

Aufgaben zur Flächenberechnung mit der Integralrechung

MARCANT - File Delivery System

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

Informatik Repetitorium SS Volker Jaedicke

micura Pflegedienste München/Dachau GmbH

R. Brinkmann Seite

Die Invaliden-Versicherung ändert sich

Sollten Sie noch kein Kunde der Hamburger Sparkasse sein, bitten wir Sie, einen gültigen Personalausweis oder Reisepass mitzubringen.

Leichte Sprache Informationen zum Europäischen Sozialfonds (ESF) Was ist der Europäische Sozialfonds?

R ist freie Software und kann von der Website.

Manager. von Peter Pfeifer, Waltraud Pfeifer, Burkhard Münchhagen. Spielanleitung

Elektronischer Kontoauszug

Übungsaufgaben Prozentrechnung und / oder Dreisatz

Vorgehensweise bei Lastschriftverfahren

Etikettendruck mit Works 7.0

E-Rechnung: Einfach, bequem und sicher zahlen

Wir arbeiten mit Zufallszahlen

Studienplatzbeschaffung

Lehrer: Einschreibemethoden

Objektorientierte Programmierung

Neuerungen der Ck-Schnittstelle in dms.net Rev. 4895

Benutzung der LS-Miniscanner

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Zinsrechnung % leicht 1

Sehr geehrter Herr Pfarrer, sehr geehrte pastorale Mitarbeiterin, sehr geehrter pastoraler Mitarbeiter!

Zählen von Objekten einer bestimmten Klasse

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Gussnummern-Lesesystem

Parkraumverwaltung. Im Hauptmenü anklicken: Fuhrparkmanagement. Copyright by rw data 2012 Bedienungsanleitung Parkraumverwaltung Seite 1 von 13

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Versandtaschen - dm Folien

Rundung und Casting von Zahlen

DAS SIND WIR. Kronthalerstraße Königstein phone +49 (0) fax +49 (0) mail web nolinkup.

5. Übung: PHP-Grundlagen

sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit

E-Rechnung Einfach, bequem und sicher zahlen.

Die YouTube-Anmeldung

LineQuest-Leitfaden LineQuest Dialog-Portal. Generieren der LineQuest-Auswertungsdatei

Klausur Nr. 1. Wahrscheinlichkeitsrechnung. Keine Hilfsmittel gestattet, bitte alle Lösungen auf dieses Blatt.

A Lösungen zu Einführungsaufgaben zu QueueTraffic

.NET Code schützen. Projekt.NET. Version 1.0

Umfrage. Didaktischer Kommentar. Lernplattform

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Version White Paper ZS-TimeCalculation und die Zusammenarbeit mit dem iphone, ipad bzw. ipod Touch

Bedienungsanleitung zum Anlageinventar in der Buchhaltung Gültig ab Version 3.9, November 2009

ist die Vergütung für die leihweise Überlassung von Kapital ist die leihweise überlassenen Geldsumme

Software- und Druckerzuweisung Selbstlernmaterialien

Transkript:

Software Maintenance - Musterlösung zum Übungsblatt 1 Beispiel 1) Kosten für 12 Monate: Kosten altes Produkt: 1000 * 12 = 12000 Kosten Neuentwicklung: 1000 Wartung des alten Produktes während der Entwicklung + 5000 Kosten der Neuentwicklung + 600 * 11 Kosten der Verwendung für die restlichen 11 Monate ---------------- 12600 Gesamtkosten Eine Neuentwicklung für das nächste Jahr ist nicht sinnvoll. 1000 + 5000 + (x-1)*600 = x*1000 x Anzahl der Monate (immer größer 0) 5400 = 400x 13,5 = x Eine Neuentwicklung zahlt sich ab einen Nutzungszeitraum von 15 Monaten aus. Beispiel 2) Sei F die stochastische Variable, die die Zeit für die Fehlerbehebung beschreibt. Da keine Verteilungsfunktion für F angegeben wurde, kann eine Verteilungsfunktion gewählt werden. Die einfachste Art der Verteilung in diesem Fall ist die Gleichverteilung. Somit ist F nach U10,30 verteilt. Wir suchen nun die Wahrscheinlichkeit dafür, dass die Fehlerbehebung länger als 24 Stunden dauert, d.h. gesucht ist P(F>24) = 1 P(F=24). Der Wert P(F>24) kann durch Integration der Dichtefunktion der Gleichverteilung berechnet werden. Die Dichtefunktion ist in unserem Fall gegeben durch: In 30 % der Fälle muss eine Zahlung in der Höhe von 10.000 erfolgen! 10 Fehlerbehebungen? Wir nehmen an, dass der Wahrscheinlichkeit für n Fehlerbehebungen (0=n=10) durch die stochastische Variable B gegeben ist. Die Variable B ist Binominalverteilung. Wir haben eine Auswahl von 0 bis 10 Einzelbehebungen, die jeweils Alternativverteilungen entsprechen. n = 10 k = 2,... k = 1 und k = 0 p = 0,3 (= Lösung der 1. Teilfrage!)

Wir berechnen die Wahrscheinlichkeit P(B<3) dafür, dass 0,1 bzw. 2 Fehlerbehebungen durchgeführt werden müssen. Da wir uns für P(B>2) interessieren, berechnen wir nachher P(B>2)=1-P(B<3). Die Wahrscheinlichkeit für P(B=k) ist bei einer Binomialverteilung gegeben durch: Durch einsetzen erhalten wir: P(B=0)=0,02825 P(B=1)=0,12106 P(B=2)=0,23347 Und somit P(B<3)=0,38278. Die Wahrscheinlichkeit, dass mehr als 20.000 gezahlt werden muss, ist 61,7 %. Beispiel 3) Der Programmabsturz ist binominalverteilt. Das Programm muss mindestens 230 mal aufgerufen werden, damit die Wahrscheinlichkeite, dass es mindestens einmal abstürzt größer als 0,9 ist.

Beispiel 4) Kosten für 2 Programme: 25 000 Wartungskosten für Programm A 21 000 Wartungskosten für Programm B ---------- 46 000 Gesamtwartungskosten für getrennte Lösung Kosten für Kombination: 83 000 Neuentwicklungskosten 38 000 Wartungskosten x Anzahl der Jahre Jahre Getrennte Programme Kombination 5 46 000 * 5 = 230 000 83 000 + 38 000 * 5 = 273 000 10 46 000 * 10 = 460 000 83 000 + 38 000 * 10 = 463 000 15 46 000 * 15 = 690 000 83 000 + 38 000 * 15 = 653 000 Nach wie vielen Jahren zahlt sich eine Neuentwicklung aus? 46 000 * x = 83 000 + 38 000 * x 8 000 * x = 83 000 x = 10,375 Nach 10 Jahren und 4,5 Monaten zahlt sich eine Neuentwicklung aus. Beispiel 5) Sie bekommen von ihrem Vorgesetzten ein Anforderungsprotokoll. Der Vorgesetzte will das Programm inklusive Tests und Dokumentation in 2 Wochen. LÖSUNG: Wasserfallmodell Sie sind Projektleiter von einem Team von 5 Programmieren. Sie werden angestellt für einen Kunden ein Programm zu schreiben. Dieses Programm behandelt ein Problem, dass nur schwer erfassbar ist. LÖSUNG: Spiralmodell Ein Freund und sie möchten eine kleine Datenbank zum Verwalten ihrer Musik programmieren. LÖSUNG: Code and Fix Beispiel 6) Das Programm dient dazu die Firmennutzung und die Steuer von Autos einer Firma zu berechnen. Probleme: Details von Autos sind nicht erweiterbar bzw. leicht veränderbar. Der Rückgabewert von berechnefirmennutzung ist ein float und wird einem int zugewiesen. Cast von float auf int beim Aufruf von berechnesteuer. Alle Daten der Autos sind nicht gegliedert

Verbesserung des Programms: ; int main() float private_nutzung = 0,3; struct Auto auto1; struct Auto auto2; struct Auto auto3; struct Auto auto4; auto1.marke = "Ford"; auto1.typ = "Galaxy"; auto2.marke = "Seat"; auto2.typ = "Alhambra"; auto3.marke = "Audi"; auto3.typ = "A4"; auto4.marke = "Audi"; auto4.typ = "A6" float firmen_nutzung = berechnefirmennutzung(privat_nutzung,auto1); berechnesteuer(auto2, 0,2); float berechnefirmennutzung(float privat, auto) if (auto.marke == "Ford") return (1-privat)*25000; if (auto.marke == "Seat") return (1-privat)*20000; if (auto.marke == "Audi") return (1-privat)*50000; return -1; float berechnesteuer(struct Auto auto, float s) if (auto.marke == "Ford") return s*25000; if (auto.marke == "Seat") return s*20000; if (auto.marke == "Audi") return s*50000; return -1;

Erweiterung des Autos um Name und Kennzeichen String name; String kennzeichen; ; Änderung: Privatnutzung der Audis fällt auf 20% String name; String kennzeichen; float privatnutzung; ; int main() //variable privat_nutzung wird nicht mehr gebraucht //anlegen der Autos mit allen Details inklusive der //Privatnutzung für jedes Auto extra float firmen_nutzung = berechnefirmennutzung(auto1); berechnesteuer(auto2, 0,2); float berechnefirmennutzung( auto) if (auto.marke == "Ford") return (1-auto.privatnutzung)*25000; if (auto.marke == "Seat") return (1- auto.privatnutzung)*20000; if (auto.marke == "Audi") return (1- auto.privatnutzung)*50000; return -1;

Aufspaltung der Werte auf die Typen und nicht die Marken String name; String kennzeichen; float privatnutzung; int wert; ; float berechnefirmennutzung( auto) return (1-auto.privatnutzung)*auto.wert; float berechnesteuer(struct Auto auto, float steuer) return steuer*auto.wert;