Konfigurationsmanagement Vorlesung Uni München 5. Februar 2001 Thomas Belzner.
-
Upload
selma-gieringer -
Category
Documents
-
view
108 -
download
0
Transcript of Konfigurationsmanagement Vorlesung Uni München 5. Februar 2001 Thomas Belzner.
Konfigurationsmanagement
Vorlesung Uni München5. Februar 2001Thomas Belzner
05.02.01Vorlesung KonfigMgmt Folie Nr. 2
Worum geht es eigentlich?
Man sagt:
Wer Ordnung hält, ist nur zu faul zum Suchen!
Oder auch:
Wer Ordnung hält, ist nur zu schlau zum Suchen!
05.02.01Vorlesung KonfigMgmt Folie Nr. 3
Konfigurations-Management: Ordnung Halten in (Software-)Systemen
Für unser Geschäft gilt jedenfalls:
Wer in der Software-Entwicklung Ordnung halten will, muss ganz schön clever sein!
Die Konsequenz:
Wer auch nur ein bisschen schlau ist und das Chaos meiden möchte, betreibt bei der SW-Ent-wicklung Konfigurations-Management
05.02.01Vorlesung KonfigMgmt Folie Nr. 4
Übersicht
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
Worum geht‘s?
Komplexität in der SW-Entwicklung
KonfigMgmt im SW-Entw.-Prozess
Workflow und Raumkonzepte
Technik und Produkte
Einsatzbereiche
05.02.01Vorlesung KonfigMgmt Folie Nr. 5
Gründe für die Komplexität
• Zu einem SW-Sytem gehören eine Vielzahl von Software-Elementen verschiedenster Typen: – Text-Dokumente, Spezifikationen, – (halb-)formale grafische Quellen– Code, Objekte, Module, Komponenten– aber auch: Werkzeuge, Basis-Software, ...
• Große SW-Systeme sind bereits komplex durch die schiere Quantität ihrer Bausteine– Die Anzahl der zu verwaltenden Einheiten (Software-
Elemente) liegt oftmals im drei- oder gar vierstelligen Bereich
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 6
... viele Zutaten ...
6sd&m
Frem d-produkte
E igeneAnteile
Software-Kom ponenten
Hardware-Kom ponenten
Entwicklungs-plattform
Ziel-p lattform
Softwareprodukt
05.02.01Vorlesung KonfigMgmt Folie Nr. 7
... und es wird noch komplexer ...
• Verschiedenste technische Systeme müssen zusammenspielen:– Rechner (Host, Web-Server, PC‘s, Netzwerke)– Betriebssysteme– Plattformen, Werkzeuge, Entwicklungsumgebungen
• Schnittstellen verlangen z.T. enge Integration mit anderen Systemen
• Entwicklung und Wartung geschieht– mit vielen Menschen– an vielen Orten– manchmal für viele Kunden
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 8
... viele Menschen, viele Orte, viele Kunden ...
Niedersachsen
Schlesw ig-Holste in
BrandenburgNordrhein-W estfalen
Rheinland-Pfalz
Hessen
Baden-W ürrtem berg
Bayern
Sachsen
Thüringen
M ecklenburg-Vorpom m ern
Sachsen-Anhalt
W ie s ba de n
M a inz
K ö ln
B o nn
D us s e ldo rf
S a a rbruc ke n
F re iburg
S tuttga rt
Nü rnbe rg
Augs burg
R e ge ns burg
M ü nc he n
S uhl
E rfurt
D re s de n
L e ipzig
P o ts da m
Ha llé
M a gde burg
S c hw e rin
R o s to c k
Ha mburg
K ie l
B re me rha v e n
B re me n
E mde n
Ha nno v e r
F ra nkfurt
B e rlin
P fo rzhe im
D a rms ta dt
L udw igs ha fe nHe ide lbe rg
W o lfs burg
E s s e n D o rtmü nd
M ü ns te r
S a lzgitte r
B ra uns c hw e ig
K a s s e l
L ü be c k
D e s s a u
Z w ic ka u
D uis burg
He rne
R e c klingha us e n
O be rha us e n
Trie r
M a nnhe im
K a rls ruhe
He ilbro nn
G e ra
O s na brü c k
W ilhe lms ha v e n
O lde nburg
M ü lhe im Ha ge n
B o ttro p
M ö nc he n
G la dba c h
G e ls e n-kirc he n
B ie le fe ld
Ne us s S o linge nR e ms c he id
W uppe rta l
C he mnitz
8sd&m
Integration
QS
Feedback, Anforderungen
Produktgenerationen
05.02.01Vorlesung KonfigMgmt Folie Nr. 9
KonfigMgmt im SW-Entwicklungs-Prozess
Worum geht‘s?
Komplexität in der SW-Entwicklung
KonfigMgmt im SW-Entw.-Prozess
Workflow und Raumkonzepte
Technik und Produkte
Einsatzbereiche
05.02.01Vorlesung KonfigMgmt Folie Nr. 10
Die vier Säulen des KonfigMgmt
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
Build-
Mgmt
Release-
Mgmt
Change-
Mgmt
Versions-
Mgmt
Vewaltung und Kon-trolle von SW-Elemen-ten (Änderungen mit Autor, Grund, Datum, Ablageort, ...)
Steuerung der Änderungsver-langen der Um-welt
Verwaltung und Dokumen-tation der End-ergebnisse der SW-Entw.
Verwaltung von Abhängigkeiten zw. den SW-Elementen und Erzeugung von ausführbaren Kompo-nenten
Projekt-bibliothek
05.02.01Vorlesung KonfigMgmt Folie Nr. 11
Versions-Management: ... Schritt für Schritt
• (Fast) jedes Software-Element wird in vielen Schritten entwickelt.
• Jede definierte Änderung an einem Element führt zu einer neuen Version (englisch oft auch revision) des Elementes.
• Zu jeder Version wird dokumentiert:– Autor(en)– Gegenstand, Grund– Vorversion– Nummer– (Name, Label)
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 12
Versions-Baum eines SE
1.1
1.2
1.3
1.4
2.0
1.2.1.1
1.2.1.2
1.2.2.1
1.2.2.1.1 1.2.2.1.2
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 13
Build-Management: Bauplan für das Ganze
• Produktionskette:Erzeugung der ausführbaren Einheit(en) des Software-Systems aus den Quellen– oftmals über viele Schritte, z.B. generieren, kompilieren,
binden, ...– Abhängigkeiten zwischen den Input-Elementen sind zu
beachten
• Eine Konfiguration ist eine Zusammenstellung bestimmter Versionen der Quell-SE plus die Beschreibung des Produktionsvorganges– welche Elemente sind mit welchen (Versionen der)
Werkzeuge wie und ggf. in welcher Reihenfolge zu bearbeiten ...
05.02.01Vorlesung KonfigMgmt Folie Nr. 14
Kochrezept für eine Konfiguration
Entwicklung Produkt
y.exed.hlp
d.st
m.st
m.exe
m.hlp
y.exed.pcl
m.exem.pcl
Ausgangspunkt: Quellen aus dem Versions-Management
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 15
Wer schlau ist, ist faul und macht‘s ...
... automatisch:• Der Produktionsprozess
– findet bei effizienter Entwicklung großer Systeme oft täglich statt,
– dauert manuell bis zu vielen Stunden, manchmal Tage,– muss die Abhängigkeiten zwischen den Elementen
beachten,
und muss deshalb automatisiert werden!• Nur durch Automatisierung des Builds (Produktions-
prozesses) lassen sich Fehler und kleine Nachlässig-keiten reproduzierbar erkennen und beseitigen.
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 16
Releases und deren Management
• Konfigurationen, die veröffentlicht werden, d.h. an den Kunden, Abnehmer, Anwender zum Einsatz übergeben werden, nennt man Releases (engl. auch versions).
• Physikalisch ist ein Release meist eine Zusammen-stellung der ausführbaren Elemente mit zugehöriger Dokumentation und der Definition des Installations-Vorganges (auch dies möglichst automatisiert),
... manchmal aber auch eine Zusammenstellung der Quellen zusammen mit dem Produktionsprozess.
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 17
Release-Mgmt: Die fertigen Pakete
Release-Arten:- Vollrelease- Teilrelease- Bugfix- Emergency Pack
Wichtig:- Stücklisten für
Releases;- Kennzeichnen
der Releases
1.0
1.1
1.2
1.3
2.0
1.0 1.0
1.1
1.2
Release 1
Release 2
Sourcen (Versions-Management) Konfiguration(Release)
ZeitA B C
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 18
Change-Management
Außer bei der ersten Entwicklung eines SW-Systems werden die Änderungen an einem SW-System hauptsächlich durch Anforderungen der Umwelt veranlasst:
– Fehler treten auf und müssen behoben werden,– neue oder geänderte Funktionalität wird gebraucht,– technische Basissysteme, Schnittstellen ändern
sich, – ...
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 19
Change-Management ...
... ist der geordnete steuernde Umgang mit diesen Anforderungen der Umwelt an das System
und gibt schließlich den Anstoß zur Erzeugung neuer– Versionen, – Konfigurationen und – Releases
des Systems.Release 1
Release 2
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 20
Der Change-Management-Prozess
Auslieferung
Kunde EntwicklerÄnderungsantrag
(Change Request)Was ist zu ändern?
Richtig verstanden?Nein
Ja
Wie ist zu ändern? Was kostet es?Vorschlag ok?
NeinNein
Ja
Ja
KundeChange Control Board
Entwickler
Entwickler(Versions-,Release-
Management)
Kunde
Kunde
Beauftragung
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 21
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
KonfigMgmt im SW-Entwicklungs-Prozess
Das Konfigurations-Management ist ein wichtiger Baustein bei allen Normen und Richtlinien zur SW-Entwicklung, wie z.B.
– DIN EN ISO 9001 („TÜV-Zertifikat“)– V-Modell– IEEE-Normen (828-90, 1027-87)– Standards des US-Verteidigungsministeriums, der NASA, – ...– und nicht zuletzt auch das „aktuelle“ RUP (Rational Unified
Process) von den „Köchen“ der UML.
05.02.01Vorlesung KonfigMgmt Folie Nr. 22
KonfigMgmt bei ISO 9001
6. Unterstützende Tätigkeiten (phasenunabhängig)
6.1 Konfigurationsmanagment (KM)
6.1.1 Allgemeines
6.1.2 KM-Plan
6.1.3 KM-Tätigkeiten
6.1.3.1 Identifikation und Rückverfolgung der Konfiguration
6.1.3.2 Lenkung von Änderungen
6.1.3.3 Konfigurations-Statusbericht
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 23
KonfigMgmt bei ISO 9001
6.1.1 Allgemeines
...
Das KM sollte
a) die Versionen jedes Softwareelements (SE) eindeutig identifizieren;
b) die Versionen jedes SE, die gemeinsam die spezifische Version eines Produkts bilden, identifizieren;
...
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 24
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
Workflow und Raumkonzept
Worum geht‘s?
Komplexität in der SW-Entwicklung
KonfigMgmt im SW-Entw.-Prozess
Workflow und Raumkonzept
Technik und Produkte
Einsatzbereiche
05.02.01Vorlesung KonfigMgmt Folie Nr. 25
Workflow entlang Versions-/Build-/ReleaseMgmt ...
(ausleihen)
Entwickeln der Quellen,compilieren und testen der einzelnen erzeugten SE
(zurückgeben)
Integrieren und testeneiner Konfiguration
Erzeugen und testen
eines Releases
SystemtestTesten des Ge-samtsystems(Release + Nach-barsysteme + Umwelt)
produktiveNutzung
05.02.01Vorlesung KonfigMgmt Folie Nr. 26
... führt zum 3-stufigen Raumkonzept
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
Entwickler-Raum- C
Entwickler-Raum- C
Entwickler-Raum- B
Entwickler-Raum- B
Entwickler-Raum- A
Entwickler-Raum- A
Release-Raum - 1
Release-Raum - 1
Integrations-Raum - 1
Integrations-Raum - 1
Entwickler-Raum- C
Entwickler-Raum- C
Entwickler-Raum- B
Entwickler-Raum- B
Entwickler-Raum- A
Entwickler-Raum- A
Release-Raum - 2
Release-Raum - 2
Integrations-Raum- 2
Integrations-Raum- 2
WeiterentwicklungWartung
Auslieferung
Release 1 Release 2 ...
05.02.01Vorlesung KonfigMgmt Folie Nr. 27
Der Weg durch die Räume
• Die Übergänge von SE bzw. Konfigurationen in den nächsten Raum stellen wichtige Planungseinheiten für ein Entwicklungs- oder Wartungsprojekt dar.
• Hier spielen KM und QM (Qualitätsmanagement) zusammen: Für den Übergang müssen definierte Qualitätskriterien erfüllt sein.
• Der Übergang in den nächsten Raum ist mit Aktivitä-ten zur Dokumentation und des KM verbunden– z.B. Erstellung von Release-Notes– z.B. Archivierung eines Release
05.02.01Vorlesung KonfigMgmt Folie Nr. 28
KM auch für Konfigurationen und Räume
• Ebenso wie die einzelnen Software-Elemente unterliegen auch die Konfigurationen und Releases dem Versionsmanagement.
• Je nach Testvorgehen und Parallelisierung der Inte-grations- und Testarbeiten kann es auch mehrere Integrationsräume für eine Konfiguration geben.
• Für ein Release gibt es jedoch immer genau einen Releaseraum.
05.02.01Vorlesung KonfigMgmt Folie Nr. 29
Technik und Produkte für das KM
Worum geht‘s?
Komplexität in der SW-Entwicklung
KonfigMgmt im SW-Entw.-Prozess
Workflow und Raumkonzepte
Technik und Produkte
Einsatzbereiche
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 30
KM und Werkzeug-Unterstützung
• Eine Umsetzung der beschriebenen Konzepte des Konfigurations-Managements ohne Unterstützung durch Werkzeuge ist - außer im trivialen 1-1-1-Fall (1 Entwickler, 1 SE, 1 Version) - praktisch nicht möglich!
• Allerdings muss auch klar sein: Allein der Einsatz eines KonfigMgmt-Werkzeuges alleine - und sei es noch so ausgefuchst - sichert noch lange kein sauberes Konfigurations-Manage-ment im Projekt!
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 31
Standard-Funktionalität eines KM-Tools
• Ausleihen, Zurückgeben (check out, check in)– zum Ändern (u.U. nur an den Autor)– nur zum Lesen– auch „alte“ Versionen
• Definition von Konfigurationen• Zustandsmodelle für SE, Konfigurationen• Infos (Autor, Grund der Änderung, ...) zu einzelnen
SE-Versionen• Reports (Konfigurationen, SE in einem bestimmten
Zustand, ...)
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 32
KM ist Drehscheibe für den Workflow
Integrations-server
KM mitRepository
Releaseräum e
SW -Verteilung
Integrationsräum eEntw icklungsräum e
SW -Verteilung
Reports
Zurückgeben
Konfigurations-zuordnung
Freigabe inProduktionFreigabe in
Integrationsraum
Ausleihen
Entw icklungs-server
Produktions-server
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 33
Weitere Features von KM-Werkzeugen
• Rollenkonzepte für Entwickler (Autor, Reviewer, Leser eines SE)
• Freie Definition von Zustandsmodellen für SE, Konfigurationen, Releases
• Automatisierung von Prozessen (z.B. beim check-in Benachrichtigung von Autoren von SE, die von einer Änderung betroffen sein können, Prüfroutinen auf Konsistenz, sonstige Trigger ...)
• Unterstützung von Raumkonzepten (z.B. virtuelle Dateisysteme, ...)
• ...
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 34
Interner Aufbau von KM-Werkzeugen
• Es gibt verschiedenen Speicherverfahren der verschiedenen Versionen eines SE– Delta, reverse Delta, Vollversionen, komprimiert
• Organisation der Datenspeicherung– alles im Dateisystem– Inhalte im Dateisystem, Metainformationen in der Datenbank– alles in einer Datenbank
• z.T. starke Integration mit dem Betriebsystem bzw. dem Dateisystem
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 35
Produkte
• Freie Software– rcs (revision control sytem)– cvs (concurrent version system)
• Betriebssystemkomponenten– sccs (source control system)– ...
• Mächtige (und teure) Produkte– Continouus– ClearCase
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 36
Weitere Einsatzbereiche für KM
Worum geht‘s?
Komplexität in der SW-Entwicklung
KonfigMgmt im SW-Entw.-Prozess
Workflow und Raumkonzepte
Technik und Produkte
Einsatzbereiche
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 37
KonfigMgmt nur für „große“ Projekte?
NEIN !
Es lohnt sich schon bei einem Mitarbeiter, denn• es unterstützt Versionierung und Baselining und
damit das Festhalten definitiver Entwicklungs- und Auslieferungsstände,
• es erleichtert die Übersicht und Dokumentation der Änderungen.
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume
05.02.01Vorlesung KonfigMgmt Folie Nr. 38
NEIN !
Es lohnt sich ebenso z.B. bei Studien, denn• auch dort hat man schnell mit einer Vielzahl von
Einzel-Elementen des Gesamtwerkes zu tun (Kapitel, Abbildungen, Listen und Tabellen im Anhang, etc.);
• auch diese Text-Dokumente entwickeln sich in vielen Schritten (Versionen) bis zum endgültigen Stand;
• auch für Text-Dokumente gibt es ein Zustandsmodell, definiert durch die Qualitätssicherung.
KonfigMgmt nur für SW-Entwicklung?
Worum geht‘s?
Komplexität
KM & SWE-ProzessTechnik &Produkte
Einsatzbereiche
Workflow & Räume