![Page 1: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/1.jpg)
So#waretechnik
Prof. Dr. Wolfgang Schramm
KONFIGURATIONSVERWALTUNG Kapitel 7
![Page 2: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/2.jpg)
1
Übersicht
1. Einführung in das SoDware Engineering
2. SoDwareprozesse 3. Anforderungsanalyse und -‐
SpezifikaOon 4. SoDwareentwurf 5. Programmierung 6. SoDware-‐Qualitätssicherung und -‐
Prüfung 7. KonfiguraOonsverwaltung 8. SoDware-‐Wartung
![Page 3: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/3.jpg)
2
Ziele
¨ Sie wissen um die Bedeutung des KonfiguraOonsmanagement in Entwicklungsprojekten.
¨ Sie kennen die grundlegenden Begriffe und Aufgaben des KonfiguraOons-‐management.
¨ Sie kennen den Zusammenhang gibt es zwischen KonfiguraOons-‐management und Versionsverwaltung.
![Page 4: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/4.jpg)
3
Kapitelübersicht
1. Einführung & Begriffe Grundlagen der Versionsverwaltung
2. Aufgaben 3. Zentrale vs. Verteilte
Versionsverwaltung
![Page 5: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/5.jpg)
4
Wozu KonfiguraOonsmanagement?
o „Ändern Sie noch eben schnell..." o Die (allzu einfache) Möglichkeit, SoDware zu ändern,
verursacht eine Menge von Problemen. ¤ Zum Beispiel:
n Codieren anhand der falschen Version des Entwurfs. n Paralleles, unkoordiniertes Ändern eines Moduls durch mehrere Personen. n UndokumenOerte Schnellreparaturen an in Betrieb befindlicher SoDware.
o Oder Jahre später in der Wartung eines 10 Jahre alten Codes ¤ Ein Kunde hat noch Änderungswünsche/Fehler in einer alten, längst
weiterentwickelten Version, will aber nicht zu einer neueren wechseln.
¤ Keiner der Entwickler kennt sich mit dem Code noch aus.
![Page 6: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/6.jpg)
5
MoOvaOon
o Produkt-‐Auslieferung an einen Kunden ¤ … und es funkOoniert bei ihm nicht! ¤ Fälschlicherweise wurde bei einer Komponente die (instabile)
Entwicklerversion geliefert
o Zwei Entwickler arbeiten an der gleichen Komponente ¤ … doch am Ende ist nur die Arbeit des einen in der neuen Komponente
enthalten ¤ Dummerweise hat ein Entwickler die Änderungen des anderen
überschrieben
o Die neue Version soll getestet werden ¤ … doch die mühevoll erstellten Testdaten sind verschwunden ¤ Sie wurden beim „Aufräumen“ gelöscht
![Page 7: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/7.jpg)
6
DefiniOonen 1/7
o KonfiguraOonselement ¤ Jedes Artefakt, das im Laufe der Entwicklung entsteht, für Entwicklung, Wartung oder Betrieb relevant ist, und unter KonfiguraOonsmanagement gestellt wird Es ist n unabhängig von anderen KonfiguraOonselementen bearbeitbar, n nicht weiter zerlegbar (bzw. wird nicht weiter zerlegt)
Beispiele n SpezifikaOon, Code-‐Stücke, Make-‐/Ant-‐/Maven-‐Files n Keine KonfiguraOonselemente sind
n (Sitzungs-‐)Protokolle, NoOzen
![Page 8: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/8.jpg)
7
DefiniOonen 2/7
o Version ¤ Eine idenOfizierbare Instanz eines KonfiguraOonselements ¤ Beispiel sort wird zum SorOeren von Dateien verwendet; mit sort_1.1 können Dateien sorOert werden; in sort_1.2 werden auch leere Dateien korrekt behandelt
Anmerkung n “idenOfizierbar” bedeutet
n hat einen Namen (z.B. siehe oben: sort_1.2) n exisOert jederzeit bzw. kann jederzeit wiederhergestellt werden (z.B.
schreibgeschützte Datei)
![Page 9: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/9.jpg)
8
Einführung ■■■ Aufgaben ■■■ Zentrales vs. verteiltes KM
DefiniOonen 3/7
Beziehungen zwischen Versionen o revision-‐of
¤ Eine neue Version ersetzt die Vorgängerversion ¤ Beispiel sort_1.2 entsteht aus sort_1.1, in dem auch leere Dateien korrekt behandelt werden
o variant-‐of ¤ Die neue Version erfüllt weitere Anforderungen ¤ Beispiel sort_1.2a entsteht aus sort_1.2, um die spezielle Schlüsselstruktur von Kunde A zu berücksichOgen.
o Variante ¤ Eine Variante ist eine neue Version, die in der Beziehung “variant-‐of” zur alten Version steht
![Page 10: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/10.jpg)
9
Beziehung zwischen Versionen
V1 V2 V3
Quelle: Ludewig, Lichter: Software Engineering, dpunkt, Heidelberg, 2007
V2a V3a
V2b V3b
X1 X2
Y1 Y2
Variante
t
variant-of
revision-of
Version
![Page 11: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/11.jpg)
10
DefiniOonen 4/7
o Codelinie (code line) ¤ TransiOve Hülle der revision-‐of-‐RelaOon Anmerkung
n Eine Codelinie beginnt mit der iniOalen Version oder einer Variante
o Variantenfamilie ¤ TransiOve Hülle der revision-‐of-‐ und variant-‐of-‐RelaOon Anmerkung
n Eine Variantenfamilie beginnt mit der iniOalen Version
![Page 12: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/12.jpg)
11
Codelinie/Variantenfamilie
V1 V2 V3
Quelle: Ludewig, Lichter: Software Engineering, dpunkt, Heidelberg, 2007
V2a V3a
V2b V3b
X1 X2
Y1 Y2 Codelinie
Variantenfamilie
t
![Page 13: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/13.jpg)
12
DefiniOonen 5/7
o KonfiguraOon ¤ Menge von KonfiguraOonselementen, die gemeinsam (ein funkOonierendes) System bilden. Typischerweise enthält eine KonfiguraOon höchstens ein KonfiguraOonselement aus einer Variantenfamilie.
![Page 14: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/14.jpg)
13
KonfiguraOonen
Quelle: Kleuker: Grundkurs Software Engineering mit UML, Vieweg+Teubner, Wiesbaden, 2011 (modifiziert)
SW-Einheit 1
SW-Einheit 2
SW-Einheit 3
V1 V2 V3 V4 V5
X1 X2 X3 X4
X2a X3a
Y1 Y2 Y3
Y2a Y3a
Y2aα Y2aβ
Konfiguration 1 Konfiguration 2
![Page 15: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/15.jpg)
15
DefiniOonen 6/7
o Baseline ¤ speziell ausgezeichnete, stabile KonfiguraOon, die als Ausgangspunkt
für die Weiterentwicklung dient
o Release ¤ speziell ausgezeichnete, stabile KonfiguraOon, die an Kunden
(allgemein: Stakeholder) ausgeliefert wird
![Page 16: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/16.jpg)
16
Release
o Ein Release enthält typischerweise ¤ SoDware (Programme, Bibliotheken) ¤ Daten, die für einen erfolgreichen Betrieb nöOg sind
n Beispiel: Fehlertext-‐Dateien, IniOalisierungsdateien ¤ InstallaOonsprogramm ¤ Systemhandbuch (einschl. Systemvoraussetzungen),
Benutzerhandbuch ¤ Produktwerbung
o Typische Bezeichnung ¤ x.y.z
Patch Wartungsrelease Hauptrelease
![Page 17: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/17.jpg)
17
DefiniOonen 7/7
o KonfiguraOons-‐Versionen, -‐Varianten Release-‐Versionen, -‐Varianten ¤ analog zu KonfiguraOonselement-‐Versionen, -‐Varianten
o KonfiguraOonsmanagement ¤ ist die Rolle/OrganisaOonseinheit, die die KonfiguraOonselemente und
KonfiguraOonen idenOfiziert, verwaltet und bereitstellt, sowie deren Änderungen überwacht und dokumenOert.
![Page 18: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/18.jpg)
18
Kapitelübersicht
1. Einführung & Begriffe Grundlagen der Versionsverwaltung
2. Aufgaben 3. Zentrale vs. Verteilte
Versionsverwaltung
![Page 19: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/19.jpg)
19
Aufgaben (1)
Versionen
Quelle: Sommerville: Software Engineering, Pearson, Boston, 2011 (modifiziert)
Configuration Elements
![Page 20: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/20.jpg)
20
Aufgaben (2)
o Version Management Versionsmanagement ¤ Verwalten verschiedener Versionen eines KonfiguraOonselements ¤ Ermöglichen paralleler Änderungen
o Release Management Releasemanagement ¤ Zusammenstellen von Releases ¤ Verwalten ausgelieferter Releases
o System Building KonstrukOon ausführbarer Systeme ¤ Zusammenstellen von lauffähigen Systemen aus verschiedenen
KonfiguraOonen
o Change Management Änderungsmanagement ¤ Verwalten von Änderungswünschen ¤ SystemaOsches Bewerten von und Entscheiden über Änderungen
im Folgenden näher betrachtet
Tools: Git, Subversion (SVN)
Tools: maven, ant
![Page 21: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/21.jpg)
22
Repository
o Ein Verzeichnisbaum (Repository) enthält alle Dateien, die zu einem Programm gehören.
o Im Repository befinden sich alle gespeicherten Dateien unter Versionsverwaltung.
o Das Repository ist in der Lage, alle vergangenen Änderungen der Dateien und Verzeichnisse abzurufen.
o Verwaltet wird nicht nur Programmcode, sondern auch Anforderungsdokumente, Designdokumente, Benutzerdokumen-‐taOon etc.
![Page 22: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/22.jpg)
23
Versionsmanagement – Repository (1)
o enthält alle Versionen ¤ eine
kompleve Datei
¤ Deltas
Quelle: G. Popp: Konfigurationsmanagement, dpunkt, 2006
![Page 23: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/23.jpg)
24
Versionsmanagement – Repository (2)
o Inhalt für KonfiguraOonselement ¤ Daten ¤ Versionsnummer ¤ Status
¤ Tags n z.B. um Zugehörigkeit zu Baseline/Release zu kennzeichnen
¤ Änderungshistorie
freigegeben
verworfen
ungeprüft
erfo
lgre
ich
gepr
üft
geän
dert
Aufnahme in Baseline/ Release
![Page 24: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/24.jpg)
25
Versionsmanagement – Projektstruktur (1)
können gelöscht werden, da der Inhalt wieder generiert werden
kann Quelle: G. Popp: Konfigurationsmanagement, dpunkt, 2006
![Page 25: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/25.jpg)
26
Versionsmanagement – Projektstruktur (2)
Aufsplitten bei größeren Projekten
Quelle: G. Popp: Konfigurationsmanagement, dpunkt, 2006
![Page 26: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/26.jpg)
27
Durch-‐ führen
von Ände-‐ rungen
– Ablauf
Quelle: G. Popp:
Konfigurations- management, dpunkt, 2006
![Page 27: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/27.jpg)
28
Konzepte
o Eine beliebige Anzahl von Clients kann sich mit dem Repository verbinden und Dateien lesen oder schreiben.
o Die Clients können die Daten anderen zugänglich machen, indem sie die Daten ins Repository schreiben.
o Geänderte Dateien werden nach korrektem Abschluss der Änderungen kommenOert mit neuer Versionsnummer wieder ins Repository gestellt (check in/commit).
![Page 28: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/28.jpg)
29
Probleme beim Filesharing
![Page 29: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/29.jpg)
30
Konzepte
o Arbeitsmodelle der Versionsverwaltung ¤ Lock-‐Modify-‐Unlock ¤ Copy-‐Modify-‐Merge
![Page 30: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/30.jpg)
31
Lock-‐Modify-‐Unlock
o Wird auch als pessimisEsche Versionskontrolle bezeichnet ¤ Einzelne Dateien müssen vor einer Änderung
durch den Benutzer gesperrt werden. ¤ Während sie gesperrt sind, verhindert das
System Änderungen anderer Benutzer, die warten müssen.
¤ Nach Abschluss der Änderung werden die gesperrten Dateien wieder freigegeben.
![Page 31: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/31.jpg)
32
Lock-‐Modify-‐Unlock
![Page 32: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/32.jpg)
33
Bekannte Probleme mit Sperren
o Verwaltungsproblem: ¤ Wenn eine Datei von einem Benutzer gesperrt wurde, und er
vergessen hat, die Datei wieder freizugeben.
o UnnöOge Serialisierung: ¤ Wenn die Benutzer verschiedene unwidersprüchliche Teile der Datei
gleichzeiOg bearbeiten wollen.
o Falsches Sicherheitsgefühl: ¤ Wenn die Benutzer verschiedene Dateien bearbeiten, die aber eine
Abhängigkeit voneinander haben
![Page 33: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/33.jpg)
34
Copy-‐Modify-‐Merge
o Wird auch als opEmisEsche Versionskontrolle bezeichnet ¤ Das Arbeitskopiekonzept wird benutzt, um das Sperren zu vermeiden. ¤ Die Benutzer erstellen ihre eigenen lokalen Arbeitskopien
(Spiegelkopie vom Server), wo sie parallel mit vollen Schreibrechten arbeiten.
¤ Die Benutzer vom Versionsverwaltungssystem werden unterstützt, ihre Änderungen mit dem Gesamtversion des Repositorys zu vereinen.
¤ Die Konflikte, die nicht automaOsch vom Versionsverwaltungssystem gelöst werden, müssen die Benutzer selber lösen.
![Page 34: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/34.jpg)
35
Copy-‐Modify-‐Merge
![Page 35: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/35.jpg)
36
Copy Modify Merge
![Page 36: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/36.jpg)
37
Durchführen von Änderungen -‐ Befehle
o check-‐out ¤ Bereitstellen einer Kopie zum Bearbeiten im Arbeitsbereich
o update ¤ Aktualisieren der Kopie im Arbeitsbereich (vom Repository)
o check-‐in ¤ Einbringen der bearbeiteten als neue Version ins Repository
o commit ¤ Einbringen der aktuellen Änderungen ins Repository
o revert ¤ Änderungen verwerfen (nur vor commit/check-‐in möglich)
![Page 37: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/37.jpg)
38
Durchführen von Änderungen – Parallele Verarbeitung
o Idee ¤ Mehrere Entwickler können parallel (gleichzeiOg) an einem Modul
(KonfiguraOonselement) arbeiten
o Problem ¤ Entwickler können gleiche (Code-‐)Teile verschieden geändert haben
o Strategien für parallele Bearbeitung n Lock-‐Modify-‐Unlock
n nur sequenOelle Bearbeitung, keine Konflikte möglich
n Copy-‐Modify-‐Merge n parallele Bearbeitung möglich, Konflikte möglich
Entwickler sollten sich absprechen, damit nicht gleiche Codeteile geändert werden
![Page 38: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/38.jpg)
39
Durchführen von Änderungen -‐ Konfliktbehebung
o Konflikt ¤ Zwei Entwickler ändern gleiche Klasse (KonfiguraOonselement)
o Konfliktbehebung ¤ einfache Konflikte: automaOsch
n Änderungen in verschiedenen Codezeilen n beheben:
n automaOsch beide Änderungen übernehmen n neue Version überprüfen
¤ ernste Konflikte: manuell n Änderungen der gleichen Codezeilen n beheben:
n erste/zweite/alle Änderungen verwerfen oder n manuell zusammenführen
![Page 39: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/39.jpg)
40
Durchführen von Änderungen – Branch/Merge
Verzweigung Branch
Zusammenführung Merge
![Page 40: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/40.jpg)
41
Beispiele
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 41: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/41.jpg)
42
Beispiele
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 42: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/42.jpg)
43
Beispiele
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 43: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/43.jpg)
44
Beispiele
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 44: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/44.jpg)
45
Beispiele
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 45: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/45.jpg)
46
Kapitelübersicht
1. Einführung & Begriffe Grundlagen der Versionsverwaltung
2. Aufgaben 3. Zentrale vs. Verteilte
Versionsverwaltung
![Page 46: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/46.jpg)
47
Der heuOge Standard: zentralisierte Versionskontrolle
Quelle: Scott Chacon: Pro Git (http://git-scm.com/book)
![Page 47: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/47.jpg)
48
Der neue Trend: verteilte Versionskontrollsysteme
Quelle: Scott Chacon: Pro Git (http://git-scm.com/book)
![Page 48: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/48.jpg)
49
Der neue Trend: verteilte Versionskontrollsysteme
Quelle: Scott Chacon: Pro Git (http://git-scm.com/book)
optional möglich
![Page 49: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/49.jpg)
50
Der Trend? Suchanfragen bei Google
SVN GIT
![Page 50: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/50.jpg)
51
Noch Fragen?
51
![Page 51: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/51.jpg)
52
Konfigura@onsmanagement
o KonfiguraEonsmanagement: ist die Gesamtheit aller Verfahren zur eindeuOgen Kennzeichnung der KonfiguraOon eines SoDware-‐Systems mit dem Zweck, den Auyau und alle Änderungen dieser KonfiguraOon systemaOsch zu überwachen, die Konsistenz des SoDware-‐Systems sicher-‐zustellen und die Möglichkeit der Rückverfolgung anzubieten.
![Page 52: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/52.jpg)
53
Neue Begriffe!
o Konfigura@onsmanagement: ist die Gesamtheit aller Verfahren zur eindeuOgen Kennzeichnung der KonfiguraEon eines SoDware-‐Systems mit dem Zweck, den Auyau und alle Änderungen dieser KonfiguraOon systemaOsch zu überwachen, die Konsistenz des SoDware-‐Systems sicherzustellen und die Möglichkeit der Rückverfolgung anzubieten.
![Page 53: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/53.jpg)
54
Begriffe
o Eine So$ware-‐KonfiguraEon ist eine Menge zusammenpassender SoDware-‐Einheiten.
o Eine So$ware-‐Einheit ist der kleinste, im Rahmen der KonfiguraOonsverwaltung als atomar behandelte Baustein einer KonfiguraOon. SoDware-‐Einheiten werden nur als Ganzes registriert, freigegeben oder geändert. SoDware-‐Einheiten sind z.B. Programm-‐Module und Dokumente.
o Also: n Es werden also alle Teile der SoDware – Programme, Abläufe, Regeln, auch DokumentaOon und Daten, die mit dem Betrieb des Rechnersystems zu tun haben, verwaltet.
n Das KonfiguraOonsmanagement erstreckt sich über den gesamten SoDware-‐Lebenszyklus.
![Page 54: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/54.jpg)
55
Begriffe
o SoDware-‐Einheiten ändern sich über die Zeit. o Aus einer SoDware-‐Einheit entsteht eine neue Version, wenn
eine Änderung durchgeführt wird, die die Einheit besser macht (Korrektur, Erweiterung, Anpassung, etc.)
o Von jeder Einheit können mehrere Versionen geführt werden. Im einfachsten Fall wird durch aufsteigende Versionsnummern deutlich gemacht, in welcher Reihenfolge die Versionen entstanden sind.
V1 V2 V3
Zeit
![Page 55: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/55.jpg)
56
Revisionen und Varianten
o Varianten stehen zeitlich nicht hintereinander, sondern nebeneinander.
V1 V2 V3
Zeit
V2a
V2b
V3a
V3b
![Page 56: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/56.jpg)
57
Revisionen und Varianten
o Revisionen ¤ Eine neue Version ersetzt die Vorgängerversion. ¤ Revisionen entsteht durch Überarbeitung. ¤ Beispiel sort_1.2 entsteht aus sort_1.1, in dem auch leere Dateien korrekt behandelt werden
o Varianten ¤ Die neue Version erfüllt weitere Anforderungen. Varianten haben gemeinsame EigenschaDen und in der Regel eine gemeinsame Vorgängerversion
¤ Beispiel sort_1.2a entsteht aus sort_1.2, um die spezielle Schlüsselstruktur von Kunde A zu berücksich@gen.
![Page 57: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/57.jpg)
58
Zurück zur KonfiguraOon
Konfiguration 2
Konfiguration 1
SW-Einheit 1
SW-Einheit 2
SW-Einheit 3
Quelle: Kleuker: Grundkurs Software Engineering mit UML, Vieweg+Teubner, Wiesbaden, 2011 (modifiziert)
![Page 58: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/58.jpg)
60
Aufgaben der KonfiguraOonsverwaltung
o Versionskontrolle ¤ SoDware Einheiten sind eindeuOg idenOfiziert. ¤ Die erstellten Versionen/Varianten werden über lange Zeiträume
verwaltet. ¤ Ein Zugriff ist jederzeit möglich.
n Idee: Zeitmaschine
o KonfiguraOonskontrolle ¤ Es können beliebige KonfiguraOonen des SoDware Systems mit genau
definierten EigenschaDen erstellt werden, wenn die Komponenten vorliegen.
¤ Es ist sichergestellt, dass alle Bestandteile einer KonfiguraOon konsistent sind. n Vermeidet Fehler durch Inkonsistenz.
![Page 59: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/59.jpg)
61
Aufgaben der KonfiguraOonsverwaltung
o KonstrukOon ausführbarer Programme ¤ Der Prozess, um aus Quellcode ausführbare Programme zu erzeugen
(Build-‐Prozess), wird mit den KonfiguraOonsinformaOonen gesteuert und ist automaOsiert. n Effizienzsteigerung
o Änderungskontrolle ¤ Alle Änderungen an SoDware-‐Einheiten werden überwacht, alle
Prüfresultate verwaltet n Qualitätssteigerung, nicht jeder kann/darf alles ändern, freigeben. ... n DokumentaOon der Vorgänge
![Page 60: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/60.jpg)
62
Aufgaben der KonfiguraOonsverwaltung
o KoordinaOon der Teamarbeit ¤ Die Zusammenarbeit der Entwickler wird durch gemeinsame
Referenzumgebungen und durch die Konflikterkennung oder-‐vermeidung unterstützt.
¤ Zugriffskontrolle, nicht jeder sieht alles
o Also: n KonfiguraOonsverwaltung schließt die Versionsverwaltung ein. n Begriffliche Trennung/Verwendung in der Praxis meist unsauber.
![Page 61: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/61.jpg)
63
KonfiguraOonsmanagement in verschiedenen Prozessen
o In der inkrementellen Entwicklung ¤ mit täglichem Built-‐Prozess ¤ Mit nebenläufigem Entwicklungs-‐ und Testprozess. ¤ Entwickler liefern neue Komponenten zu einer festen Uhrzeit. ¤ Durch Kompilieren und Linken wird aus diesen neuen Komponenten
eine neue Version der SoDware erzeugt. ¤ Die neue Version wird zum Tesveam weitergereicht. ¤ Das Entwicklungsteam entwickelt weiter. ¤ Fehler werden vom Tesveam an das Entwicklungsteam
zurückgemeldet und vom Entwicklungsteam in der Folgeversion behoben.
![Page 62: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/62.jpg)
64
Kapitelübersicht
1. Einführung & Begriffe 2. Grundlagen der Versions-‐
verwaltung § Repository & Arbeitsmodelle § Grundlegende Befehle
3. Werkzeuge § Zentralisierte Versionsverwaltung § Verteilte Versionsverwatlung
![Page 63: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/63.jpg)
65
Konzepte
o Zusammenarbeiten & Beiträge bringen ¤ Aber die Beiträge sollten organisiert werden, um Konflikte und
Nacharbeit zu vermeiden. ¤ Wie können die Benutzer zusammenarbeiten und InformaOonen
abrufen, ohne Konflikte hervorzurufen?
![Page 64: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/64.jpg)
66
Konzepte
o Ein Verzeichnisbaum (Repository) enthält alle Dateien, die zu einem Programm gehören.
o Im Repository befinden sich alle gespeicherten Dateien unter Versionsverwaltung.
o Das Repository ist in der Lage, alle vergangenen Änderungen der Dateien und Verzeichnisse abzurufen.
o Verwaltet wird nicht nur Programmcode, sondern auch Anforderungsdokumente, Designdokumente, Benutzerdokumen-‐taOon etc.
![Page 65: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/65.jpg)
67
Konzepte
o Eine beliebige Anzahl von Clients kann sich mit dem Repository verbinden und Dateien lesen oder schreiben.
o Die Clients können die Daten anderen zugänglich machen, indem sie die Daten ins Repository schreiben.
o Geänderte Dateien werden nach korrektem Abschluss der Änderungen kommenOert mit neuer Versionsnummer wieder ins Repository gestellt (check in/commit).
![Page 66: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/66.jpg)
68
Probleme beim Filesharing
![Page 67: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/67.jpg)
69
Konzepte
o Arbeitsmodelle der Versionsverwaltung ¤ Lock-‐Modify-‐Unlock ¤ Copy-‐Modify-‐Merge
![Page 68: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/68.jpg)
70
Lock-‐Modify-‐Unlock
o Wird auch als pessimisEsche Versionskontrolle bezeichnet ¤ Einzelne Dateien müssen vor einer Änderung
durch den Benutzer gesperrt werden. ¤ Während sie gesperrt sind, verhindert das
System Änderungen anderer Benutzer, die warten müssen.
¤ Nach Abschluss der Änderung werden die gesperrten Dateien wieder freigegeben.
![Page 69: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/69.jpg)
71
Lock-‐Modify-‐Unlock
![Page 70: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/70.jpg)
72
Bekannte Probleme mit Sperren
o Verwaltungsproblem: ¤ Wenn eine Datei von einem Benutzer gesperrt wurde, und er
vergessen hat, die Datei wieder freizugeben.
o UnnöOge Serialisierung: ¤ Wenn die Benutzer verschiedene unwidersprüchliche Teile der Datei
gleichzeiOg bearbeiten wollen.
o Falsches Sicherheitsgefühl: ¤ Wenn die Benutzer verschiedene Dateien bearbeiten, die aber eine
Abhängigkeit voneinander haben
![Page 71: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/71.jpg)
73
Copy-‐Modify-‐Merge
o Wird auch als opEmisEsche Versionskontrolle bezeichnet ¤ Das Arbeitskopiekonzept wird benutzt, um das Sperren zu vermeiden. ¤ Die Benutzer erstellen ihre eigenen lokalen Arbeitskopien
(Spiegelkopie vom Server), wo sie parallel mit vollen Schreibrechten arbeiten.
¤ Die Benutzer vom Versionsverwaltungssystem werden unterstützt, ihre Änderungen mit dem Gesamtversion des Repositorys zu vereinen.
¤ Die Konflikte, die nicht automaOsch vom Versionsverwaltungssystem gelöst werden, müssen die Benutzer selber lösen.
![Page 72: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/72.jpg)
74
Copy-‐Modify-‐Merge
![Page 73: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/73.jpg)
75
Copy Modify Merge
![Page 74: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/74.jpg)
76
Inhalt
o Einführung/Begriffe o Grundlagen der Versionsverwaltung
¤ Repository & Arbeitsmodelle ¤ Grundlegende Befehle
o Werkzeuge ¤ Zentralisierte Versionsverwaltung ¤ Verteilte Versionsverwaltung
![Page 75: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/75.jpg)
77
Durchführen von Änderungen -‐ Befehle
o check-‐out ¤ Bereitstellen einer Kopie zum Bearbeiten im Arbeitsbereich
o update ¤ Aktualisieren der Kopie im Arbeitsbereich (vom Repository)
o check-‐in/commit ¤ Einbringen der bearbeiteten als neue Version ins Repository
o revert ¤ Änderungen verwerfen (nur vor commit/check-‐in möglich)
![Page 76: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/76.jpg)
78
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 77: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/77.jpg)
79
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 78: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/78.jpg)
80
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 79: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/79.jpg)
81
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 80: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/80.jpg)
83
Inhalt
o Einführung/Begriffe o Grundlagen der Versionsverwaltung
¤ Repository & Arbeitsmodelle ¤ Grundlegende Befehle
o Werkzeuge ¤ Zentralisierte Versionsverwaltung ¤ Verteilte Versionsverwatlung
![Page 81: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/81.jpg)
84
Konzepte der Versionsverwaltung
Zentrale Versionsverwaltung ¤ als Client-‐Server-‐System ¤ Zugriff auf ein Repository kann auch über Netzwerk erfolgen. ¤ Durch eine Rechteverwaltung wird dafür gesorgt, dass nur berechOgte
Personen neue Versionen in das Archiv legen können. ¤ Die Versionsgeschichte ist hierbei nur im Repository vorhanden. ¤ Bsp: (CVS) populär gemacht, mit Subversion (SVN) ¤ Grundlegende Elemente:
n Working Set/Working Copy: Your local directory of files, where you make changes.
n Trunk/Main: The primary locaOon for code in the repo. Think of code as a family tree — the trunk is the main line.
![Page 82: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/82.jpg)
85
![Page 83: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/83.jpg)
86
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 84: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/84.jpg)
87
Konzepte der Versionsverwaltung
Verteilte Versionsverwaltung ¤ Jeder hat sein eigenes Repository und kann dieses mit jedem
beliebigen anderen Repository abgleichen. ¤ Die Versionsgeschichte ist ebenso verteilt. ¤ Im Gegensatz zur zentralen Versionsverwaltung kommt es nicht zu
einem Konflikt, wenn mehrere Benutzer dieselbe Version einer Datei ändern. Die sich widersprechenden Versionen exisOeren zunächst parallel und können weiter geändert werden.
¤ Verteilte Versionsverwaltungen haben keine Locks. Da wegen der höheren Zugriffsgeschwindigkeit die Granularität der gespeicherten Änderungen viel kleiner sein kann, können sie sehr leistungsfähige, weitgehend automaOsche Merge-‐Mechanismen zur Verfügung stellen.
![Page 85: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/85.jpg)
88
![Page 86: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/86.jpg)
89
Konzepte der Versionsverwaltung
o Verteilte Versionsverwaltung ¤ Verteilte Versionsverwaltung fokusiert darauf, Änderungen zu teilen. ¤ Eine Änderung runterladen und anwenden sind unterschiedliche
Schrive (in in zentraler Versionsverwaltung finden Sie zusammen stav).
¤ Verteilte Versionsverwaltungssysteme haben keine erzwungene Struktur. Es kann zentrale Orte geben oder jeder ist gleichberechOgt.
¤ Neue Begriffe n push: send a change to another repository (may require permission) n pull: grab a change from a repository
![Page 87: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/87.jpg)
90
Verteilte Versionsverwaltung
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 88: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/88.jpg)
91
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 89: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/89.jpg)
92
Verteilte Versionsverwaltung
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 90: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/90.jpg)
93
Verteilte Versionsverwaltung
http://betterexplained.com/articles/a-visual-guide-to-version-control/
![Page 91: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/91.jpg)
94
Werkzeuge
o Zentrale Versionsverwaltung ¤ CVS ¤ SVN
o Verteilte Versionsverwaltung ¤ Bazaar ¤ Darcs ¤ Git ¤ GNU arch ¤ Mercurial ¤ Monotone
![Page 92: KONFIGURATIONSVERWALTUNG0 Kapitel7services.informatik.hs-mannheim.de/~schramm/see/files/Kapitel07.pdf · 1 Übersicht 1. Einführung0in0das0SoDware0 Engineering0 2. SoDwareprozesse0](https://reader036.vdokument.com/reader036/viewer/2022070913/5fb47e79ba7af0182644f98c/html5/thumbnails/92.jpg)
95
Zusammenfassung
o Sie können die Begriffe Version, Revision, SoDware Einheit, KonfiguraOon, etc. einordnen
o Sie kennen die grundliegenden Arbeitsmodelle (Lock-‐Modify-‐Merge // Copy-‐Modify-‐Merge)
o Sie kennen die grundlegenden Befehle und den Auyau eines zentralen und verteilten Versionsverwaltungswerkzeugs.