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

Modernisierung macht auch heterogene IT-Umgebungen agil

DevOps im Mainframe-Umfeld

Modernisierung macht auch heterogene IT-Umgebungen agil

Die Heterogenität der IT-Landschaften erschwert die Umsetzung von DevOps-Konzepten. Um auch im Mainframe-Umfeld von schneller Software-Entwicklung und kurzen Release-Zyklen zu profitieren, ist zunächst eine Modernisierung erforderlich. lesen

Mainframe-Entwicklung wird agil

Scrum für Großrechner

Mainframe-Entwicklung wird agil

Auch auf dem Mainframe müssen Entwickler ihre Applikationen immer schneller und in kürzeren Zyklen bereitstellen. Agile Entwicklungsmethoden wie das Scrum-Framework bieten sich daher auch für den Mainframe an. lesen

Entwicklungstool für den Mainframe von Micro-Focus

Enterprise Developer Connect

Entwicklungstool für den Mainframe von Micro-Focus

Mit „Enterprise Developer Connect“ hat Micro Focus ein Eclipse-basiertes Werkzeug parat, das es erlaubt, Applikationen direkt auf dem Mainframe zu entwickeln. Zentraler Vorteil dieser Software: Die Entwickler können etablierte Prozesse und Tools weiterhin verwenden. lesen

Entwickeln für den Mainframe geht schnell und einfach

Großrechner-Anwendungen

Entwickeln für den Mainframe geht schnell und einfach

Entwicklungsumgebungen wie Eclipse oder Visual Studio vereinfachen die Entwicklung, Pflege und Modernisierung von Anwendungen für IBM zEnterprise. SCM, sprich Source Code und Software Configuration Management, lässt sich auf diesem Weg gleich mit integrieren. 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)