CpSc 372

Assignment 4

Domain Analysis

 

Description:

Once we have elicited and analyzed the requirements for the ArcadeGame Product Line we know what we are to build. We now shift our attention to analyzing the body of knowledge surrounding this set of requirements. As described in class and discussed in the text, analysis consists of identifying concepts and identifying relationships between those concepts. (e.g. method) The first cut at this diagram is developed by identifying the nouns used in use cases. These are usually terms in the domain of the problem being solved.

Analysis leads on to design as we develop a solution to the problem that is described by the analysis artifacts. The class diagram that contains the analysis classes is modified to include additional classes that participate in the solution. (e.g., Vector)

The class diagram will eventually have at least three layers of classes. During this analysis we will start with the UML model that was used in assignment 3. We want to add any concepts that are needed for the Pinball game. In particular we want to add an algorithm for a gravity-influenced trajectory of a puck that is given an initial velocity and acceleration from its launcher.

In games like Brickles and Pong, the puck travels in a straight line until they hit something. The collision is perfectly elastic (no energy lost). For a pinball game, it is assumed that there is a slope to the table and as the ball travels away from the player it is going uphill. The puck loses speed as it travels. Certain obstacles that it hits can give it a boost in speed as well as changing its direction. We need to develop a different move algorithm for pinball from what was used in Brickles and pong. The pinball game also has different types of obstacles because some of them do actually speed up the puck when there is a collision.

Steps:

1.     Review the current use cases and UML model.

2.     Conduct a domain analysis that expands the existing models to include a pinball game.

3.     Your domain analysis will add at least 3 classes to the existing model. The analysis should describe the gravity-influenced trajectory algorithm and any new state machines needed by pinball.

4.     Use the UML Distilled book to help you understand the UML model. You can also use the tutorial at

http://www.togethersoft.com/services/practical_guides/umlonlinecourse/index.html

5.     Deliver hard copies of the revised class diagram, a package diagram, revised state diagrams and at least one new sequence diagram

This is a 2 person team assignment. Hard copy is due Wednesday, February 12, 2003 no later than 4pm. Turn in to the CS dept office.

Grading will be based on

1.     Completeness of additions for adding pinball to the product line.

2.     Correctness, in that it does not give up any of the qualities we want in the products.

3.     Any value added beyond the basic assignment

 

Points: 2 points