The following are some possible questions that may appear on the final exam:
Given a description of a sample problem domain, identify some primary use cases and related actors, illustrating the result in a UML use case diagram.
Given a use case, create a conceptual (domain) model in UML, including concepts, associations, and attributes.
Given a class diagram and a communication diagram, write a class definition in Java for a specified class, including all instance variable definitions, but showing the body of only one (specified) method.
Convert a sequence diagram to the corresponding communication diagram (or vice versa).
Given the class diagram of a pattern, identify the pattern being used in the design.
Given a design model, identify which design patterns (GRASP and/or GoF) would motivate or justify certain aspects of the design.
Compare and contrast analysis and design. What are the primary concerns of each?
According to the Creator GRASP pattern, what factors would suggest that a certain class be assigned the responsibility of creating another class instance?
What are the benefits of using a Description class?
Which Gang of Four (GoF) design pattern is often implemented by using a singleton to return new objects typed to an interface? What are the advantages of using this pattern?
Which GoF design pattern would you use if you knew of two or three different algorithms or data structures that could be used to solve a problem, but you don't want to be locked-in to your initial decision of which one to use?
What is the Model-View-Controller (MVC) architecture? What does each component of this architecture represent? What is the motivation for the Model-View Separation Principle embodied in the MVC architecture? What GoF design pattern is usually used to allow a Model object to communicate to a View object without compromising the separation of model and view?