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