Page 1
© Prof. Dr. K. Blank, Prof. Dr. A. Zimmermann. used by permission www.reutlingen-university.de
Hochschule Reutlingen
Reutlingen University
Source Code Management undMicrosoft SharePoint
Björn KrausSven MetzgerDmitrij Petrov
Betreuer: Prof. Dr. Karlheinz Blank
Fakultät Informatik
Studiengang Wirtschaftsinformatik
Software-Projektmanagement
19.1.2015
Page 2
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
2 © Dmitrij Petrov
Agenda
1. Source Code Management1. Einführung in SCM
2. Zwei Konzepte und deren Beispiele – svn & git
3. Vergleich & Demo
2. Microsoft SharePoint1. Einführung in Microsoft SharePoint
2. Einsatzgebiete
3. Integration von PMOffice 365 & Social Media
3. Fazit
Page 3
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
3 Björn Kraus
Was ist Source Code Management bzw. Versionsverwaltung?
System zur Erfassung von Änderungen an Dokumenten oder Dateien,
oft auch zur Synchronisation unter beteiligten (zentraler & verteilter
Ansatz)
Jede Änderung wird mit einem Zeitstempel und einer
Benutzererkennung versehen und in einer Versionsgeschichte
gespeichert
Möglichkeit jede ältere Version wiederherzustellen bzw. Änderungen
rückgängig zu machen
Nicht nur für Source Code Verwaltung geeignet sondern auch
Beispielsweiße für normale Word Dokumente etc.
Page 4
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
4
Teamarbeit erleichtern, insbesondere verteilte Programmierung
Zugriffskontrolle
Effizienzsteigerungen durch Automatisierung
Ziele des SCM bzw. der Versionsverwaltung
Björn Kraus
Page 5
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
5
Arten der Versionsverwaltung - Zentral
Klassische Client-Server Beziehung
Server beinhaltet das gemeinsame Repository
Zu bearbeitende Version wird dem Client als Arbeitskopie aus dem
Repository übermittelt
Änderung der Clients (Entwickler) an einer Version (meist an der
Aktuellsten) werden mittels Commit an den Server mitgeteilt und in die
entsprechende Version übernommen.
Andere Clients erhalten diese Änderungen bzw. die neuen Versionen
mittels Update in Ihrer Arbeitskopie
Björn Kraus
Page 6
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
6
Zentralisierte Versionsverwaltung
Björn Kraus
Page 7
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
7
Zentralisierte Versionsverwaltung
Björn Kraus
Page 8
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
8
Arten der Versionsverwaltung - Verteilte
Jeder Client verfügt über sein eigenes Repository
Jeder Commit eines Clients erfolgt zunächst nur lokal in seinem Repository.
Die dort getätigten Commits werden später per push an den Server übertragen
(Offizielles Repository)
Clients erhalten die für sie notwendigen Änderungen in dem sie sich mit den
Repositories anderer Clients abstimmen bzw. sich dieses Clonen
Zunächst keine Konflikte beim commiten, da dies erst lokal geschieht
Später werden Versionen der einzelnen Repositories überprüft und
zusammengeführt
Deutlich Flexibler als der Zentrale Ansatz, keine Verbindung zum Server
nötig für Commits, jedoch Komplexer und benötigt mehr
Koordiantionsaufwand
Björn Kraus
Page 9
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Verteilte Versionsverwaltung
9 Björn Kraus
Page 10
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Verteilte Versionsverwaltung
10 Björn Kraus
Page 11
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Vorteile der Versionsverwaltung
Versionsgeschichte lässt genau nachvollziehen wer, wann, was
geändert hat
Änderungen können jeder Zeit rückgängig gemacht werden
Bietet die Möglichkeit zur Synchronisation, insbesondere für
verteiltes Programmieren
11
das Überschreiben einer Datei oder fälschlicherweise vorgenommene Änderungen werden
verhindert bzw. können rückgängig gemacht werden
Björn Kraus
Page 12
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
12
Subversion (SVN)
Versionskontrollsystem
Zentralisierter Ansatz
Netzwerkübergreifend
Nicht nur Source Code Verwaltung
Open-Source & Freie Software
Björn Kraus
Page 13
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
13
Apache Software Foundation
1995: Gründung durch 8 Informatiker/Entwickler, darunter z.B. Brian
Behlendorf & Roy Fielding
Gründungsprojekt: Apache HTTP Server (Weiterentwicklung des
NCSA HTTPd Webservers)
1999: Umwandlung in die Apache Software Foundation & Gründung der
CollabNet Inc. durch Brian Behlendorf und O’Reilly Media
2000: Start der Entwicklung von Subversion bei CollabNet
2004: Release Version 1.0
2009: Wechsel des Projekts zur Apache Software Foundation
Dezember 2014: Release der Version 1.8.11
Björn Kraus
Page 14
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
14
Apache Software Foundation
Ehrenamtliche Organisation
450 Mitglieder & 3500 Entwickler
Aktuelle Top Level Projekte :
Apache HTTP Server
OpenOffice
Subversion
Hadoop (& Big Data)
….
Finanzierung durch Spenden & Sponsoren wie Google, IBM, Facebook usw.
Björn Kraus
Page 15
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Git (engl. “Blödmann”)
Entwickelt von Linus Torvalds et al. in 2005
für Linux Kernel
Keine Abhängigkeit von dem Server
„Commit Early And Often“ – Mentalität
3rd Party Integration (Bug track. & Review & CI)
Arbeitsablauf wird benötig
15 © Dmitrij Petrov
Page 16
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Free und Open-Source SW und Unternehmen
16 © Dmitrij Petrov
Page 17
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Vergleich: Aber welchen VCS?
Zentralisiert
Microsoft‘s Team Foundation Server
Perforce
IBM‘s Rational ClearCase
Surround SCM
Verteilt
Baazar
Mercurial
Fossil
Plastic SCM
17 © Dmitrij Petrov
Page 18
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Vergleich
SVN Git
svnadmin create myprojectgit init
git add
svn commitgit commit
git push
svn update git pull
svn checkout git clone
svn log git log
36 Befehle ~ 154 Befehle
18 © Dmitrij Petrov
Page 19
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Vergleich
19 © Dmitrij Petrov
SVN Git
Einfach zum lernen Komplex
Zentralisiert Verteilt
Commit ist nur Online möglich Auch Offline
Top-down managerial control
(ACL)Schneller*
Besseren Umgang mit Binären
Dateiengit-svn bridge
Page 20
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Eclipse Community Survey 2009 - 2014
21 © Dmitrij Petrov
Page 21
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Project Management mit Git & SVN ?
22 © Dmitrij Petrov
Source Code Verwaltung
Dokumentation (Wiki)
Bug Tracking
Agile, Roadmap, Statistiken usw.
Continuous Integration
Groups
Internationales Umfeld
Page 22
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Project Management mit Git & SVN !
23 © Dmitrij Petrov
– Git
– Open Source VCS
– Git und Mercurial
– Git, TFS, SVN
– Bazaar
Page 23
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
24 © Dmitrij Petrov
Project Management mit GitHub
Web Applikation für Verwaltung von Software Projekten
Start: April 2008
Heute ist der größte Code Host mit 17,4 Millionen Repositories
> 200 Programmiersprachen unterstützt
Page 24
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
25 © Sven Metzger
Was ist Microsoft SharePoint?
Page 25
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
26
Was ist Microsoft SharePoint?
© Sven Metzger
Page 26
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
27
Einführung und Überblick in Microsoft SharePoint
© Sven Metzger
Page 27
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
28
Einführung und Überblick in Microsoft SharePoint
Die 6 großen Funktionsbereiche:
Sites
Zugriff über Webseiten auf alle Funktionen
Communities
Einrichten von persönlichen Webseiten & sozialen Medien
Content
Verwalten/Versionieren von Dokumenten
Search
Suche innerhalb und außerhalb von MS SharePoint
Composites
Freie Zusammenstellung von SharePoint-Komponenten &
Einbindung von MS-Office Anwendungen auf Webseiten
Insights
Sammeln und Aufarbeitung von Unternehmensdaten
© Sven Metzger
Page 28
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
29
Einsatzgebiete von Microsoft SharePoint
MS SharePoint kann aufgrund der umfangreichen Funktionalitäten sehr viele
Business Cases abdecken.
Mögliche Einsatzgebieten sind:
Service
Organisation
Personalwesen
Marketing
Finanzwesen
Compliance Lösungen
Vertrieb
Forschung und Entwicklung
Produktion
© Sven Metzger
Page 29
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
30
Effektives Projektmanagement mit Microsoft SharePoint
Exkurs PMOffice 365:
Vollständige Projektmanagementlösung für MS SharePoint
Ermöglicht somit eine einheitliche Strukturierung von Projekten,
Teilprojekten, Aufgaben und Projektteams
Individuelles hinzufügen und löschen von Anforderungen möglich
© Sven Metzger
Page 30
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
31
Integration von Social Media
Ziel: So viele (neue) Leute wie möglich erreichen
Beispiel für mögliche soziale Netzwerke:
Dies funktioniert durch die Bereitstellung, verschiedener Metainformationen
zum gewünschten Inhalt, für soziale Medien
Viele soziale Medien nutzen das Open Graph-Protokoll (z.B. Facebook)
Um die Inhalte gezielt anzuzeigen müssen Open Graph Metadaten in die
Website integriert werden
SharePoint 2013 stellt zwei Modelle zur Verfügung:
Das klassische Inhaltsveröffentlichungsmodell
Das neue suchgesteuerte Veröffentlichungsmodell
© Sven Metzger
Page 31
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
32
Fazit
SCM, insbesondere Versionskontrolle, erleichtert die Zusammenarbeit an
Komplexen Projekten enorm (“3K’s aus VS”)
Auch komplexe Systeme wie Git bieten einen verständlichen und schnellen
Einstieg in Bezug auf die Grundfunktionen
Viele verschieden Systeme die unterschiedliche Konzepte nutzen
Es gibt keine "beste" Lösung, vielmehr kommt es auf den
Verwendungszweck bzw.auf die Gegebenheiten an
MS SharePoint ist für einen "größeren" Verwendungszweck vorgesehen
mit PMOffice 365 ist es eine vollständige Projektmanagement Software
mehr realisierbar als "nur" Projektmanagement
© Sven Metzger
Page 32
Software-ProjektmanagementHochschule Reutlingen
Reutlingen University
Quellen
# 3-5,8,11: http://de.wikipedia.org/w/index.php?title=Versionsverwaltung
# 7: https://www.linux-user.de/ausgabe/2006/10/084-svn/prinzip.png
# 6,9-10: http://www.slideshare.net/paultcochrane/versionskontrolle-mit-subversion-und-git
# 12,13: http://de.wikipedia.org/wiki/Apache_Software_Foundation
# 15: http://git-scm.com/book/en/Getting-Started-A-Short-History-of-Git
https://www.youtube.com/watch?v=4XpnKHJAok8
# 18: Öffentliche Dokumentation
# 19: https://programmers.stackexchange.com/questions/111633/what-does-svn-do-better-than-git
https://stackoverflow.com/questions/871/why-is-git-better-than-subversion
# 20: https://www.openhub.net/repositories/compare
https://programmers.stackexchange.com/questions/136079/are-there-any-statistics-that-show-the-popularity-of-git-versus-svn
http://www.slideshare.net/IanSkerrett/eclipse-community-survey-2014
# 23: https://en.wikipedia.org/wiki/Comparison_of_open-source_software_hosting_facilities
# 24: https://github.com/angular/angular.js
# 25-27: http://technet.microsoft.com/de-de/office/dn756397.aspx
# 28: http://de.wikipedia.org/wiki/SharePoint#.C3.9Cbersicht
# 29: http://www.cellent-mittelstandsberatung.de/it-infrastruktur/sharepoint/einsatzgebiete/
# 31-32: http://www.locatech.com/technologien-plattformen/sharepoint
33 © Alle
Page 33
© Prof. Dr. K. Blank, Prof. Dr. A. Zimmermann. used by permission www.reutlingen-university.de
Hochschule Reutlingen
Reutlingen University
Danke für Ihre Aufmerksamkeit
34