SWE 2410 Exam 1 Prep

Closed-book, closed-note, and using Canvas.

Review

Bring your textbook to the review!

These are sample questions; some may be on the exam, but the exam question is likely to be worded differently and there will be questions on other material as well. Use these to make sure you are familiar with each of the topics, to get practice thinking about the sorts of questions you will see, and to make sure you know the technical terminology.

General approach:

Topics

The exam will cover all of the material since the beginning of the term. Ask if you are not quite sure what material that includes! Some key things to know: This is not a comprehensive list. But these items tend to show up on quizzes and exams, so provide a solid starting point. Do read the textbook: it gives important context that helps you remember key concepts and explanations.

Review Questions

  1. What are advantages of object-oriented designs over non-OO designs (that is, procedural designs: collections of steps)?
  2. What would you tell a student in Data Structures to encourage them to prioritize domain classes in their designs?
  3. Give three or more examples of classes that would appear in a solution space but not a problem space.
  4. What are the goals of the noun (and verb) identification method for systems design?
  5. Name 3 things that fail to have identity.
  6. Consider a registration system: what would be good responsibilities for
    • Class, Section, Schedule, Room, Student, Instructor, Professor
    • Draw a class diagram showing the relationships between these (and any other obvious classes).
    • How would advisors be handled in this system?
  7. Suppose a design includes a class called Main that captures the main in a program along with other stuff. Explain how this class violates the RIBS criteria in multiple ways.
  8. Explain how a high-level class diagram (covering just domain classes) is useful in system design.
  9. How would you describe the design pattern for a classroom? What would be the features? What would be reasons to not apply this pattern?
  10. Explain how the Null Object pattern shows up in JavaFX and draw a class diagram illustrating it. Discuss any negative consequences for using the Null Object pattern, applying those negatives to JavaFX programming.
  11. The Adapter pattern was initially described as allowing a team to replace one library by another. Give two other reasons to use the pattern.