Software engineering

Software engineering is de toepassing van principes die gebruikt worden in het vakgebied engineering, dat zich gewoonlijk bezighoudt met fysieke systemen, op het ontwerpen, ontwikkelen, testen, uitrollen en beheren van softwaresystemen.

Het vakgebied software engineering past de gedisciplineerde, gestructureerde aanpak van programmeren die gebruikt wordt in engineering toe op software ontwikkeling met het verklaarde doel de kwaliteit, tijd en budget efficiency te verbeteren, samen met de zekerheid van gestructureerd testen en ingenieurs certificering.

Software engineering wordt typisch gebruikt voor grote en ingewikkelde software systemen in plaats van enkelvoudige applicaties of programma's. Ontwikkeling is echter slechts één fase van het proces. Terwijl een software-ingenieur typisch verantwoordelijk is voor het ontwerp van systemen, zijn programmeurs vaak verantwoordelijk voor het coderen van de implementatie ervan.

Software-engineering omvat een aantal gebieden die betrekking hebben op het proces van software-engineering en certificering, waaronder: het verzamelen van eisen, software-ontwerp, software-bouw, software-onderhoud, software-configuratiebeheer, software-engineeringbeheer, software-ontwikkelingsprocesbeheer en -creatie, software-engineeringmodellen en -methoden, softwarekwaliteit, software-engineeringberoepspraktijken, alsmede fundamenteel computergebruik en wiskundige en ingenieursstudie.

Hoewel het oorspronkelijke gebruik van de term onzeker is, werd de eerste software-engineeringconferentie gehouden en gesponsord door de NAVO in 1968. De conferentie had betrekking op de inconsistentie en onbetrouwbaarheid in de ontwikkeling van software en op de behoefte aan betere kwaliteit en betrouwbaarheid. De conferentie bracht internationale deskundigen bijeen die het erover eens waren dat de systematische aanpak van de engineering van de fysieke wereld moest worden toegepast op de ontwikkeling van software, omdat die al was ontwikkeld met die doelen voor ogen.

Het Software Engineering Institute (SEI) is een organisatie die samenwerkt met Amerikaanse ingenieurs, ondernemingen, onderwijs- en overheidsinstellingen om de efficiency van het werk van software engineering-projecten en -processen te verbeteren en het is de thuisbasis van het Computer Emergency Response Team (CERT).