Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorlesung KonfigMgmt1 Konfigurationsmanagement Vorlesung Uni München 9. Februar 2004 Thomas Belzner Waldemar Lohrer.

Ähnliche Präsentationen


Präsentation zum Thema: "Vorlesung KonfigMgmt1 Konfigurationsmanagement Vorlesung Uni München 9. Februar 2004 Thomas Belzner Waldemar Lohrer."—  Präsentation transkript:

1 Vorlesung KonfigMgmt1 Konfigurationsmanagement Vorlesung Uni München 9. Februar 2004 Thomas Belzner Waldemar Lohrer

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

3 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

4 Folie Nr. 4 Übersicht Worum gehts? Komplexität in der SW-Entwicklung KonfigMgmt im SW-Entw.-Prozess Workflow und Raumkonzepte Technik und Produkte Einsatzbereiche

5 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

6 Folie Nr viele Zutaten... 6 sd&m Softwareprodukt

7 Folie Nr und es wird noch komplexer... Verschiedenste technische Systeme müssen zusammenspielen: –Rechner (Host, Web-Server, PCs, 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 Folie Nr viele Menschen, viele Orte, viele Kunden... 8 sd&m Integration QS Feedback, Anforderungen Produktgenerationen

9 Folie Nr Dynamik macht es noch komplexer... Bei der Entwicklung und Wartung eines SW-Systems haben wir mit vielen Objekten, mit vielen, meistens komplexen, Beziehungen zwischen Objekten zu tun Die Objekte und Beziehungen ändern sich mit der Zeit - die sind dynamisch, z. B: –Änderungen der angeforderten Funktionalität –Source Code Änderungen –Plattformwechsel –Kundenwechsel Diese Dynamik erschwert die Beherrschung des Systems

10 Folie Nr. 10 KonfigMgmt im SW-Entwicklungs-Prozess Worum gehts? Komplexität in der SW-Entwicklung KonfigMgmt im SW-Entw.-Prozess Workflow und Raumkonzepte Technik und Produkte Einsatzbereiche

11 Folie Nr. 11 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

12 Folie Nr. 12 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)

13 Folie Nr. 13 Versions-Baum eines SE

14 Folie Nr. 14 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...

15 Folie Nr. 15 Kochrezept für eine Konfiguration EntwicklungProdukt y.exe b.c a.pc m.c m.exe m.hlp y.exe a.c m.exe Ausgangspunkt: Quellen aus dem Versions-Management

16 Folie Nr. 16 Wer schlau ist, ist faul und machts......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.

17 Folie Nr. 17 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.

18 Folie Nr. 18 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

19 Folie Nr. 19 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, –...

20 Folie Nr. 20 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

21 Folie Nr. 21 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

22 Folie Nr. 22 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.

23 Folie Nr. 23 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

24 Folie Nr. 24 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;...

25 Folie Nr. 25 Workflow und Raumkonzept Worum gehts? Komplexität in der SW-Entwicklung KonfigMgmt im SW-Entw.-Prozess Workflow und Raumkonzept Technik und Produkte Einsatzbereiche

26 Folie Nr. 26 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

27 Folie Nr führt zum 3-stufigen Raumkonzept

28 Folie Nr. 28 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

29 Folie Nr. 29 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.

30 Folie Nr. 30 Technik und Produkte für das KM Worum gehts? Komplexität in der SW-Entwicklung KonfigMgmt im SW-Entw.-Prozess Workflow und Raumkonzepte Technik und Produkte Einsatzbereiche

31 Folie Nr. 31 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!

32 Folie Nr. 32 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,...)

33 Folie Nr. 33 KM ist Drehscheibe für den Workflow

34 Folie Nr. 34 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,...)...

35 Folie Nr. 35 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

36 Folie Nr. 36 Produkte Freie Software –rcs (revision control sytem) –cvs (concurrent version system) Betriebssystemkomponenten –sccs (source code control system) –... Mächtige (und teure) Produkte –Continuus (von Telelogic) –ClearCase (Rational -> IBM)

37 Folie Nr. 37 Weitere Einsatzbereiche für KM Worum gehts? Komplexität in der SW-Entwicklung KonfigMgmt im SW-Entw.-Prozess Workflow und Raumkonzepte Technik und Produkte Einsatzbereiche

38 Folie Nr. 38 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.

39 Folie Nr. 39 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 "Vorlesung KonfigMgmt1 Konfigurationsmanagement Vorlesung Uni München 9. Februar 2004 Thomas Belzner Waldemar Lohrer."

Ähnliche Präsentationen


Google-Anzeigen