a practical high volume software product line peter bell ceo/cto systemsforge ooplsa ‘07 peter...
TRANSCRIPT
![Page 1: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/1.jpg)
A Practical High Volume Software Product Line
A Practical High Volume Software Product Line
Peter BellCEO/CTO
SystemsForge
ooPLSA ‘07
Peter BellCEO/CTO
SystemsForge
ooPLSA ‘07
![Page 2: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/2.jpg)
Overview
What we do
The problem
Our approach
Lessons learned
![Page 3: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/3.jpg)
What We Do . . .Custom web applications
Small/mid sized businesses
$10,000 - $50,000
Content management
E-commerce
Document management
Workflow
. . .
![Page 4: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/4.jpg)
The Problems
Clients don’t know
Elicit requirements
Clients don’t care
Efficient feature reuse
Clients DO care
Build anything, change everything
![Page 5: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/5.jpg)
Clients Don’t Know . . .Problem:
Marketing managers/CEOs
No software experience
Vague requirements
Fixed bid/scope/timeframe
Need:
Quick, flexible approach
![Page 6: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/6.jpg)
Clients Don’t Care . . .
Problem:
Don’t want to specify everything
Mainly want “good enough”
Need:
Reusable “best practices”
Efficient fabrication
![Page 7: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/7.jpg)
Clients DO Care . . .
Care about some things
Covers all areas
Build anything - change everything
![Page 8: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/8.jpg)
Our Approach
Software product line
Specification process
Feature model
Decision support
Domain Specific Languages
Dynamic framework
![Page 9: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/9.jpg)
Software Product Lines
Lots of similar applications
Framework
Components
Configuration
Extension
Bounded/Unbounded
Layered approach
![Page 10: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/10.jpg)
Specification Process
Business intent
Roles/personas
Essential tasks
Packages
Screens/Actions
IA
Look and feel
![Page 11: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/11.jpg)
Feature ModelingCommercial products
pure:variants
Big Lever
Our approach
Feature tree
Essential/optional metadata
Feature constraints
![Page 12: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/12.jpg)
Decision Support
Associating optional metadata
Decision tree
Non-technical users
![Page 13: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/13.jpg)
Domain Specific Languages
“Efficiently encode executable intent”
Everything is a DSL
Language, API, XML, Data model, etc.
Flexibility in implementation
“When I use a word, it means just what I choose it to mean”
- Humpty Dumpty
![Page 14: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/14.jpg)
Domain Specific LanguagesAbstract grammar vs. Concrete Syntax
Projections (storage/editing)
Edit: cms
Store: db
Publish: XML
Consume: Framework/API
![Page 15: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/15.jpg)
Dynamic FrameworkPowered by parameterization
Where are the classes?
Merging DSLs with code
Inheritance, AOP, mixins (object/class), code blocks
![Page 16: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/16.jpg)
Lessons Learned
Reuse specs - not code
Framework vs. code generation
Evolution is key
![Page 17: A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07](https://reader034.vdocuments.us/reader034/viewer/2022051516/56649e305503460f94b21718/html5/thumbnails/17.jpg)
Questions?
Read the paper :)
Website: www.systemsforge.com
Blog: www.pbell.com
Email: [email protected] - Yahoo: freshstartsw - AIM: appgeneration