Midterm Review

The Exam

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.)

Review

Requirements

The requirements activity consists of two sub-activities:

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

 

Sample Problems

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.

UML Diagrams

Be able to use StarUML to create the following types of diagrams:

Activity 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.

Sequence Diagrams

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

 

Use Case Diagrams

Know how to use all 4 types of arrows.

Know what does and does not make a good use case.

Class Diagrams

Reverse Engineering

Reverse engineer

Company.java

Implementing Designs

Implement:

Domain Modeling

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.

 

Functional Specifications

Be able to write a use case elaboration.

Know the FURPS+ model.

Analysis Models

Know the Entity-Control-Boundary Pattern

EZCASE

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.

Analysis Patterns

Know the Actor-Role Pattern