Softwareontwikkelstraat

Uit Wikipedia, de vrije encyclopedie
Naar navigatie springen Jump to search

Een softwareontwikkelstraat of softwarefabriek is een gestructureerde verzameling van verwante softwarecomponenten die helpen bij het ontwikkelen van softwareproducten volgens specifieke gedefinieerde eisen door middel van een assemblageproces.[1] Een ontwikkelstraat past de productietechnieken en beginselen toe op de ontwikkeling van software om de voordelen van de traditionele productie na te bootsen.

Beschrijving[bewerken]

Gereedschappen waar een softwareontwikkelstraat gebruik van kan maken zijn onder andere een versiebeheersysteem, een build automatiseringssysteem (bv. Ant, Gradle, Maven, NPM), unittesten, continue integratie/aflevering gereedschappen (bv. Jenkins, Gitlab CI), probleemmanagement, en een toepassing voor projectmanagement.

Doel[bewerken]

Een ontwikkelstraat maakt dus gebruik van een reeks van gereedschappen en ingerichte processen die ervoor zorgen dat het ontwikkelproces van de software zoveel mogelijk wordt geautomatiseerd. De voordelen van een ontwikkelstraat zijn consistentie, kwaliteit en productiviteit.[1]

Een softwareontwikkelstraat adresseert het probleem van traditionele softwareontwikkeling waarbij toepassingen worden ontwikkeld zonder optimaal gebruik te maken van de kennis en bronnen die al in eerdere vergelijkbare toepassingen zijn ontwikkeld. Training, documentatie, en frameworks worden gebruikt om dit probleem aan te pakken.

Echter, bij het ontwikkelen van meerdere toepassingen kan dit leiden tot een inefficiënt en foutgevoelig proces. De softwareontwikkelstraat voegt daarom bewezen routines samen in een pakket, dat als leidraad wordt gebruikt in projectteams.[1]

Componenten[bewerken]

Een softwareontwikkelstraat is uniek en bevat daarom ook een unieke verzameling bronnen die zijn ontwikkeld voor een specifiek type toepassing. Algemeen gezien bevat een softwareontwikkelstraat bronnen van de volgende types:

  • Fabrieksschema, een document die de bronnen categoriseert en opsomt om een systeem te bouwen en onderhouden
  • Referentie-implementatie, voorbeelden van eindproducten als hulpmiddel voor ontwikkelaars
  • Leidraad en patronen voor architectuur, geeft uitleg en motivatie over ontwerpkeuzes
  • Procedures en instructies voor taken
  • Recepten, om snel taken af te ronden
  • Sjablonen, vooraf gefabriceerde elementen
  • Ontwerpers, informatie die ontwikkelaars kunnen gebruiken voor het modelleren van applicaties op een hoger abstract niveau
  • Herbruikbare programmacode, voor vaak voorkomende functionaliteit en mechanismes

Zie ook[bewerken]