Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Konfigurationsmanagement Vorlesung Uni München 5. Februar 2001 Thomas Belzner.

Ähnliche Präsentationen


Präsentation zum Thema: "Konfigurationsmanagement Vorlesung Uni München 5. Februar 2001 Thomas Belzner."—  Präsentation transkript:

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

2 Vorlesung KonfigMgmtFolie 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!

3 Vorlesung KonfigMgmtFolie 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

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

5 Vorlesung KonfigMgmtFolie 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

6 Vorlesung KonfigMgmtFolie Nr viele Zutaten... 6 sd&m Softwareprodukt

7 Vorlesung KonfigMgmtFolie Nr 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

8 Vorlesung KonfigMgmtFolie Nr viele Menschen, viele Orte, viele Kunden... 8 sd&m Integration QS Feedback, Anforderungen Produktgenerationen

9 Vorlesung KonfigMgmtFolie 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

10 Vorlesung KonfigMgmtFolie Nr. 10 Die vier Säulen des KonfigMgmt 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

11 Vorlesung KonfigMgmtFolie 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)

12 Vorlesung KonfigMgmtFolie Nr. 12 Versions-Baum eines SE

13 Vorlesung KonfigMgmtFolie 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...

14 Vorlesung KonfigMgmtFolie Nr. 14 Kochrezept für eine Konfiguration EntwicklungProdukt y.exe d.hlp d.st m.st m.exe m.hlp y.exed.pcl m.exem.pcl Ausgangspunkt: Quellen aus dem Versions-Management

15 Vorlesung KonfigMgmtFolie 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.

16 Vorlesung KonfigMgmtFolie 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.

17 Vorlesung KonfigMgmtFolie Nr. 17 Release-Mgmt: Die fertigen Pakete Release-Arten: - Vollrelease - Teilrelease - Bugfix - Emergency Pack Wichtig: - Stücklisten für Releases; - Kennzeichnen der Releases Release 1 Release 2 Sourcen (Versions-Management) Konfiguration (Release) Zeit ABC

18 Vorlesung KonfigMgmtFolie 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, –...

19 Vorlesung KonfigMgmtFolie 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

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

21 Vorlesung KonfigMgmtFolie Nr. 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.

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

23 Vorlesung KonfigMgmtFolie Nr. 23 KonfigMgmt bei ISO 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;...

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

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

26 Vorlesung KonfigMgmtFolie Nr führt zum 3-stufigen Raumkonzept

27 Vorlesung KonfigMgmtFolie 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

28 Vorlesung KonfigMgmtFolie 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.

29 Vorlesung KonfigMgmtFolie 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

30 Vorlesung KonfigMgmtFolie 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 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!

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

32 Vorlesung KonfigMgmtFolie Nr. 32 KM ist Drehscheibe für den Workflow

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

34 Vorlesung KonfigMgmtFolie 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

35 Vorlesung KonfigMgmtFolie 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

36 Vorlesung KonfigMgmtFolie 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

37 Vorlesung KonfigMgmtFolie 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.

38 Vorlesung KonfigMgmtFolie 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?


Herunterladen ppt "Konfigurationsmanagement Vorlesung Uni München 5. Februar 2001 Thomas Belzner."

Ähnliche Präsentationen


Google-Anzeigen