The exam will have at most three problems. You will use your laptops to do the problems. This means you will need to have wireless access to the Internet and one hour of battery power. You will email the solutions to me at the end of the class. Any other form of communication during the lab will be regarded as cheating.
You will need to have the following software installed on your laptop: a CASE tool (like StarUML or BoUML), an IDE (like Eclipse or NetBeans), and a word processor (to create documents I can read with MS Word 2003.)
The requirements activity consists of two sub-activities:

The functional specification contains the use case model, this is used to derive the analysis model:

I will try to add a few more problems to this section, but note that there are tons of sample problems here:
http://www.cs.sjsu.edu/faculty/pearce/modules/labs/ooa/index.htm
Just stick to the ones we have covered.
Be able to use StarUML to create the following types of diagrams:
There are lots of sample problems here:
http://www.cs.sjsu.edu/faculty/pearce/modules/labs/ooa/workflows.htm
I'll add a few more soon.
Know how to create sequence diagrams that use combined fragments.
Here is a good problem:
http://www.cs.sjsu.edu/faculty/pearce/modules/labs/ood/uml/SequenceDiagrams.htm
Know how to use all 4 types of arrows.
Know what does and does not make a good use case.
Reverse engineer
Implement:

Translate into UML:
A program consists of many class declarations. A class declaration consists of many field and method declarations. A method declaration has a name, a list of parameters, and a body. A body is a list of variable declarations and statements.
Be able to write a use case elaboration.
Know the FURPS+ model.
Know the Entity-Control-Boundary Pattern
EZCASE is a CASE tool that allows users to create simplified class diagrams. Users can create a diagram, add classes to the diagram, add operations and attributes to classes, add parameters to operations, and connect two classes with an association.
Draw a use case diagram for EZCase.
Elaborate connecting two classes with an association. Include the ability to specify the multiplicity and navigability of both endpoints.
Create an analysis model for EZCase. Show the internal and external dynamics for the controller that implements the add association use case.
Know the Actor-Role Pattern