Managing variability in software applications - scandev12

1,361 views
1,254 views

Published on

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,361
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
10
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Managing variability in software applications - scandev12

  1. 1. Managing variability insoftware applications
  2. 2. Managing variability in software applications About me  Stephan Hochdörfer, bitExpert AG  Department Manager Research Labs  S.Hochdoerfer@bitExpert.de  @shochdoerfer
  3. 3. Managing variability in software applications One customer, optimized solution
  4. 4. Managing variability in software applications Developer vs. Businessman
  5. 5. Managing variability in software applications Different requirements
  6. 6. Managing variability in software applications Different requirements: intensive workload
  7. 7. Managing variability in software applications Different requirements: Performance
  8. 8. Managing variability in software applications Where will this lead to?
  9. 9. Managing variability in software applications Maintanance nightmare!
  10. 10. Managing variability in software applications Standardize you should!
  11. 11. Managing variability in software applications Application framework?
  12. 12. Managing variability in software applications Plugin based approach?
  13. 13. Managing variability in software applications Configuration chaos?
  14. 14. Managing variability in software applications No automation?
  15. 15. Managing variability in software applications Generalize you should!
  16. 16. Managing variability in software applications Generative Programming Dealing with software system families, reusable implementation components and configuration knowledge.
  17. 17. Managing variability in software applications Generative Programming: The workflow Generator Generator
  18. 18. Managing variability in software applications Generative Programming: The workflow Configuration Configuration (DSL) (DSL) Generator Generator
  19. 19. Managing variability in software applications Generative Programming: The workflow Configuration Configuration (DSL) (DSL) Implementation- Implementation- components Generator Generator components
  20. 20. Managing variability in software applications Generative Programming: The workflow Configuration Configuration (DSL) (DSL) 1..n Implementation- Implementation- components Generator Generator Product components Product
  21. 21. Managing variability in software applications Generative Programming: The workflow Configuration Configuration (DSL) (DSL) Implementation- Implementation- components Generator Generator Customer 11 components Customer
  22. 22. Managing variability in software applications Generative Programming: The workflow Configuration Configuration (DSL) (DSL) Customer 22 Customer Implementation- Implementation- components Generator Generator Customer 11 components Customer
  23. 23. Managing variability in software applications Focus on the (software system) family!
  24. 24. Managing variability in software applications Software System Family Set of applications with similar properties as well as special properties for each individual member.
  25. 25. Managing variability in software applications Phase 1: Domain analysis
  26. 26. Managing variability in software applications Listen to the customers
  27. 27. Managing variability in software applications Talk to domain experts
  28. 28. Managing variability in software applications Do the requirements make sense?
  29. 29. Managing variability in software applications Does it belong to the family?
  30. 30. Managing variability in software applications Does it belong to the family?
  31. 31. Managing variability in software applications Does it belong to the family?
  32. 32. Managing variability in software applications Does it belong to the family? Maybe...
  33. 33. Managing variability in software applications Does it belong to the family? No!
  34. 34. Managing variability in software applications Does it belong to the family? No!
  35. 35. Managing variability in software applications Phase 2: Domain design
  36. 36. Managing variability in software applications Feature Modelling
  37. 37. Managing variability in software applications Phase 3: Domain implementation
  38. 38. Managing variability in software applications Implementation components
  39. 39. Managing variability in software applications Configuration Knowledge
  40. 40. Managing variability in software applications Generative Programming Generator Domain Engineering Domain- analysis Domain- design Domain- implementation
  41. 41. Managing variability in software applications Generative Programming Generator Product Domain Engineering App. Engineering New requirements Domain- Requirements analysis analysis Domain- Product design configuration Components, Domain- DSL, Testing and implementation Generators, Infrastructure integration
  42. 42. Managing variability in software applications Technology projection
  43. 43. Managing variability in software applications Implement the generator...
  44. 44. Managing variability in software applications Standardize you should!
  45. 45. Managing variability in software applications Software generator framework
  46. 46. Managing variability in software applications Generative Programming: The goal Increasing the productivity, quality, and time-to-market.
  47. 47. Managing variability in software applications Generative Programming: The goal Create an optimized application on demand!
  48. 48. Managing variability in software applications Generative Programming: The goal Automate the assembling of the components!
  49. 49. Managing variability in software applications Generative Programming: Bonus points
  50. 50. Managing variability in software applications Generative Programming: Bonus points Less error-prone, due to the automation.
  51. 51. Managing variability in software applications Generative Programming: Bonus points Reduce application complexity.
  52. 52. Managing variability in software applications Generative Programming: Bonus points Just one code repository: The software generator
  53. 53. Managing variability in software applications Generative Programming: Bonus points Reduce maintenance support.
  54. 54. Managing variability in software applications Generative Programming: Bonus points Implementation Feature component
  55. 55. Managing variability in software applications Generative Programming: Bonus points Feature Customer
  56. 56. Managing variability in software applications Generative Programming: Bonus points Customer Feature Implementation component
  57. 57. Managing variability in software applications Generative Programming: The book
  58. 58. Managing variability in software applications Curious for more? http://replicatorframework.org
  59. 59. Thank you!
  60. 60. Flickr Creditshttp://www.flickr.com/photos/andresrueda/3452940751/http://www.flickr.com/photos/andresrueda/3455410635/

×