CpSc 372
Exam 1
Name______________________________________________
Answer any FIVE of the six questions. Place a large X on the
page for the question you are not answering. If you answer all six, one of them
will NOT be graded. All questions are counted the same: 20 points each.
- The
Unified Modeling Language (UML) defines a syntax that can be used to
describe various types of development artifacts.
- Explain
the meaning and purpose of each of the symbols. Also tell what each text
string names.

The entire box is a class definition box
+ public attribute #
protected attribute - private
attribute; name in the top third of the box is the class name; names in the
middle third are attribute names; after the colon is the type of each attribute;
names in bottom third are operation names; void indicates no value is returned
- What
information is given by the following UML diagram? Be complete.

The information given in the
sequence diagram is the algorithm for animating the set of movableSprites
Three objects participate in this
algorithm. The first object sends the startMovement message to the second
object which in turn sends the move message to each movableSprite object in the
set
- Explain
the difference between a sequence diagram and an activity diagram.
(Difference does not mean define both. It means tell how they are
different.)
The difference is how many
sequences of messages may be represented
- What
relationship(s) are there between a class diagram and a sequence diagram?
The class diagram must define all
of the items used on the sequence diagram
- Consider
a software system that runs the pricing and check-out systems for a
grocery store. The system would be built by a staff of professionals who
have built several of these systems for other grocery stores. The system
will use a standard relational database to store prices. The system
supports people entering prices for items in the database and responds to
queries from scanners and cash registers for prices of certain items. The
system would be written in C, a language most of the professionals have
known for a long time. The user interface would be a simple monitor and a
printer that prints each item, its cost and then a total cost at the end.
- Describe
two actors for such a system.
Cashier
Manager
- Define
an abstract level use case for the system.
Perform customer transaction
- Define
a system end-to-end use case that specializes the abstract use case you
created in (b).
Ring Up Groceries
- Draw
the use case diagram for (a), (b), and (c).

- For
the system described in question 2,
- Give
a complete statement of one risk associated with this system.
There is a 40% chance that the software will not work
properly because of equipment incompatibilities. If it does not then either the
software must be modified or the store must buy additional hardware. This risk
can be mitigated by doing additional analysis of the various hardware
configurations.
- Describe
what each of the pieces of a risk statement mean.
The scenario that might happen
The probability that it might happen
The cost if it happens.
The mitigation that can be done to either reduce the cost or
the probability
- Consider
the elements of a feasibility study. What information would you collect
to show that this project (building the system described in question 2)
is feasible.
The error rates made by staff entering prices by hand and
the total cost of those errors would give one input about cost
The speed with which a customer is processed and the reduction
in the number of staff needed as a result is another count
Looking at how such systems are used in other industries
would be another input.
- Who
in the organization performs a feasibility study?
It is a combined effort. It is led by management, maybe the
prospective project leader. Technical people are also used to evaluate the
technical aspects.
- The
three basic UML diagrams are the class diagram, sequence diagram and state
diagram.
- Each
is used to capture a different kind of information. Describe the
information that each diagram is used to represent.
Class – concepts defined as a set of data and operations on
that data
Sequence – algorithms represented as message patterns
State – patterns of variable values that lead to differences
in behavior
- A
state diagram has an arrow from one state to another and a sequence
diagram has an arrow from one object to another. In what way is the arrow
in the state diagram the same as the one in the sequence diagram? In what
way are they different?
The arrows both define sequence
They are different in that one shows the sequence of
messages while the other shows a sequence of states
- What
in the class diagram corresponds to the arrows described in part b of
this question?
The method names in the class definition correspond to the
message names in both the state and sequence diagrams.
- We are
constructing an ArcadeGame product line, which contains 4 products at this
point. The original product line had three products: brickles, pong and
bowling.
- Describe
one change that had to be made to the product line when it was decided to
add pinball to the product line.
Gravity-constrained movableSprites
- Describe
one high level abstraction that is important to the success of the
product line design.
Sprite or GameBoard
- Describe
one of the on-line product line documents that you read. What was the
purpose of the document? What did you learn from the document?
Varies with document
- A
process model determines the sequence in which a set of process phases is
carried out.
- Select
two of the models we studied and compare them to each other. What does
model A do better than model B? What does model B do better than model A?
Take the waterfall and the iterative models. The waterfall
is better about estimating when a project will be complete. The iterative is
better at moving forward even when some information is missing.
- In
the spiral process model, risk is evaluated as a part of each iteration.
The project cannot just stop at these points. So if an action is determined
to be a high risk, what is done?
The risk mitigation procedure is used.
- Describe
two of the sections in the format for describing a process phase. What do
they add to the process description?
Exit criteria – this gives criteria for moving to the next
phase
Output – these are the deliverables produced by that phase