CpSc 372
Exam 1
Name______________________________________________
Answer any FIVE of the six questions. If you answer all six, one of them will NOT be graded. All questions are counted the same: 20 points each.

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

The class GameBoard depends upon the class Sprite; and defines an attribute called puck of type Sprite; the class also defines a method move with no return value
The difference is how much of an algorithm they show. The sequence diagram shows exactly one path while the activity diagram shows all possible paths
There can only be messages between objects that are related on the class diagram by association or aggregation
Actors: faculty member and TA
Abstract use case: The actor uses the system to grade an exam.
Concrete use case: The actor uses the system to grade the first exam in CpSc 372.

The system may count an incorrect answer as correct. (event)
This is quite likely (probability)
The student’s score will be higher than it should be. (cost)
A human will scan all incorrect answers. (mitigation)
The event is what could go wrong.
The probability estimates how likely it is to go wrong.
The cost is the penalty that will be paid if something goes wrong.
Mitigation is what we will do to reduce the probability that the event will occur.
Examples of similar grading programs
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.
Model maintains the state of the system
View maintains the graphical presentation
Controller allows a user to input data or change a display by scrolling or other actions.
We will have several views for each Model and these will change over the product’s life cycle. Adding a new View should be easy.
Time is not a critical factor.
It would not fit well. The program is a batch application with little or no user interaction.
The system in #2 is a batch system with little user interaction while the ArcadeGames are heavily interactive. The pattern recognition algorithm will be complex while the animation algorithm will be simple.
The architecture defines the underlying structure upon which everything else is built.
The core asset developer takes a view of all the products in the product line and the product developer focuses on just one product.
Both roles are building pieces needed for a final product.
The scope document defines which products are in the product line and which are not.
By broadening the scope we include more products.
The CONOPS defines the organizational structure of the product line organization. It defines the chain of command for various types of decisions.
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.
Requirements – interaction with client/users to determine WHAT the system should do
Analysis – examination of the requirements and the surrounding domain to determine if the requirements are correct, complete, consistent
Architectural design – determines the overall structure of the program
Detailed design – decides on the exact classes and their interrelationships
Construction – the classes are built
System testing – the pieces are tested as a complete system to determine whether they do everything the system is supposed to do
The outputs are the deliverables that have been prepared during the phase. The exit criteria are the measures of how complete, correct and consistent those outputs are.