39
Frederik Bässmann, [email protected] 1 Seminar „Komponenten“ Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin, Institut für Informatik http:// www .inf. fu - berlin .de/ inst / ag -se/

1 Frederik Bässmann, [email protected] Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Embed Size (px)

Citation preview

Page 1: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 1

Seminar „Komponenten“

Programmierern über die Schulter gesehen

Frederik Bässmann

Freie Universität Berlin, Institut für Informatik

http://www.inf.fu-berlin.de/inst/ag-se/

Page 2: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 2

1. Einleitung: Warum wird die Arbeit von Programmierern beobachtet?

• 1.1. Motivation von Entwicklungsstudien• 1.2. Studien in der Softwareentwicklung

2. die Arbeit von Programmierern und Softwareentwicklern• 2.1. Ueberblick über die Arbeit von SEs und Programmierern• 2.2. Arbeitsumfeld am Beispiel einer Softwarefirma

3. Studien von Entwicklungsprozessen: empirische, analytische und arbeitspraktische Ansätze

• 3.1. Betrachtung von Entwicklungsarbeit• 3.2. Vergleich von empirischen und arbeitspraktischen Studien

4. Vorbereitung und Organisation von Recherchen• 4.1. Planung der Recherche• 4.2. Statistik von Arbeitsschritten

5. Vorgehensarten und Methoden bei Recherchen 6. Auswertung

• 6.1. Umgang mit gewonnenen Studiendaten• 6.2. Use Case Maps (UCMs)

7. Von der Analyse zum Entwickler-Tool

Inhalt

Page 3: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 3

1.1. Motivation von Entwicklungsstudien

Es handelt sich nicht um oberflächliche Reportagen sondern um einen wichtigen Bereich der Software-entwicklung

Durch die Beobachtung und Analyse der Arbeit von Softwareengineers (SEs) wird eine effizientere Arbeitsweise unterstützt

Es werden Erfahrungen gesammelt und Entwicklungsprozesse optimiert

1. Einleitung

Page 4: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 4

Eines der Hauptziele ist die Vereinfachung der Arbeit von SEs-> Entwicklung von Tools zur Optimierung des

Arbeitsprozesses

Untersuchung der Benutzerfreundlichkeit von Tools zur Verbesserung und einfacheren Handhabung derselben

-> Recherechen der Arbeit von SEs werden so angelegt, dass eine spätere Auswertung

der gewonnen Daten für diese Ziele möglich ist

1. Einleitung

Page 5: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 5

1.2. Studien in der Softwareentwicklung

je grösser der Umfang der Beobachtungen, desto repräsentativer die Studie

oft können jedoch aus Zeit- und Aufwandsgründen nur einzelne Unternehmen betrachtet werden

Recherchen von Studien in der Softwareentwicklung müssen sorgfältig geplant und umgesetzt werden, um späteren Nutzen der Informationen zu gewährleisten

1. Einleitung

Page 6: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 6

2.1. Überblick über die Arbeit von SEs und Programmierern

‘Programmierer’ ist nicht gleich ‘SE’

• SEs haben vielfältige Aufgaben, nicht nur ‘Coden’

• Programmierer sollten mehrere Programmier-sprachen beherrschen, mindestens eine professionell, haben oft geringere Graduierung

• Softwareentwicklung besteht neben Codierung aus Planung, Organisation, Management usw., was von SEs ebenso gefordert wird wie Programmierkenntnisse

2. die Arbeit von Programmierern und SEs

Page 7: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 7

Softwareentwickler müssen in der Lage sein, Projekte effizient umzusetzen:

• Fähigkeiten von Mitarbeitern einschätzen• Gruppen von Entwicklern zusammenstellen• Planung den Arbeitsumständen anpassen und

realistische Meilensteine setzen• für die Einhaltung der geplanten Teilziele sorgen,

die den Vereinbarungen mit dem Auftraggeber entsprechen

– > Management des gesamten Projekts

je mehr Erfahrung, desto mehr Verantwortung

2. die Arbeit von Programmierern und SEs

Page 8: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 8

2.2. Arbeitsumfeld am Beispiel einer Softwarefirma

Hauptprojekt: ein umfangreiches Telekommunikationssystem

ist bereits seit den 80er Jahren in ständiger Entwicklung und Anpassung

mehrere Millionen Lines of Code, über 16000 einzelne Methoden in über 8000 Dateien

Projekt ist von existentieller Bedeutung für die Firma

bereits über 100 Personen waren an der Entwicklung beteiligt

2. die Arbeit von Programmierern und SEs

Page 9: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 9

Mitarbeiter haben die Aufgabe, das System zu erhalten und zu erweitern

• haben viel Handlungsfreiheit bei der Arbeit

• permanente Kommunikation mit Kollegen, um Verständnis fremder Arbeit zu erlangen und zu vertiefen -> gegenseitige Beratung

• dürfen hierzu zwischen dem eigenen und anderen Arbeitsplätzen pendeln

• Freiheit bei der Wahl der eigenen Aufgaben aus TODO-Listen

2. die Arbeit von Programmierern und SEs

Page 10: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 10

3.1. Betrachtung von Entwicklungsarbeit

Recherchearbeit bildet die Grundlage für die spätere Toolentwicklung

grundlegender Einblick in die Arbeit der Entwickler ist notwendig

verschiedene Recherchevarianten:

• analytische Studien (‘analytical Studies’)• empirische Studien (‘empirical Studies’)• arbeitspraktische Studien (‘Studies of Work Practices’)

3. Studien von Entwicklungsprozessen

Page 11: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 11

analytische Studien• Erschliessung logischer Zusammenhänge durch

Interpretation von gewonnenen Daten

empirische Studien (am häufigsten angewendet)• Herauskristallisierung von Mustern in den Daten, also

Suche nach typischen Konstellationen

arbeitspraktische Studien• Sammlung möglichst umfangreicher Daten für

möglichst repräsentative Statistik

3. Studien von Entwicklungsprozessen

Page 12: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 12

die drei Dimensionen empirischer Studien:

Quelle: Paper ‘Studies of the Work Practices of Software Engineers’

3. Studien von Entwicklungsprozessen

Page 13: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 13

3.2. Vergleich: empirische vs. arbeitspraktische Studien

durch empirische Studien kann ein guter Eindruck erarbeitet werden, aber Nachteile:

• Umgebung meist künstlich (artificial environment), experimentelle Projekte

• daher sind die Programmierer oft noch unerfahren, beispielsweise Studenten – haben andere Arbeitsge-wohnheiten

• nicht immer realistische Arbeitsbedingungen, daher oftmals nicht repräsentativ genug (Labor)

3. Studien von Entwicklungsprozessen

Page 14: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 14

arbeitspraktische Studien sind hauptsächlich statistisch orientiert, aber dafür weiträumiger angesetzt

• Motivation: ein erkanntes Arbeitsmuster spiegelt nicht unbedingt Bedürfnisse hinsichtlich Tools wider

• wichtiger: wie oft macht der Entwickler was?

• welche Arbeitsschritte machen den meisten Aufwand?

• daher sollten die Details der Arbeitsabläufe erfasst werden, nicht unbedingt immer bestimmte Abfolgen

3. Studien von Entwicklungsprozessen

Page 15: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 15

arbeitspraktische Recherchen sollten in realen Umgebungen (natural work environment) durchgeführt werden

bessere Rückschlüsse auf die Notwendigkeiten der Beschaffenheit der Tools hinsichtlich der Arbeits-umgebung möglich

Tools müssen nicht nur gut handhabbar sein, sondern sich auch in Arbeitsumgebung einfügen

Entwickler müssen sich schnell mit neuen Tools vertraut machen können, daher Einblick in deren Gewohnheiten sinnvoll

3. Studien von Entwicklungsprozessen

Page 16: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 16

Vorteile field study (Recherche in realem Umfeld):• reale Arbeitsbedingungen, ‘echtes’ Projekt,

industrielle Grössenordungen

aber: Umstände sind auch nicht der Recherche anpassbar

• Hindernisse im laufenden Betrieb, Mitarbeiter können keine Rücksicht auf Reporter nehmen

• Recherche ist auf Gunst der Mitarbeiter angewiesen• manchmal keine Recherche möglich (Datenschutz, zu

starke Eingebundenheit der Mitarbeiter…)

3. Studien von Entwicklungsprozessen

Page 17: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 17

4.1. Planung der Recherche

Durchführung einer arbeitspraktischen Studie

• mehrere Möglichkeiten, Informationen zu sammeln: Fragebögen, Beobachtung (Observierung)

• im Vorfeld abwägen, welche Möglichkeit wann am geeignetsten ist

• Manager und Mitarbeiter konsultieren, die bereit sind, zu kooperieren

4. Vorbereitung und Organisation von Recherchen

Page 18: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 18

Fragebogen:

• wieviel Zeit und Aufwand für welche Aktivitäten?• Mitarbeiter können freiwillig Einträge vornehmen• aufgrund der ungezwungenen Teilnahme kann

ernsthafte Bearbeitung angenommen werden

Betrachtung von einzelnen Mitarbeitern:

• Beobachtung bis zu mehreren Monaten• Zeitabstände werden später grösser• Besprechung und Beobachtung bei den Meetings

4. Vorbereitung und Organisation von Recherchen

Page 19: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 19

Betrachtung von Gruppen:

• die Gruppenmitglieder fertigen Diagramme an, die ihr Verständnis des Systems darstellen

• Interviews, wie Aufgaben und Probleme gelöst werden

• Observierungen der Gruppen bei der Arbeit und Protokollierung ihrer Tätigkeiten

• Mitarbeiter mit unterschiedlichen Arbeitsweisen und verschieden langer Erfahrung sinnvoll

4. Vorbereitung und Organisation von Recherchen

Page 20: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 20

manche Arbeitsschritte können auch automatisch erfasst werden:

• Verwendung von bestimmten Anwendungen kann regsitriert werden

• Beispiel: Suchtools für Dateien und Inhalte, Editoren

• Nachteil: Nutzungsdauer wird meist nicht miterfasst, ausserdem wird oft nur erster Aufruf registriert, da Anwendung geöffnet bleibt

• bei automatischen Erfassungen auf Tätigkeiten verzichten, die ohnehin vom System ausgeführt werden, wie Kompilierungen

4. Vorbereitung und Organisation von Recherchen

Page 21: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 21

Beobachtungen von SEs haben prinzipiell einschrän-kende Wirkung auf deren Arbeit

• die ‘Belästigung’ der SEs so gering wie möglich halten

• auch im Interesse der Authentizität der Studie, Ergebnisse werden sonst möglicherweise verfälscht

• Beobachtungen in Stressphasen vermeiden, wie vor anstehenden Meilensteinen

• möglichst nur freiwillige Mitarbeiter miteinbeziehen

4. Vorbereitung und Organisation von Recherchen

Page 22: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 22

4.2. Statistik von ArbeitsschrittenFragebogen: Ereignisse in %:

Quelle: Paper ‘An Examination of Software Engineering Work Practices’

4. Vorbereitung und Organisation von Recherchen

Page 23: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 23

nach den genannten grundlegenden Ansätzen nun zur Durchführung:

detaillierte Planung des genauen Vorgehens sowohl bei empirischen, als auch bei analytischen und arbeitspraktischen Studien notwendig

besonders bei empirischen Studien ist auf die Nachvollziehbarkeit der Zusammenhänge hinterher zu achten

Zweck und Ziele von Arbeitsschritten müssen später bei Auswertung noch erkennbar sein

5. Vorgehensarten und Methoden bei Recherchen

Page 24: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 24

spez. Methode bei SE-Recherchen: Observierungen

Vorgehen: SE wird auf Schritt und Tritt begleitet (shadowing)

zwei Techniken zur Protokollierung:

• Aufzeichnen der Arbeit auf Video– Vorteil: alle Informationen vorhanden– Nachteil: sehr zeitaufwändige Auswertung hinterher

• manuell Notizen während der Arbeit aufnehmen– Vorteil: gezielte Protokollierung von wichtigen Schritten

möglich, besser auszuwerten– Nachteil: Gefahr des Versäumens von Informationen bei

schnellem Arbeitsablauf, Zeitpunkte schwerer erfassbar

5. Vorgehensarten und Methoden bei Recherchen

Page 25: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 25

Alternative: synchronized shadowing, entwickelt von Lethbridge und Singer

Vorteile des Video- und des Notizverfahrens sollen in einem Verfahren vereint werden

Verwendung eines speziell entwickelten Programms zur schnellen Erfassung von einzelnen Arbeits-schritten

• typische Tätigkeiten werden vorcodiert und im Programm für spätere Protokollierung hinterlegt

• die Arbeitsschritte können nun per Tastendruck inclusive genauer Zeiterfassung protokolliert werden

5. Vorgehensarten und Methoden bei Recherchen

Page 26: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 26

oberservierende Reporter Nutzen das Programm auf einem Notebook während der Observierung

zur umfangreicheren Informationsgewinnung wird die Observierung durch zwei Personen durchgeführt, daher ‘synchronized’

kleiner Nachteil: Reaktionszeit der Recher-chierenden führt zu kleinen Verzögerungen, daher nicht ganz genaue Zeiterfassungen

Nachteil unterliegt den Vorteilen deutlich

5. Vorgehensarten und Methoden bei Recherchen

Page 27: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 27

Protokoll einer Observierung mit synchronized shadowing:

Quelle: Paper ‘Studies of the Work Practices of Software Engineers’

die Tastenbelegung lässt sich sehr leicht durch Macros in Microsoft Word realisieren

5. Vorgehensarten und Methoden bei Recherchen

Page 28: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 28

6.1. Umgang mit gewonnenen Studiendaten

Auswertung generell knifflig, sehr zeitaufwändig Daten müssen zunächst in Bereiche eingeteilt werden

– Kategorisierung auch hier verschiedene Ansätze:

• Tätigkeiten können gezählt und ihre zeitliche Dauer insgesamt ermittelt werden (Statistik)

– interessant bei grösseren Datenmengen aus verschiedenen Bereichen

– aufschlussreich bei der Beobachtung von SEs oder Gruppen mit unterschiedlichen Aufgaben

6. Auswertung

Page 29: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 29

• die gewonnenen Daten können auf Arbeitsmuster untersucht werden:

– wann treten welche Schritte auf, welche wieder-kehrenden Abfolgen zeichnen sich ab?

– welche zeitlichen Abstände liegen zwischen bestimmten Schritten?

– bereits bekannte Arbeitsmuster werden in n-grams (kleine Teilprozesse) zerlegt, und nach diesen gezielt in den Daten gesucht

verschiedene Auswertungsmethoden können getrennt oder zusammen verwendet werden

6. Auswertung von gewonnenen Studiendaten

Page 30: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 30

6.2. Use Case Maps (UCMs)

entwickelt von Buhr und Casselmann zur Darstellung von realtime – Prozessen, eignen sich auch zur Veranschaulichung von Arbeitsprozessen

Arbeitsprozess durchläuft Diagramm, durch eine Linie symbolisiert

Schritte werden aufsteigend nummeriert und durch die Linie verbunden

Schleifen, Verästelungen etc. darstellbar Diagramm ist in Kontexte unterteilt, jeder Schritt in

einem Kontext können in weitere UCMs unterteilt werden

6. Auswertung von gewonnenen Studiendaten

Page 31: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 31

• Beispiel eines UCM-Diagramms:

modelliert wurde eine Suchanfrage über einen Editor

Pfeile symbolisieren Datentransferrichtung (User/System)

Uhr steht für Ver- zögerung

Quelle: Paper ‘Studies of the Work Practices of Softwareengineers’

6. Auswertung von gewonnenen Studiendaten

Page 32: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 32

zunächst muss geklärt werden, welcher Bedarf an Arbeitshilfsmitteln besteht

• Erkenntnisse aus Studien werden herangezogen• sowohl statistische als auch Arbeitstechnische

Aspekte werden betrachtet

ein Beispiel: JITC (Just In Time Comprehension) ist eine Arbeitsweise erfahrener SEs:

• man arbeitet sich zielgerichtet immer nur in gerade relevante Bereiche ein, etwa zur Optimierung und Ergänzung von Sourcecode

7. Von der Analyse zum Tool

Page 33: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 33

• Hintergrund: es kann nie alles von einer einzigen Person nachvollzogen werden können (16000 Methoden…)

• es ist nicht möglich, den gesamten Quellcode zu kennen oder alle Zusammenhänge der Methoden

• die Einarbeitung ist mit häufigen Suchanfragen verbunden

Notwendigkeit eines Suchtools erscheint gegeben

Klärung der Anforderungen an das Tool…• Funktionen müssen den Arbeitsprinzipien entsprechen,

in diesem Fall JITC

7. Von der Analyse zum Tool

Page 34: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 34

• Tool muss sich ausserdem in die bereits vorandene Arbeitsumgebung einfügen lassen

• darf bereits vorhandene Tools nicht beeinträ-chtigen, sollte Ergänzung darstellen

• muss dem Entwickler ‘nützlich erscheinen’, sonst wird er sich nicht die Mühe machen, sich einzu-arbeiten

• technische Leistung des Tools festlegen: – grosse Quellcodemengen sollen schnell durchsucht

werden können– Sourcecode verschiedener Sprachen sollte erkannt

werden– muss mit Systemen kompatibel sein

7. Von der Analyse zum Tool

Page 35: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 35

Limite bereits bei der Planung abstecken:

• Installationsmöglichkeit auf nur einem Betriebssystem oder bestimmten Rechnern akzeptabel

• in unserem Beispiel muss keine Objektorientierung erkannt werden können, da es sich hauptsächlich um ein Suchtool handelt

• Laufzeitabhängige Daten brauchen nicht berück-sichtig zu werden

durchdachtes Tooldesign ist wichtig hinsichtlich ‘Konkurrenztools’, dortige Schwächen berück-sichtigen und übertreffen

7. Von der Analyse zum Tool

Page 36: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 36

7. Von der Analyse zum Tool

Quelle: Paper ‘An Examination of Software Engineering Work Practices’

• Screenshot des ‘tksee’ - Tools

Page 37: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 37

Arbeit von Softwareentwicklern und Programmierern

Zweck von SE-Studien (Tools…)

empirische, analytische und arbeitspraktische Studien

Organisation und Durchführung von Studien

Auswertung gewonnener Informationen (UCMs)

Entwicklung von Tools auf Basis von Recherchen

Zusammenfassung

Page 38: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 38

Paper “An Examination of Software Engineering Work Practices” von Janice Singer, Timothy Lethbridge, Norman Vinson, Nicolas

Anquetil  Paper “Studies of the Work Practices of Software Engineers” von Dr. Timothy Lethbridge, Dr. Janice Singer 

http://de.wikipedia.org/wiki/Softwareentwicklung

Literatur

Page 39: 1 Frederik Bässmann, baessman@inf.fu-berlin.de Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Frederik Bässmann, [email protected] 39

Danke!