Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Sample Product Line for Learning

Software Product Line Practice Framework GraphicThe Arcade Game Maker (AGM) product line is an example product line created to support learning about and experimenting with software product lines. The product line encompasses three simple arcade games. The primary goal has been to be comprehensive rather than focus on high-quality graphics. The material available follows the basic product line approach described in Software Product Lines: Practices and Patterns.

This example has been incrementally created over two years with a great deal of evolution. This site, and the product line, is evolving. As the product line is used to illustrate topics in various courses, the material is added to the site. The initial release captures the current state of the product line artifacts. As time permits, historical artifacts will be added to show the evolution from a single product example to a product line example.

The Arcade Game Maker product line is a simple, but comprehensive, example. Arcade Game Maker is a fictitious company. A context document is provided that describes meta-information about the organization, its personnel, and the general setting for the example. This information is important to understanding the decisions made at various points in building the product line.

The example has two distinct parts:

1. The actual product line assets and products

    • business case
    • scope
    • concept of operations
    • requirements
    • architecture
    • production plans
    • test plans
    • code assets for three products

2. A pedagogical section that includes

    • class-tested pedagogical elements of the product line
    • suggested exercises using the assets of the product line

The complete AGM product line example is provided as part of a web-based set of documents.

Learning activities that are based on the product line are available. Contact us using the link in the For more information box at the bottom of this page.

Support for this effort has been provided by the Product Line Systems Program of the Software Engineering Institute, Luminary Software, and  Clemson University Department of Computer Science.