ISO/IEC/IEEE 12207 Systems and software engineering – Software life cycle processes [ 1 ] ist ein internationaler Standard für Softwarelebenszyklusprozesse. Er wurde 1995 eingeführt und definiert als primärer Standard alle Prozesse, die für die Entwicklung und Wartung von Softwaresystemen erforderlich sind , einschließlich der Ergebnisse und/oder Aktivitäten jedes Prozesses.

Revisionshistorie

ISO/IEC/IEEE 12207:2026 ist die neueste Version und wurde im April 2026 veröffentlicht. [ 1 ] Die IEEE Computer Society beteiligte sich weiterhin direkt an der Entwicklung und Bearbeitung dieser zweiten Ausgabe in Zusammenarbeit mit ISO/IEC JTC 1/SC 7 /WG 7. Eine wesentliche Änderung besteht darin, dass ein Prozessmodell übernommen wurde, das mit dem Prozessmodell von ISO/IEC/IEEE 15288 :2015 identisch ist (mit einer Namensänderung: Der Prozess „System Requirements Definition“ aus 15288 wurde in „System/Software Requirements Definition“ umbenannt). Diese Harmonisierung der beiden Standards führte zur Abschaffung separater Prozesse für Softwareentwicklung und Softwarewiederverwendung, wodurch die Gesamtzahl der Prozesse von 43 (12207) auf die 30 (15288) reduziert wurde. Sie zog außerdem Änderungen an den Aktivitäten und Ergebnissen der Qualitätsmanagement- und Qualitätssicherungsprozesse nach sich . Darüber hinaus wurden die Definition von „ Audit “ und die zugehörigen Auditaktivitäten aktualisiert. [ 2 ] [ 3 ] [ 4 ] Anhang I der ISO/IEC/IEEE 12207:2026 enthält eine Prozessabbildung zwischen der Version 2026 und der Vorgängerversion, einschließlich der wichtigsten Prozessübereinstimmungen zwischen den beiden Versionen; dies soll die Rückverfolgbarkeit ermöglichen und den Übergang für die Benutzer der Vorgängerversion erleichtern.

Frühere Versionen umfassen:

  • ISO/IEC 12207:2017, veröffentlicht im November 2017 [ 5 ]
  • ISO/IEC 12207:2008, veröffentlicht im Februar 2008 [ 6 ]
  • ISO/IEC 12207:1995/Amd 2:2004, eine geänderte Fassung der vorherigen, veröffentlicht im November 2004 [ 7 ].
  • ISO/IEC 12207:1995/Amd 1:2002, eine geänderte Fassung der vorherigen, veröffentlicht im Mai 2002 [ 8 ].
  • ISO/IEC 12207:1995, die erste Fassung, veröffentlicht im Juli 1995; [ 9 ] war ursprünglich in fünf Hauptprozesse (Beschaffung, Lieferung, Entwicklung, Betrieb und Wartung) unterteilt, mit acht unterstützenden und vier organisatorischen Lebenszyklusprozessen [ 10 ].

IEEE-Versionen

Bevor die IEEE Computer Society sich formell am Bearbeitungsprozess der 2017er-Version beteiligte (und damit zu einem wichtigen Akteur wurde), pflegte das IEEE eigene Versionen von ISO/IEC 12207, die zunächst gemeinsam mit der Electronic Industries Alliance (EIA) modifiziert wurden. [ 11 ] [ 12 ] [ 13 ] Mit der Aktualisierung von 2008 wurde eine gemeinsame Strategie von ISO/IEC JTC 1/SC 7 und dem IEEE zur Harmonisierung ihrer jeweiligen Normensammlungen eingeführt, was zu identischen Normen mit leicht unterschiedlichen Bezeichnungen führte. [ 13 ] Zu diesen IEEE-Versionen gehörten:

  • IEEE Std. 12207-2008: „integriert ISO/IEC 12207:1995 mit seinen beiden Änderungen und wurde mit der parallelen Überarbeitung von ISO/IEC 15288:2002 (Systemlebenszyklusprozesse) koordiniert, um Struktur, Begriffe und entsprechende Organisations- und Projektprozesse anzugleichen“; [ 14 ] ersetzt durch ISO/IEC/IEEE 12207:2017
  • IEEE/EIA 12207.2-1997: „bietet Leitlinien für die Umsetzung der normativen Klauseln von IEEE/EIA 12207.0“; [ 15 ] ersetzt/für überholt erklärt durch IEEE Std. 12207-2008, welche wiederum durch ISO/IEC/IEEE 12207:2017 ersetzt wurde.
  • IEEE/EIA 12207.1-1997: „bietet Leitlinien für die Erfassung von Lebenszyklusdaten, die sich aus den Lebenszyklusprozessen von IEEE/EIA 12207.0 ergeben“; [ 16 ] ersetzt durch ISO/IEC/IEEE 15289:2011, welche wiederum durch ISO/IEC/IEEE 15289:2017 ersetzt wurde.
  • IEEE/EIA 12207.0-1996: „besteht aus den Klarstellungen, Ergänzungen und Änderungen [zu ISO/IEC 12207:1995 für die industrielle Umsetzung], die vom Institute of Electrical and Electronics Engineers (IEEE) und der Electronic Industries Alliance (EIA) im Rahmen eines gemeinsamen Projekts der beiden Organisationen angenommen wurden“; [ 11 ] ersetzt durch IEEE Std. 12207-2008, welches wiederum durch ISO/IEC/IEEE 12207:2017 abgelöst wurde.

Es ist außerdem erwähnenswert, dass IEEE/EIA 12207 am 27. Mai 1998 offiziell MIL-STD-498 (veröffentlicht im Dezember 1994 [ 12 ] ) für die Entwicklung von DoD- Softwaresystemen ablöste. [ 10 ] [ 12 ]

Prozesse, nicht Phasen

Der Standard legt eine Reihe von Prozessen für das Management des Softwarelebenszyklus fest . Der Standard „schreibt kein spezifisches Softwarelebenszyklusmodell, keine Entwicklungsmethodik , keine Methode, keinen Modellierungsansatz und keine Technik vor.“ [ 1 ] Stattdessen unterscheidet der Standard (ebenso wie ISO/IEC/IEEE 15288) zwischen einer „Phase“ und einem „Prozess“ wie folgt:

  • Phase: „Zeitraum im Lebenszyklus einer Entität, der sich auf den Zustand ihrer Beschreibung oder Realisierung bezieht“. Eine Phase ist typischerweise ein Zeitraum und endet mit einem „primären Entscheidungspunkt“.
  • Prozess: „Eine Reihe von miteinander verbundenen oder interagierenden Aktivitäten, die Eingaben in Ausgaben umwandeln“. Derselbe Prozess wiederholt sich oft in verschiedenen Phasen.

Phasen ( auch Stufen genannt) sind nicht mit Prozessen gleichzusetzen, und dieser Standard definiert lediglich spezifische Prozesse – er legt keine bestimmten Phasen fest. Stattdessen erkennt der Standard an, dass Softwarelebenszyklen variieren und in Phasen (auch Stufen genannt) unterteilt werden können, die wichtige Lebenszyklusabschnitte darstellen und primäre Entscheidungspunkte markieren. Es gibt keine festgelegte Stufenliste, aber zwei Beispiele werden genannt:

  • Es könnten die Systemlebenszyklusphasen aus ISO/IEC TS 24748-1 verwendet werden (Konzept, Entwicklung, Produktion, Nutzung, Support und Stilllegung).
  • Darin wird auch darauf hingewiesen, dass ein üblicher Ablauf von Softwareprojekten die Phasen Konzeptentwicklung, Entwicklung, Wartung und Außerbetriebnahme umfasst.

Die im Standard definierten Lebenszyklusprozesse sind keiner bestimmten Phase im Softwarelebenszyklus zugeordnet. Vielmehr sollten die Lebenszyklusprozesse, die Planung, Durchführung und Evaluierung umfassen, „in jeder Phase Anwendung finden“. In der Praxis kommen die Prozesse immer dann zum Einsatz, wenn sie in einer beliebigen Phase benötigt werden.

Prozesse

ISO/IEC/IEEE 12207:2026 unterteilt die Prozesse des Softwarelebenszyklus in vier Hauptprozessgruppen: Vereinbarung, organisatorische Projektvorbereitung, technisches Management und technische Prozesse. [ 1 ] [ 4 ] Jede dieser vier Prozessgruppen umfasst verschiedene Unterkategorien, darunter die Hauptaktivitäten Beschaffung und Lieferung (Vereinbarung), Konfiguration (technisches Management) sowie Betrieb, Wartung und Entsorgung (technisch). [ 1 ] [ 17 ]

Vereinbarungsprozesse

Die Norm ISO/IEC/IEEE 12207:2026 umfasst die Beschaffungs- und Lieferprozesse [ 1 ] [ 2 ] [ 17 ] , also Aktivitäten im Zusammenhang mit dem Abschluss einer Vereinbarung zwischen Lieferant und Auftraggeber. Die Beschaffung beinhaltet alle Aktivitäten zur Projektinitiierung. Diese Phase lässt sich in verschiedene, chronologisch abgeschlossene Aktivitäten und Ergebnisse unterteilen. In der Lieferphase wird ein Projektmanagementplan erstellt. Dieser Plan enthält Informationen zum Projekt, wie beispielsweise die zu erreichenden Meilensteine.

Organisatorische projektermöglichende Prozesse

Im Folgenden werden die Prozesse des Lebenszyklusmodellmanagements, des Infrastrukturmanagements, des Portfoliomanagements, des Personalmanagements, des Qualitätsmanagements und des Wissensmanagements detailliert beschrieben . [ 1 ] [ 2 ] [ 17 ] Diese Prozesse unterstützen Unternehmen und Organisationen bei der Ermöglichung, Steuerung und dem Support des Systemlebenszyklus und zugehöriger Projekte. Das Lebenszyklusmodellmanagement trägt zur Sicherstellung der Unterstützung von Beschaffungs- und Lieferaktivitäten bei, während das Infrastruktur- und Portfoliomanagement unternehmens- und projektspezifische Initiativen während des gesamten Systemlebenszyklus unterstützt. Die übrigen Prozesse gewährleisten, dass die notwendigen Ressourcen und Qualitätskontrollen zur Unterstützung der Projekt- und Systemvorhaben des Unternehmens vorhanden sind. Verfügt eine Organisation nicht über geeignete organisatorische Prozesse, können diese stattdessen direkt auf ein von der Organisation durchgeführtes Projekt angewendet werden. [ 1 ]

Technische Managementprozesse

ISO/IEC/IEEE 12207:2026 listet hier sieben verschiedene Prozesse auf: [ 1 ] [ 2 ] [ 17 ]

Diese Prozesse umfassen die Planung, Bewertung und Steuerung von Software- und anderen Projekten während des gesamten Lebenszyklus und gewährleisten dabei die Qualität.

Technische Prozesse

Die technischen Prozesse der ISO/IEC/IEEE 12207:2026 umfassen 14 verschiedene Prozesse, [ 1 ] [ 2 ] [ 17 ] von denen einige aus den alten softwarespezifischen Prozessen stammen, die mit der Version von 2008 ausliefen. [ 2 ]

Die vollständige Liste umfasst: [ 1 ] [ 2 ] [ 17 ]

Diese Prozesse umfassen technische Aktivitäten und Personal ( IT-Fachkräfte , Fehlerbehebung, Softwarespezialisten usw.) in der Vor-, Nach- und Betriebsphase. Die Analyse- und Definitionsprozesse legen frühzeitig den Grundstein für die Implementierung von Software und Projekten. Zusätzliche Prozesse wie Integration, Verifizierung, Transition und Validierung tragen zur Sicherstellung von Qualität und Einsatzbereitschaft bei. Die Betriebs- und Wartungsphasen laufen parallel ab. Die Betriebsphase beinhaltet Aktivitäten wie die Unterstützung der Anwender bei der Arbeit mit dem implementierten Softwareprodukt, während die Wartungsphase die Instandhaltungsaufgaben umfasst, um den reibungslosen Betrieb des Produkts zu gewährleisten. Der Entsorgungsprozess beschreibt, wie das System/Projekt gegebenenfalls außer Betrieb genommen und bereinigt wird. [ 1 ]

Konformität

Abschnitt 4 beschreibt den Verwendungszweck und die Konformitätsanforderungen des Dokuments. Es wird davon ausgegangen, dass bestimmte Projekte „möglicherweise nicht alle in diesem Dokument beschriebenen Prozesse benötigen“. In der Praxis beinhaltet die Einhaltung dieses Standards üblicherweise die Auswahl und Deklaration der geeigneten Prozesse. Dies kann entweder durch „vollständige Konformität“ oder durch „angepasste Konformität“ erfolgen.

Die vollständige Konformität kann auf zwei Arten nachgewiesen werden. Die vollständige Konformität mit den Aufgaben liegt vor, wenn alle Anforderungen der Aktivitäten und Aufgaben der deklarierten Prozesse erfüllt sind. Die vollständige Konformität mit den Ergebnissen liegt vor, wenn alle erforderlichen Ergebnisse der deklarierten Prozesse erreicht sind. Letztere Variante lässt mehr Spielraum für Abweichungen.

Eine „maßgeschneiderte Konformität“ kann erklärt werden, wenn bestimmte Klauseln durch den im Dokument ebenfalls definierten Anpassungsprozess ausgewählt oder geändert werden.

Siehe auch

Referenzen

  1. ^ a b c d e f g h i j k l „ISO/IEC/IEEE 12207:2026“ . Normenkatalog . Internationale Organisation für Normung. April 2026. Abgerufen am 21. Juni 2026 .
  2. ^ a b c d e f g Reilly, A. (27. Juni 2017). „Neu oder verbessert! Software-Engineering-Standards für Qualität“ . American Society for Quality. Archiviert vom Original am 3. Juli 2020. Abgerufen am 21. Juni 2018 .
  3. Bach , C. (12. Dezember 2017). „ISO/IEC 12207 aktualisiert und neu nummeriert als ISO/IEC/IEEE 12207“ . Standards Forum . Document Center, Inc. Archiviert vom Original am 22. Juni 2018. Abgerufen am 22. Juni 2018 .
  4. ^ a b Reilly, A. (März 2018). „INCITS/SSE – Jahresbericht Software- und Systementwicklung – April 2017 bis März 2018“ (PDF) . INCITS. Archiviert vom Original (PDF) am 9. August 2020. Abgerufen am 22. Juni 2018. Die grundlegenden Normen ISO/IEC JTC 1/SC 7, ISO/IEC/IEEE 12207:2026 und ISO/IEC/IEEE 15288:2015 wurden kürzlich überarbeitet, um ein einheitliches Modell für Beschaffung, Organisation, technisches Management und technische Prozesse für Systeme und Software abzubilden.
  5. ^ „ISO/IEC 12207:2017“ . Normenkatalog . Internationale Organisation für Normung. November 2017. Abgerufen am 21. Juni 2026 .
  6. ^ „ISO/IEC 12207:2008“ . Normenkatalog . Internationale Organisation für Normung. Februar 2008. Abgerufen am 21. Juni 2018 .
  7. ^ „ISO/IEC 12207:1995/Amd 2:2004“ . Normenkatalog . Internationale Organisation für Normung. November 2004. Abgerufen am 21. Juni 2018 .
  8. ^ „ISO/IEC 12207:1995/Amd 1:2002“ . Normenkatalog . Internationale Organisation für Normung. Mai 2002. Abgerufen am 21. Juni 2018 .
  9. ^ „ISO/IEC 12207:1995“ . Normenkatalog . Internationale Organisation für Normung. Juli 1995. Abgerufen am 21. Juni 2018 .
  10. ^ a b „Übersicht über IEEE/EIA 12207: Standard für Informationstechnologie“ . SSC San Diego Process Asset Library. 30. Juli 1998. Archiviert vom Original am 30. Dezember 2008. Abgerufen am 22. Juni 2018 .
  11. ^ a b „IEEE 12207.0-1996 – Standard für Informationstechnologie – Software-Lebenszyklusprozesse“ . IEEE Standards Association. März 1998. Archiviert vom Original am 29. Juni 2018. Abgerufen am 22. Juni 2018 .
  12. ^ a b c „ISO/IEC 12207:2008, IEEE Std 12207-2008 Systems and Software Engineering — Software Life Cycle Processes“ (PDF) . 7. Dezember 2009. Archiviert vom Original (PDF) am 22. Juni 2018. Abgerufen am 22. Juni 2018 .
  13. ^ a b „ISO/IEC 12207:2008(en) Systems and software engineering — Software life cycle processes: IEEE Introduction“ . Online-Browsing-Plattform . Internationale Organisation für Normung. Februar 2008. Abgerufen am 22. Juni 2018 .
  14. ^ „IEEE Std. 12207-2008 – Systems and software engineering – Software life cycle processes“ . IEEE Standards Association. Januar 2008. Abgerufen am 22. Juni 2018 .
  15. ^ „IEEE 12207.2-1997 – Leitfaden für Informationstechnologie – Software-Lebenszyklusprozesse – Implementierungsüberlegungen“ . IEEE Standards Association. April 1998. Archiviert vom Original am 22. Juni 2018. Abgerufen am 22. Juni 2018 .
  16. ^ „IEEE 12207.1-1997 – Leitfaden für Informationstechnologie – Software-Lebenszyklusprozesse – Lebenszyklusdaten“ . IEEE Standards Association. April 1998. Archiviert vom Original am 22. Juni 2018. Abgerufen am 22. Juni 2018 .
  17. ^ Peñalvo , FJ ;​​​ Holgado, AG (2017). „Proceso: Ingeniería de Software I“ (PDF) . Universität Salamanca. P. 39 . Abgerufen am 21. Juni 2018 .