Software Product Lines
During a previous class, we mentioned Software Product Lines. The idea is to design a core system and then when you want to add a new product you only have to implement the 10%-30% new customized/unique code.
Think of how Microsoft offers "Professional Edition", "Enterprise Edition", and "Home Edition". Or how Canon has the A80 (4MP-CF), A95 (5MP-CF), A520 (4MP-SD), A620 (7.1MP-SD), etc.. (that are all part of the PowerShot Product Line of digital cameras).
The problem is, in reality, by the time you identify a situation where Software Product Lines would be beneficial you've already produced at least three similar-but-different products, so picking out "common code" for the core is a very challenging job. If you are lucky, there will be a lot of overlap among the teams that created the three initial separate products and a lot of similar idealogoies were used. If you are unlucky, each product was slapped together more-or-less independantly and rectifying the Product Line will be as large a project (if not larger) as the initial development effort on the initial product in the line was.
===========
This is submission #1 for CS-565 (Computer Architecture) in the Spring of 2006 with Gregg Vesonder.
During a previous class, we mentioned Software Product Lines. The idea is to design a core system and then when you want to add a new product you only have to implement the 10%-30% new customized/unique code.
Think of how Microsoft offers "Professional Edition", "Enterprise Edition", and "Home Edition". Or how Canon has the A80 (4MP-CF), A95 (5MP-CF), A520 (4MP-SD), A620 (7.1MP-SD), etc.. (that are all part of the PowerShot Product Line of digital cameras).
The problem is, in reality, by the time you identify a situation where Software Product Lines would be beneficial you've already produced at least three similar-but-different products, so picking out "common code" for the core is a very challenging job. If you are lucky, there will be a lot of overlap among the teams that created the three initial separate products and a lot of similar idealogoies were used. If you are unlucky, each product was slapped together more-or-less independantly and rectifying the Product Line will be as large a project (if not larger) as the initial development effort on the initial product in the line was.
===========
This is submission #1 for CS-565 (Computer Architecture) in the Spring of 2006 with Gregg Vesonder.

0 Comments:
Post a Comment
<< Home