Software Konfigurations- Management. Walter F. Tichy Universität Karlsruhe



Ähnliche Dokumente
IT-Projekt-Management

OP-LOG

Reporting Services und SharePoint 2010 Teil 1

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

DOKUMENTATION VOGELZUCHT 2015 PLUS

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Lokale Installation von DotNetNuke 4 ohne IIS

SharePoint Demonstration

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Was versteht man unter Softwaredokumentation?

Der einfache Weg zum CFX-Demokonto

Datensicherung und Wiederherstellung

Wireless LAN PCMCIA Adapter Installationsanleitung

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Anleitung für die Umstellung auf das plus Verfahren mit manueller und optischer Übertragung

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

SharePoint Workspace 2010 Installieren & Konfigurieren

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Artikel Schnittstelle über CSV

Quickstep Server Update

Updatehinweise für die Version forma 5.5.5

Anleitung zur Datensicherung und -rücksicherung in der VR-NetWorld Software

Arbeiten mit UMLed und Delphi

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Verwendung des IDS Backup Systems unter Windows 2000

Installationsanleitung für Magento-Module

Version 0.3. Installation von MinGW und Eclipse CDT

Datensicherung. Beschreibung der Datensicherung

Werkzeuge für das Softwarekonfigurationsmanagement

YouTube: Video-Untertitel übersetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Internet Explorer Version 6

ZAPP-Installation unter Windows-7

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

Urlaubsregel in David

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Netzwerk einrichten unter Windows

SANDBOXIE konfigurieren

Erstellen einer digitalen Signatur für Adobe-Formulare

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

Änderung des Portals zur MesseCard-Abrechnung

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

1 Was ist das Mediencenter?

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Anwendungsbeispiele Buchhaltung

Gut zu wissen: Hilfe für ereader-einsteiger Leitfaden Nr. 2: Wie lade ich meine ebooks in das Programm Adobe Digital Editions?

Grundlagen des Software Engineering

Kleines Handbuch zur Fotogalerie der Pixel AG

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Anforderungen an die HIS

Software Release Notes

Erstellen von x-y-diagrammen in OpenOffice.calc

Lizenzierung von StarMoney 8.0 bzw. StarMoney Business 5.0 durchführen

Witbox. Anleitung Repetier-Host. Witbox

Leichte-Sprache-Bilder

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE Burgkirchen Web:

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Das Leitbild vom Verein WIR

Standard Daten-Backup-Script

Microsoft Office 365 Kalenderfreigabe

Umzug der abfallwirtschaftlichen Nummern /Kündigung

Anleitung zur Nutzung des SharePort Utility

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Ein Produkt von Google

Sophos Anti-Virus. ITSC Handbuch. Version Datum Status... ( ) In Arbeit ( ) Bereit zum Review (x) Freigegeben ( ) Abgenommen

Datensicherung EBV für Mehrplatz Installationen

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Manuelle Konfiguration einer VPN Verbindung. mit Microsoft Windows 7

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Schnittstelle DIGI-Zeiterfassung

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

GeoPilot (Android) die App

QTrade GmbH Landshuter Allee München Seite 1

Java: Vererbung. Teil 3: super()

Vorgehensweise bei Lastschriftverfahren

Anlegen eines DLRG Accounts

etermin Einbindung in Outlook

Tevalo Handbuch v 1.1 vom

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

teischl.com Software Design & Services e.u. office@teischl.com

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Q & A: Representation Tool

Transkript:

Software Konfigurations- Management Walter F. Tichy Universität Karlsruhe 1

Definition Software Konfigurations-Management (SKM) ist die Disziplin zur Verfolgung und Steuerung der Evolution von Software. SKM ist unerläßlich für die Entwicklung und Pflege großer, langlebiger Softwaresysteme. 2

SKM: Software-Evolution im Griff Software ändert sich andauernd. Änderungen verursachen Chaos. SKM hilft, das Änderungschaos zu vermeiden: Macht die Entwicklungsgeschichte rückverfolgbar, Verhindert oder gleicht konkurrierende Änderungen ab. Verfolgt Konfigurationen und Freigaben, Verfolgt Fehlermeldungen und Korrekturen, Automatisiert Versionsselektion und Verarbeitungsschritte, hält Software in einem wohldefinierten Zustand. 3

Ein konservatives Beispiel Betrachte ein kleines Software-Projekt: 100 Module 10 Entwickler 20 Versionen pro Modul Ein Programmierer ändert nur ein Modul pro Tag Gestern gab es eine funktionsfähige Konfiguration. Seither haben Entwickler 10 Module verändert. Sie wissen nicht, ob Sie heute mit den alten oder neuen Versionen arbeiten sollen. Wieviele mögliche Konfigurationen von alten und neuen Versionen müßten Sie untersuchen? 4

Ein konservatives Beispiel Antwort: 2 10 ~ 1000 Konfigurationen Falls das Konfigurieren, Übersetzen und Testen jeder Alternative nur 1 Min. in Anspruch nehmen würde, währen Sie allein mit der Auswahl 17 Stunden beschäftigt. In der Praxis muß man nicht alles durchprobieren, aber man hat wesentlich mehr Versionen und braucht mehr Zeit pro Konfiguration. Man verbringt jeden Tag unnötig Zeit damit, einen konsistenten Entwicklungsstand herzustellen. 5

Symptome des Änderungschaos Identifikation und Verfolgung: Dieses Programm funktionierte gestern noch! Diesen Fehler habe ich schon letzte Woche korrigiert! Wo sind meine Änderungen von letzter Woche? Das ist eine offensichtliche Verbesserung. Wurde sie schon probiert? Wer ist für diese Änderung verantwortlich? 6

Mehr Änderungschaos Versionsselektion Wurde alles übersetzt? Nachgetestet? Wie konfiguriere ich für Test, mit meinen Änderungen aber keinen anderen? Wie schließe ich diese fehlerhafte Änderung wieder aus? Ich kann den Fehler in dieser Konfiguration nicht rekonstruieren! Welche Änderungen sind denn nun in dieser Freigabe? 7

Noch mehr Chaos... Software-Lieferung Welche Wünsche des Kunden sind berücksichtigt? Welche Konfiguration hat der Kunde? Haben wir eine konsistente Konfiguration geliefert? Hat der Kunde modifiziert? Der Kunde hat die letzten zwei Freigaben nicht installiert. Was passiert, wenn wir ihm die neue schicken? Diese Probleme klingen für jeden vertraut, der in der Software-Entwicklung gearbeitet hat. 8

Geschichte von SKM Konfigurations-Management wurde ca. 1950 für die US-Luftund Raumfahrtindustrie erfunden. U.a. wurde KM im Apollo- Programm zur Verfolgung Tausender von Änderungen benutzt. SKM begann ca. 1970 mit SCCS und MAKE. SKM ist heute ein erfolgreicher Teile des Software- Werkzeugmarktes, mit über 50 versch. Lösungen. SKM-Werkzeuge bieten anerkannten Wert für den Praktiker. SKM-Werkzeuge sind technisch anspruchsvoll. 9

Wie unterscheidet sich SKM von traditionellem KM? 1. Software ist reiner Gedankenstoff, vergleichbar mit Konstruktionsplänen. Produktions- und Distributionskosten sind vernachlässigbar. Dadurch ist Software billiger zu ändern und sie ändert sich daher rascher. SKM muß daher schneller reagieren. 2. Software kann komplett im Rechner gespeichert werden. SKM ist automatisierbarer. 10

Literatur über SKM International Workshop on Software Configuration Management 6. bis 9. Treffen in 1996, 1997, 1998, 1999. Konferenz-Bände bei Springer Verlag erschienen. Bücher: Applying RCS and SCCS, Bolinger & Bronson, O Reilly, 1995. Configuration Management, Tichy, Wiley, 1994. Übersicht über viele Werkzeuge: www.cs.colorado.edu/ ~andre/configuration_management.html 11

SKM-Werkzeuge in Deutschland Quelle: IT Research, 1998 PVCS 25.7% Clearcase 12.6% Continuus 8.4% SourceSafe 8.0% RCS 7.6% Endevor 4.6% SourceInteg rity 3.6 inhouse 3.4% SCCS 2.7% 12 CCC 1.9%

2. Grundkonzepte Softwareobjekt (Softwareelement): jede maschinenlesbare Informationseinheit ( Dokument ), die im Laufe eines Softwareprojektes entsteht. Beispiele:Anforderungsdokumente, Entwurfsdokumente, UML, Spezifikationen,Programmcode, Dokumentation, Testprogramme, Testdaten, Testergebnisse, Handbücher, CAD-Dokumente, Fehlermeldungen, Ländereinstellungen, Bilder, Ikonen, Diagramme, Tonaufzeichnungen, etc. 13

Softwareobjekte Ein Softwareobjekt hat einen eindeutigen Namen und einen persistenten Inhalt. Ein Softwareobjekt ist unveränderlich: jede Änderung erzeugt eine neues Objekt (Version); kann nicht verändert werden, sobald die Erzeugung abgeschlossen ist (Einfrieren vermeidet Fehlidentifikation). Klassifikation der Softwareobjekte nach Erzeugung: manuell oder automatisch Struktur: atomar oder Konfiguration 14

Softwareobjekte Primärobjekt, Quellobject (source object): manuell erzeugt, unantastbar und normalerweise nicht löschbar. Sekundärobjekt (derived object): vollautomatisch erzeugt. Kann aus Platzgründen gelöscht werden. Besitzt eine Herleitungsgeschichte zur Wiederherstellung (Transformator(en) und Eingaben). 15

Struktur von Softwareobjekten Ein Softwareobjekt ist ein Atom (unteilbar): es besitzt keine Bestandteile, die unabhängig voneinander variiert werden können, ohne das ganze Objekt zu ändern, oder eine Konfiguration: es besitzt mehrere unabhängig variierbare Bestandteile, die selbst wieder Atome oder Konfigurationen sind (hierarchische Teileliste). 16

Beispiel Tischplatte TP1 Anleitung: Befestige Beine B1 mit Schrauben S1 an TP1. Beine B1 Schrauben S1 Welche ist die Sekundärkonfiguration? 17

3. Anforderungen an SKM Prozeß- Unterstützg. Änderungsverfolgung Verteilung (LAN, WAN) Konfigurationen, Erbauung Versionshaltung 18

4. Versionshaltung Revision: Ein Softwareobjekt, das durch Modifikation eines existierenden Objektes entstand. Varianten: Softwareobjekte, die gewisse gemeinsame Eigenschaft haben (z.b. die Spezifikation oder Schnittstelle), aber in anderen differieren (z.b. in der Bedienung, Plattform, Algorithmus, Datenstruktur, Kennlinie). 19

Versionen Version: eine Revision, Version, oder beides Sowohl Atome als auch Konfigurationen können Versionen bilden. Fast alle Quellobjekte haben Versionen (außer Fehlermeldungen, E-Post-Botschaften, u.ä.) Versionsgruppe: eine Menge von Softwareobjekten, die Versionen voneinander bilden. 20

Organisation von Versionsgruppen Datenbank (Archiv) Fix.1 checkout Arbeitsbereich (Sandkasten) 1.1 1.2 1.3 2.1 2.2 2.3 2.3 checkin Revision-von Variante-von Par.1 Par.2 Änderungszyklus:1. checkout (erzeuge Kopie in Arbeitsbereich, Platzhalter in DB) 2. modifiziere Kopie in Arbeitsbereich 3. checkin (befördere Kopie in Platzhalter) 21

Deltas sparen Platz Datenbank (Archiv) Fix.1 checkout Arbeitsbereich (Sandkasten) 1.1 1.2 1.3 2.1 2.2 2.2 2.3 2.3 checkin Par.1 Par.2 Ein Delta ist der Unterschied zw. zwei Revisionen. Kann vorwärts oder rückwärts berechnet werde. Wird zur Wiederherstellung von Revisionen benutzt. 22

Versionsverwaltung direkt aus Editor 23

VRCE Visual Revision Control Engine Archivpfad, dupliziert Struktur des Arbeitsbereiches Arbeitsbereich Grün bedeutet, der Arbeitsbereich ist im Archiv gesichert. Datei liegt -nurim Arbeitsbereich; -nurimarchiv; - zum Schreiben ausgebucht; - zum Lesen ausgebucht. Hauptfenster 24

VRCE Visual Revision Control Engine Ruft auf Versionsgraph der ausgewählten Datei Ausgewählte Version Attribute der ausgewählten Datei Attribute der ausgewählten Version Anzeige des Versionsgraphen Durchblättern der ausgewählten Dateien mit dem Nächste Knopf. 25

5. Konfigurationen Selektiere Versionen (z.b. letzte Referenzkonfiguration plus abgenommene Änderungen, minus fehlerhafte Versionen) Erbaue überall und jederzeit, mit korrekten Versionen der korrekten Komponenten. Wiederhole jeden Selektions- u. Erbauungslauf exakt und jederzeit, einschl. Versionen der Werkzeuge. Mehrere Erbauungsläufe gleichzeitig. Evtl. jeder Erbauungslauf intern parallel. 26

6. Änderungsverfolgung Alle Änderungen sind getrieben von Änderungswünschen. Änderungswünsche/Fehlermeldungen in Datenbank. Verknüpfung zw. Änderungswünschen, Versionen, Korrekturen. Zustandsverfolgung (verworfen, zurückgestellt, in Arbeit, getestet, freigegeben, etc.) genaue Zustandsberichte: Welche Änderungen sind fertig, welche in Arbeit? Wo häufen sich Änderungen? Wo gibt s Verzögerungen? Welche Änderungen sind in einer geg. Freigabe enthalten? 27

Änderungsverfolgung Bug report27 Bug report26 Bug report25 Requirements: This system shall..... Design Part 1: C1 C2 Design Part 2: D1 class C1 { method c11(){ } method c12 (){ } } D2 28

7. Prozeßunterstützung Unterstützung für Zyklus Fertigmeldung - Annahme -- Integration&Test - Übernahme Parallelentwicklung ist die Regel. Verfolgung von Änderungssätzen. Abhängigkeitsverfolgung. 29

Ein Prozeßmodell für Parallelentwicklung Jeder Entwickler oder jedes Team arbeitet an eigenem Ast. Angenommene Änderungen sind auf Haupt-Ast. Von Zeit zu Zeit starten Entwickler einen Aktualisierungsprozeß, der neue, angenommene Änderungen in den eigenen Ast übernimmt. Fertigstellung wird Integrator gemeldet. Integrator/Tester führt einfache Verschmelzungen durch; testet und nimmt ab. 30

Modell für Parallelentwicklung Sammle Änderungssatz Team1.1 Annahme, Test Rel.1 Rel.2 Sammle Änderungssatz Team2.1 Team2.2 Übernahme Team2.3 Annahme, Test Rel.3 31

8. Verteilung Weltweite Zusammenarbeit koordinieren. Informelles SKM unmöglich bei verteilten Arbeitsgruppen, speziell bei verschiedenen Zeitzonen. Datenbanken müssen verbunden und aktuell sein. Ohne sorgfältige Organisation ist verteilte Entwicklung eine Einladung zum Chaos. 32

Verteilte Versionshaltung Tokyo: Kanji- Lokalisierung New York: Oberfläche Stuttgart: Hauptprogramm 33

Verteilte Versionshaltung New York GUI.0 GUI.0 Tokyo GUI.1 Kanji.1 GUI.2 Kanji.2 Kanji.3 Kanji.3 GUI.3 Kanji.4 GUI.3 GUI.4 Kanji.5 Kanji.6 Kanji.6 GUI.5 34

9. Ausblick Stand der Kunst: Speichern und Verfolgen von Änderungen. Zuverlässige, wiederholbare Versionsselektion. Automatische Konfigurationsbearbeitung (Make und Make-oids) Verknüpfung von Änderungswünschen mit Änderungen. 35

Ausblick Wo ist weitere Entwicklungsarbeit nötig? Verteiltes SKM, Software-Distribution, Installation im Netz, Automatische Konfiguration, Erweiterte Prozeßunterstützung, Versionierung von Webs. 36

Schluß SKM ist eine etablierte Disziplin von anerkanntem, praktischem Nutzen. Werkzeuge mit unterschiedlichem Komfort erhältlich. Es gibt eine Reihe von neuen Herausforderungen. SKM-Werkzeuge sind oft technisch anspruchsvoll. 37

Fragen? 38