Einführung und Überblick

Slides:



Advertisements
Ähnliche Präsentationen
Pop Jazz C B A Jazz C A Lehrstuhl für Künstliche Intelligenz
Advertisements

Dokumentation von Software Architekturen unter Berücksichtigung von IEEE 1471 Vortrag an der FH Regensburg © Dr. Ulrich Margull, 2004 Dr. Ulrich.
On the Criteria to Be Used in Decomposing Systems into Modules
Titel | Title {How to give a Presentation} Autor, Arbeitgeber | Author, Affiliation {M. Schubert, FH Regensburg, Univ. of Applied Sciences, Regensburg,
Einführung von Team System Ein Vorgehensvorschlag
Art der Arbeit (Projekt-/Studien-/Diplomarbeit/
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
On a Buzzword: Hierachical Structure David Parnas.
Seminar Autonome Systeme THEMA Ggf. Unterthema HAW Hamburg, SoSe 2011, Vorname Nachname Bild 1 zum THEMABild 2 zum THEMA.
Es gibt viele Arten von Risiken
Web-Programmierung und Web 2.0-Technologien
Seminar Modellgetriebene Softwareentwicklung Einführung Seminar modellgetriebene Softwareentwicklung WS 05/06 Dipl.-Inf. Nadine Fröhlich Prof. Dr.-Ing.
Marko Rosenmüller Universität Magdeburg 1 Software Produktlinien und Featureorientierte Programmierung.
Rigi und Web2Rsf vorgestellt von Tobias Weigand. Inhalt Ziel von Web2Rsf und Rigi Vorstellung des Parsers Web2Rsf Vorstellung des Werkzeugs Rigi Analyse.
Vortrag 11: Reengineering - Refactoring
Treffen mit Siemens Siemens: Werner Ahrens Volkmar Morisse Projektgruppe: Ludger Lecke Christian Platta Florian Pepping Themen:
Projekt Web Engineering
Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße 14, Augsburg Tel.: (+49) 821/ , Fax:
Einführung von Groupware
Web-Anwendungsentwicklung à la MVC. Übersicht Über Georg Heeg Ein industrielles Beispiel Web-Anwendungen aus Smalltalker-Sicht MVC für das Web Programmierdemo.
UML Begleitdokumentation des Projekts
Vorlesung Gestaltung von soziotechnischen Informationssystemen - RequirementsEngineering und Contextual Design- Thomas Herrmann, Lehrstuhl Informations-
Mehr Qualität und schnellere Marktreife durch effiziente Softwaretests
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
Einführung Margot Bittner, Mark-Oliver Reiser TU Berlin Helko Glathe, Matthias Weber Carmeq Peter Lascych Continental WS09/10 berlin.de/menue/studium_und_lehre/lehrveranstaltunge.
Forschung & Technologie Seminar: Entwicklung verteilter eingebetteter Systeme 1. Meeting: , 14:00-15:30, Raum tbd, Themenvergabe 2. Meeting 1.11.,
Spezifikation von Anforderungen
Michael Haverbeck System Engineer
Don`t make me think! A Common Sense Approach to Web Usability
Konzept für eine medienkundliche Bildung
Fakultät Informatik » Institut Systemarchitektur » Professur Datenschutz und Datensicherheit Einführung Proseminar „Kryptographische Grundlagen der Datensicherheit“
Agenda 13: Begrüßung & Einführung in das Thema
Seminar: Entwicklung verteilter eingebetteter Systeme WS05/06 Betreuer: Info:
Präsentation von Lukas Sulzer
Anwendungen Mikrocontroller
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Seminar „Standards, Normen und Best-Practice-Modelle für Entwicklung und Betrieb von Softwaresystemen“ (Wintersemester 2008/2009) Vorbesprechung + Themenvergabe:
Software Struktur und Beispiele
Grafische Visualisierung von Softwarestrukturen
Vortrag - Diplomarbeiten (HS I)
Computer Networks Group Universität Paderborn Pro/Seminar Rechnernetze WS 07/08 Holger Karl.
ROS – Robot Operating System
Christian Binder Senior Platform Strategy Manager Microsoft Deutschland GmbH.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Arbeiten in einem agilen Team mit VS & TFS 11
Methoden der Sozialwissenschaften
E STUNDE Deutsch AP. Donnerstag, der 9. Mai 2013 Deutsch AP (E Stunde)Heute ist ein G Tag Goal: to understand authentic written text, audio material and.
Seminar – Sommersemester 06 Virtual Engineering
Stephan Vornholt, Ingolf Geist, Andreas Lübcke
XML Seminar: XP und XML 1 XP and XML Gregor Zeitlinger.
Organisatorische Aspekte bei Software Produktlinien Benjamin Röhl
1 Prof. Dr. Andreas SchmietendorfWS06/07 Übung 3 Test der Möglichkeiten des JDBC-Interfaces.
Software Product Line Adoption
Seminar Ingenieurdatenbanken WS 04/05 Dr. Schallehn, Prof. Paul, Dipl.-Inf. Fröhlich {eike | paul | iti.cs.uni-magdeburg.de.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #1 Datenmanagement.
E STUNDE Deutsch AP. Dienstag, der 28. Mai 2013 Deutsch AP (E Stunde)Heute ist ein E Tag Goal: to understand authentic written text, audio material and.
Hardware/Software Co-Design Vorbesprechung Andreas Steininger Robert Najvirt Thomas Polzer.
E STUNDE Deutsch AP. Donnerstag, der 30. Mai 2013 Deutsch AP (E Stunde)Heute ist ein G Tag Goal: to understand authentic written text, audio material.
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
Institut für Informatik Betriebliche Informationssysteme S.Dietzold, T.Riechert, J.Lehmann, A.Aslam, M.Herrmann1 Semantic Web Services and Interfaces Sebastian.
SE 2010, Paderborn Produktlinien-Engineering im SOA-Kontext.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
, Jens Rettig1 Einsatz von Versionsverwaltungstools im ORACLE – Umfeld Dipl.-Inform. Jens Rettig
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
Domänenmodellierung Georg Marth. Definition Domänenmodell ● Eine Zusammenfassung von Funktionen, Objekten, Daten und Relationen in einer Domäne. -Kang.
Your Logo Presentation Title Presentation Subtitle.
Azure Active Directory und Azure Active Directory Domain Services
 Präsentation transkript:

Einführung und Überblick Christian Kästner, Marko Rosenmüller, Norbert Siegmund, Gunter Saake

Agenda Überblick Softwareproduktlinien Organisatorisches Was sind Produktlinien? Entwicklung von Softwareproduktlinien Organisatorisches Anforderungen Termine Themen

Zwei Entwicklungen... Moderne Anwendungssoftwaresysteme Eier-legende Wollmilchsäu Bsp.: Windows Vista, Open Office, Oracle, SAP myERP, iTunes Nicht so bei eingebetteten Systemen Maßgeschneiderte Lösungen Bsp.: PDA, Handy, Sensoren, Toaster, Mikrowelle, Fernseher, Wetterstation, Taschenrechner, Chipkarten, Bordcomputer, Router, Ubiquitious Computing Vista kommt auf DVD braucht mehrere GB fuer installation SAP myERP braucht 18h fuer einfache Installation iTunes spielt nicht nur mp3s, Bibliothek, Shop integriert, Fernsehen, Musikverteilen, CDs brennen und rippen uvm. Wer hat schonmal einen Serienbrief geschrieben? Welche Hardware braucht man heute um einen Brief mit Word auf Vista zu schreiben? Hardwareanforderung SAP, Oracle (32gb ram, 4-16 prozessoren, ...) Selbst SAP zielt auf Massengeschaeft, moeglichst viele Betriebe abdecken koennen. Grosse Software die man anschliessend auf die Ansprueche konfigurieren kann Selbst Linux hat noch fast homogene Vorraussetztungen, unterstuetzung nur von PC Architekturen und wenigen anderen...

Softwareproduktlinien Techniken für die Entwicklung maßgeschneiderte Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht hinzugefügt werden, schnelle Entwicklung, Wiederverwendung bewährter Funktionalität Kunden-individuelle Fertigung, Spezialisierung Anpassung an verfügbare Ressourcen Software-Produktlinien: Konfiguration durch Auswahl von Features (deutsch: Merkmale)

Auto-Produktlinie

Schuh-Produktlinie

PC-Produktlinie

Features in MS Office

Softwareproduktlinien Eine Menge von Programmvarianten (Software- Produkten), ...die auf ein gemeinsames Marktsegment (Domäne) zugeschnitten sind ...mit dem Ziel der Wiederverwendung von gemeinsamen Software-Artefakten z. B. Tetris Produktlinie 2D / 3D Unterstützte Hardware (PC, Handys, etc.) Multiplayer

Domäne Die Programme einer Produktlinie sind zugeschnitten auf ein Anwendungsgebiet Dieses Anwendungsgebiet wird als Domäne bezeichnet Beispiele: Datenbanken Eingebettete Systeme (z.B. Automobilbau) Lagerverwaltung Netzwerkkommunikation (Netzwerkstack) Fuers naechste Jahr: domaene und anwendungsgebiet erklaeren sich gegenseitig. Horizontal vs. Vertikal ist voellig unwichtig für die vorlesung.

Features (deutsch Merkmale) “first-class domain abstractions” … repräsentieren Anforderungen, Gemeinsamkeiten bzw. Unterschiede von Programmvarianten … sind Mittel zur Kommunikation zwischen Stakeholdern … dienen zur Spezifikation von Varianten Feature-Auswahl als Eingabe für die Programmgenerierung

Features – Beispiele Computerspiele: Ein- / Mehrspielermodus, Netzwerkmodus, Grafik-Details, Physik Engine PIM: Mail Unterstützung, Adressverwaltung, Kalender Funktion, Geburtstage, Notizen, Aufgaben Allgemein: Unterstützte Betriebssysteme (Windows, Linux, etc.), unterstützte Hardware (PC, Spielekonsole, Handy, eingebettetes System)

Entwicklung einer Produktlinie Entwicklung einer Programmfamilie statt einzelner Anwendung Programmfamilie erfüllt Anforderungen einer ganzen Domäne Abweichung vom klassischen Entwicklungsprozess und Lebenszyklus Unterscheidung in Domain Engineering Application Engineering

Application and Domain Engineering Domain design und Design-analysis spielten bei uns relativ wenig eine rolle, da wir uns auf features beschraenken.

Application and Domain Engineering Domain design und Design-analysis spielten bei uns relativ wenig eine rolle, da wir uns auf features beschraenken.

Feature-Modellierung Darstellung der Features einer Domäne Zur Visualisierung und Kommunikation Ein Feature-Modell beschreibt die elementaren Abstraktionen einer Domäne und deren Beziehungen die Menge der Programme einer Produktlinie Ein Feature-Diagramm visualisiert Features und deren Beziehungen

Beispiel: Graph-Bibliothek Bibliothek von Graph-Datenstrukturen und – Algorithmen Gewichtete/ungewichtete Kanten Gerichtete/ungerichtete Kanten Gefärbte Knoten Algorithmen: kürzester Pfad, Minimale Spannbäume, Transitive Hülle, …

Graph-Feature-Modell

Entwurf und Implementierung von Features Nach der Feature-Modellierung folgt der Entwurf und die Implementierung... Feature-Modell Wiederverwendbare Implementierungs- artefakte Domain Eng. Application Eng. Feature-Auswahl Generator Fertiges Program

Entwurf und Implementierung von Features Nach der Feature-Modellierung folgt der Entwurf und die Implementierung... Feature-Modell Wiederverwendbare Implementierungs- artefakte Domain Eng. Application Eng. Feature-Auswahl Generator Fertiges Program

SPL Implementierung Verschiedene Wege SPLs zu implementieren Beispiele: Komponenten Frameworks/Plugins Präprozessoren (z.B. C/C++ #ifdef) Feature-Orientierte Programmierung (Kollaborationen, Mixins) Aspekte-Orientierte Programmierung

Agenda Überblick Softwareproduktlinien Organisatorisches Was sind Produktlinien? Entwicklung von Softwareproduktlinien Organisatorisches Anforderungen Termine Themen

Vorträge / Ausarbeitungen 20 min Vortrag (siehe Infos auf Webseite) 10 min Diskussion Ausarbeitungen 3-6 Seiten (Format siehe Webseite) Inhalte: Motivation / Einleitung in das Thema Analyse / Aufarbeitung des Themas Je nach Themengebiet: Vor- / Nachteile, offene Fragen, Vergleich analysierter Ansätze Zusammenfassung / Schlussfolgerung

Bewertung Anmeldung heute, Abmeldung bis max. 2 Wochen später Vortrag Gewichtung 50 % Ausgabe von Bewertungsbögen Ausarbeitung

Presentation Know your audience Talk to the audience Talk loud and slow Don’t hide Eye contact Don’t read

Structure Introduce yourself (and your background/affiliation if necessary) State target/aim of presentation early Motivate your work, why should I listen Cohesion! Summarize main points, take-away message Emphasize conclusion/consequences References if used in the slides

Technical Hints 20 min, about 7 to 15 slides Fontsize >= 18, sans-serife fonts Name, title and affiliation on every slide Slides number on every slide At most one topic per slide Visualization, colors where necessary Avoid overfull slides (> 7 objects or > 36 words) Avoid writing full sencences, instead summarize the content using only headwords.

Termine 05.11.2008 Details zur Ausarbeitung 19.11.2008 bis 07.01.2009 Je 2 - 3 Vorträge + Diskussion Genaue Termine siehe Webseite Abgabe der Ausarbeitungen max. 4 Wochen nach Präsentation Mails an nsiegmun@ovgu.de UND rosenmue@ovgu.de

1 Überblick SPL Engineering Überblick nach SEI Core assets Produktentwicklung Etc. Einstiegspunkte http://www.sei.cmu.edu/productlines/index.html Buch: Clements & Northrop (Part I)

2 Requirementsengineering / Domänenanalyse Methoden zur Analyse von Gemeinsamkeiten / Unterschiede von Anforderungen innerhalb einer Domäne Einstiegspunkte Buch: Clements & Northrop (4.6) Buch: Pohl et al. (Kap. 10)

3 Domänenmodellierung Überblick zu existierenden Featuremodellen Einstiegspunkte Buch: Czarnecki & Eisenecker Kang et al.: Feature-Oriented Domain Analysis (FODA) Feasibility Study, 1990

4 Beispiele Softwareproduktlinien Domänenalyse und Featuremodellierung an konkreten Domänen Braucht man SPLs in dieser Domäne? Mehrere Beispiele je Domäne; Feature Diagramme Wie sehen diese aus bzw. wie könnten diese aussehen? Computerspiele Betriebssysteme Datenbanken Eingebettete Systeme im Automobil Handy Software Eigene Vorschläge

5 Metriken in SPLs Bewertung von SPLs Einstiegspunkte z.B. bzgl. Komplexität Einstiegspunkte Lopez-Herrejon & Trujillo: How Complex is my Product Line? The case for Variation Point Metrics, VAMOS 2008

6 Implementierung von SPLs 2 Studenten (Aufteilung der Themen) Themenauswahl: Frameworks, Komponenten, Präprozessoren (z.B. C/C++ Präproz.) Programmgeneratoren Einstiegspunkte Buch: Czarnecki & Eisenecker

7 Produktkonfiguration Konfigurationsprozess Staged Configuration Einstiegspunkte Buch: Czarnecki & Eisenecker Czarnecki et al.: Staged Configuration Using Feature Models, SPLC 2004

8 Visualisierung im Konfigurationsprozess Werkzeuge zur Konfiguration und deren Methoden Visualisierung Einstiegspunkte VISPLE Workshop 2007, 2008: http://www.lero.ie/visple2007/, http://www.lero.ie/visple2008/

9 Testen von SPLs Domänentests Anwendungstests Einstiegspunkte Buch: Pohl et al. (Kap. 13, 18) Intl. Workshop on Software Product Line Testing http://www.biglever.com/split2008/index.html

10 Organisatorische Aspekte Team Struktur Prozesse Einstiegspunkte Buch: Clements & Northrop (6) Buch: Pohl et al. (19)

11 Wirtschaftliche Aspekte von SPLs SPL pricing Kosten (Entwicklung, Softwaretests, etc.) Risiken Einstiegspunkte Buch: Pohl et al. (Kap. 20) Buch: Clements & Northrop (6)

12 SPL Fallstudien Überblick zu SPL Fallstudien Ergebnisse, Erfahrungen, Probleme Einstiegspunkte http://www.sei.cmu.edu/productlines/spl_case_studie s.html Buch: Pohl et al. (Kap. 21) Buch: Clements & Northrop (Part III)

13 Open Source SPLs Analyse existierender SPLs Verwendete Implementierungstechniken Domänen Etc. Einstiegspunkte Dissertation Sven Apel: http://www.infosun.fim.uni- passau.de/cl/publications/docs/Dissertation.pdf

14 SPL Adoption Aspekte zur Einführung von SPLs in Unternehmen Techn. Aspekte Wirtschaftl. Aspekte Organisatorische Aspekte Einstiegspunkte Buch: Pohl et al. (Kap. 20) Clements & Krueger: Point/Counterpoint: Being Proactive Pays Off/Eliminating the Adoption Barrier. IEEE Software, 2002

15 Domänenspezifische Sprachen Übersicht Verwendung im Kontext von SPLs Einstiegspunkte Buch: Czarnecki & Eisenecker

Literatur Czarnecki & Eisenecker: Generative Programming, 2000, Addison-Wesley Clements & Northrop: Software Product Lines: Practices and Patterns, 2002, Addison-Wesley Pohl et al.: Software Product Line Engineering, 2005, Springer (Kopien heute / morgen Vormittag)

Themen 1 Überblick SPL Engineering 2 Requirementsengineering / Domänenanalyse 3 Domänenmodellierung 4 Beispiele Softwareproduktlinien 5 Metriken in SPLs 6 Implementierung von SPLs (1-2 Stud.) 7 Produktkonfiguration 8 Visualisierung im Konfigurationsprozess 9 Testen von SPLs 10 Organisatorische Aspekte 11 Wirtschaftliche Aspekte von SPLs 12 SPL Adoption 13 Domänenspezifische Sprachen 14 SPL Fallstudien 15 Open Source SPLs

Themen 4 Beispiele Softwareproduktlinien Computerspiele Betriebssysteme Datenbanken Eingebettete Systeme im Automobil Handy Software Eigene Vorschläge