Das SWEBOK, oder „ Guide to the Software Engineering Body of Knowledge “ oder „ Software Engineering Body of Knowledge Guide “, ist ein Rahmenwerk, das von der IEEE Computer Society zur Strukturierung von Wissen in der Softwaretechnik entwickelt wurde . Es zielt darauf ab, gut identifizierte Wissensbereiche abzugrenzen und allgemein anerkannte Praktiken und Techniken zu synthetisieren und gleichzeitig die Anerkennung von Software Engineering als Ingenieurdisziplin zu etablieren. Die elektronische Version wird von der IEEE kostenlos zur Verfügung gestellt.
Ziel des SWEBOK ist es, professionelles Wissen zu kodifizieren und damit als Orientierungshilfe für Softwareentwickler bei der Berufsausübung, akademischen oder berufsbildenden Einrichtungen für die Entwicklung von Lehrgängen und Berufsorganisationen zu dienen . Das SWEBOK richtet sich daher an Hochschullehrerinnen und Hochschullehrer sowie an Studierende. Es kann auch von privaten und öffentlichen Unternehmen als Leitfaden für Domänenwissen verwendet werden, um gute Software-Engineering-Praktiken zu implementieren. Dies bedeutet nicht, dass jeder Ingenieur es ohne Nachdenken anwenden muss.
Ziel ist es, Software Engineering in 15 Kompetenzbereiche zu strukturieren und „allgemein anerkannte“ Praktiken, Techniken und entsprechende Standards vorzustellen. Es erstellt somit eine methodische Bestandsaufnahme, die es dem Praktiker erlaubt, sich zu orientieren. Der Leser wird jedoch darauf aufmerksam gemacht, dass es sich hier um einen Leitfaden zum Korpus und nicht um den Korpus selbst handelt: Das SWEBOK verweist somit auf vorhandenes betriebswirtschaftliches Wissen, ohne zu versuchen, andere Werke und Referenzquellen zu ersetzen. Darüber hinaus dokumentiert es, dass Software Engineering eine eigenständige Disziplin ist.
Die Arbeiten zur Gründung des SWEBOK begannen 1993 als Ergebnis einer gemeinsamen Initiative von IEEE und ACM und wurden in drei Phasen organisiert.
Der Beginn der Entwicklung dieses Referenzsystems fällt mit der Arbeit der 1990 initiierten Internationalen Organisation für Normung zusammen , die 1995 zur Veröffentlichung der Norm ISO 12207 über den Lebenszyklus von Softwareprozessen führte. Dieser Standard diente als Referenzgrundlage für das SWEBOK, das jedoch davon unabhängig ist und nicht auf den Standard beschränkt ist.
Eine erste Version des SWEBOK wurde 1998 erstellt, musste jedoch verbessert werden.
Der ACM zog sich im Jahr 2000 aus den Lenkungsgremien des SWEBOK zurück, nachdem er bemerkt hatte, dass das IEEE erwägt, den SWEBOK als Grundlage für die Regulierung des Zugangs zum Beruf des Softwareingenieurs (über eine Approbation) zu verwenden, was der ACM grundsätzlich ablehnt .
Eine zweite Version des SWEBOK wurde 2004 veröffentlicht. Sie wurde 2005 als ISO / IEC TR 19759: 2005 Standardization Technical Report veröffentlicht.
Die Norm ISO 12207 wurde 2008 überarbeitet und in „Systems and Software Engineering – Software Lifecycle Processes“ geändert.
Eine dritte Version, SWEBOK 3.0, wurde 2014 veröffentlicht. Sie wurde 2015 in Form eines technischen Normungsberichts ISO / IEC TR 19759: 2015 veröffentlicht, der ebenfalls von AFNOR vertrieben wird. Dies ist die aktuelle Version des Repositorys.
Der ISO 12207-Standard wird 2017 überarbeitet und wird ein gemeinsamer Standard mit dem IEEE und zitiert den SWEBOK als technischen Referenzbericht.
Das SWEBOK gliedert Software Engineering in 15 Wissensgebiete. Jedem ist ein Kapitel gewidmet:
Diese Domänen und die in den Domänen hervorgerufenen Prozesse sind nicht als sequentielle Aktivitäten zu verstehen.
Das SWEBOK identifiziert die folgenden Disziplinen als dem Software Engineering zuzuordnen:
Das Projekt SWEBOK ist das Ergebnis einer Zusammenarbeit zwischen Universitäten, Industrie und Berufsverbänden:
Während des Erstellungsprozesses des SWEBOK gab es starke Reaktionen aufgrund der erklärten Absicht des IEEE , das SWEBOK zu verwenden, um den Zugang zum Beruf des Softwareingenieurs auf der Grundlage einer Berufslizenz zu regulieren. Die ACM, Mitinitiatorin des SWEBOK, zog sich daher im Jahr 2000 aus dem Projekt zurück, weil sie sich rigoros gegen eine solche regulatorische Einschränkung aussprach und sich für einen freien Berufszugang einsetzte.
Mehrere Autoren haben einen Entwurf von SWEBOK 2004 während einer öffentlichen Aufforderung zur Stellungnahme öffentlich kritisiert, sei es mit der Absicht, eine Berufslizenz zu begründen, oder auf der Grundlage von Inhalten, die als fragwürdig, unzureichend oder fehlerhaft gelten, wie Martin Fowler , Cem Kaner (Professor für Software Engineering) und Grady Booch .
Seitdem wurde das SWEBOK mehreren Revisionen unterzogen, an denen mehr als 150 Praktiker beteiligt waren. Im Vorwort der aktuellen Fassung wird der Berufszulassungsmechanismus nicht mehr als Beispiel für die Verfahren erwähnt, die den Berufen zur Verfügung stehen, um das für ihre Ausübung erforderliche Wissen ebenso wie Studium, Ausbildung und Zertifizierungen zu verbreiten. Auch die neueste Version des SWEBOK berücksichtigt agile Praktiken und spezifiziert für mehrere Bereiche wie Anforderungen oder Design, dass der Prozess zwingend iterativ ist.