Comparing Software Factories and Software Product Lines



Ähnliche Dokumente
Product Line Engineering (PLE)

Software Produktlinien: Einführung und Überblick

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Application Requirements Engineering

Software Product Line Engineering

Grundlagen Software Engineering

Einführung in Generatives Programmieren. Bastian Molkenthin

Generatives Programmieren

Workflow Systeme mit der Windows Workflow Foundation

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

IT-Projekt-Management

Unterschiede zur Klassischen Software-Entwicklung. SPL versus klassische SE Tim Serowski 1

Requirements Engineering I. Der Spezifikationsprozess!

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Einreichung zum Call for Papers

Vorlesung Donnerstags, bis Uhr, HS12 Übung Dienstags, bis Uhr 4-5 ÜbungsbläMer (Programmieraufgaben)

Alexander Delater, Barbara Paech RUPRECHT-KARLS-UNIVERSITÄT HEIDELBERG

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Vorstellung. Wie entsteht Architektur in Scrum

Markus Pister (Autor) Integration formaler Fehlereinflussanalyse in die Funktionsentwicklung bei der Automobilindustrie

Comparison of Software Products using Software Engineering Metrics

T2 Fundamentaler Testprozess

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal

Softwareanforderungsanalyse

BPM im Kontext von Unternehmensarchitekturen. Konstantin Gress

Übungsklausur vom 7. Dez. 2007

Featuremodellbasiertes und kombinatorisches Testen von Software-Produktlinien

17 Architekturentwurf Vorgehen und Dokumentation

A Domain Specific Language for Project Execution Models

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon

Contao: Mehr als nur Website-Erstellung. Contao Konferenz 2011

Umfrage zum Informationsbedarf im Requirements Engineering

I. Pflege und Wiederverwendung von Anwendungssoftware-Systemen

Herausforderungen des Enterprise Endpoint Managements

Rhapsody in J Modellierung von Echtzeitsystemen

Validierung und Verifikation!

APAS ist das Ergebnis unserer langjährigen Erfahrung im Bereich der Mess-, Prüf- und Automatisierungstechnik.

Cross-Platform Mobile Development mit Xamarin Mark

Requirements-Management Ein praktisches Beispiel

Die ProntoWeb Assistenten

Software Engineering: Aktuelle Herausforderungen und Chancen

Lean Modeling - Datenmodelle und Geschäftsregeln einfach und präzise mit natürlicher Sprache spezifizieren

Agile Softwareentwicklung in der Versicherungs-IT Fehlschlag oder Heilsbringer?

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Übungsaufgaben zum Software Engineering: Management

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Neue Funktionen in Innovator 11 R5

Agenda. Lösungsentwicklungsprozess Rahmenbedingungen für arvato SPL Entwicklungsarchitektur

Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer

Agiles Testmanagement am Beispiel Scrum

Vortrag von: Ilias Agorakis & Robert Roginer

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Trotz Agilität nicht ins Abseits geraten Modellierung in einem agilen Umfeld. Susanne Mühlbauer, Philip Stolz, HOOD GmbH MID Insight 2012

IBM Software Demos Rational Software Delivery Platform - Anforderungsanalyse

Dokumentation. Projekt: Innovation Management Plattform To Activate Creative Thoughts

Software Engineering. Dokumentation! Kapitel 21

NCDiff Testmanagement leicht gemacht

T1 - Fundamentaler Testprozess

Vom Projekt zum Produkt durch Produktlinien und Variantenmanagement

Fünf Schritte zum erfolgreichen Requirements Management

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

UML-DSLs effizient eingesetzt. Insight 07, Klaus Weber

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

Von Windows-Forms zu WPF mit Expression Blend? Thomas Müller conplement AG Nürnberg

Softwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme

Requirements Engineering (Anforderungstechnik)

Leistungsstarke Enterprise Apps. Für Menschen erdacht. Für Veränderungen entwickelt.

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance

Requirements Engineering

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Architekturplanung und IS-Portfolio-

Silverlight for Windows Embedded. Martin Straumann / Stv. Business Unit Leiter Microsoft Technologien / Application developer

BDI-Agenten für agile zielorientierte Geschäftsprozesse

Erfolgreiche Realisierung von grossen Softwareprojekten

Kurzeinführung Excel2App. Version 1.0.0

Angepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards -

Markup-basiertes Spezifikationsund Anforderungsmanagement in agilen Softwareprojekten

Software Systems Engineering

BIF/SWE - Übungsbeispiel

Model Driven Architecture (MDA)

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

07. November, Zürich-Oerlikon

Softwaren Engineering I

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

Das Barcode-gestützte Anlageninventursystem

07. November, Zürich-Oerlikon

Übungen zur Softwaretechnik

Panagon Capture 3.0 Dokumentation

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee Berlin. Telefon 030/ Telefax 030/

Transkript:

Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke

Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich beider Konzepte 2

Motivation 3

Zentrales Konzept Wiederverwendung [Klaus Pohl: Software Product Line Engineering. Springer, 2005] 4

Software Produkt Linien Idee Software Produktlinien (SPL) > USA Software Familien > Europa SPL für Serien von Produkten Software product line engineering is a paradigm to develop software applications (software intensive systems and software products) using platforms and mass customisation [Klaus Pohl: Software Product Line Engineering. Springer, 2005] Zentrale Ideen: Wiederverwendung Variabilität (individualisierte Massenfertigung) => Plattform 5

Software Produkt Linien Framework 6

Software Produkt Linien Domain Engineering Domänen Engineering: Schaffen einer Plattform Definieren der wiederverwendbaren Artefakte Festlegen von Gemeinsamkeiten und Unterschiede 7

Software Produkt Linien Domain Engineering Produkt Management: wirtschaftlichen Aspekten und Marktstrategie Abgrenzung von Produkten Input: Ziele der Firma Output: Produkt Roadmap 8

Software Produkt Linien Domain Engineering Domänen Anforderungs Spezifikation: definiert und dokumentiert die Gemeinsamkeiten und die Variabilität Input: Produkt Roadmap Output: gemeinsame Anforderungen in Form von Text oder Modellen Variabilitäts Modell 9

Software Produkt Linien Domain Engineering Domänen Design: Referenzarchitektur für SPL Input: Anforderungsliste Variabilitätsmodell Output: Referenzarchitektur Verfeinertes Variabilitätsmodell 10

Software Produkt Linien Domain Engineering Domänen Realisierung: Designen und implementieren der wiederverwendbaren Software Komponenten / Artefakte Input: Referenzarchitektur Liste von zu erstellenden Artefakte Output: implementierte Artefakte 11

Software Produkt Linien Domain Engineering Domänen Testen: Validierung und Verifikation der wiederverwendbaren Komponenten Erstellen von Testfällen für die Applikations Tests Input: Artefakte Output: Testberichte 12

Software Produkt Linien Applikation Engineering Applikation Engineering: Verwendung der Plattform Artefakte für die Definition und Entwicklung von SPL Produkt. Nutzen der Gemeinsamkeiten und der Variabilität der SPL während des Entwicklungsprozesses. Einfügen der produktspezifischen Aspekte 13

Software Produkt Linien Applikation Engineering Applikation Anforderungs Spezifikation: Erstellen der Anforderungsspezifikation für die Applikationen Input: Domänen Anforderungen aus dem Domain Requirements Engineering Prozess Produkt Roadmap mit den Hauptfunktionen Product Management Prozess. Output: Anforderungsspezifikationen für die verschiedenen Anwendungen. 14

Software Produkt Linien Applikation Engineering Applikations Design: Entwickeln der Architektur für die einzelnen Anwendungen Input: Referenzarchitektur des Domain Design Prozesses Output: Eine Anwendungsarchitektur für die spezifische Applikation 15

Software Produkt Linien Applikation Engineering Applikations Realisierung: einzelnen Anwendungen der SPL erstellt Auswahl und Konfiguration der wiederverwendbaren Komponenten Umsetzung der variablen Anforderungen an die Applikation. Input: Applikationsarchitektur wiederverwendbaren Artefakte aus der Plattform. Output: die fertigen Applikation. 16

Software Produkt Linien Applikation Engineering Applikations Testen: Applikation gegen ihre Spezifikation validieren und verifizieren Input: alle verwendeten Arten von Artefakten und die implementierte Applikation Testfälle der Plattform Output: Testbericht 17

Software Factories Initiative von Microsoft und seinen Partnern Gilt als Industrialisierung der Software Entwicklung Zentraler Punkt: Wiederverwendung Eine Software Factory ist eine Software Produktlinie, die erweiter bare Werkzeuge, Prozesse und Inhalte mit einer Software Factory Vorlage konfiguriert, die auf einem Software Factory Schema basiert, um die Entwicklung und Wartung von Varianten eines archetypischen Produkts zu automatisieren, indem Framework basierte Komponenten angepasst, zusammengesetzt und konfiguriert werden. [Jack Greenfield, Software Factories, Moderne Softwarearchitekturen mit SOA, MDA, Patterns und agilen Methoden, 2006] SF Vergleich 18

Software Factory Übersicht SF Vergleich 19

Software Factories Schema Liste von variablen oder fixen Artefakten (Beschreibung) Angeordnet in Matrix oder Graphen Definition von DSLs zum generieren von Artefakten Konfiguration von Schema durch anpassen der Artefakte an spezielle Kundenwünsche SF Vergleich 20

Software Factories Vorlage Implementierte Artefakte Meistens aus DSLs generiert Metadaten Konfiguration der Vorlage durch Anpassen der erweiterbaren Werkzeuge SF Vergleich 21

Software Factories Tools Visual Studio DSL Tools mit Codegeneratoren Automatisierte Applikationserstellung SF Vergleich 22

Vergleich von SPL und SF 23

Zentrale Idee für SPL und SF: Wiederverwendung Variabilität Plattform SPL zwei Hauptprozesse: Domänen Engineering Applikation Engineering SF bestehen aus Schemata, Vorlagen und erweiterbaren Werkzeugen SF sind SPL! Aber SPL sind mehr (DSL, Code Generatoren ) 24

Fragen & Antworten Fragen? 25