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. Be certain that you answer all parts of the questions you
select. 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 in the circle below.

- Signal
a collision exception; initiates a discontinuous flow of control
- Handle
a collision exception; terminates a discontinuous flow of control
- What
information is represented by the 1..* in the “a” circle in the diagram
below?
One or more sprites are associated with a GameBoard
What is being represented by the
arrow in the “a” circle in the diagram below?
A uni-directional association
Write a text description of the
relationship between Game and Rules shown in the “b” circle.
An instance of Rules is composed in the definition
of Game. Each Game has exactly one instance of Rules.

- What
relationship(s) are there between a state diagram and a sequence diagram?
The transition edges on a state diagram correspond
to the messages shown on a sequence diagram.
- Consider
a system that stores the identities of people who are frequent fliers on
NorthByNorthwest airline. The system stores photographs, fingerprints,
birthdates, social security numbers, and personally chosen code words.
This system is linked to the system that stores reservations for flights.
When a reservation is made, that system queries this storage system and
retrieves a link to the passenger, if the person is in the database. A
person may have their reservation rejected if their database record is
marked as “do not fly.”
- Describe
two actors for such a system. Do not use the ones from question 3 below.
Reservationist and security officer
- Define
an abstract level use case for the system.
The reservationist enters identifying information for a
person asking to purchase a ticket. The system responds by searching for a
record with the correct key. It returns the result of the search to the reservationist.
- Define
a system end-to-end use case that specializes the abstract use case you
created in (b).
The reservationist enters the social security number for a
person asking to purchase a ticket. The system responds by searching for a
record with the correct key. It returns either an advisory that the person is
not allowed to fly, is allowed to fly or no person was found.
- Draw
the use case diagram for (a), (b), and (c).

- Consider
the system in question 2.
- Describe
a role of the software engineer with respect to that system.
The software engineer designs the layout of data in the database
- Describe
a role of the computer scientist with respect to that system.
The computer scientist defines efficient search algorithms for database
queries
- List
two non-functional requirements for the system. Which would be most
important?
Query performance takes less than 1 second; unauthorized
personnel are prevented from accessing the information of the passengers
- Give
one example for each non-functional requirement of a technique that could
be used on the architecture of the system to achieve the non-functional
requirement?
An efficient algorithm is selected for searching the
data
Passwords are used to secure access
- 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 shows definitions of concepts; sequence shows the
interactions between objects; state shows the different modes of operation for
objects from a class.
- 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 are the same in that they correspond to method
definitions. The methods shown in the state diagram are all methods in one
class. The messages in the sequence diagram are showing the interactions
between two objects.
- We
are going to add a new type of brick to the Brickles game. Initially the
brick looks like any other one. After the brick is hit, it does not
disappear. Instead it changes color. Then the second time it is hit it
disappears. Choose the best UML diagram to represent this behavior and
draw the diagram.

- Consider
the change described in 4c above. There are several ways we could
implement this. One would be to give that type of brick its own counter
that increments each time the brick is hit. A second way would be for the
BrickPile to keep a list of all bricks that have been hit once and all
bricks that have been hit twice.
- List
3 criteria that could be used to evaluate the quality of each design
choice.
Ease of implementation; performance; memory use
- Prioritize
these and justify the priorities with a sentence of two for each.
Performance – 1 This action will occur often; the
performance of this algorithm is important
Ease of implementation – 2 This is a minor detail we want to finish quickly.
Memory usage – 3 There are lots of bricks. A memory
waste will affect the whole system
- Construct
and fill in the decision matrix.

- A process
model determines the sequence in which a set of process phases is carried
out.
- We
considered several process models including the iterative and waterfall
models. The Rational Unified
Process is based on the iterative model. What does the iterative model
add to a process that is missing in the waterfall model?
The iterative model provides a controlled method of
handling mistakes, changes of mind, and just remembered items.
- You
wrote a process as part of one assignment. In that process, what happens
if a mistake is made in one of the phases of that process and not
discovered until several phases later?
Individual answers
- A
phase description in a process definition has a number of sections:
Complete 4 of the sections below for the requirements phase of the
software development process.
Ø
Description - The requirements define the
features and functions of the product.
Ø
Responsibility – The analysts are responsible for
creating the requirements model.
Ø
Input – The features identified during
feasibility, the information gained from interviews with stakeholders
Ø
Entry Criteria – An initial contractual
obligation to produce a system
Ø
Activities – interviews, trade studies, Use case
definitions
Ø
Output – use case model
Ø
Exit Criteria – review of model shows that it is
complete , correct and consistent
Ø
Metrics – number of use cases