Download presentation
Presentation is loading. Please wait.
Published byToby Jordan Modified over 9 years ago
1
A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07
2
Overview What we do The problem Our approach Lessons learned
3
What We Do... Custom web applications Small/mid sized businesses $10,000 - $50,000 Content management E-commerce Document management Workflow...
4
The Problems Clients don’t know Elicit requirements Clients don’t care Efficient feature reuse Clients DO care Build anything, change everything
5
Clients Don’t Know... Problem: Marketing managers/CEOs No software experience Vague requirements Fixed bid/scope/timeframe Need: Quick, flexible approach
6
Clients Don’t Care... Problem: Don’t want to specify everything Mainly want “good enough” Need: Reusable “best practices” Efficient fabrication
7
Clients DO Care... Care about some things Covers all areas Build anything - change everything
8
Our Approach Software product line Specification process Feature model Decision support Domain Specific Languages Dynamic framework
9
Software Product Lines Lots of similar applications Framework Components Configuration Extension Bounded/Unbounded Layered approach
10
Specification Process Business intent Roles/personas Essential tasks Packages Screens/Actions IA Look and feel
11
Feature Modeling Commercial products pure:variants Big Lever Our approach Feature tree Essential/optional metadata Feature constraints
12
Decision Support Associating optional metadata Decision tree Non-technical users
13
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
14
Domain Specific Languages Abstract grammar vs. Concrete Syntax Projections (storage/editing) Edit: cms Store: db Publish: XML Consume: Framework/API
15
Dynamic Framework Powered by parameterization Where are the classes? Merging DSLs with code Inheritance, AOP, mixins (object/class), code blocks
16
Lessons Learned Reuse specs - not code Framework vs. code generation Evolution is key
17
Questions? Read the paper :) Website: www.systemsforge.comwww.systemsforge.com Blog: www.pbell.comwww.pbell.com Email: peter@pbell.com - Yahoo: freshstartsw - AIM: appgenerationpeter@pbell.com
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.