Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

OKA Anmeldung Now Open m Meldet euch bis zum 11.02.2011 in der OKA an (unter Softwaretechnik) Fachgebiet Software Engineering Übersicht © 10.03.2014 Albert.

Ähnliche Präsentationen


Präsentation zum Thema: "OKA Anmeldung Now Open m Meldet euch bis zum 11.02.2011 in der OKA an (unter Softwaretechnik) Fachgebiet Software Engineering Übersicht © 10.03.2014 Albert."—  Präsentation transkript:

1 OKA Anmeldung Now Open m Meldet euch bis zum in der OKA an (unter Softwaretechnik) Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

2 Kostenschätzung m Wieviel Stunden brauchen Sie, um ein Programm für die Berechnung der Varianz zu schreiben / zu testen? m Wie sicher ist Ihre Schätzung? m Wie lange brauchen Sie, um 1000 LOC zu spezifizieren, zu programmieren, zu testen? m Wie viele Fehler machen Sie durchschnittlich pro 100 Zeilen Quelltext? m Solche Fragen muss man mit höchstens 10% Ungenauigkeit beantworten können

3 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Ziele der Prozessmodellierung m Standardisierte Vorgehensweisen m Standardisierte (Teil-) Ergebnisdokumente Vergleichbarkeit von verschiedenen Projekten m Messungen von Prozessgrößen werden möglich / vergleichbar / bewertbar m Basis für Schätzungen m Basis für Planungen m Basis für Verbesserungen

4 Schätzen mit Konfidenzinterval Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

5 Konfidenz mit ExcelExcel ProjektEst.Time (Std)Act.Time(Std)RegressionFehler CoffeeCounter , , AirDrone102825, , MilkOrderSys226161, , QRDoor4166, , AndroidCar62013, , LegoSegWay84019, , TrafficSim , , Android3D245967, , WLanLocalization323591, , varianz:531, sigma:23, , Korrelationskoeffizient r:0, Steigung b1:3,02734 Achsabschnitt b0:-5, anzahl:9 estimation:42 regression:122, , lower range111, upper range132, Genauigkeit80% Konfidenz.T10, Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Schätz- und Messdaten alter Projekte Ausgleichsgerade y = b1 * x + b0 Standardabweichung sigma Konfidenz mit t-Verteilung Obere und untere Schranke

6 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Schätzgenauigkeit: Konfidenzintervall 2

7 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Graphische Veranschaulichung der t-Verteilung

8 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University t-Verteilung: (Tabelle A2, Seite 489)

9 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Konfidenzintervall-Beispiel: Datenbasis (Tabelle A30, Seite 551)

10 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Konfidenzintervall-Beispiel m sig 2 = ,3 / 8 = 39162,66 m sig = 197,896 m wir wählen alpha/2 = 90% => t( alpha/2=90, ) = m geschätzte LOC = 705 m nach linearer Regression mit b 0 = -22,54 und b 1 = 1,7279 erwarten wir 1195,63 LOC m mit 90% Sicherheit liegt die Programmgröße zwischen 793 LOC und 1598 LOC

11 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Verkleinerung des Konfidenzintervalls m weniger Sicherheit verlangen: t(70%, 8) = 1,108 (anstatt 1,860) m größere Datenbasis: t(70%, 30) = 1,055 m Standardabweichung durch viele Teilschätzung verbessern: l 100 mal so großes Programm mit 100 Komponenten a 705 geschätzte LOC l Gesamtschätzung ergibt LOC und nach Regression erwartete LOC l beim Konfidenzintervall rechnet man nicht 100 * Range sondern Wir erwarten zwischen bis LOC mit 90 % Konfidenz (Fehler ist kleiner als 10 %) l Generell ist die Genauigkeitsverbesserung

12 Lines of Code Schätzungen Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

13 Lines of Code Schätzungen m Zeitmessungen tendenziell schwierig m Zeitschätzungen tendenziell ungenau => m LOC als einfaches Größen- / Schätzmaß Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

14 Lines of Code Messen der LOC: + Intuitiv + leicht messbar + korrelieren in gleichbleibendem Umfeld erstaunlich gut zum Zeitaufwand - unterschiedliche Einrückungen - Programmiererabhängig - Erfahrungsabhängig => zeitlich veränderlich - Programmiersprachenabhängig - komplexitätsabhängig: 1 Zeile Betriebsystemscheduler entspricht 100 Zeilen GUI-Code - Copy-Paste Programmierung bringt mehr Zeilen als Refactoring in Methoden -...

15 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Function Points m Alternativen zu LOC: Function Point Methode m Zählen der "syntaktischen Konstrukte" l # Methoden l # Parameter l # if und while Statements l...

16 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Umrechnung von Function Points in LOC

17 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Umrechnung von Function Points in Personenmonate

18 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Bewertung des Function-Point-Maßes + automatisch messbar + relativ verbreitet + Programmiersprachen unabhängig - nicht sehr intuitiv - Programmiersprachen unabhängig - keine individuellen Einflussfaktoren m letztlich Pro und Contra wie bei LOC nur eine gute statistische Datenbasis erlaubt Aussagen über die Güte eines Größenmaßes !

19 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Schätzverfahren: Phasenbasierte Vergleichsschätzung m erstelle Statistik über prozentualen Anteil der Phasen am Gesamtprojekt m Messe Aufwand für die erste(n) Phase(n) des aktuellen Projekts m Berechne Restaufwand / Gesamtaufwand + wenig Aufwand + früh anwendbar + wird im Projektverlauf immer genauer - Hochrechnung aufgrund weniger Prozent des Gesamtaufwands Schätzfehler multipliziert sich auf

20 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Schätzverfahren: Komponentenbasierte Schätzung m erstelle Grobdesign m schätze die Größe der einzelnen Bausteine / Komponenten / Klassen m Summiere Gesamtgröße auf m teile durch die Produktivität => Aufwand - erfordert ein Grobdesign - größerer Aufwand + höhere Genauigkeit + einzelne Schätzfehler mitteln sich weg (wenn statistisch unabhängig) l 25 unabhängige Größen mit einem Schätzfehler von je 100% Gesamtfehler nur 20%

21 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Delphi Methode m lasse mehrere Experten unabhängig voneinander Schätzen (z.B. komponentenbasiert) m dann diskutieren die Experten ihre Schätzungen (insbesondere auffällige Unterschiede) m obige Schritte werden iteriert bis "Stabilität" erreicht + Diskussion über Unterschiede deckt übersehene / falsch eingeschätzte Probleme auf + Minimierung von persönlichen Schätzfehlern des einzelnen Experten - je mehr Experten je mehr Aufwand - gruppendynamische Effekte können falsche Tendenzen auslösen (2 oder 3 unabhängige Schätzungen und höchstens zwei Durchgänge sind meistens gut)

22 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Fuzzy-basiertes Schätzen m Bewertung der Einflussfaktoren mit "linguistischen Kategorien (schwer-mittel-leicht, complex-schwierig-normal-leicht) m Ableitung von Korrekturfaktoren für die einzelnen Kategorien m entsprechende Korrektur der Basisschätzung + intuitives Verfahren + projektspezifische Anpassungen werden möglich + Korrekturfaktoren können mit historischer Datenbasis abgeglichen / justiert werden - Schwankungsbreite durch Korrekturfaktoren ist dramatisch (bis zu Faktor 10 und mehr)

23 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

24 Fuzzy-Tabelle für Methodengrößen m persönliche Tabelle für Java-Methoden aus statistischen Daten erstellen m Methodengrößen sollten "normalverteilt" sein (Gaußsche Glockenkurve) m medium sollte 40% der Fälle abdecken, small und large je 20%, der Rest je 10%

25 OKA Anmeldung Now Open m Meldet euch bis zum in der OKA an (unter Softwaretechnik) Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

26 Zeitplanerstellung ACHTUNG: m man arbeitet nicht 52 Wochen a 40 Stunden = 2080 Stunden pro Jahr m Urlaub, Feiertage, Krankheit, Schulungen => 220 Arbeitstage pro Jahr m Besprechungen, Meetings, Mails, Surfen,... => 4 bis 5 Stunden Entwicklungsarbeit pro Tag circa 1100 Stunden pro Personenjahr m mehr ist unproduktiv und nicht lange durchzuhalten m wenns brennt kann man (für ein paar Wochen) auf 50 Stunden pro Woche hochfahren und Schätzfehler ausbügeln m wenn man das dauernd macht bricht man irgendwann ein

27 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Probe Methode Watts Humphrey

28 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Zeitplanerstellung m Gesamtprojektzeit gemäß Schätzung m Einteilen in Tasks, z.B. Phasen, Komponenten,... m Schätzen der relativen Taskgröße und Ableiten der Taskzeit m bestimmen der typischen Stundenzahl für Projektarbeit pro Woche m Zeiten für andere Projekte, Schulungen, Urlaub, Meetings,... im Kalender vermerken m pro Kalenderwochen erwartete Projektstunden im Kalender eintragen m Taskreihenfolge festlegen: l Vorgänger / Nachfolgerbeziehung festlegen => Gantt Chart l topologisch sortieren l kritische Pfade analysieren l Risikoanalyse l... m Tasks im Kalender eintragen (z.B. mit Microsoft Project, JGantt ) m Meilensteine festlegen

29 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

30

31

32 Scrum Schätzungen m Burn Down Charts m Komponentenbasierte Task Schätzung m Zeitbasierte Schätzung m Messung des Projektfortschritts durch Restzeitschätzung m Keine Erfassung / Planung der Arbeitszeiten m Burn Down Velocity fürs Team (Steigung der Ausgleichsgerade) m Standardabweichung und Konfidenzintervalle denkbar Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

33 OKA Anmeldung Now Open m Meldet euch bis zum in der OKA an (unter Softwaretechnik) Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

34 OKA Anmeldung Now Open m Meldet euch bis zum in der OKA an (unter Softwaretechnik) Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

35 OKA Anmeldung Now Open m Meldet euch bis zum in der OKA an (unter Softwaretechnik) Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

36


Herunterladen ppt "OKA Anmeldung Now Open m Meldet euch bis zum 11.02.2011 in der OKA an (unter Softwaretechnik) Fachgebiet Software Engineering Übersicht © 10.03.2014 Albert."

Ähnliche Präsentationen


Google-Anzeigen