Programvaruproduktlinje
Programvaruproduktlinjer ( SPLs ), eller utveckling av mjukvaruproduktlinje , hänvisar till programvaruutvecklingsmetoder , verktyg och tekniker för att skapa en samling liknande programvarusystem från en delad uppsättning programvarutillgångar med användning av ett gemensamt produktionssätt .
Carnegie Mellon Software Engineering Institute definierar en mjukvaruproduktlinje som "en uppsättning mjukvaruintensiva system som delar en gemensam, hanterad uppsättning funktioner som tillfredsställer de specifika behoven hos ett visst marknadssegment eller uppdrag och som är utvecklade från en gemensam uppsättning kärnor tillgångar på föreskrivet sätt."
Beskrivning
Tillverkare har länge använt analoga ingenjörstekniker för att skapa en produktlinje av liknande produkter med hjälp av en gemensam fabrik som monterar och konfigurerar delar utformade för att återanvändas över hela produktlinjen. Till exempel kan biltillverkare skapa unika varianter av en bilmodell genom att använda en enda pool av noggrant designade delar och en fabrik speciellt utformad för att konfigurera och montera dessa delar.
Den egenskap som skiljer programvaruprodukter från tidigare ansträngningar är förutsägande kontra opportunistisk återanvändning av programvara . Istället för att lägga in allmänna programvarukomponenter i ett bibliotek i hopp om att möjligheter till återanvändning kommer att uppstå, kräver programvaruprodukter endast att programvaruartefakter skapas när återanvändning förutsägs i en eller flera produkter i en väldefinierad produktlinje.
De senaste framstegen inom mjukvaruproduktlinjeområdet har visat att en snäv och strategisk tillämpning av dessa koncept kan ge förbättringar i storleksordning av mjukvaruteknikkapacitet. [ citat behövs ] Resultatet är ofta ett diskontinuerligt hopp i konkurrenskraftiga affärsfördelar [ citat behövs ] , liknande det som ses när tillverkare antar massproduktion och massanpassningsparadigm .
Utveckling
Medan tidiga metoder för mjukvaruprodukter vid fältets tillkomst gav de bästa mätvärdena för förbättring av mjukvaruteknik som setts på fyra decennier, uppvisar den senaste generationen av metoder och verktyg för mjukvaruprodukter ännu större förbättringar. Nya generationsmetoder utökar fördelarna bortom produktskapande till underhåll och utveckling , sänker den övergripande komplexiteten i produktlinjeutveckling, ökar skalbarheten av produktlinjeportföljer och gör det möjligt för organisationer att göra övergången till mjukvaruproduktlinjepraktik med storleksordningar kortare tid, kostnad och ansträngning.
Nyligen har koncepten för programvaruprodukter utvidgats till att täcka system och programvaruteknik holistiskt. Detta återspeglas av framväxten av industristandardfamiljer som ISO 265xx om system och mjukvaruteknik för produktlinjer.
Se även
- Mjukvarufabrik
- Domänteknik
- Funktionsmodell
- Funktionsorienterad programmering – ett paradigm för utveckling av mjukvaruprodukter
- Produktfamiljsteknik
externa länkar
- [1] Software Product Lines Essentials, sidan 19. Webbplats för Carnegie Mellon Software Engineering Institute
- Software Products Lines Community-webbplats och diskussionsforum
- Introduktion till den framväxande praxisen för utveckling av mjukvaruproduktlinje
- AMPLE projekt
- Software Product Line Engineering Course, B. Tekinerdogan, Bilkent University