+ All Categories
Home > Documents > Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo...

Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo...

Date post: 05-Apr-2015
Category:
Upload: madde-kees
View: 105 times
Download: 0 times
Share this document with a friend
19
Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006
Transcript
Page 1: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories

Vortrag im Rahmen des Seminars

Entwicklung verteilter eingebetteter Systeme

Timo Baum27.2.2006

Page 2: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 2

Tendenzen in der Softwareindustrie

● Zunehmende Komplexität in der Softwareentwicklung

● Verlagerung der Entwicklung von der Unterstützung der Produktivität von Systemen und von Entwicklern (um deren Effektivität zu erhöhen) zu Anwendungen, die Geschäftsprozesse automatisieren

● Anforderungen ändern sich immer schneller

Page 3: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 3

Probleme der Software-Industrie

● Die Erwartungen zu erfüllen, bereitet Schwierigkeiten

● Mangel an qualifizierten Entwicklern führt zu– Eskalierenden Kosten– Längeren Produkteinführungszeiten– Verbreiteten Problemen mit der Verlässlichkeit,

Sicherheit, Leistung der Anwendungen● Als Reaktion auf neue Innovationen fordern

Kunden immer mehr● Verfügbare Methoden und Praktiken führen

nicht weiter

Page 4: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 4

Probleme mit hoher Dringlichkeit

● Aufspüren und Schließen von Sicherheitslücken

● Komponenten, die in der Testumgebung funktionieren, in der Produktivumgebung lauffähig machen

● Die Unfähigkeit, trotz der durchdringenden Verfügbarkeit objektorientierter Methoden Wiederverwendung in einem kommerziell bedeutsamen Maße zu verwirklichen

Page 5: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 5

Probleme mit hoher Dringlichkeit (2)

● Die Gratwanderung, die Beweglichkeit eines einzelnen Teams zu bewahren und dabei die die Fähigkeit zur Zusammenarbeit mehrerer Teams zu gewährleisten

=> diese Symptome deuten darauf hin, dass in der Art, wie wir Software entwickeln, fundamentale Mängel vorliegen

Page 6: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 6

Die Hauptursachen

Viele Aspekte sind bedingt durch die beiden Notwendigkeiten, mit Komplexität und rasch auftretenden Veränderungen umzugehen:

● Monolithische Bauweise– „Not Invented Here“-Syndrom

● Programmiersprachen– Für viele Geschäftsprozesse zu umfangreich

● Einmalige Entwicklungen– Ohne Wiederverwendung

● Unausgereifte Entwicklungsprozesse

Page 7: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 7

Software Factories

● Erste offizielle Ankündigung auf der OOPSLA 2004 (19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications)

● Vision: Industrialisierung der Softwareentwicklung

● Einen Marktplatz für wiederverwendbare Komponenten und Services schaffen

● Unterstützt durch Visual Studio 2005 Team System

Page 8: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 8

Voraussetzungen

● Systematische Wiederverwendung– Familien von Softwareprodukten mit

gemeinsamen Features und Variationen– Kontext der Wiederverwendung muss

spezifiziert werden

Page 9: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 9

Voraussetzungen (2)

● Entwicklung durch Zusammenbau– Wie im Automobilbereich– Voraussetzungen:

● Plattformunabhängige Protokolle● Selbstbeschreibung (WSDL)● deferred encapsulation (Kapselung abhängig vom Kontext, in den die Komponente eingefügt wird)

● Architekturgetriebene Entwicklung ● Zusammenbau durch Instrumentation (z.B. Workflow von Web Services)

Page 10: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 10

Voraussetzungen (3)

● Modellgetriebene Entwicklung– Erhöhung des Abstraktionsniveaus für

Entwickler– Automatisierung– z.B. Business Process Execution

Language (BPEL) als Instrumentationssprache

– Domain Specific Languages (DSL) mit grafischer oder textueller Notation

– Modelltransformationen– Process Frameworks

Page 11: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 11

Economies of Scale

● Kostenersparnisse durch Massenproduktion– Das gleiche Problem auf die gleiche Art lösen und die

Kosten für jede Lösung verringern

Page 12: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 12

Economies of Scope

● Kostenvorteile, die bei einer steigenden Produktvielfalt durch einen Verbundvorteil entstehen.

● für die einzelnen Produkte wird auf gemeinsame Ressourcen (z.B. Produktionsanlagen, Technologien) zurückgegriffen

● Gesamtkosten der Produktion mehrerer Produkte niedriger als die Summe der Produktionskosten der einzelnen Produkte bei getrennter Fertigung(=> SPL)

Page 13: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 13

Was sind Software Factories?

A software factory is a software product line that configures extensible tools, processes, and content using a software factory template based on a software factory schema to automate the development and maintenance of variants of an archetypical product by adapting, assembling, and configuring framework-based components.

Page 14: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 14

Software Factory Schema

Page 15: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 15

Software Factory Schema

● Verschiedene Sichtpunkte (viewpoints), für die definiert ist, welche Sprachen für die Entwicklung von Komponenten verwendet wird

● Beziehungen zwischen den Sichtpunkten

Page 16: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 16

Software Factory Template

● Um ein Mitglied einer Produktfamilie zu bauen, muss das Software Factory Schema implementiert werden:– DSLs definieren– Patterns definieren– Frameworks definieren– Werkzeuge definieren

● Alles zusammen ergibt das Software Factory Template– Beinhaltet Code und Metadaten, die IDEs

konfigurieren (wie Office Templates)

Page 17: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 17

Die Vision der Software Factories

● Entwicklung durch Zusammenbau– Anwendungsentwicklung als Anpassung und

Erweiterung der Komponenten gemäß der Kundenwünsche

– Den Großteil der Funktionalität aus fertigen oder von Vertragspartnern gelieferten Komponenten

– Deutlich weniger Code schreiben müssen● Software-Zulieferketten

– Software Factories bei Kunden installieren (Outsourced Product Line Development)

– Outsource Product Development

Page 18: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 18

Die Vision der Software Factories (2)

● individualisierte Massenfertigung von Software

● Organisatorische Implikationen– Entwickler nehmen spezialisiertere Rollen

ein, Prozesse werden standardisiert, Lizenzierung für Entwickler stärker notwendig (wie in anderen Industriezweigen bereits üblich)

Page 19: Software Factories Vortrag im Rahmen des Seminars Entwicklung verteilter eingebetteter Systeme Timo Baum 27.2.2006.

Software Factories27.2.2006 19

Weiterführende Informationen

● Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools by Jack Greenfield, Keith Short et al., John Wiley & Sons © 2004 (666 pages)

● http://www.generative-programming.org/● Generative Programming - Methods, Tools, and Applications

by Krzysztof Czarnecki and Ulrich W. EiseneckerAddison-Wesley, June 2000

● http://msdn.microsoft.com/vstudio/teamsystem/workshop/sf/default.aspx


Recommended