Software engineering

Uit Wikipedia, de vrije encyclopedie

(Doorverwezen vanaf Software engineer)
Ga naar: navigatie, zoeken
Iemand vindt dat de tekst van Softwareontwikkeling in dit artikel ingevoegd zou moeten worden, of dat er een duidelijkere afbakening tussen beide artikelen dient te worden gemaakt. Als de tekst wordt ingevoegd kan dat artikel een redirect worden (hier melden).

Software engineering is een deelgebied van de informatica en een ingenieursdiscipline, die zich bezighoudt met alle aspecten van het bouwen van complexe maar betrouwbare software tot informatiesystemen.

Iemand die bedreven is in software engineering is een software ingenieur of software engineer. Vaak noemen programmeurs zich alsnog onterecht software engineer vanwege de negatieve connotatie verbonden met de term programmeur.

Inhoud

[bewerken] Algemeen

Het vakgebied Software Engineering omspant het hele spectrum van de ontwikkeling van software voor complexe systemen, van het bepalen van de eisen tot aan de oplevering. Het bestaat in grote lijnen uit de volgende hoofdonderdelen:[1]

  • Het proces : Welke eisen worden aan een systeem gesteld, en hoe wordt het ontworpen?
  • De structuur : Wat is een goed ontwerp voor een systeem, en hoe ziet een goede architectuur er uit?
  • De technologie : Welke technologie is nodig, welke producten kunnen we inzetten?
  • De organisatie : Wie gaat het bouwen, kunnen we het outsourcen?

Software Engineering wordt ook wel gedefineerd als: "de toepassing van een systematische, gedisciplineerde, kwantificeerbare aanpak bij de ontwikkeling, uitvoering, en onderhoud van software"[1] Een andere omschrijving is "de gedisciplineerde toepassing van technische, wetenschappelijke en mathematische principes en methoden gericht op de economische productie van kwalitatief hoogwaardige software.[2] Het is een breed en veelomvattend vakgebied, waarin zowel logisch, wiskundige theoretische aspecten als engineering en management aspecten een rol spelen.

[bewerken] Onderwerpen

[bewerken] Software

Software zijn computerprogramma's en bijbehorende documentatie zoals specificaties, ontwerpmodellen en gebruikershandelingen. Softwareproducten kunnen ontwikkeld worden voor een specifieke klant of voor de algemene markt. Softwareproducten zijn hierom generiek, ontwikkeld voor een groep mogelijke klanten zoals PC software als Excel of Word of maatwerk, ontwikkeld voor een enkele klant volgens hun specificatie. Nieuwe software kan worden ontwikkeld door de ontwikkeling van nieuwe programma's, het op maat maken van generieke software systemen of het hergebruik van bestaande software.[3]

[bewerken] Software proces

Het software proces of "softwareontwikkelingsproces" is het geheel van activiteiten gericht op de ontwikkeling van software. Dit proces loopt vanaf het ontwerp tot de ingebruikname en het onderhoud en soms zelf het hergebruik. De algemene activiteiten in ieder softwareproces zijn[3]:

  • Specificatie : wat het systeem moet doen en de ontwikkelingsvereisten
  • Development : de ontwikkeling en productie van het software systeem
  • Validatie : de controle of de software voldoet aan de klanteneisen
  • Update bij gebruik : aanpassen van de software aan veranderende eisen.

Dit software-procesmodel is vastgelegd in formele softwareprocesmodellen en ontwerpmethodologieën.

[bewerken] Benaderingen in software engineering

Er worden verschillende soorten modellen gebruikt in de software engineering, die bepaalde toestanden en processen van verschillende perspectieven uitlichten. Met de tijd zijn hier allerlei perspectieven ofwel benaderingen ontwikkeld:

Met de ontwikkeling van de zgn. IDEF (Integration DEFinition) in de 1980er jaren is een aanzet gemaakt met integrale definties. Een alternatieve uitwerking is de Unified Modeling Language (UML).

[bewerken] Modellen in software engineering

Modellen in de software engineering zijn vereenvoudigde representaties van elementen en relaties van de software ontwikkeling. Er zijn verschillende soorten modellen:

  • Algemene modellen van het software ontwikkelingsproces, zoals het waterval model, het V-model, en het iteratieve model.[3]
  • Datamodellen en Database modellen
  • Objectmodellen van het te ontwikkelen informatiesysteem
  • Specifieke project modellen.

Elke benadering in de software engineering heeft deze soorten modellen veelal anders uitgewerkt.

[bewerken] Deelgebieden

Deelgebieden van de software engineering zijn:

[bewerken] Opleidingen

Vanwege het jonge karakter zijn er voorlopig nog weinig relatief zuivere opleidingen in de software engineering. De beste basis is een opleiding in informatica, een behoorlijke portie wiskunde, en liefst aangevuld met management en computertechniek. Met deze basis is het mogelijk het al doende te leren. Desalniettemin:

[bewerken] In Nederland

Een "Master of Science in Software Engineering" (M.Sc.) wordt aangeboden door de algemene en technische universiteiten met een informatica-opleiding, zoals de Universiteit van Amsterdam, de Universiteit Twente, de Radboud Universiteit Nijmegen etc. De Technische Universiteit Eindhoven biedt hier een "Professional Doctorate in Engineering: Software Technology" (P.D.Eng.)

[bewerken] In Vlaanderen

Een "Master of Science in de Informatica": Software Engineering wordt aangeboden door de Universiteit Antwerpen en Katholieke Universiteit Leuven. De Universiteit Gent biedt hier een "Master of Science in de Ingenieurswetenschappen: Computerwetenschappen: Software Engineering".

[bewerken] Software engineers

Software engineers zijn wetenschappers, technici en of innovatoren op het gebied van de software engineering. Een voorbeeld van enige specialisten.

[bewerken] Zie ook

Gerelateerde onderwerpen
Gerelateerde studies

[bewerken] Referenties

  1. a b Het vakgebied Software Engineering op www.jacquard.nl. Bezien 19 okt 2008.
  2. W. Humphrey (1989). "The Software Engineering Process: Definition and Scope". In: Representing and Enacting the Software Process: Proc. 4th Int'l Software Process Workshop. ACM Press, 1989. p. 82. (Eigen vertaling van de uitspraak: "the disciplined application of engineering, scientific, and mathematical principles and methods to the economical production of quality software."
  3. a b c Ian Sommerville (2004). Software Engineering. 7th edition. Chapter 1. Bezien 20 Okt 2008.

[bewerken] Externe links

  • JACQUARD informatica onderzoeksprogramma, dat zich richt op Software Engineering en Software as Service.
 
Persoonlijke instellingen
Boek maken