Post on 09-Oct-2020
Vertrauen ist gut ...... Source Control ist besser
Robert Eichenseerconplement AG
Vertrauen ist gutSource Control ist besser!
Robert Eichenseer
conplement AG, Nürnberg
14.09.112 © conplement AG 2010. All Rights Reserved.
•
• 08. September 2011
•
• Robert Eichenseer
• Senior Software Engineer
• robert.eichenseer@conplement.de
• conplement AG
• Südwestpark 92
• 90449 Nürnberg
•
www.conplement.de
• .NET DevCon Nürnberg
• Vertrauen ist gut -
• Source Control ist besser!
14.09.113 © conplement AG 2010. All Rights Reserved.
• Die Grundlagen
• Geschichte
• 30.04.1999 Totalverlust Militärsatellit;
Start mit Titan IV Rakete
• Sprengung weil Flugbahn instabil wurde
• Finanzieller Schaden in Milliardenhöhe
• Nicht messbarer Imageschaden
(1) Quelle: http://www.flickr.com/photos/landoni/3272161687/
(1)
14.09.114 © conplement AG 2010. All Rights Reserved.
• Die Grundlagen
• Geschichte
• Fehler in Steuerungssoftware!
• Fixer Filter Wert „Roll-Rate“
– -0,1992476 -> -1,992476
– Datei mit Wert wurde von
NASA geliefert
• Verlust und manuelle Neuerstellung
– „Kommasetzung“ war Grund für Sprengung
http://sunnyday.mit.edu/accidents/titan_1999_rpt.doc
(1) Quelle: http://www.flickr.com/photos/landoni/3272161687/
(1)
14.09.115 © conplement AG 2010. All Rights Reserved.
• Vertrauen ist gut – SC ist besser!
• Agenda• Die Buzzwords
– Was ... Wie ...
– Die Beispielsysteme
• Hauptaufgaben (Demo)
– Cooperation
– History
– Parallele Entwicklung
• Die Zukunft
– Sharepoint Collaboration
14.09.116 © conplement AG 2010. All Rights Reserved.
• Die Grundlagen
• Buzzwords
• SCM (Software Configuration Management)
– Unterstützung bei „Application Lifecycle Management“
– MS Team Foundation Server, IBM ClearCase, BitMover
BitKeeper
14.09.117 © conplement AG 2010. All Rights Reserved.
• Die Grundlagen
• Buzzwords
• Versionskontrollsysteme (VCS)
– Teilbereich eines SCM
– Konzentration auf die Bereiche Entwicklung / Bugfix
– Beispiele
• Microsoft Visual Source Safe
• CVS / Subversion
• Git
14.09.118 © conplement AG 2010. All Rights Reserved.
• Die Grundlagen
• Buzzwords
• Lokale Verwaltung
– Historisierung in der jeweiligen Datei
– Bsp.:
• SCCS, RCS
• MS Word; Office Anwendungen
14.09.119 © conplement AG 2010. All Rights Reserved.
• Die Grundlagen
• Buzzwords
• Zentrale Verwaltung
– Client – Server Architektur
– Bsp.:
• Visual Source Safe, Team Foundation Server
• Clear Case, Subversion
14.09.1110 © conplement AG 2010. All Rights Reserved.
• Die Grundlagen
• Buzzwords
• Dezentrale Verwaltung
– Peer – To – Peer Architektur
– Bsp.:
• Git
• Mercurial (Codeplex)
14.09.1111 © conplement AG 2010. All Rights Reserved.
• Die Grundlagen
• Die Beispielsyteme
• Microsoft Visual Source Safe (VCS)
– Entwicklung von „One Tree Software“
• Clients für DOS, OS/2, Windows, Windows NT, MAC
und Unix
• 1994 von MS gekauft; Konzentration Windows
– Brian Harry Gründungsmitglied „One Tree Software“
• Technical Fellow bei MS
• „Mastermind“ TFS
– „Eating their own dog food“ nicht für Source – Safe
• Gerüchteweise „Source Depot“ (1)
(1) O‘Reily; Practical Software Development, Seite 73
14.09.1112 © conplement AG 2010. All Rights Reserved.
• Die Grundlagen
• Die Beispielsysteme
• Microsoft Team Foundation Server (SCM)
– Aktuelle Version „Visual Studio TFS 2010“
• 3te Version von TFS
– Seit Visual Studio 2010
• Im Lieferumfang von >= VS 2010 Professional
• Installation / Konfiguration innerhalb von ~ 5 Minuten
• Installation auf Client OS (Win7, Windows Vista SP2)
• Komplettes SCM System
– Unterstützt alle Phasen der Softwareentwicklung
14.09.1113 © conplement AG 2010. All Rights Reserved.
• Hauptaufgaben
• Cooperation Support
• Zwei Grundlegende Verfahren
– Check Out -> Modify -> Check In
• Zentrale Systeme
– Exclusive Check Out
– Multiple Check Out
– Modify -> Merge -> Commit
• Dezentrale Systeme
14.09.1114 © conplement AG 2010. All Rights Reserved.
• Hauptaufgaben
• Demo App• Demo Applikation Rocket Control
14.09.1115 © conplement AG 2010. All Rights Reserved.
• Hauptaufgaben
• History Management;
• Situation
• Herausforderung:
– Wiederherstellung Stand: Release 1.0
– Wiederherstellung Stand: UI Bug; 7011
14.09.1116 © conplement AG 2010. All Rights Reserved.
• Hauptaufgaben
• History Management;
• Widerherstellung Release 1.0
• Wiederherstellung UI Bug; 7011
– Reaction -> Revision 3
– Left -> Revision 2
– Right -> Revision 1
– Top -> Revision 1
(Änderung UI Bug; 7011)
• SCM Funktionen
– Label
• Zusammenfassung von Revisions im Repository
– Changeset
• Zusammenfassung aller Check-In Änderungen (nicht
in VSS)
14.09.1117 © conplement AG 2010. All Rights Reserved.
• Hauptaufgaben
• History Management;
• Aus dem Alltag ...
– Aufwendiger Algorithmus zur Steuerung der
Rakete fertiggestellt. Es fehlt nur noch ein
„kleines“ Refactoring. Nach Refactoring
funktioniert gar nichts mehr !
– Kurz vor dem Urlaub kann der Code nicht gebaut
werden. Wie soll der Code übergeben werden?
– Freitag 18:00 Uhr, das WorkItem ist noch nicht
fertig.
• SCM Funktion: Shelveset
– Ablage im Repository
– Nicht via „Get-Latest“
– Nicht in Visual Source Safe
14.09.1118 © conplement AG 2010. All Rights Reserved.
• Hauptaufgaben
• Parallele EntwickungAufgabenstellung
Koordination • Release• Feature Entwicklung• Bugfix
Wie kommt Bugfix „Top/Left Rate“ in Release 1 (ohne RR Steuerung)?
Wie kommt Bugfix „Right Rate“ in Release 1 (ohne RR und Galileo)?
Wie kommt Bugfix „Galielo“ in Release 1 und Release 2 (ohne Clavius)?
14.09.1119 © conplement AG 2010. All Rights Reserved.
• Hauptaufgaben
• Parallele EntwicklungLösung
Branching / Merging
http://tfsbranchingguideiii.codeplex.com/
14.09.1120 © conplement AG 2010. All Rights Reserved.
• Die Zukunft?
• Sharepoint CollaborationGemeinsames gleichzeitiges Arbeiten an einer Version
Sharepoint 2010 / Office 2010
Dariuzs Parys; Technical Evangelist Microsoft
Online Pair-Programming Tool für Visual Studio 2010
14.09.1121 © conplement AG 2010. All Rights Reserved.
• Zusammenfassung
• Was benötige ICH?Software Configuration Management (SCM) vs. Version Control
System (VCS)
Umfeld entscheidet über SCM Auswahl
Anzahl Teammitglieder
Lokation Teammitglieder
Verbindung zum Repository
Versionspflege
Einsatz SCM / VCS
In jedem Projekt sinnvoll und nötig!
14.09.1122 © conplement AG 2010. All Rights Reserved.
• Zusammenfassung
• Fazit
•
Keine Softwareprobleme bei zukünftigen Missionen!
Quelle: http://www.thefutureschannel.com/img/pics/mike_griffin/NASA_CEV_Orion01.jpg
14.09.1123 © conplement AG 2010. All Rights Reserved.
• Ich freue mich auf Ihre Fragen
• Robert Eichenseer
• www.conplement.de