Exam Study Guide

 

 

You will be responsible for all assigned reading and all lecture content.  All of it is fair game.  That is a lot.  Focus on central, key concepts, but don't overlook the details!

 

The topics I will test you on may include the following general topics (among others covered in class):

 

General OO Concepts:

 

Inheritance (single, multiple, interface, implementation)

Encapsulation

Aggregation & Composition

Abstraction

Inheritance vs. Composition (When would you use one over the other?)

Modeling

  

Process:

 

RUP (Know the phases and workflows, iterative and incremental process)

Know why RUP is allegedly better than the traditional waterfall method

XP (Know the basic tenets of XP and Agile processes)

Know the details around Disciplined Agile Delivery (DAD)
What are the main factors that drove the adoption of Agile in response to RUP?  Be specific.

 

Analysis & Requirements Modeling:

 
Design Thinking & Strategy

Know the fundamental structure of a Use Case

Why are Use Cases useful?  What are they used for?

What are Analysis Classes?  Why are they used?

What are some difficulties with Use Cases?

What is a Use Case Model Survey?

What is an Agile User Story?

 

UML:
 

Know ALL forms covered in class
Static Modeling

Dynamic Modeling


Enterprise Architecture:


History and Problem Space
Strategic Alignment of IT and Business


Messaging Concepts & Asynchronous Communication:


Benefits of Messaging Architectures
Fundamental Concepts of Messaging and Pattern Details


Synchronous Communication:

RPC
RMI
Strengths and Weaknesses
Attributes
gRPC


MicroServices:


Monolithic Architecture Concepts & Relevant Patterns
Supporting Patterns

Strengths and Weaknesses of Microservices
Microservice Architecture Concepts & Relevant Patterns
Hexagonal Architecture


NoSQL Databases:


General Concepts & purpose (as opposed to SQL databases)





 

 

 

 

Sample Exam Questions:

 

1.                  In UML, discuss the differences between a generic association and composition.  In addition to explaining the difference, show an example of the UML notation used for both.

 

2.                  Name five companies that are heavily investing in microservice architectures .

3.         Name True or False:  Microservices communicate with each other using widely adopted synchronous protocols as well as asynchronous messaging protocols

 

4.                  Consider an ATM design of an ATM machine located at a Jewel grocery store.  If you were defining some Use Cases, which of the following would be good examples of Actors?  (Circle ALL that apply)

 

1.                  The Jewel’s night watchman

2.                  The bank’s employee who replenishes the cash supply in the ATM.

3.                  The home bank’s mainframe that holds security information for the ATM.

4.                  Any bank customer who has an ATM card.

5.                  Any Jewel customer who does not have an account at the bank

6.                  Any employee of the Jewel who replenishes stock at the Jewel where the ATM is located.

 

5.         Consider the following UML diagram [picture of UML diagram presented].  Verbally describe the system's components from the design.

6.        Here is a description of a small application.  Produce a use case diagram for this application, along with a class diagram for the application, along with one sequence diagram detailing the activities of a single scenario of your choice.