Fachgebiet Software Engineering Übersicht © 22.01.2014 Albert Zündorf, Kassel University Projektplan:

Slides:



Advertisements
Ähnliche Präsentationen
Aufwands- und Kostenschätzung
Advertisements

Das „Vorgehensmodell“
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Computerkurs: Quantitative Auswertung biochemischer Experimente Guten Morgen.
Hypothesen testen: Grundidee
Software-Engineering
Experimentaufbau und -design
3. Klassendiagramme in Java implementieren
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS 09 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339 im Altbau)
3. Analyse Gliederung: Einführung Anforderungsdefinition
Kostenschätzung Wieviel Stunden brauchen Sie, um ein Programm für die Berechnung der Varianz zu schreiben / zu testen? Wie sicher ist Ihre Schätzung? Wie.
Reservierungs Datenbank
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 6. Tipps, Tricks, Idiome Gliederung: 1. Einführung 2. Anforderungsdefinition 3.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Projektplan: m : Anforderungsanalyse Dokument m :
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Tätigkeiten bei der Softwareentwicklung
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 4. Design Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Projektplan:
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Compilerbau und Reverse Engineering m Vorlesung im Wintersemester.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
Programmiermethodik SS2006 © 2005 Albert Zündorf, University of Kassel 1 4. Design Gliederung: 1. Einführung 2. Anforderungsdefinition 3. Analyse 4. Design.
Projektmanagement Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Wasserfallmodel Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Teamorganisation: Versionsverwaltung
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
1 WS 2012 Software-Engineering II Aspektorientierung.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2010/11 m.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Schätzverfahren: Phasenbasierte Vergleichsschätzung
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. funktionsorientierte Organisation.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Baustein- vs. Funktionsorientierte Organisation.
Portierung von Java nach C
Tutorium
Tutorium
Zeitplanerstellung ACHTUNG:
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Sommersemester 2012 m Prof.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Client Architecture Data Model GUI KI Socket Connection.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Mehr Qualität und schnellere Marktreife durch effiziente Softwaretests
Simulation komplexer technischer Anlagen
Das Wasserfallmodell - Überblick
OKA Anmeldung Now Open Meldet euch bis zum in der OKA an (unter Softwaretechnik) Fachgebiet Software Engineering Übersicht.
Chi Quadrat Test Tamara Katschnig.
Die Planungsphase Durchführbarkeitsuntersuchung: fachlich, personell und wirtschaftlich Lastenheft (grobes Pflichtenheft) Glossar Projektkalkulation Projektplan.
Hartmut Klauck Universität Frankfurt SS
IT-Projektmanagement SS 2013 Prof. Dr. Herrad Schmidt
Cs104 Programmieren II Präsentation Meilenstein 5 Sommersemester 2007 Gruppenname (Gruppe Nr. x) Name 1 (Name der/des Vortragenden unterstreichen) Name.
Produktvergleich durch Werbung und Fragebogen
Statistik – Regression - Korrelation
setzt Linearität des Zusammenhangs voraus
Performanz- und Lasttests Formale Methoden
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
Schätzmethoden: CoCoMo und FPA
COCOMO-Methode & FPA-Methode
Test Summary: ein Fehler pro Tag Test First
Programmentwurf: Beispiel auf Anwendungsebene anschauen
 Präsentation transkript:

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

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Analyse & Design Ziele m Technisches Konzept zur Realisierung neuer Funktionalität m Vorgabe für die Implementierung m Zielgruppe Entwickler m Beschreibung auf Modellebene m Beispielszenarien (Story Boards, Sequenzdiagramme, …) m Klassendiagramm

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

Beispiel Agentensimulation: Übersicht GUIsimulator agentX loadAgents("c:/factory1.sim) create() loadPlan() exec()

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Beispiel Agentensimulation: Story Board simulator : AgentSim agentX : Agent > agentX > s1 : Step name = "drilling" > s2 : Step name = "carving" > s3 : Step name = "polish" > s3 : Step name = "paint"

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Beispiel Agentensimulation: Architektur AgentSimStep name :String Agent next

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 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 Zeiten Quelltext? m Solche Fragen muss man mit höchstens 10% Ungenauigkeit beantworten können

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

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Aufwandsmaße Vergleichsbasiertes Schätzen: m neues Projekt 20% "größer" 20% mehr Zeit/Aufwand m Zeitmessung bleibt schwierig: l manuell: manipulierbar l Controller: ja, aber … l automatisch: ungenau/gescheitert m Größenmessung: l leicht automatisierbar l reproduzierbar l...

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Messung der Programm/Problemgröße m gängige Metriken l Lines Of Code l Function Points l Anzahl GUI-Elemente l Anzahl der HTML-Tags l Anzahl der Datenbanktabellenspalten, Anzahl SQL-Statement- Elemente l... m zur Arbeitsminimierung: Größe sollte leicht / automatisch messbar sein m Zeitschätzungen sind erfahrungsgemäß viel schwerer als Größenschätzungen m Watts Humphrey: l leicht messbar l intuitiv schätzbar l statistische Korrelation zu Zeitaufwand beschreibt Güte

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 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 -...

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Reparaturmaßnahmen m einheitliche Indentierung z.B. mit JIndent m jeder Entwickler sammelt Daten über seine persönliche Produktivität (LOC/Hour) m Trendanalysen der Statistiken erfassen Erfahrungs-Speed-Up m programmiersprachenspezifische Daten sammeln (Sprachen werden nicht so oft gewechselt) m Korrekturfaktoren für die Komplexität einzelner Methoden statistisch ermitteln l Komplexität: leicht, mittel, schwer, komplex l Größe: kurz, mittel, groß, riesig m Weitere Korrekturfaktoren für die nichtfunktionalen Anforderungen COCOMO Kostenschätzungsverfahren m Varianz der statistischen Daten gibt exakte Auskunft über die Güte des verwendeten Maßes m Größe und Qualität der statistischen Datenbasis erlauben Aussage über Qualität der Schätzung

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Lines of Code m LOC sieht eigentlich untauglich aus / man hat dabei ein mulmiges Gefühl m Humphrey sagt: l frag die Statistik ob dein Maß taugt l bei geringer Varianz hast du ein gutes Maß

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...

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

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

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 !

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Beispiel einer Zeit / LOC Statistik

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Bestimmung einer Ausgleichsgeraden mit "linearer Regression" m Zeitaufwand = b 0 + b 1 * LOC (oder allgemeiner: y = b 0 + b 1 * x) m Berechnung der Regressionsparameter b 0 und b 1

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Der Korrelationskoeffizent m Basis für Anwendung der linearen Regression m x i, y i wie vorher

Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Interpretation des Korrelationskoeffizenten m r nahe bei 1: hohe positive lineare Abhängigkeit m r nahe bei -1: hohe negative lineare Abhängigkeit m r nahe bei 0: wenig (keine) lineare Abhängigkeit m r2 > = 0.9: hohe Wahrscheinlichkeit für lineare Abhängigkeit m 0.7 < = r2< 0.9: lineare Regression anwendbar m 0.5 < = r2< 0.7: lineare Regression nur mit Vorsicht anwenden m r2 < 0.5: keine lineare Regression möglich m Vorsicht: sinnvolle Überprüfung nur bei genügend Stichproben (> 10?) m Eventuell: statistische Signifikanz ermitteln, siehe [Humprey95]