Final Review

Thomas J. Kennedy

Contents:

1 Questions to Consider

  1. Unified Process Model

    • In which phase or phases of the Unified Model of software development would you do design and analysis activities?
    • In which phase of the Unified Model of software development would you be most likely to interview domain experts?
  2. Inheritance and subtyping

    • Be able identify the use of both in C++/Java code.
    • Be able to describe the differences between inheritance and subtyping.
  3. Domain models, analysis models, and design models

    • Be able to explain when each model is used.
    • Be able to explain the purpose of each model.
  4. How are domain models validated?

  5. When do I need to implement the Big-3?

  6. What is const-correctness?

  7. If I define operator<< or operator>> as member functions, what am I defining?

  8. What is inheritance?

    • How do I represent inheritance in UML?
    • What is the name of this association?
  9. What is dynamic binding?

  10. What is the Factory Model?

  11. What is the Runnable Interface? How can we leverage it with Threads & ThreadPools?

  12. What is the impact of Iterators? How do they allow us to leverage abstraction?

  13. Do iterators exist in Java? In Python 3? In C++? In Rust?