Den SWEBOK, eller " Vejledning til Software Engineering Body of Knowledge " eller " software engineering mængde viden Guide " er en ramme, som den IEEE Computer Society til struktur viden i software engineering . Det søger at afgrænse velidentificerede områder af viden og syntetisere almindeligt accepterede fremgangsmåder og teknikker, samtidig med at det sigter mod at etablere anerkendelsen af softwareteknik som en fagdisciplin. Den elektroniske version stilles gratis til rådighed af IEEE.
SWEBOK sigter mod at kodificere faglig viden og dermed tjene som en guide til softwareudviklingsfagfolk til udøvelse af deres erhverv, til akademiske eller professionelle uddannelsesorganer til udvikling af lærlingekurser og til professionelle organisationer. . SWEBOK er derfor rettet mod lærere, der er ansvarlige for at opbygge videregående uddannelser og studerende. Det kan også bruges af private og offentlige virksomheder som en domæne-videnvejledning til implementering af god softwareteknisk praksis. Dette betyder ikke, at enhver ingeniør bliver nødt til at anvende det uden at tænke over det.
Dets mål er at strukturere softwareteknik i 15 færdighedsområder og præsentere "almindeligt accepterede" praksis, teknikker og tilsvarende standarder. Det laver således en metodologisk oversigt, der gør det muligt at orientere den praktiserende læge. Læserens opmærksomhed henledes imidlertid på, at dette er en guide til korpuset og ikke selve korpuset: SWEBOK henviser således til eksisterende forretningsviden uden at søge at erstatte andre værker og referencekilder. Derudover dokumenterer det, hvordan software engineering er en disciplin i sig selv.
Arbejdet med at etablere SWEBOK startede i 1993 som et resultat af et fælles initiativ mellem IEEE og ACM og er organiseret i tre faser.
Begyndelsen på udviklingen af dette referencesystem falder sammen med arbejdet i Den Internationale Standardiseringsorganisation, der blev påbegyndt i 1990, og som førte til udbredelsen i 1995 af ISO 12207- standarden for softwareprocessers livscyklus. Denne standard fungerede som referencegrundlag for SWEBOK, som dog er uafhængig af den og ikke er begrænset til standarden.
En første version af SWEBOK blev produceret i 1998, men der var behov for forbedringer.
ACM trak sig tilbage fra SWEBOK's styringsorganer i 2000 efter at have bemærket, at IEEE overvejede at bruge SWEBOK som grundlag for at regulere adgangen til erhvervet som softwareingeniør (via en licens til praksis), hvilket ACM grundlæggende er imod .
En anden version af SWEBOK blev offentliggjort i 2004. Den blev offentliggjort i 2005 som en ISO / IEC TR 19759: 2005 standardiserings teknisk rapport.
ISO 12207-standarden blev revideret i 2008 og ændret til “System- og softwareteknik - Software livscyklusprocesser”.
En tredje version, SWEBOK 3.0, blev offentliggjort i 2014. Den blev offentliggjort i 2015 i form af en teknisk standardiseringsrapport ISO / IEC TR 19759: 2015, også distribueret af AFNOR. Dette er den aktuelle version af arkivet.
ISO 12207-standarden blev revideret i 2017 og bliver en fælles standard med IEEE og citerer SWEBOK som en referenceteknisk rapport.
SWEBOK strukturer softwareteknik i 15 vidensområder. Et kapitel er dedikeret til hver af dem:
Disse domæner og processerne fremkaldt i domænerne skal ikke forstås som sekventielle aktiviteter.
SWEBOK identificerer følgende discipliner som relateret til software engineering:
SWEBOK-projektet er resultatet af samarbejde mellem universiteter, industrier og faglige foreninger:
Der var stærke reaktioner under processen med oprettelsen af SWEBOK på grund af IEEE's erklærede hensigt om at bruge SWEBOK til at regulere adgangen til erhvervet som softwareingeniør på grundlag af en mekanisme. Den ACM, som var co-initiativtager til SWEBOK, og dermed trak sig ud af projektet i 2000, på grund af sin strenge modstand mod en sådan regulerende begrænsning, og dens position til fordel for fri adgang til erhvervet.
Flere forfattere har offentligt kritiseret et udkast til version af SWEBOK 2004 under en offentlig indkaldelse af kommentarer, hvad enten det er hensigten at etablere en professionel licens eller på baggrund af indhold, der anses for at være tvivlsomt, utilstrækkeligt eller fejlagtigt som Martin Fowler , Cem Kaner (professor i software engineering) og Grady Booch .
Siden da har SWEBOK gennemgået flere revisioner, der involverer mere end 150 praktikere. Forordet til den nuværende version nævner ikke længere den professionelle licensmekanisme som et eksempel blandt de procedurer, som erhvervene har til rådighed for at formidle den viden, der er nødvendig for deres udøvelse, på samme måde som studier, uddannelse og certificeringer. Den seneste version af SWEBOK tager også højde for agil praksis og specificerer for flere områder, såsom krav eller design, at processen nødvendigvis er iterativ.