Managing variability in software applications - scandev12

  • 1,017 views
Uploaded on

 

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,017
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
6
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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