Software -Konfigurationsverwaltung
Im Softwareentwicklung, Software -Konfigurationsverwaltung (SCM oder S/w cm) ist die Aufgabe, Änderungen in der Software zu verfolgen und zu kontrollieren, Teil des größeren interdisziplinären Bereichs von Konfigurationsmanagement.[1] SCM -Praktiken umfassen Revisionskontrolle and the establishment of Grundlinien. Wenn etwas schief geht, kann SCM das "Was, wann, warum und wer" der Veränderung bestimmen. Wenn eine Konfiguration gut funktioniert, kann SCM bestimmen, wie sie über viele Hosts hinweg repliziert.
Das Akronym "SCM" wird ebenfalls erweitert als Quellkonfigurationsverwaltungsprozess und Software Änderung und Konfigurationsverwaltung.[2] "Konfiguration" wird jedoch allgemein verstanden, um Änderungen abzudecken, die normalerweise von a vorgenommen wurden Systemadministrator.
Zwecke
Die Ziele von SCM sind im Allgemeinen:
- Konfigurationsidentifikation - Identifizierung von Konfigurationen, Konfigurationselemente und Grundlinien.
- Konfigurationssteuerung - Implementierung a kontrollierte Änderung Prozess. Dies wird normalerweise erreicht, indem a eingerichtet werden Kontrollplatine ändern deren primäre Funktion besteht darin, alle Änderungsanfragen zu genehmigen oder abzulehnen, die gegen eine Basislinie gesendet werden.
- Konfigurationsstatus Accounting - Aufzeichnung und Berichterstattung aller erforderlichen Informationen zum Status des Entwicklungsprozesses.
- Konfigurationsprüfung - Stellen Sie sicher, dass Konfigurationen alle beabsichtigten Teile enthalten und in Bezug auf ihre angebenen Dokumente, einschließlich Anforderungen, Architekturspezifikationen und Benutzerhandbücher, solide enthalten.
- Aufbau Management - Verwalten des Prozesses und der Tools, die für Builds verwendet werden.
- Prozessmanagement - Gewährleistung der Einhaltung des Entwicklungsprozesses der Organisation.
- Umgebungsverwaltung - Verwaltung der Software und Hardware, die das System hosten.
- Zusammenarbeit - Erleichterung von Teaminteraktionen im Zusammenhang mit dem Prozess.
- Defektverfolgung - Stellen Sie sicher, dass jeder Defekt Rückverfolgbarkeit zurück zur Quelle hat.
Mit der Einführung von Cloud Computing und DevOps Die Zwecke von SCM -Tools wurden in einigen Fällen verschmolzen. Die SCM -Tools selbst sind zu virtuellen Geräten geworden, die als virtuelle Maschinen instanziiert und mit Zustand und Version gespeichert werden können. Die Tools können Cloud-basierte virtuelle Ressourcen, einschließlich virtueller Geräte, Speichereinheiten und Softwarebündel, modellieren und verwalten. Die Rollen und Verantwortlichkeiten der Akteure sind auch zusammengeführt, wobei Entwickler jetzt virtuelle Server und verwandte Ressourcen dynamisch instanziieren können.[3]
Geschichte
Die Geschichte des Software -Konfigurationsmanagements (SCM) im Computer kann bereits in den 1950er Jahren zurückverfolgt werden, wenn CM (für die Konfigurationsverwaltung), ursprünglich für die Entwicklung und Produktionskontrolle, auf die Softwareentwicklung angewendet wurde. Frühe Software hatte einen physischen Fußabdruck, wie z. Karten, Bänderund andere Medien. Das erste Software -Konfigurationsmanagement war ein manueller Betrieb. Mit den Fortschritten in Sprache und Komplexität, SoftwareentwicklungDie Einbeziehung von Konfigurationsmanagement und anderen Methoden wurde aufgrund von Problemen wie Zeitplan, Budget und Qualität zu einem wichtigen Anliegen. Im Laufe der Jahre hatten praktische Lektionen zur Definition und Einrichtung von Verfahren und Werkzeugen geführt. Schließlich wurden die Tools zu Systemen zur Verwaltung von Softwareänderungen.[4] Branchenweite Praktiken wurden als Lösungen offen oder proprietär (wie z. Revisionskontrollsystem). Mit dem wachsenden Einsatz von Computern entstanden Systeme, die mit einem breiteren Umfang umging, einschließlich Anforderungsmanagement, Designalternativen, Qualitätskontrolle und mehr; Spätere Tools folgten den Richtlinien von Organisationen wie dem Reifegradmodell des Software Engineering Institute.
Siehe auch
- Anwendungslebenszyklusmanagement
- Vergleich der Open -Source -Konfigurationsmanagementsoftware
- Vergleich der Versionskontrollsoftware
- Kontinuierliche Konfigurationsautomatisierung
- Liste der Revisionskontrollsoftware
- Infrastruktur als Code
Verweise
- ^ Roger S. Pressman (2009). Software -Engineering: Ansatz eines Praktikers (7. International Ed.). New York: McGraw-Hill.
- ^ Forschung von Gartner und Forrester
- ^ Amies, a; Peddle S; Pan T M; Zou P X (5. Juni 2012). "Entwickeln Sie Cloud -Anwendungen mit rationalen Tools". IBM Developerworks. IBM.
- ^ "1988" ein Leitfaden zum Verständnis des Konfigurationsmanagements in vertrauenswürdigen Systemen "Nationales Computersicherheitssystem (via Google)
Weitere Lektüre
- 828-2012 IEEE-Standard für das Konfigurationsmanagement in Systemen und Software-Engineering. 2012. doi:10.1109/IEEESTD.2012.6170935. ISBN 978-0-7381-7232-3.
- Aiello, R. (2010). Best Practices des Konfigurationsmanagements: Praktische Methoden, die in der realen Welt funktionieren (1. Aufl.). Addison-Wesley. ISBN0-321-68586-5.
- Babich, W. A. (1986). Software -Konfigurationsmanagement, Koordination für die Teamproduktivität. 1. Auflage. Boston: Addison-Wesley
- Berczuk, Appleton; (2003). Software -Konfigurationsverwaltungsmuster: effektive Teamarbeit, praktische Integration (1. Aufl.). Addison-Wesley. ISBN0-201-74117-2.
- Bersoff, E.H. (1997). Elemente des Software -Konfigurationsmanagements. IEEE Computer Society Press, Los Alamitos, CA, 1-32
- Dennis, A., Wixom, B.H. & Tegarden, D. (2002). Systemanalyse & Design: Ein objektorientierter Ansatz mit UML. Hoboken, New York: John Wiley & Sons, Inc.
- Verteidigungsministerium, USA (2001). Militärhandbuch: Konfigurationsmanagement-Leitlinien (Rev. A) (MIL-HDBK-61A). Abgerufen am 5. Januar 2010 von http://www.everyspec.com/mil-hdbk/mil-hdbk-0001-0099/mil-hdbk-61_11531/
- Futrell, R.T. et al. (2002). Qualitätssoftware -Projektmanagement. 1. Auflage. Prentice-Hall.
- Internationale Organisation für Standardisierung (2003). ISO 10007: Qualitätsmanagementsysteme - Richtlinien für das Konfigurationsmanagement.
- Saeki M. (2003). Einbetten von Metriken in Informationssystementwicklungsmethoden: Eine Anwendung der Technik für Methodenentwicklung. Caise 2003, 374–389.
- Scott, J.A.& Nisse, D. (2001).Software -Konfigurationsverwaltung.Im: Leitfaden für Software -technische Kenntnisse. Abgerufen am 5. Januar 2010 von http://www.computer.org/portal/web/swebok/htmlformat
- Paul M. Duvall, Steve Matyas und Andrew Glover (2007). Kontinuierliche Integration: Verbesserung der Softwarequalität und Reduzierung des Risikos.(1. Aufl.).Addison-Wesley Professional. ISBN0-321-33638-0.