Software-Konfigurationsverwaltung!



Ähnliche Dokumente
Software Engineering. Software-Konfigurationsmanagement! Martin Glinz Thomas Fritz. Kapitel 20

Software-Konfigurationsverwaltung

11. Konfigurationsverwaltung

Software Engineering

Software Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik

Software Engineering. Dokumentation! Kapitel 21

Requirements Engineering Research Group!

Validierung und Verifikation

Requirements Engineering I. Verwalten von Anforderungen!

Kapitel 12: Konfigurationsmanagement

Validierung und Verifikation!

Requirements Engineering Die Dinge von Anfang an richtig machen

Software-Qualität Ausgewählte Kapitel

Requirements Engineering I. Der Spezifikationsprozess!

Softwareanforderungsanalyse

15 Verwaltung von Anforderungen (Requirements Management)

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Requirements Engineering I

DGQ Regionalkreis Hamburg ISO Konfigurationsmanagement

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Authentication Policy. Konfigurationsbeispiel ZyXEL ZyWALL USG-Serie. Juni 2010 / HAL

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

E-Government Sondertransporte (SOTRA) Registrierung von Benutzerkennung

Registrierung für eine Senioren IPIN Ab 17. Mai 2011 können sich Spieler für eine Senioren IPIN (Lizenz) registrieren.

Software Release Notes

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

IT-Projekt-Management

3 Wie bekommen Sie Passwortlevel 3 und einen Installateurscode?

Dokumentation: Selbstregistrierung

Hinweise zur Lizenzierung der winlactat 5 Software von mesics

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

17 Architekturentwurf Vorgehen und Dokumentation

Einführung in Subversion

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

Ascent Capture: Arbeiten mit Capio

Benutzeranleitung Superadmin Tool

Print2CAD 2017, 8th Generation. Netzwerkversionen

Version 1.0 Datum Anmeldung... 2

Fragen und Antworten zum Thema. Lieferanspruch

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Perceptive Document Composition

PRODUKTINFORMATION LOCKING SYSTEM MANAGEMENT 3.3 SERVICE PACK 1 BASIC BASIC ONLINE BUSINESS PROFESSIONAL STAND: JUNI 2016

Workflows verwalten. Tipps & Tricks

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Netzwerkeinstellungen unter Mac OS X

gallestro BPM - weit mehr als malen...

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Netzwerkversion PVG.view

CARD STAR /medic2 und CARD STAR /memo3 Installation des USB-Treibers (Administrator-Tätigkeit) Stand

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Datenübernahme easyjob 3.0 zu easyjob 4.0

AIO CREATOR NEO. Vorgehensweise beim Import von SteckerPRO Konfigurationen

Anlage eines neuen Geschäftsjahres in der Office Line

OP-LOG

Installationsanleitung LogControl DL-Software

Information zur Durchführung von. Software-Updates

visionapp Base Installation Packages (vbip) Update

Mastermind. Testplan. Hochschule Luzern Technik & Architektur. Programmieren 2 FS12. Gruppe 10

SPI-Seminar : Interview mit einem Softwaremanager

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar inkl. zusätzlichem Übungsanhang K-W81-G-UA

Bedienungsanleitung für Mitglieder von Oberstdorf Aktiv e.v. zur Verwaltung Ihres Benutzeraccounts auf

Versionsverwaltung mit SVN

16 Architekturentwurf Einführung und Überblick

Software Engineering in der Praxis

Bedienungshinweise shop.flaboform.de 1. Zugang

Software Engineering. Produktivitätsfaktoren! Kapitel 18

PayPal PLUS für Shopware

Fotostammtisch-Schaumburg

HamburgService Registrierung für die Online-Dienste Gutachterverfahren (GUV) und Gutachterinformationssystem (GIS)

Leichtathletik Datenverarbeitung Handbuch

BEDIENUNGSANLEITUNG. Keybox 9000 Basic Keybox 9000 System Keybox 9000 Expansion KeyWin PC Software Light

SCHULUNG MIT SYSTEM: E-LEARNING VON RAUM21

Ihre Bearbeitung kann sein: Sie wird durch eine Benutzerdokumentation (nicht: Anwenderdokumentation, Programmdokumentation) ergänzt.

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Wie kann ich meine Daten importieren? Wie kann ich meine Profile verwalten?

Ausstattung von Krankenanstalten mit dem e-card-system Leitfaden

GRS SIGNUM Product-Lifecycle-Management

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Nach der Installation des FolderShare-Satellits wird Ihr persönliches FolderShare -Konto erstellt.

Kurzanleitung zu. von Daniel Jettka

Fragebogen ISONORM 9241/110-S

Lenkung der QM-Dokumentation

INFOnline SZM-Checker Ergänzung zum Manual

Online bezahlen mit e-rechnung

Anleitung: Passwort-Self-Service-Portal

wochenbettbetreuung.ch V E R S I O N V O M

Formular»Fragenkatalog BIM-Server«

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Bedienungsanleitung für den Online-Shop

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

DER BESSER INFORMIERTE GEWINNT!

Werkzeuge für das Softwarekonfigurationsmanagement

Anleitung zum LPI ATP Portal

Checkliste fu r Lieferanten

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Transkript:

Martin Glinz Harald Gall Software Engineering Kapitel 20 Software-Konfigurationsverwaltung! 2007-2011 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen Gebrauch gestattet; bei auszugsweiser Verwendung mit Quellenangabe. Verwendung für Unterrichtszwecke oder kommerziellen Gebrauch nur mit vorheriger schriftlicher Genehmigung des Autors.!

20.1!Grundlagen! 20.2!Identifikation und Verwaltung! 20.3!Version, Konfiguration, Release! 20.4!Änderungswesen! 20.5!Problemmeldewesen! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 2!

Probleme! Ändern Sie noch eben schnell... Software ist scheinbar leicht änderbar! Während der Entwicklung entstehen viele Artefakte in vielen Versionen! Wird Software von mehreren Klienten eingesetzt, müssen Software- Produkte gebildet und unterhalten werden! In der Pflege entstehen fortlaufend geänderte oder neue Artefakte! Typische Probleme:! Paralleles, unkoordiniertes Ändern durch mehrere Personen! Verwendung nicht mehr aktueller Artefakte! Undokumentierte Schnellreparaturen an in Betrieb befindlicher Software! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 3!

Probleme 2! Probleme wachsen überproportional mit der Anzahl der Komponenten! Hohe Kosten! Das Gegenmittel heißt Software-Konfigurationsverwaltung! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 4!

Definitionen! Software-Konfigurationsverwaltung (software configuration management) Die Gesamtheit aller Verfahren zur eindeutigen Kennzeichnung der Konfiguration eines Software-Systems mit dem Zweck, den Aufbau und alle Änderungen dieser Konfiguration systematisch zu überwachen, die Konsistenz des Software-Systems sicherzustellen und die Möglichkeit der Rückverfolgung anzubieten.! Software-Konfiguration Eine Menge zusammenpassender Software- Einheiten.! Software-Einheit (software configuration item) Der kleinste, im Rahmen der Konfigurationsverwaltung als atomar behandelte Baustein einer Konfiguration.!!Als Ganzes registriert, freigegeben oder geändert!!zum Beispiel Programm-Module und Dokumente! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 5!

Aufgaben der Software-Konfigurationsverwaltung! Software-Einheiten registrieren, verwalten und versionieren! Bilden und verwalten von Konfigurationen und Releases! Änderungsmanagement! Management von Problemmeldungen! Software-Konfigurationsverwaltung ist ein Teil des! Software-Projektmanagements in Entwicklungsprojekten! Software-Produktmanagements im Einsatz! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 6!

20.1!Grundlagen! 20.2!Identifikation und Verwaltung! 20.3!Version, Konfiguration, Release! 20.4!Änderungswesen! 20.5!Problemmeldewesen! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 7!

Kennzeichnung von Software-Einheiten! Software-Einheiten haben eine eindeutige Kennzeichnung! Besteht aus einem Namen und einer Versionsnummer! Kann weitere Informationen enthalten, zum Beispiel Name des Systems oder Teilsystems! Die Identität einer Software-Einheit ist feststellbar, z.b. mit Prüfsummen! LOG 0027.03 Stückliste Logistiksystem 0372538-1 Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 8!

Registrierung und Verwaltung! Software-Einheiten müssen registriert und verwaltet werden! Typisch hierarchisch strukturiert als Verzeichnisbäume! Bevorzugt mit Hilfe eines Konfigurations- verwaltungssystems verwaltet! Pro Einheit mehrere Versionen möglich! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 9!

20.1!Grundlagen! 20.2!Identifikation und Verwaltung! 20.3!Version, Konfiguration, Release! 20.4!Änderungswesen! 20.5!Problemmeldewesen! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 10!

Versionierung! Einfachste Art der Versionierung: aufsteigende Versionsnummern! 1 2 3 4 5 6 Im allgemeinen Fall: Revisionen (aufsteigend) und Varianten (parallel)! 1.4-A 2.0-A 1.1 1.2 1.3 1.4 2.0 2.1 2.2 1.4-B 2.0-B Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 11!

Konfiguration und Release! Konfiguration (configuration) Eine konsistente Menge logisch zusammengehörender Software-Einheiten! Basis für lauffähige Software! Während der Entwicklung (Integrations- und Systemtest)! Zum Zweck der Auslieferung! Beantwortet u.a. folgende Fragen:! Welche Software-Einheiten gehören dazu?! Wie wird ein lauffähiges System generiert?! Release Eine zur Benutzung freigegebene Konfiguration! Basis für die Auslieferung von Software an Kunden! Bildung von Software-Produkten! Periodische Lieferungen von Nachträgen und Verbesserungen! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 12!

Klassische Versionierung von Konfigurationen! Alle Software-Einheiten sind individuell versioniert! Konfigurationen / Releases werden aus ausgewählten Software- Einheiten in bestimmten Versionen gebildet! Konfiguration/Release wird ebenfalls versioniert! Software-Einheit Versionen 01 02 03 04 05 06... Stückliste Verwendungsnachweis Teil Losgröße... 1.0 1.1 2.0 2.1 2.2 Releases Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 13!

Vereinfachte Versionierung von Konfigurationen! Keine individuelle Versionierung von Software-Einheiten! Nur Konfigurationen werden versioniert! Konfigurationen typisch als Verzeichnisbäume strukturiert! Änderungen! von n zu n+1! von n+1 zu n+2! Revision n! Revision n+1! Revision n+2! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 14!

20.1!Grundlagen! 20.2!Identifikation und Verwaltung! 20.3!Version, Konfiguration, Release! 20.4!Änderungswesen! 20.5!Problemmeldewesen! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 15!

Problem 1: zeitlich überlappende Änderungen! Zeit! Anna! Bert! Erstellt lokale Kopie der Klasse DemoCode.java aus Codebasis! Modifiziert Methode blop! Testet modifizierte Klasse! Überschreibt DemoCode.java in Codebasis mit geänderter Klasse! Erstellt lokale Kopie der Klasse DemoCode.java aus Codebasis! Fügt Methode plup hinzu! Testet modifizierte Klasse! Überschreibt DemoCode.java in Codebasis mit geänderter Klasse! Annas Änderungen sind verloren und niemand merkt es sofort! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 16!

Separate Umgebungen als Basis! Getrennte Umgebungen für!! Entwicklung (Arbeitsumgebung)!! Verwaltung (Referenzumgebung, repository)!! Test (Testumgebung)!! Operativen Einsatz (Produktionsumgebung)! Freie Änderungen nur lokal in Arbeitsumgebungen! Reglementiertes Änderungsprozedere in der Referenzumgebung! Pessimistisch durch Sperren! Optimistisch durch Mischen! Änderungen in der Produktionsumgebung sind grundsätzlich verboten! Ändern nur durch Installation neuer Releases! Notfalländerungen rasch durch reguläre Releases ablösen! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 17!

Umgebungen und ihr Zusammenhang! fertig! fertig zur Änderung zur! Änderung! zur Prüfung geprüft Lieferung! Lieferung Produktionsumgebung(en) Referenzumgebung ungeprüft freigegeben Testumgebung Arbeitsumgebungen Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 18!

Änderungsmanagement durch Sperren! Zeit! Anna! Bert! Sperrt Klasse DemoCode.java in RU! Kopiert die Klasse in ihre AU! Modifiziert und testet Methode blop! Übergibt DemoCode.java an RU! RU publiziert neue Version von DemoCode.java und gibt Sperre frei! AU: Arbeitsumgebung RU: Referenzumgebung! Sperrt Klasse DemoCode.java in RU! Wartet! Sperre gesetzt! Kopiert die Klasse in seine AU! Fügt Methode plup hinzu und testet! Übergibt DemoCode.java an RU! RU publiziert neue Version von DemoCode.java und gibt Sperre frei! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 19!

Änderungsmanagement durch Mischen! Zeit! Anna! Bert! Kopiert die Klasse DemoCode.java aus der RU in ihre AU! Modifiziert und testet Methode blop! Übergibt DemoCode.java an RU! RU publiziert neue Version von DemoCode.java! AU: Arbeitsumgebung RU: Referenzumgebung! Kopiert die Klasse DemoCode.java aus der RU in seine AU! Fügt Methode plup hinzu und testet! Übergibt DemoCode.java an RU! RU kennt Modifikation der Klasse durch Anna und weist Übergabe ab! Mischt (gerne mit Werkzeughilfe) Annas Version von DemoCode.java mit seinen eigenen Änderungen! RU publiziert neue Version von DemoCode.java! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 20! Übergibt DemoCode.java erneut an RU!

Mischen vs. Sperren! Mischen (merging)! Ermöglicht paralleles Arbeiten, erleichtert Zusammenarbeit! Potenziell unsicher! Nur möglich bei Artefakten mit mischbaren Änderungen (z.b. Code)! Kommunikation zwischen Beteiligten erforderlich! Sperren (locking)! Behindert paralleles Arbeiten! Sicher! Für jeden Artefakttyp anwendbar! Im Software-Konfigurationsmanagement dominiert heute Mischen (beispielsweise in CVS und SVN)! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 21!

Problem 2: Änderung freigegebener Artefakte! Ist ein Artefakt freigegeben, zum Beispiel! ein Code-Modul, welcher Bestandteil eines Release ist! eine vom Auftraggeber formell gebilligte Version der Anforderungsspezifikation!!so darf es nicht mehr unkontrolliert geändert werden! Interne Freigaben werden mit Basislinien organisiert! Basislinie (baseline) Eine freigegebene, nur kontrolliert änderbare Konfiguration von Artefakten.! Die Änderung von Bestandteilen einer Basisline erfolgt nach einem strikt geregelten Änderungsprozess! Notfallreparaturen müssen so rasch wie möglich durch ordentliche Änderungen ersetzt werden! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 22!

Änderungsprozess für freigegebene Artefakte! Änderungswunsch Änderungsantrag! Auswirkungsanalyse Entscheidung Implementierung abgelehnt! Bilden einer neuen Basislinie oder eines neuen Release! Beispiel: Kunde will eine Anforderung ändern! Formular auszufüllen! Machbar? Auswirkung auf vorhandene Artefakte? Auswirkung auf Kosten und Termine?! Durch Change Control Board (besetzt mit Vertretern von Auftraggeber- und Auftragnehmerseite)! Auftrag an Projektmitarbeiter; ggf. Änderung von Kosten- und Terminplan! Formeller Abschluss der Änderung! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 23!

20.1!Grundlagen! 20.2!Identifikation und Verwaltung! 20.3!Version, Konfiguration, Release! 20.4!Änderungswesen! 20.5!Problemmeldewesen! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 24!

Das Problemmeldungswesen! Systematische Behandlung von Kundenproblemen! Kundenprobleme sind u.a.! Fehler! Anpassungsbedarf / -wünsche! Erweiterungsbedarf / -wünsche! Verbesserungsideen! reine Fehlerverfolgung (bug tracking) greift zu kurz!! Grundlage: organisiertes Problemmeldungswesen! Problemmeldungsformular! Geordneter Bearbeitungsablauf (Problemmeldeprozess)! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 25!

Problemmeldung 1! Problemmeldung! Verfasser! Nr.! Name! Firma! Telefon / Fax / E-mail! Datum! Adresse! Betrifft!!Produkt!!Leistung!!anderes! Verwendete Hardware! Betriebssystem! Problem ist!!!!!ja!nein! reproduzierbar!!! umgehbar!!!! Problem betrifft!!programme!!unterlagen!!leistungen! Antwort erwartet bis! Problembeschreibung!! Problembeschreibung in Beilage! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 26!

Problemmeldung 2! Problembeschreibung!! Problembeschreibung in Beilage!!! Zu treffende Maßnahmen! Verantwortlicher Sachbearbeiter! Klassifizierung der! Maßnahmen! Fehlerbehebung!! Anpassung!! Erweiterung!! Beratung/Info!! Schulung!! Name! Datum! Visum! Zwischenbescheid an Kunde! (erforderlich, wenn Meldung nicht bis zum vom! Kunden erwarteten Termin erledigt werden kann) Datum! Visum! Problem erledigt und Kunde informiert! Name! Datum! Visum! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 27!

Der Problemmeldeprozess! Eingegangene Problemmeldung registrieren! Problem analysieren und priorisieren! Entscheidung: jetzt bearbeiten / später aufnehmen /nicht bearbeiten! Problem zur Behebung zuweisen Problem beheben! Gegebenenfalls neues Release bilden und ausliefern! Problemmeldung abschließen und archivieren! in Problemliste aufnehmen! in der Releaseplanung Problemliste abarbeiten! Problemmelder erhält Statusinformationen oder kann sie abfragen! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 28!

Literatur! Siehe Literaturverweise im Kapitel 11 des Skripts. Ferner:! A. Zeller, J. Krinke (2004). Open-Source-Programmierwerkzeuge. 2. Auflage. Heidelberg: dpunkt.! Im Skript [M. Glinz (2005). Software Engineering. Vorlesungsskript, Universität Zürich] lesen Sie Kapitel 11.! Im Begleittext zur Vorlesung [S.L. Pfleeger, J. Atlee (2010). Software Engineering: Theory and Practice, 4th edition. Upper Saddle River, N.J.: Pearson Education International] lesen Sie in Kapitel 9.1 die Seiten 489-491 sowie das Kapitel 11.5.! Software Engineering!Kapitel 20: Software-Konfigurationsverwaltung! 2011 Martin Glinz! 29!