• Keine Ergebnisse gefunden

Aufbau und Wartung einer Software-Produktlinie in einem kleinen Unternehmen

N/A
N/A
Protected

Academic year: 2022

Aktie "Aufbau und Wartung einer Software-Produktlinie in einem kleinen Unternehmen"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Aufbau und Wartung einer Software-Produktlinie in einem kleinen Unternehmen

Martin Verlage

MARKET MAKER Software AG Karl-Marx-Strasse 13 67655 Kaiserslautern m.verlage@market-maker.de

Abstract: Anhand eines Beispiels einer Produktlinie werden Erfahrungen bei der Einführung des Product Line Engineering für komplexe Software-Systeme erläutert. Hierbei stehen weniger konkrete Techniken im Vordergrund sondern eine möglichst umfassende Betrachtung der relevanten Aspekte.

1 Kapitelüberschrift

Baut ein Unternehmen Kompetenz in einem technischen oder fachlichen Bereich auf, so können weitere Potentiale erschlossen und Risiken gestreut werden, indem mehrere Produkte für unterschiedliche Märkte entwickelt werden. Insbesondere für kleine und mittelständische Unternehmen kann dies ein entscheidender Faktor der Wettbewerbsfähigkeit werden.

Innovative Ansätze zur Gestaltung flexibler und konfigurierbarer Software helfen auch bei Projekten mit wenigen Mannjahren zum Ausbau einer kompletten Produktline, die eine Basis für unterschiedliche Märkte, Nischenmärkte oder Individuallösungen darstellt.

Die Einführung des so genannten „Product Line Engineering“ (PLE) hatte erhebliche Auswirkungen auf die Effizienz und Entwicklungsgeschwindigkeit bei der MARKET MAKER Software AG. Anhand der Software i*ProductLine wird über Erfahrungen bei dem Aufbau und der Erweiterung einer Produktlinie für Internet-basierte Börseninformationssysteme berichtet (siehe auch [CN02] und [VK05]). Insbesondere waren die folgenden Aspekte der Software-Entwicklung vom PLE wesentlich beeinflusst:

- Ein neuer Prozess „Scoping“ zur produktübergreifenden Spezifikation und Identifikation von Mitgliedern der Produktlinie wurde eingeführt.

- Die Software-Entwicklung wurde in einen strategischen Teil („Domain Engineering“) und einen projektbezogenen Teil („Application Engineering“) getrennt.

287

(2)

- Eine „Referenzarchitektur“ als grundlegendem Strukturschema für alle Produkte wurde früh definiert; die Qualität dieser Referenzarchitektur wird kontinuierlich anhand struktureller Merkmale überwacht.

- Um eine Degeneration des Systems zu vermeiden, werden in kurzen Abständen Überarbeitungen („Refactoring“) einzelner Komponenten oder der Rahmenarchitektur vorgenommen.

- Ein neuer Prozesses wurde definiert, der früh in einem Projekt zwischen Individualentwicklung und Erweiterung der Plattform unterscheidet.

- Die Verwaltung von eingehenden Problemmeldungen wurde verbessert, da bei einer Produktlinie Änderungen an der Software potentiell alle abgeleiteten Produkte betreffen.

- Strategien zur Beherrschung komplexer Systeme, wie ein automatischer Build nach jeder Änderung oder automatisierte Komponententests mittels JUnit, wurden etabliert.

Überraschende Einsichten konnten bei den Auswirkungen auf die Durchführung von Projekten für Kunden gewonnen werden. Es wird nicht eine einzelne Technik oder Methode beleuchtet, sondern eine Zusammenfassung über die Maßnahmen zur Änderung der Software-Entwicklung in einem kleinen Unternehmen gegeben.

Literaturverzeichnis

[CN02] Clements, P.; Northrop L.: Software Product Lines – Practices and Patterns. SEI Series in Software Engineering, Addison Wesley, 2002.

[VK05] Verlage, M.; Kiesgen, T.: Five Years of Product-Line engineering in a Small Company.

Erscheint in: Proc. of the 27th International Conference on Software Engineering, St.

Louis, USA, Mai 2005.

288

Referenzen

ÄHNLICHE DOKUMENTE

About 80% of all software systems today are software product lines or can at least profit. from product

 Modules can be composed within a new context of another project (variability).. Design Patterns for Variability.. Observer Pattern. “Define[s] a one-to-many dependency

Software Product Line Engineering.. Lab

 Make feature explicit in source

building systems [...] in a particular domain in the form of reusable assets [...], as well as providing an adequate means for reusing these assets (i.e., retrieval, qualification,

 -oriented programming solves the feature traceability problem via collaborations and rolls (mapping). Implementation via

 If the base code changes, existing pointcuts could match to new join points or existing join points will not match anymore.  Chess example: A developer adds a method to declare a

 Use case of aspects and collaborations depend on the implementation problem.  Aspects and collaborations have different pros