Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Konfigurationsmanagement

Ähnliche Präsentationen


Präsentation zum Thema: "Konfigurationsmanagement"—  Präsentation transkript:

1 Konfigurationsmanagement
Vorlesung KonfigMgmt :55 Konfigurationsmanagement Vorlesung Uni München 5. Februar 2001 Thomas Belzner Thomas Belzner

2 Worum geht es eigentlich?
Vorlesung KonfigMgmt :55 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! Vorlesung KonfigMgmt Thomas Belzner

3 Konfigurations-Management: Ordnung Halten in (Software-)Systemen
Vorlesung KonfigMgmt :55 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 Vorlesung KonfigMgmt Thomas Belzner

4 Übersicht Worum geht‘s? Komplexität in der SW-Entwicklung
Vorlesung KonfigMgmt :55 Übersicht Worum geht‘s? Komplexität in der SW-Entwicklung KonfigMgmt im SW-Entw.-Prozess Workflow und Raumkonzepte Technik und Produkte Einsatzbereiche Vorlesung KonfigMgmt Thomas Belzner

5 Gründe für die Komplexität
Vorlesung KonfigMgmt :55 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 Vorlesung KonfigMgmt Thomas Belzner

6 ... viele Zutaten ... Softwareprodukt sd&m
Vorlesung KonfigMgmt sd&m 6

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 Vorlesung KonfigMgmt

8 ... viele Menschen, viele Orte, viele Kunden ...
Vorlesung KonfigMgmt :55 ... viele Menschen, viele Orte, viele Kunden ... Feedback, Anforderungen Integration QS Produktgenerationen Vorlesung KonfigMgmt sd&m 8 Thomas Belzner

9 KonfigMgmt im SW-Entwicklungs-Prozess
Vorlesung KonfigMgmt :55 KonfigMgmt im SW-Entwicklungs-Prozess Worum geht‘s? Komplexität in der SW-Entwicklung Einsatzbereiche KonfigMgmt im SW-Entw.-Prozess Technik und Produkte Workflow und Raumkonzepte Vorlesung KonfigMgmt Thomas Belzner

10 Die vier Säulen des KonfigMgmt
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 Projekt- bibliothek Release- Mgmt Build- Mgmt Verwaltung von Abhängigkeiten zw. den SW-Elementen und Erzeugung von ausführbaren Kompo-nenten Verwaltung und Dokumen-tation der End-ergebnisse der SW-Entw. Vorlesung KonfigMgmt

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) Vorlesung KonfigMgmt

12 Versions-Baum eines SE
1.1 1.2 1.3 1.4 2.0 Vorlesung KonfigMgmt

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 ... Vorlesung KonfigMgmt

14 Kochrezept für eine Konfiguration
d.st d.pcl y.exe d.hlp y.exe m.exe m.hlp m.st m.pcl m.exe Entwicklung Produkt Ausgangspunkt: Quellen aus dem Versions-Management Vorlesung KonfigMgmt

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. Vorlesung KonfigMgmt

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. Vorlesung KonfigMgmt

17 Release-Mgmt: Die fertigen Pakete
1.0 1.1 1.2 1.3 2.0 Release 1 Release 2 Sourcen (Versions-Management) Konfiguration (Release) Zeit A B C Release-Arten: - Vollrelease - Teilrelease - Bugfix - Emergency Pack Wichtig: - Stücklisten für Releases; - Kennzeichnen der Releases Vorlesung KonfigMgmt

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, ... Vorlesung KonfigMgmt

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 Vorlesung KonfigMgmt

20 Der Change-Management-Prozess
Änderungsantrag (Change Request) Kunde Entwickler Was ist zu ändern? Richtig verstanden? Auslieferung Nein Entwickler (Versions-, Release- Management) Kunde Ja Entwickler Ja Beauftragung Nein Wie ist zu ändern? Was kostet es? Vorschlag ok? Nein Ja Kunde Change Control Board Kunde Vorlesung KonfigMgmt

21 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, ) Standards des US-Verteidigungsministeriums, der NASA, ... und nicht zuletzt auch das „aktuelle“ RUP (Rational Unified Process) von den „Köchen“ der UML. Vorlesung KonfigMgmt

22 KonfigMgmt bei ISO 9001 6. Unterstützende Tätigkeiten (phasenunabhängig) 6.1 Konfigurationsmanagment (KM) Allgemeines 6.1.2 KM-Plan 6.1.3 KM-Tätigkeiten Identifikation und Rückverfolgung der Konfiguration Lenkung von Änderungen Konfigurations-Statusbericht Vorlesung KonfigMgmt

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; Vorlesung KonfigMgmt

24 Workflow und Raumkonzept
Vorlesung KonfigMgmt :55 Workflow und Raumkonzept Worum geht‘s? Komplexität in der SW-Entwicklung Einsatzbereiche KonfigMgmt im SW-Entw.-Prozess Technik und Produkte Workflow und Raumkonzept Vorlesung KonfigMgmt Thomas Belzner

25 Workflow entlang Versions-/Build-/ReleaseMgmt ...
Entwickeln der Quellen, compilieren und testen der einzelnen erzeugten SE (ausleihen) (zurückgeben) produktive Nutzung Integrieren und testen einer Konfiguration Systemtest Testen des Ge- samtsystems (Release + Nach- barsysteme + Umwelt) Erzeugen und testen eines Releases Vorlesung KonfigMgmt

26 ... führt zum 3-stufigen Raumkonzept
Vorlesung KonfigMgmt

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 Vorlesung KonfigMgmt

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. Vorlesung KonfigMgmt

29 Technik und Produkte für das KM
Vorlesung KonfigMgmt :55 Technik und Produkte für das KM Worum geht‘s? Komplexität in der SW-Entwicklung Einsatzbereiche KonfigMgmt im SW-Entw.-Prozess Technik und Produkte Workflow und Raumkonzepte Vorlesung KonfigMgmt Thomas Belzner

30 KM und Werkzeug-Unterstützung
Eine Umsetzung der beschriebenen Konzepte des Konfigurations-Managements ohne Unterstützung durch Werkzeuge ist - außer im trivialen 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! Vorlesung KonfigMgmt

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, ...) Vorlesung KonfigMgmt

32 KM ist Drehscheibe für den Workflow
Vorlesung KonfigMgmt

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, ...) ... Vorlesung KonfigMgmt

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 Vorlesung KonfigMgmt

35 Produkte Freie Software Betriebssystemkomponenten
rcs (revision control sytem) cvs (concurrent version system) Betriebssystemkomponenten sccs (source control system) ... Mächtige (und teure) Produkte Continouus ClearCase Vorlesung KonfigMgmt

36 Weitere Einsatzbereiche für KM
Vorlesung KonfigMgmt :55 Weitere Einsatzbereiche für KM Worum geht‘s? Komplexität in der SW-Entwicklung Einsatzbereiche KonfigMgmt im SW-Entw.-Prozess Technik und Produkte Workflow und Raumkonzepte Vorlesung KonfigMgmt Thomas Belzner

37 KonfigMgmt nur für „große“ Projekte?
NEINM ! 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. Vorlesung KonfigMgmt

38 KonfigMgmt nur für SW-Entwicklung?
NEINM ! 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. Vorlesung KonfigMgmt


Herunterladen ppt "Konfigurationsmanagement"

Ähnliche Präsentationen


Google-Anzeigen