Software-Produktlinien ( SPLs ) oder Software- Produktlinienentwicklung bezeichnen Software-Engineering- Methoden, -Werkzeuge und -Techniken zur Erstellung einer Sammlung ähnlicher Softwaresysteme aus einem gemeinsamen Satz von Software-Assets unter Verwendung eines gemeinsamen Produktionsmittels . [ 1 ] [ 2 ]
Das Carnegie Mellon Software Engineering Institute definiert eine Software-Produktlinie als „eine Reihe softwareintensiver Systeme, die einen gemeinsamen, verwalteten Satz von Funktionen aufweisen, welche die spezifischen Bedürfnisse eines bestimmten Marktsegments oder einer bestimmten Mission erfüllen und die aus einem gemeinsamen Satz von Kernressourcen auf vorgeschriebene Weise entwickelt werden.“ [ 3 ]
Beschreibung
Hersteller nutzen seit Langem ähnliche Konstruktionstechniken, um eine Produktlinie ähnlicher Produkte in einer gemeinsamen Fabrik zu fertigen, in der Teile montiert und konfiguriert werden, die für die gesamte Produktlinie wiederverwendet werden können. So können beispielsweise Automobilhersteller mithilfe eines einzigen Pools sorgfältig entwickelter Teile und einer speziell für die Konfiguration und Montage dieser Teile konzipierten Fabrik einzigartige Varianten eines Automodells erstellen.
Das charakteristische Merkmal, das Software-Produktlinien von früheren Ansätzen unterscheidet, ist die vorausschauende versus opportunistische Software-Wiederverwendung . Anstatt allgemeine Softwarekomponenten in einer Bibliothek zu speichern und darauf zu hoffen, dass sich Wiederverwendungsmöglichkeiten ergeben, fordern Software-Produktlinien die Erstellung von Software-Artefakten nur dann an, wenn eine Wiederverwendung in einem oder mehreren Produkten einer klar definierten Produktlinie vorhergesagt wird. [ 4 ]
Jüngste Fortschritte im Bereich der Softwareproduktlinien haben gezeigt, dass die gezielte und strategische Anwendung dieser Konzepte die Softwareentwicklungskompetenz um Größenordnungen verbessern kann. Das Ergebnis ist oft ein sprunghafter Anstieg des Wettbewerbsvorteils, ähnlich dem, der bei der Einführung von Massenproduktion und Massenanpassung durch Hersteller zu beobachten ist .
Entwicklung
Während die frühen Methoden zur Softwareproduktlinienentwicklung in der Entstehungsphase des Fachgebiets die besten Kennzahlen für Software-Engineering-Verbesserungen der letzten vier Jahrzehnte lieferten, weisen die neuesten Methoden und Werkzeuge für Softwareproduktlinien noch größere Verbesserungen auf. Die neuen Methoden erweitern die Vorteile über die Produktentwicklung hinaus auf Wartung und Weiterentwicklung , senken die Gesamtkomplexität der Produktlinienentwicklung, erhöhen die Skalierbarkeit von Produktlinienportfolios und ermöglichen es Unternehmen, den Übergang zur Softwareproduktlinienpraxis mit einem Vielfachen an Zeit-, Kosten- und Arbeitsaufwand zu vollziehen.
In jüngster Zeit wurden die Konzepte von Software-Produktlinien erweitert, um Systeme und Softwareentwicklung ganzheitlich abzudecken. Dies spiegelt sich im Aufkommen von Industriestandardfamilien wie ISO 265xx zu System- und Softwareentwicklungspraktiken für Produktlinien wider. [ 5 ]
Siehe auch
- Softwarefabrik
- Domänenentwicklung
- Merkmalsmodell
- Feature-orientierte Programmierung – ein Paradigma für die Entwicklung von Software-Produktlinien
- Produktfamilienentwicklung
Referenzen
- ^ Software-Produktlinien Webseitedes Carnegie Mellon Software Engineering Institute
- ^ Charles W. Koushik, Einführung in Software-Produktlinien (Archiviert am 04.02.2012 im Internet Archive) .
- ^ Software-Produktlinien Webseitedes Carnegie Mellon Software Engineering Institute
- ^ Charles W. Krueger, Einführung in die aufkommende Praxis der Software-Produktlinienentwicklung
- ^ ISO 26550:2015 – Software- und Systementwicklung — Referenzmodell für Produktlinienentwicklung und -management .Die
Externe Links
- [1] Grundlagen zu Software-Produktlinien, Seite 19. Webseite des Carnegie Mellon Software Engineering Institute
- Website und Diskussionsforen der Community für Softwareprodukte
- Einführung in die aufkommende Praxis der Software-Produktlinienentwicklung
- AMPLE-Projekt
- Lehrgang Software-Produktlinienentwicklung, B. Tekinerdogan, Bilkent Universität