Definition „Software Configuration Management“

Was ist SCM?

| Autor / Redakteur: RoSch / Stephan Augsten

Mit einem ausgereiften SCM-Ansatz kann ein Unternehmen allein die Komponenten einer Standardsoftware verwenden, die es tatsächlich auch benötigt.
Mit einem ausgereiften SCM-Ansatz kann ein Unternehmen allein die Komponenten einer Standardsoftware verwenden, die es tatsächlich auch benötigt. (© EtiAmmos - stock.adobe.com)

Als Software Configuration-Management, kurz SCM oder auch Softwarekonfigurationsmanagement, bezeichnet man die Spezialisierung des Konfigurationsmanagements in Bezug auf alle Aktivitäten, die das Gebiet der Softwareentwicklung betreffen. Das SCM wird auch als Software-Versionsverwaltung verstanden und verfolgt diverse Ziele.

Über allem steht das SCM-System

Beim SCM kommt in der Regel ein spezielles SCM-System zum Einsatz, eine allgemeingültige Definition des Terminus „Software Configuration Management System“ existiert allerdings nicht. So wird das SCM einerseits häufig auf das alleinige Ein- und Auschecken von Quellcodes in bzw. aus einem Versionskontrollsystem limitiert und andererseits als ein Teilgebiet der Applikationskonfiguration reduziert. De facto ist ein Software Configuration Management System jedoch weitaus mehr.

Seinen Ursprung hat das Software Configuration Management in der Konfiguration von Hardware. In Bezug auf Software wurde der Begriff zum ersten Mal in den 1970er Jahren verwendet und diente zur Beschreibung von Software, nachdem sie die eigentliche Entwicklungsabteilung verlassen hatte. Demnach dient ein Software Configuration Management System dazu, die Entwicklung von erstellter Software zu begleiten.

Definiert werden kann SCM folgendermaßen: Im Rahmen des Software Configuration Managements werden Standards und Verfahren zur Entwicklung, Anwendung und Verwaltung eines innovativen, d.h., sich weiterentwickelnden, Systemprodukts vollzogen.

Folgt man dem IEEE-Standard 729-1983, beinhaltet das Software Configuration Management die folgenden Aspekte:

  • Identifikation: das Verfügbarmachen der Produktstruktur über differente Versionen hinweg
  • Controlling: das Steuern des Releasings sowie der Produktmodifikationen
  • Status Accounting: die Aufnahme und das Reporting der Status der einzelnen Bestandteile sowie der Änderungsanforderungen
  • Audit und Review: die Verifikation der Vollständigkeit eines Produkts, um eine konsistente Version bereitzustellen

Die Aufgaben des Software Configuration Managements

Im Allgemeinen gilt es als Aufgabe des Software Configuration Managements, diejenigen Elemente der Software, welche im Zuge des Entwicklungsprozesses eines Systems oder aber einer ganzen Systemfamilie entstanden sind, zu verwalten. In der Regel ergeben sich im Rahmen dieses Prozesses verschiedene Einzelprobleme.

Entsprechend handelt es sich bei einem Software Configuration Management um einen Mechanismus, der dazu dient, die unterschiedlichen, d.h. sowohl aktuelle als auch frühere, Versionen eines Software-Elements zu identifizieren, zu lenken und zurückzuverfolgen.

Mit Blick auf den ISO-Standard ISO 9000 können folgende Aufgaben des Software Configuration Managements genannt werden:

  • 1. die Software-Elemente, die zu einer spezifischen Version eines Softwareprodukts gehören, zu identifizieren;
  • 2. den Entwicklungsstatus der Software sowohl während der Entwicklung als auch nach Lieferung und Installation der Software zu identifizieren;
  • 3. das Koordinieren des gleichzeitigen Überarbeitens eines spezifischen Software-Elements durch mehrere Personen;
  • 4. das Lenken und Überwachen von mehr als einem Produkt an einer oder - insofern notwendig - mehreren Stellen;
  • 5. die Identifikation und Verfolgung aller Aktionen und Modifikationen, die sich aus einem Modifikationsvorhaben ergeben.

De facto werden diese Aufgaben teilweise erst dann notwendig, wenn das System sehr umfangreich ist und auf einer Entwicklungszeit von mehreren Jahren basiert. Andere Aufgaben müssen dagegen schon bei recht kleinen Systemen realisiert werden.

Die Durchführung der Software-Konfiguration

Von Software-Konfiguration ist in der Regel dann die Rede, wenn eine Standardsoftware im Rahmen des Customizing-Prozesses konfiguriert wird. Mit anderen Worten: Ist es notwendig, für ein Unternehmen den von diesem benötigten Funktionsumfang aus einzelnen Komponenten, d.h. Modulen, einer Standardsoftware zusammenzustellen, wird von Software Configuration Management gesprochen.

Im Allgemeinen werden hierfür einzelne Komponenten ausgewählt. Dabei kann es sich einerseits um Standardkomponenten, die im Lieferumfang einer Standardsoftware enthalten sind, handeln, oder aber um Spezialkomponenten, die entweder aus eigener Entwicklung stammen oder von anderen Softwareproduzenten entwickelt wurden. Im Rahmen des SCM werden dann zwischen den jeweiligen Komponenten mithilfe vorgegebener Schnittstellen Relationen definiert.

Durch eine Software-Konfiguration erhält das jeweilige Unternehmen die Möglichkeit, alleinig diejenigen Komponenten einer Standardsoftware zu verwenden, die es tatsächlich auch benötigt. Das Resultat einer Software-Konfiguration ist sowohl eine Erhöhung der Performanz eines Systems als auch eine Senkung der Kosten.

Die Relevanz von derartigen kundenorientierten Ansätzen steigt stetig. Allerdings gilt es zu beachten, dass die Zergliederung der Standardsoftware in einzelne Komponenten bzw. Module als grundlegende Voraussetzung für die Software Konfiguration gilt. Aus diesem Grund wird dieser Prozess auch Modularisierung genannt. Entsprechend eignet sich eine Standardsoftware vor allem dann für Konfigurationen, wenn sie aus zahlreichen einzelnen Komponenten besteht, die zahlreiche Schnittstellen zu anderen Komponenten sowie zu etwaigen Erweiterung aufweisen.

Fazit: Software Configuration Management

Aufgrund der Tatsache, dass Software kontinuierlich weiterentwickelt wird und so stetigen Veränderungen unterliegt, wurden Software Configuration Management Systems entwickelt. SCM wird zum Beispiel eingesetzt, um Fehler zu identifizieren, die unterschiedlichen Versionen einer Software zu dokumentieren sowie Funktionsumfänge anzupassen und zu erweitern.

Durch ein entsprechendes Management-System wird es möglich, die Aktualität und Vollständigkeit einer spezifischen Softwareversion zu gewährleisten, Änderungen zurückzuverfolgen, Versionsstände klar zu definieren und Fehler zu vermeiden.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Microservices- und API-Management-Ausbau bei TIBCO

Übernahme von Nanoscale.io

Microservices- und API-Management-Ausbau bei TIBCO

Mit der Akquisition von Nanoscale.io stärkt TIBCO das Know-how in den Bereichen Microservices und Application Programming Interfaces, kurz APIs. Ziel ist der Ausbau der On-Premises- und Hybrid-Cloud-Umgebung. lesen

Entwicklung vor Ort oder in virtuellen Teams?

Strategien verteilter Teams

Entwicklung vor Ort oder in virtuellen Teams?

Bei der Softwareentwicklung ist die Zusammenstellung von Developer-Teams eine grundlegende Aufgabe. Virtuelle Teams mit weltweit per Internet verbundenen Entwicklern können eine Alternative zu Mitarbeitern vor Ort sein. Doch was sind die Vor- und Nachteile? lesen

Services für bessere KI und Machine Learning

Intelligente Apps auf Salesforce-Basis

Services für bessere KI und Machine Learning

Intelligentere Apps sollen sich künftig auf Basis der Salesforce-Plattform entwickeln lassen. Hierfür wird die Plattform um Services erweitert, die auf Basis konkreter Anwendungsfälle mögliche Reaktionsmodelle trainieren. lesen

Updates als Schutz gegen WannaCry & Co.

Patch- und Versionsmanagement

Updates als Schutz gegen WannaCry & Co.

Kriminelle Hacker und Wirtschaftsspionage werden zu einem immer größeren Problem. Mit Software für Patch- und Versionsmanagement schließen Unternehmen potenzielle Einfallstore für Attacken und schützen sich damit vor Cyberangriffen wie dem kürzlich aufgetretenen Krypto-Trojaner WannaCry. lesen

Was die digitale Transformation für Softwareentwickler bedeutet

Continuous Integration & Delivery

Was die digitale Transformation für Softwareentwickler bedeutet

Mit der digitalen Transformation geht ein gesellschaftlicher und wirtschaftlicher Wandel einher. Für die Softwareentwickler, die die Digitalisierung mitgestalten und umsetzen, birgt dieser Wandel besondere Herausforderungen. lesen

Kommerzielle Anbieter im Cloud-Native-Umfeld

Cloud Native Stacks – Teil 2

Kommerzielle Anbieter im Cloud-Native-Umfeld

Container und Microservices sind nicht immer der Königsweg zur Cloud-nativen Anwendung. Lösungen wie die Red Hat OpenShift Container Plattform oder Pivotal Cloud Foundry propagieren zum Teil andere, ebenfalls interessante Ansätze. lesen

Design Thinking alleine greift zu kurz

Gastkommentar zu User Experience Design

Design Thinking alleine greift zu kurz

Design Thinking mit Blick auf die Nutzererfahrung, auch User Experience oder kurz UX, ist phantastisch. Aber erst als Teil eines agilen Entwicklungsprozesses kann dieser systematische Ansatz seine Vorteile optimal entfalten und ausspielen. lesen

CaaS-Plattform von SUSE für mehr Agilität in der Entwicklung

Container as a Service

CaaS-Plattform von SUSE für mehr Agilität in der Entwicklung

Enterprise-Linux-Spezialist SUSE weitet das Software-Defined-Infrastrucure-Portfolio aus: Eine Container-as-a-Service-Plattform (CaaS) soll die Entwicklung und Bereitstellung Container-basierter Applikationen und Diensten für Unternehmen vereinfachen. lesen

Quelloffener Code wird genutzt, aber schlecht verwaltet

„Open Source 360°“-Studie 2017

Quelloffener Code wird genutzt, aber schlecht verwaltet

Open-Source-Code wird in vielen Unternehmen zunehmend genutzt. Bei der Verwaltung de quelloffenen Code-Komponenten gibt es aber noch Nachholbedarf. Dies geht aus der „Open Source 360°“-Studie 2017 von Black Duck hervor. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44776793 / Definitionen)