Hello All,

I was just doing some reading on Software Product Lines
(http://www.softwareproductlines.com/) aka Software Factories (Microsofts
name for it:
http://msdn.microsoft.com/vstudio/teamsystem/workshop/sf/default.aspx). 

It is really just a formalization of what we've all been doing for a while
which is using a combination of code generators and/or runtime design
patterns in conjunction with meta-data to cut down on how long it takes to
write an application.

What I was wondering was whether anyone had come up with any formal rules
(or rules of thumb) for what to generate in code vs. what to use dynamic
patterns to handle? I see a lot of low level comments such as about Arf or
Reactor for the DAL, but haven't seen as many higher level comments about
what criteria you use to determine which variabilities should be generated
vs. which should be implemented at runtime.

I would love to hear anyones personal thoughts/experiences - especially
anyone who's trying to formalize on a software product lines kind of mindset
for generating all of their applications.

To start the ball rolling, we use an active generator (the code is just an
artifact, non-authoritative) and we store extensive meta data in a database,
so on the whole we generate as much as possible upfront into fairly rigid
files and just re-run the generator if we want to change any of the
meta-data (including business rules). We see a business benefit and a
technical benefit. The business benefit is that we can sell our solutions on
a work for hire basis and we don't need to worry about "giving away the
farm" as our clients only get the artifacts (the code that meets their
specific needs) rather than a generic system that in theory would allow them
to go into the website development business themselves. Not really a big
practical concern, but a nice benefit. The technical benefit is that we
assume that all other things being equal, the more we can pre-generate, the
better the runtime performance should be.

Any ideas/considerations/rules of thumb from others much appreciated!

Best Wishes,
Peter






----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email to 
[email protected] with the words 'unsubscribe cfcdev' as the subject of the 
email.

CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting 
(www.cfxhosting.com).

An archive of the CFCDev list is available at 
www.mail-archive.com/[email protected]


Reply via email to