Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac...

16
Arcade Game Maker Product Line – Scope ArcadeGame Team July 2003

Transcript of Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac...

Page 1: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

Arcade Game Maker Product Line – Scope

ArcadeGame Team

July 2003

Page 2: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

This work is sponsored by the U.S. Department of Defense.

The Software Engineering Institute is a federally funded research and development center sponsored by the U.S. Department of Defense.

Copyright 2003 by Carnegie Mellon University.

NO WARRANTY

THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.

Use of any trademarks in this report is not intended in any way to infringe on the rights of the trademark holder.

Internal use. Permission to reproduce this document and to prepare derivative works from this document for internal use is granted, provided the copyright and “No Warranty” statements are included with all reproductions and derivative works.

External use. Requests for permission to reproduce this document or prepare derivative works of this document for external and commercial use should be addressed to the SEI Licensing Agent.

This work was created in the performance of Federal Government Contract Number F19628-00-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center. The Government of the United States has a royalty-free government-purpose license to use, duplicate, or disclose the work, in whole or in part and in any manner, and to have or permit others to do so, for government purposes pursuant to the copyright license under the clause at 252.227-7013.

For information about purchasing paper copies of SEI reports, please visit the publications portion of our Web site (http://www.sei.cmu.edu/publications/pubweb.html).

Page 3: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

Revision Control Table

Version Number

Date Revised

Revision Type A-Add, D-Delete, M-

Modify

Description of Change Person Responsible

1.0 7/03 A Created Document JDMcGregor

2.0 12/03 A,M Put in SEI format, made misc. changes LMNorthrop

Page 4: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the
Page 5: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

CMU/SEI-2001-TR-001 i

Table of Contents

Overview 1 1.1 Identification 1 1.2 Document Map 1 1.3 Concepts 2 1.4 Reusable Components 2 1.5 Product line variation 5 1.6 Readership 2

2 Product Line Context 4 2.1 In Scope 4 2.2 Out of scope 5

3 Approach 7

4 References 8

Page 6: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the
Page 7: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

1

Overview

1.1 Identification The Arcade Game Maker Product Line will produce a series of arcade games. Each game is a one-player game in which the player controls, to some degree, the moving objects. The objective is to score points by hitting stationary obstacles. The games range from low obstacle count to high.

1.2 Document Map The Arcade Game Maker Product Line is described in a series of documents. These documents are related to each other as shown in Figure 1. This map shows the order in which the documents should be read for the first time. Once the reader is familiar with the documents, the reader can go directly to the information needed.

This is the scope document. Its purpose is to define the boundaries of the product line. Design and implementation decisions are made to address the full scope of the product line but with no concern for any characteristics outside the product line.

Page 8: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

2 CMU/SEI-2001-TR-001

Figure 1- Document Map

1.3 Concepts See the Glossary document for definitions of basic concepts.

1.4 Reusable Components This document establishes the high-level context for work in the product line. In a product line, components are designed to be reusable within the context of the product line. That is, no attempt is made to make a component “as general as possible”. Each design decision is made with regard to the extent of the products in the product line. The architecture further refines the context defined in this document.

1.5 Readership This document is intended to provide some level of information to all of the stakeholders in the Arcade Game Maker framework. Managers will find the information needed to support

Page 9: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

3

product planning. Architects will find the information necessary to support commonality and variability analysis. Product developers will find the rationale for each product’s membership in the product line.

1.6 Use in product production This document is used in the earliest stages of product production. It is used when the product production process seeks to determine whether it is feasible to build the proposed product as part of the product line. The list of common features and the list of variations are used to determine the fit between the proposed product and the product line. Later, assets such as the architecture can be used to provide more detailed information about product fit with the product line.

Page 10: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

4 CMU/SEI-2001-TR-001

2 Product Line Context

2.1 In scope products The context of the Arcade Game Maker Product Line is illustrated in Figure 2. The two games shown inside the circle constitute the current definition of the product line. Those games outside the circle are out of scope and will not be constructed from the assets built for the product line.

Brickles PinBall

chess

checkers poker

Arcade Game Maker Product Line

Tic Tac Toe Bowling

Pong

Figure 2 - Context diagram

Each system in the product line has the following features:

? ? single player

? ? graphical view of game

? ? animation driven games

? ? moving and stationary objects

? ? rules about the interaction of game elements

The games may have multiple different players but only one is active for a particular match. For example, having a computer player is useful for testing purposes.

Page 11: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

5

2.2 Product line variation The principle variations in the Arcade Game Maker Product Line are:

? ? the rules of the game

? ? the types and numbers of pieces

? ? the behavior of pieces.

? ? The physical environment in which the game operates

These are elaborated in the product line architecture document.

2.3 Out of scope products The Arcade Game Maker product line does not address traditional “board” games. A framework for this type of game was provided in [McGregor 92] but is out of scope for this product line. These games contain an element of strategy that is not included in the current product line. Board games usually allow multiple players.

Strategy games are also out of scope. Dungeons and Dragons and other more recent games will not fit in this product line.

2.4 In scope features Each product will provide the user with the ability to interact with the game and to control some portion of the action. The product will operate according to the usual rules of each game. The product will provide a graphical representation of the state of the game.

2.5 Out of scope features Each product will rely on an existing operating environment to provide control over hardware.

2.6 Analysis The above sections have provided a first level of data capture for scooping the product line. Here we take a more detailed look using an attribute/product matrix. As the product line expands into commercial products, we should do a more in-depth analysis using a technique such as PuLSE-ECO [DeBaud 00].

Table ATTRIBUTE Freeware arcade games Commercial PC games Commercial wireless games

display standard bitmaps vector graphics WAP Bitmap

Page 12: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

6 CMU/SEI-2001-TR-001

interaction mouse/buttons pointing devices/buttons buttons

game pieces simple icons dynamic icons dynamic icons

scoring high scores stored locally local storage/scores shared with subscription

scores stored on network/subscription required

Page 13: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

7

3 Approach

The product line approach will be incrementally introduced into the Arcade Game Maker company. Requirements and architecture work will consider the full scope of the product line but the initial software development work will focus on those assets needed for the first product.

Brickles will be the first product in the product line. Assets will be created for that game taking into account the full scope of the product line. Once Brickles has been constructed, the Pong game will be implemented next. Finally, the Bowling game will be implemented. Additional games may be added to the product line later.

With each new product, necessary changes will be made to the architecture. Code assets will also be revised where necessary. This may seem like a violation of the primary goal of the product line approach but it isn’t. The intention as each product is produced is to produce the perfect set of product line assets. Realizing that this is unlikely to happen, we include this iterative refinement process in our development approach.

Page 14: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

8 CMU/SEI-2001-TR-001

4 Determining product fit1

For a new product to be created using the assets of the product line, the product must be judged to be within the scope of the product line. The process for determining this will depend upon how formally the scope is defined.

For the Arcade Game Maker product line, the scope is partially defined by an attribute/product matrix shown in Table ATTRIBUTE. The new product is compared to each column in the matrix. If the new product fits the first column in Table ATTRIBUTE, the new product may belong in the product line. The proposed product would next be evaluated against the architecture description for a more technical match.

If the proposed product fits one of the other columns or does not match any of the columns, then additional Market Analysis should be performed to determine whether the product line scope should be expanded to include the proposed product.

1 This section is the “attached process” described by Clements and Northrop [Clements 02]. For the

product line scope this process focuses mainly on determining whether a particular product could profitably be produced using the assets of the product line.

Page 15: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the

9

Compare proposed product to scope representation

fits?

Compare proposed product to architecture description

Conduct incremental Market Analysis to determine whether to expand existing scope

No

Yes

Figure 3 - Process flow for adding product to product line

Page 16: Arcade Game Maker Product Line – Scope · 2004-03-10 · Arcade Game Maker Product Line Tic Tac Toe Bowling Pong Figure 2 - Context diagram Each system in the product line has the