Assignment 5

Due: Monday, November 3rd in the Distribution Center

Name: YOUR NAME
Student ID: YOUR ID NUMBER

1. UML Design (40%)

Consider this description of a wrist watch. (Note: this example is much simpler than real watch instuctions.)

A. Draw a UML class diagram that represents the situation as precisely and completely as possible. Consider multiplicity and aggregation.

Notes:

USE ArgoUML OR Rational Rose TO MAKE A DIAGRAM, PRINT IT, AND STAPLE IT TO THESE PAGES.

B. Draw a UML state diagram for the watch modes. Specifically, model each watch function and the way that a user can navigate between functions.

Notes:

USE ArgoUML OR Rational Rose TO MAKE A DIAGRAM, PRINT IT, AND STAPLE IT TO THESE PAGES. Note: if you use ArgoUML, you cannot draw concurrent substates, so use fork and join pseudostates instead.

C. For each state in part B, write a brief decription of the purpose of that state, including the type of information that the user would see.

TYPE YOUR ANSWER HERE: 1-2 sentences for each state.

D. This problem specification may not be complete. By working through the design, you may realize that information is missing from the requirements. Now that you have worked through the design, list one to four questions that you have uncovered about the requirements.

TYPE YOUR ANSWER HERE: 1-4 SHORT PARAGRAPHS

2. Object Concepts (10%)

Look at your favorite class library (for example, the Java standard library) and find 5 different operations that are polymorphic. For each operation, explain its purpose, give the class or interface in which it is declared, and two classes in which the operation is implemented. Describe each of the two implementations and how they differ from each other.

TYPE YOUR ANSWER HERE: 5 SHORT PARAGRAPHS

3. UML Constraints (20%)

Add three to six constraints to your class diagram for the TELE or credit card processing systems. The constraints may be OCL expressions or one of the following from Fowler: abstract, bag, complete, dag, frozen, hierarchy, immutable, mandatory, ordered, query, or read only. The constraints may simply be typed into note icons, or you may neatly hand write them on a printout of your diagram.

USE Rational Rose or ArgoUML TO MAKE A DIAGRAM, PRINT IT, AND STAPLE IT TO THESE PAGES.

4. Readings: Design patterns handouts (15%)

Define the following terms in your own words: design pattern, generative pattern, framework, pattern catalog, and forces.

The handouts are here and here.

TYPE YOUR ANSWER HERE: 1-2 sentences for each term

5. Finding out more (15%)

List 4 to 7 URLs, books, or articles that contain examples of using design patterns, refactoring, or advice on improving software designs. For each item, briefly describe why you think that resource would be useful to you or your classmates. Do not list the books and URLs that have been given to you in class.

TYPE YOUR ANSWER HERE: 4-7 SHORT PARAGRAPHS

example use case templatesample test plan templateProject plan template