Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Lutz Prechelt, 1 Seminar Komponenten Tools for light weight knowledge sharing in open-source software development Maximilian.

Ähnliche Präsentationen


Präsentation zum Thema: "Lutz Prechelt, 1 Seminar Komponenten Tools for light weight knowledge sharing in open-source software development Maximilian."—  Präsentation transkript:

1 Lutz Prechelt, prechelt@inf.fu-berlin.de 1 Seminar Komponenten Tools for light weight knowledge sharing in open-source software development Maximilian Höflich Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ http://www.inf.fu-berlin.de/inst/ag-se/ Maximilian Höflich hoeflich@inf.fu-berlin.de

2 Lutz Prechelt, prechelt@inf.fu-berlin.de 2 Wissensmanagement Probleme traditionelle Organisationen Free and Open Source Software (FOSS) Projekte Informationensmedien synchrone Medien asynchrone Medien versteckte Wissensspeicher Light weight knowledge sharing Hipikat Strathcona ROSE Zusammenfassung Fragestellung: Wie kann einem neu zu einem Projekt hinzugestossenem Programmierer der Einstieg am besten erleichtert werden ? Antwort: Diese Aufgabe versucht Wissensmanagement unter anderem zu lösen ABER: Wissensmanagement ist keine Formel, die einfach nur angewendet werden muss, sondern hängt von vielen Faktoren ab Maximilian Höflich hoeflich@inf.fu-berlin.de

3 Lutz Prechelt, prechelt@inf.fu-berlin.de 3 Wissensmanagement Organisation der Wissensbasis Wissen ist an Personen gebunden explizites Wissen implizites Wissen Das Münchener Modell Wissensmanagement erzeugt im Optimalfall einen Kreislauf dies erfordert einen grossen Koordinationsauswand Maximilian Höflich hoeflich@inf.fu-berlin.de

4 Lutz Prechelt, prechelt@inf.fu-berlin.de 4 Probleme Probleme: Kollektivierung des Wissens Wissen ist Macht Institutionalisierung des Wissens schnelles und zuverlässiges Finden? leicht verständliche und ausrechende Informationen? Akzeptanzproblem wird das entsprechende Medium akzeptiert? Änderung von Strukturen, Regeln und Handlungsweisen Rückkopplungsproblem zyklischer Prozess muss in Gang gehalten werden Maximilian Höflich hoeflich@inf.fu-berlin.de

5 Lutz Prechelt, prechelt@inf.fu-berlin.de 5 Kollektivierungproblem grösste Motivation der Mitarbeiter: Geld und Karriere Akzeptanzproblem finanzielle Anreize alteingesessene Mitarbeiter Institutionalisierungsproblem weniger Rückkopplungsproblem weniger Parameter: fester Wissensmanager (in grösseren Betrieben) feste Niederlassung Mentoring leicht möglich Wissensmanager ist vorhanden traditionelle Organisationen Maximilian Höflich hoeflich@inf.fu-berlin.de

6 Lutz Prechelt, prechelt@inf.fu-berlin.de 6 Je weiter Kapital gestreut wird, desto mehr verliert es an Wert. Je weiter Wissen gestreut wird, desto mehr gewinnt es an Wert. Maximilian Höflich hoeflich@inf.fu-berlin.de

7 Lutz Prechelt, prechelt@inf.fu-berlin.de 7 grosse Motivation der Mitarbeiter: Wissenszuwachs (oftmals) kaum Kollektivierungsprobleme Akzeptanz- und Institutionalisierungsproblem wie in traditionelle Organisationen hohes Bewusstsein für Wissensvermittlung Parameter: hohe Mitgliederfluktuation über viele Länder und Kontinente verteilt verschiedene Zeitzonen verschieden Muttersprachen meist kein Wissensmanager vorhanden FOSS Projekte Maximilian Höflich hoeflich@inf.fu-berlin.de

8 Lutz Prechelt, prechelt@inf.fu-berlin.de 8 Fragestellung: Wie kann einem neu zu einem FOSS-Projekt hinzugestossenem Programmierer der Einstieg am besten erleichtert werden ? Antwort:Durch Mentoring und zur Verfügung gestellte Dokumentationen. Informationssuche über Mentoring meist synchron. Informationssuche über Dokumentationen meist asynchron. InformationsMedien Maximilian Höflich hoeflich@inf.fu-berlin.de

9 Lutz Prechelt, prechelt@inf.fu-berlin.de 9 Instant Messanger (ICQ,AIM,...) GnomeMeeting, NetMeeting (Audio/Video) ICQ Grösstes Problem: keine gut funktionierenden Archivierungsmechanismen langsame Wissensübertragung (ausser Gnomemeeting) kaum Metakommunikation synchrone Informationsmedien Maximilian Höflich hoeflich@inf.fu-berlin.de

10 Lutz Prechelt, prechelt@inf.fu-berlin.de 10 Wissensportale statische Homepage CMS Homepage Wiki Grösstes Problem: Möglichkeiten bestimmen den Einsatz Informationsmedium sagt nichts über die Qualität der Informationen aus benötigen meist Administratoren asynchrone Informationsmedien Sourcedokumentationen (JavaDoc) BugZilla Mails Mailinglisten/ Newsgroups Maximilian Höflich hoeflich@inf.fu-berlin.de

11 Lutz Prechelt, prechelt@inf.fu-berlin.de 11 CVS Metainformationen in Commitnachrichten Bugzilla BugzillaIDs in Dokumentationen oder CVS-Commits Grösstes Problem: Informationen sind zu verstreut kaum durch Menschen auswertbar versteckte Wissensspeicher Maximilian Höflich hoeflich@inf.fu-berlin.de

12 Lutz Prechelt, prechelt@inf.fu-berlin.de 12 kein Informationsmedium ist eine Gesamtlösung Informationen teilweise weit verteilt Verknüpfungen zwischen Informationen erschliessen neue Informationen für Menschen nur mit viel Aufwand herauszulesen Light weight knowledge sharing Benutzung von common practice Werkzeugen sollen bestimmte Dokumentationen ergänzen oder ersetzen durch automatische Erstellung von Verknüpfungen strukturierte Aufbearbeitung verbesserte Suche fiktives Beispiel: Die Supersuchmaschine für Programmierer Light weight knowledge sharing Maximilian Höflich hoeflich@inf.fu-berlin.de

13 Lutz Prechelt, prechelt@inf.fu-berlin.de 13 Bugzilla als Taskmanagementsystem Erleichterung der Abarbeitung eines Tasks Client-Server System Client als Eclipse Plugin, standalone Server Verknüpft Informationen aus: Bugzilla CVS Homepage Newsgroups automatisiertes Formen eines Gruppengedächnisses aus diesen Informationen semantisch verknüpfte Informationen contextbezogene Anfragen Mögliche Anfrage: Ich soll Task #123 abarbeiten. Bitte liefere mir ähnliche Tasks. Task #102 ist meinem sehr ähnlich, bitte liefere mir die dazu relevanten Informationen (wie Quelltextänderungen, Newsgroupbeiträge,...) Hipikat Maximilian Höflich hoeflich@inf.fu-berlin.de

14 Lutz Prechelt, prechelt@inf.fu-berlin.de 14 Update Module Durchsuchen des Informationsquellen Eintragen von neuen Informationen in die Datenbank Identification Module Erstellen der Verknüpfungen in der Datenbank Selection Module Beantwortung einer Anfrage des Clients Hipikat – Erstellung des Gruppengedächnisses Maximilian Höflich hoeflich@inf.fu-berlin.de

15 Lutz Prechelt, prechelt@inf.fu-berlin.de 15 Identifikation Erstellung der Verknüpfungen mit log matcher activity Matcher text similarity matcher newsgroup thread matcher Selection Erstellen einer Antwortliste spezialisierte submodule Suche ausgehend von einer Entität in der Datenbank Hipikat Maximilian Höflich hoeflich@inf.fu-berlin.de

16 Lutz Prechelt, prechelt@inf.fu-berlin.de 16 Eine Anfrage stellen – Der Client 1. Einstiegspunkt ist nicht offener Bugzillaeintrag 2. ähnliche Eintrage über similar Beziehung 3. relevante Informationen über implements, documents und about Antwort als Liste von Informationsquellen mit Relevanz (Numerischer Wert). Darstellung der Informationen in Eclipse über Editoren CVS Browser Bugzilla Browser (externes plugin) Hipikat Maximilian Höflich hoeflich@inf.fu-berlin.de

17 Lutz Prechelt, prechelt@inf.fu-berlin.de 17 Probleme keine Personalisierung des Benutzers keine Rückmeldungen über Nützlichkeit von Informationen Authoren werden nicht berücksichtigt für Relevanzwerte benötigt ausführliche CVS Commitnachrichten sehr Bugzilla-zentrisch Vorteile benötigt keine neuen Informationsmedien setzt keine Formatierung von Informationen voraus ersetzt Dokumentation Hipikat Maximilian Höflich hoeflich@inf.fu-berlin.de

18 Lutz Prechelt, prechelt@inf.fu-berlin.de 18 Ziel Strathconas ist es einem Programmierer die Arbeit mit grossen Frameworks/APIs zu vereinfachen, indem es Informationen aus Beispielprojekten kontextbezogen liefern kann. komplexe Abläufe oft kaum/keine strukturierte Dokumentationen für jedes Problem andere Beispielprojekte schwer durchsuchbar Client/Server System Client als Eclipse Plugin standalone Server Mögliche Anfrage: Ich habe die Funktionalität bis hierher verstanden und implementiert, aber jetzt weiss ich nicht weiter. Strathcona Maximilian Höflich hoeflich@inf.fu-berlin.de

19 Lutz Prechelt, prechelt@inf.fu-berlin.de 19 Den Server füllen benötigt Beispielprojekte, die das Framework benutzen bildet die Struktur der Beziehungen in einer DB ab Funktion a mit den Parametern x,y und dem Rückgabewert z gehört zu Klasse H mit der SuperKlasse U, welche die Interfaces HIJ implementiert. In Funktion a werden die Funktionen b,c,d aufgerufen, und Typen K,L,M instantiert. Strathcona Maximilian Höflich hoeflich@inf.fu-berlin.de

20 Lutz Prechelt, prechelt@inf.fu-berlin.de 20 Der Client EclipsePlugin, das die Usereingaben überwacht Anfrage an C, m oder f) C = Klasse m = Methode f = Variablendeklaration Erstellen des strukturellen Kontextes für Klasse, die C,m oder f enthält Superklasse, Interfaces Funktiosaufrufe aus Methode m (beschränkt auf relevante Funktionen, z.B. keine Java API) Strathcona Maximilian Höflich hoeflich@inf.fu-berlin.de

21 Lutz Prechelt, prechelt@inf.fu-berlin.de 21 Annahme: Programmierer weiss bereits ungefähr, wie das Framework zu bedienen ist Vergleichsheuristiken für strukturellen Kontext Inheritance Heuristik Calls Heuristik basic calls calls best fit calls with inheritance Uses Heuristik basic uses uses with inheritance Strathcona Maximilian Höflich hoeflich@inf.fu-berlin.de

22 Lutz Prechelt, prechelt@inf.fu-berlin.de 22 10 Resultate als Antwort Jedes Resultat ist ein Tripel strukturelle Darstellung Liste der Heuristiken Quelltext Strathcona Maximilian Höflich hoeflich@inf.fu-berlin.de

23 Lutz Prechelt, prechelt@inf.fu-berlin.de 23 Testumgebungen Eclipse Pluginentwicklung 2 Probanden mit wenig Erfahrung mit Eclipse verschiedene Aufgaben nur Eclipseeigene Tools und Strathcona zur Lösung des Problems Strathcona Kaum Aussagekraft zu wenig Probanden nur ein Projekt Maximilian Höflich hoeflich@inf.fu-berlin.de

24 Lutz Prechelt, prechelt@inf.fu-berlin.de 24 Probleme Qualität hängt von Beispielprogrammen ab (z.B. Anzahl) Falsche Resultate können sehr viel Zeit kosten Context kann falsch gedeutet werden Copy'n'Paste Programmieren wird gefördert kein Verständnis, unnütze Codefragmente (evtl. Fehlverhalten) gemildert durch mehrere Ergebnisklassen Vorteile automatisches Suchen von relevanten Quelltextpassagen keine spezielle Anfragesprache ersetzt Dokumentation über Beispielsammlungen => erleichtert die Arbeit der Entwickler eines Frameworks Strathcona Maximilian Höflich hoeflich@inf.fu-berlin.de

25 Lutz Prechelt, prechelt@inf.fu-berlin.de 25 Auswertung von CVS Daten Amazon: Kunden, die dieses Buch kauften, haben auch auch folgende gekauft... ROSE: Entwickler, die diese Klasse geändert haben, haben auch folgende geändert... Konstruktion der Zusammenhänge über Transaktionen auf dem CVS über gleicher Commit zeitliche Nähe der Commits Wenn in 90% der Fälle, in denen die Klasse Bar geändert wurde auch die Datei web.xml geändert wurde, dann wird ROSE darauf hinweisen ROSE Maximilian Höflich hoeflich@inf.fu-berlin.de

26 Lutz Prechelt, prechelt@inf.fu-berlin.de 26 FOSS Projekte lassen kaum raditionellen Wissenstransfer zu synchrone Informationsmedien sind sehr effektiv asynchrone Informationsmedien sind archivierbar, erreichen viele Light weight knowledge sharing kann bestimmte Dokumentationen ersetzen wären überflüssig, wenn jeder gute Dokumentation schreiben würde funktionert nur wenn bestimmte Umgebungsfaktoren bereits existieren ROSE Maximilian Höflich hoeflich@inf.fu-berlin.de

27 Lutz Prechelt, prechelt@inf.fu-berlin.de 27 Danke! Maximilian Höflich hoeflich@inf.fu-berlin.de

28 Lutz Prechelt, prechelt@inf.fu-berlin.de 28 Wissensmanagement: Management von Expertise Herausforderung Wissensmanagement Learning Communities und Wissensmanagement Tool Support for Inter-Team Learning in Agile Software Organisations (Thomay Chau, Frank Maurer) Integrated Process Support and Light Weight Knowledge Sharing for Agile Software Organisations (Thomas Chau, Frank Maurer) Effective Work Practices for Software Engineering: Free/Libre Open Source Software Development (Kevin Crowston, Hala Annabi, James Howsion& Shengai Masango) Hipikat: Recommenting Pertinent Software Development Artifacts (Davor Cubranic, Gail C. Murphy) Integrated Process Support and Light Weight Knowledge Sharing for Agile Software Organisations Tools for Light Weight Knowledge Sharing in open-source software development (Davor Cubranic, Reid Holmes, Annie T.T. Ying, Gail C. Murphy) Wissensmanagement Wissen als Produktionsfaktor Using Structural Context to Recomment Source Code Examples (Reid Holmes, Gail C. Murphy) Mining Version Histries to Guide Software Changes (Thomas Zimmermann, Peter Weißgerber, Stephan Diehl, Andreas Zeller) Quellen Maximilian Höflich hoeflich@inf.fu-berlin.de


Herunterladen ppt "Lutz Prechelt, 1 Seminar Komponenten Tools for light weight knowledge sharing in open-source software development Maximilian."

Ähnliche Präsentationen


Google-Anzeigen