BMW (Series 2) Feature Model

 

Work in groups of 2 (no more) on this assignment.

BMW of North America has a web page that you can both search for and customize BMW cars.  The following link points you to the BMW series 2 product line:

http://www.bmwusa.com/Standard/Content/BYO/Default.aspx?Series=2

I want you to explore the options for Series 2 and to create a feature model of it using the FeatureIDE tool for drawing feature diagrams and defining constraints.  I ask that you limit your attention to Series 2, as BMW has an extensive product line, and encoding the product line of Series 2 should give you enough experience to do more.  I got as far as the options web page, at which point, it became practically impossible to decipher the feature rules.  So here's a guideline for you:  When you come to a web page that has these possibilities at the top:



Just explore the Color, Wheels and Trims options.  Ignore the Upholstery, Packages, and Option options.  You'll go crazy otherwise. Largely focus on the features that convertables turn on and turn off without this option page. About 20 minutes of effort of exploration and note taking should do it.. Also appreciate that BMWs are really, really expensive.  You might be able to afford one, but not me.



FeatureIDE offers a very good first-generation feature modeling tool, which you will use. The BMW web site really implements a second-generation tool, one that allows features with (numerical cost) attributes.  To abuse a Donald Rumsfeld quote “You attack an assignment with the tools that you have, not the tools you might want or wish to have at a later time”.

You are to:

What to Submit Canvas

  1. A single zip file that unzips into <yourName>/<yourFilesAndDirectories>
  2. The contents of your FeatureIDE project
  3. A pdf that briefly explains your model (using screen snapshots of your design, which includes constraints).

A critical part of any design is clarity and understandability.   Hence, you will be graded on the clarity of your project and its ability to work correctly.  Sloppy code, documentation, or anything that makes grading or understanding your program difficult will cost you points.  Beware, some of these "beauty" points are subjective. 

Remember: No late assignments/submissions will be accepted.