Podcast
Questions and Answers
Was beschreibt der Begriff 'Echte Parallelentwicklung' im Konfigurationsmanagement?
Was beschreibt der Begriff 'Echte Parallelentwicklung' im Konfigurationsmanagement?
Welches Workflow-Modell bezeichnet einen zentralisierten Ansatz zur Entwicklung?
Welches Workflow-Modell bezeichnet einen zentralisierten Ansatz zur Entwicklung?
Was ist der Unterschied zwischen einem Hauptrelease und einem Patch im Release-Management?
Was ist der Unterschied zwischen einem Hauptrelease und einem Patch im Release-Management?
Welche Bedeutung haben Tags im Kontext des Konfigurationsmanagements?
Welche Bedeutung haben Tags im Kontext des Konfigurationsmanagements?
Signup and view all the answers
Was kennzeichnet ein Branch-Pattern im Konfigurationsmanagement?
Was kennzeichnet ein Branch-Pattern im Konfigurationsmanagement?
Signup and view all the answers
Was ist eine Baseline im Kontext des Konfigurationsmanagements?
Was ist eine Baseline im Kontext des Konfigurationsmanagements?
Signup and view all the answers
Welche Aussage beschreibt am besten den Zweck von Releases?
Welche Aussage beschreibt am besten den Zweck von Releases?
Signup and view all the answers
Was geschieht typischerweise bei der Erstellung eines Tags?
Was geschieht typischerweise bei der Erstellung eines Tags?
Signup and view all the answers
Welche Aussage trifft nicht zu, wenn es um lineare Entwicklungspfade mit Code-Freeze geht?
Welche Aussage trifft nicht zu, wenn es um lineare Entwicklungspfade mit Code-Freeze geht?
Signup and view all the answers
Was ist die Hauptfunktion von Tags im Konfigurationsmanagement?
Was ist die Hauptfunktion von Tags im Konfigurationsmanagement?
Signup and view all the answers
Welche der folgenden Punkte sind zentrale Aufgaben des Konfigurationsmanagements?
Welche der folgenden Punkte sind zentrale Aufgaben des Konfigurationsmanagements?
Signup and view all the answers
Was ist der Zweck einer Repository-Datenbank im Konfigurationsmanagement?
Was ist der Zweck einer Repository-Datenbank im Konfigurationsmanagement?
Signup and view all the answers
Was beschreibt die Variantenfamilie in Bezug auf Versionsbildung?
Was beschreibt die Variantenfamilie in Bezug auf Versionsbildung?
Signup and view all the answers
Welche Aussage beschreibt die Änderungsverfolgung am besten?
Welche Aussage beschreibt die Änderungsverfolgung am besten?
Signup and view all the answers
Welche Funktion bietet das Konfigurationsmanagement bzgl. Effektivität bei großen Datenmengen?
Welche Funktion bietet das Konfigurationsmanagement bzgl. Effektivität bei großen Datenmengen?
Signup and view all the answers
Was beschreibt die Beziehung zwischen Konfiguration A und B?
Was beschreibt die Beziehung zwischen Konfiguration A und B?
Signup and view all the answers
Was ist eine wichtige Überlegung bei der Zugriffskontrolle im Konfigurationsmanagement?
Was ist eine wichtige Überlegung bei der Zugriffskontrolle im Konfigurationsmanagement?
Signup and view all the answers
Welche Rolle spielt die Effizienz im Kontext des Konfigurationsmanagements?
Welche Rolle spielt die Effizienz im Kontext des Konfigurationsmanagements?
Signup and view all the answers
Study Notes
Foliensatz Nr. 5 - Software Engineering
- Dozentin: Prof. Elke Pulvermüller, Universität Osnabrück
- Fachbereich: Mathematik / Informatik / Physik, Institut für Informatik
- Arbeitsgruppe: Software Engineering
- E-Mail: [email protected]
- Sprechstunde: n.V.
- Semester: Wintersemester 2024/2025
Inhalt - Konfigurationsmanagement
- 1: Software-Krise und Software Engineering
- 2: Grundlagen des Software Engineering
- 3: Qualität
- 4: Projektmanagement
- 5: Konfigurationsmanagement
- 6: Software-Modelle
- 7: Software-Entwicklungsphasen, -prozesse, -vorgehensmodell
- 8: Weiterführendes
5.1 Motivation und Begriffe
-
Probleme:
- Integration falscher Komponenten
- Übersehen bereits entwickelter Komponenten (z.B. Programmteile, Testdaten)
- Unvollständiges Archivieren von Vorversionen
- Fehler durch mangelhafte Übersicht über die Teile und deren Zusammensetzungen
- Grundidee: Richtlinien, Vorschriften und Werkzeuge zur sicheren Verwaltung und kontrollierten Zugriff auf alle Projektergebnisse im Team
5.2 Aufgaben und Verfahren
- Versionskontrolle: Identifizierung, Archivierung, Schutz/Zugriffsregeln, Bereitstellung, kontrollierte Löschung von Einheiten, Versionen und Varianten
- Konfigurationskontrolle: Sicherstellung der Konsistenz, Dokumentation der Abhängigkeiten, Nachvollziehbarkeit und genaue Reproduzierbarkeit
- Build-Automatisierung: Erzeugung ausührbarer Programme mit Prüfsummenunterstützung
- Änderungskontrolle: Verwaltung und Prüfung von Änderungen
- Koordination der Teamarbeit: Zentrale Koordination mittels gemeinsamer Referenzumgebung und Konflikterkennung/ -vermeidung
- Ableitung und Bereitstellung von Metriken
5.3 Konfigurationselemente
-
Schritt 1: Identifikation der Konfigurationselemente
- Quelltexte
- Schnittstellenverträge
- Anforderungsdokumente
- Architektur- und Designdokumente
- Konfigurationsmanagement-Handbuch
- Testspezifikationen und Testdaten
- Build-Skripte
- Meta- und Konfigurationsdaten
- Benutzerdokumentation
- Installationsanleitungen, Release-Notes
- Werkzeuge (z.B. Compiler, Entwicklungsumgebungen)
- Bibliotheken
- Generierte Artefakte
- Protokolle von Meetings
- Binäre Auslieferungsdateien
- Projektpläne
- Listen offener Punkte, Risikolisten
- usw.
5.4 KM Plan
-
Schritt 2: Erstellung eines KM-Plans
- Einleitung (Ziele, Begriffe, Beschreibung der Konfigurationselemente)
- Management (Verantwortlichkeiten für die KM-Aktivitäten)
- Aktivitäten (KM-Aufgaben und Verfahren)
- Zeitplanung (zeitliche Abfolge der KM-Aktivitäten)
- Ressourcen (Werkzeuge, Personal)
- Pflege (Änderungsplanung des Plans)
5.5 Projektstruktur
-
Schritt 3: Festlegung einer Projektstruktur
- Hierarchie der Verzeichnisse im Projekt
- Projektstruktur (Systemstruktur/Architektur - Conways Law 1968)
- Einfluss der Projektorganisation, Gliederung in Teilprojekte
- Keine Konfigurationselemente (temporärer Charakter).
- Einfluss der SW-Architektur: Detaillierung der Projektstruktur auf Basis der Softwarearchitektur, ggf. Hilfsordner zur Gruppierung von Konfigurationselementen
5.6 Verwaltung der Konfigurationselemente
- Versionskontrolle: Versionsnummer, Verfügbarkeit, Integrität, Zugriffskontrolle, Änderungsverfolgung, Wiederherstellung
- Abbildung ins Repository: ohne temporäre Ordner
- Deltamechanismus: Reduktion des Speicherbedarfs (Vergleich von Versionen bzw. Änderungen)
- Check-in / Check-out: Bildung von Versionen im Arbeitsbereich
- Kontrolle paralleler Änderungen mit Vermeidung (durch Planung und Abstimmung), oder Lock-Modify-Unlock, oder Copy-Modify-Merge-Strategien
5.7 Release-Management
- Release x.y.z: Hauptrelease, Wartungsrelease, Patch
- Grafische Übersicht: Darstellung des Release-Plans
5.8 Werkzeuge zur Versionskontrolle
- Versionierungssoftware: CTSS, RCS, SCCS, CVS, Subversion, Git, Mercurial, Bazaar
- Ziel: Beseitigung von Schwächen in CVS, Atomarer Check-in (Transaktionen), Versionierung, Effiziente Deltabildung (auch für Binärdateien)
5.9 Automatisierung des Build-Prozesses
- Werkzeuge: Make, Ant, Maven
- Umsetzung: Entwicklungsumgebungen genügen nicht, Skripte für Schrittbeschreibung (imperativ vs. Deklarativ), Spezielle Build Tools/Interpreter
-
Schritte:
- Quellelemente ermitteln
- Produkt aus den Quellelementen erstellen
- Produkt prüfen
- Produkt ausliefern
- Ergebnisse dokumentieren
- Varianten: Entwickler-Build, Integrations-Build, Produktions-Build
- Target-Namenskonventionen (prinzipiell wählbar)
- Tasks: Übersicht, Was ist eine Task, Eigene Tasks, Bemerkung
- Maven-Projekt-Aufruf: mvn compile, mvn clean install. Default-Lifecycle(standard).
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Dieses Quiz behandelt das Themengebiet des Konfigurationsmanagements im Rahmen des Software Engineering. Besonderes Augenmerk liegt auf den Herausforderungen und Begriffen, die mit der Integration von Software-Komponenten verbunden sind. Erfahren Sie mehr über die häufigsten Probleme und deren Lösungen.