seminar entwicklungsprozess von software produktlinien
play

Seminar: Entwicklungsprozess von Software-Produktlinien Sandro - PowerPoint PPT Presentation

Seminar: Entwicklungsprozess von Software-Produktlinien Sandro Schulze Take a seat .buckle up get started Who I am? Computer science background (e.g., interests, programming skills, scientifc working) Why I am here (and not in the


  1. Seminar: Entwicklungsprozess von Software-Produktlinien Sandro Schulze

  2. Take a seat … .buckle up … get started Who I am? Computer science background (e.g., interests, programming skills, scientifc working) Why I am here (and not in the very cool Seminar of XXX)? What do I expect?

  3. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Introduction and Organization

  4. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Overview • (Under)-Graduate level course (Bachelor, Master) • Topics • Academic Writing • Presentation • Literature review • Goal • Sharpen your soft skills (presenting the unknown to the unfamiliar) • Structured and goal-oriented working • Extracting and comparing information • Having fun ;)

  5. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Contents • Several lectures Write an academic paper... “ Current state and future • challenges in X ” (7-10 pages) ‏ • Submit the paper • Participate in a review process • Present your work (conference style) • Paper and presentation can be either German or English

  6. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Warning • Take this course seriously! • 5 Credit Points = 150 h, all within the semester (~10h/week) • Focus on reading and writing • Paper (first version) is due in 5 weeks! • Plenty feedback and opportunities for improvement: Use it by starting with a good version • Tough grading at the end

  7. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Deadlines (strict) • November 13 (in 3 weeks): 5min presentation of topic and relevant literature • November 16: Submission of outline • November 30 (in 5 weeks): Submission of paper • December 14 (within 2 weeks): paper reviews due (2x) • January 18 (within 4 weeks): Submission of improved paper • ???: Practice presentation; Edit: no practice presentation • January/February: Final presentation

  8. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Grading • Grades based on quality of • the final paper (50%), • the reviews (20%), and • the final presentation (30%) ‏ • Only the final paper and presentation are graded • Focus on formal criteria (style, cohesion, adequate references) instead of novel contribution • Details in the corresponding lectures • Participating in all lectures is mandatory; precondition for grading

  9. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Topics

  10. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien 1. Variabilität in Anforderungsspezifikationen 2. Formale Ansätze zur Variabilitätsmodellierung 3. Vergleich von konkreten Ansätze zur Variabilitätsmodellierung 4. Entwicklungsprozess von SPLs - vom Produkt zur Produktlinie 5. Kompositionale Ansätze zur Implementierung von Produktlinien

  11. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien 6. Annotative Ansätze zur Implementierung von Produktlinien 7. Testen von Produktlinien bzw. Variablen Softwaresystemen 8. Refactoring von Softwareproduktlinien 9. Anwendung und Realisierung von SPLs in der Praxis 10. Der Linux Kernel als Software-Produktlinie

  12. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Software Product Lines

  13. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Do you know examples for (Software) Product Lines? Why to use the product-line approach? Advantages? Disadvantages?

  14. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Car ¡Product ¡Line ¡

  15. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

  16. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

  17. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

  18. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

  19. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

  20. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien 10000 Features 0 0 0 2 s e r u t a e F

  21. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien So0ware ¡Product ¡Lines ¡ A software product line (SPL) is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. Software Engineering Institute Carnegie Mellon University 21

  22. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien So0ware ¡Product ¡Lines ¡ A ¡set ¡of ¡program ¡variants ¡(so1ware ¡products), ¡ ...tailored ¡to ¡a ¡common ¡market ¡segment ¡(domain) ¡ ...with ¡the ¡goal ¡of ¡reuse ¡common ¡so1ware ¡artefacts ¡ ¡ e.g., ¡database ¡product ¡line ¡fo ¡eembedded ¡system ¡ 22

  23. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Domain ¡ • Programs ¡of ¡a ¡product ¡line ¡tailored ¡to ¡applica?on ¡area ¡ • Applica?on ¡area ¡is ¡called ¡ domain ¡ • Horizontal ¡domains ¡ billing, ¡inventory ¡management, ¡flight ¡booking ¡ • • Ver?cal ¡domains ¡ Numeric ¡algorithm, ¡network ¡drivers, ¡GUIs, ¡databases ¡ • 23

  24. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien What ¡is ¡a ¡feature? ¡(German:Merkmal) ¡ • Domain ¡abstrac?on ¡ • Represents ¡requirements, ¡commonali?es, ¡variabili?es ¡amongst ¡program ¡ variants ¡ • Mean ¡for ¡communica?on ¡between ¡stakeholder ¡ • Specifica?on ¡of ¡variants ¡ Feature ¡selec?on ¡as ¡input ¡for ¡program ¡genera?on ¡ • • BUT: ¡there ¡are ¡ concerns , ¡which ¡are ¡ NO ¡ features ¡ 24

  25. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Concern ¡vs. ¡Feature ¡ • Concern ¡ Every ¡problem ¡statement ¡of ¡interest ¡ • • Feature ¡ Problem ¡statement ¡with ¡specific ¡meaning ¡in ¡the ¡domain ¡ • Configura?on ¡op?on ¡ • concern feature 25

  26. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Features ¡in ¡Databases ¡ • Transac?on ¡management ¡ • Log ¡& ¡Recovery ¡ • Write ¡access ¡ • Persistency ¡/ ¡In-­‑Memory ¡ • Place ¡replace ¡strategiesLRU ¡/ ¡LFU ¡/ ¡Clock ¡/... ¡ • Sor?ng ¡algorithms ¡ • Records ¡with ¡variable ¡length ¡ • Grouping, ¡aggrega?on ¡ • Windows ¡/ ¡Unix ¡/ ¡NutOS ¡/ ¡TinyOS ¡/ ¡… ¡ 26

  27. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Development ¡of ¡Product ¡Lines ¡ • Developing ¡a ¡product ¡line ¡instead ¡of ¡single ¡applica?ons ¡ • Product ¡lines ¡covers ¡requirements ¡of ¡whole ¡domain ¡ • Deviates ¡from ¡tradi?onal ¡development ¡process ¡and ¡lifecycle ¡ • Dis?nc?on ¡between ¡ Domain ¡Engineering ¡ • Applica?on ¡Engineering ¡ • 27

  28. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien So0ware ¡Lifecycle ¡-­‑ ¡typical ¡ 28

  29. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Domain ¡Engineering ¡ [...] is the activity of collecting, organizing, and storing past experience in 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, dissemination, adaptation, assembly, and so on) when building new systems. K. Czarnecki and U. Eisenecker 29

  30. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien ApplicaJon ¡and ¡Domain ¡Engineering ¡ 30

  31. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Development ¡Effort ¡ Aufwand/Kosten Konventionelle Entwicklung Produktlinien- entwicklung # Produkte … 1 2 3 4 31

  32. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien Literature on Software Product Lines Krzysztof Czarnecki and Ulrich Eisenecker. Generative programming: methods, tools, and applications . ACM Press, New York, NY, USA, 2000. K. Kang et al. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Pittsburgh, PA, USA, November 1990. Clements, P. & Northrop, L. Software Product Lines: Practices and Patterns . Boston, MA: Addison-Wesley, 2002. Klaus Pohl, Günter Böckle, and Frank J. van der Linden. 2005. Software Product Line Engineering: Foundations, Principles and Techniques . Springer-Verlag New York, Inc., Secaucus, NJ, USA.

  33. Sandro Schulze Seminar WiSe 2012/2013 Entwicklung von Software-Produktlinien

Recommend


More recommend