COP 4331 Section 1197X Spring 1999

Object-Oriented Programming

Final Exam Review:

Last Edited: Tue Apr 25 13:31:10 2000 by jnw (Joseph N. Wilson) on hawk.cise.ufl.edu
Presented live on 25 April 2000

Study Guide for Final Exam

What Written Material Have We Used? (Material since the midterm shown in red.)

  1. Jacobson Chapters 1-3,6,7,8, 9, 10, 11
  2. Cockburn Chapters 1-2, 3, 4, 5, 6, 7
  3. FTP RFC
  4. Elixir User Manual
  5. Netbeans Tutorial

What New Kinds of Things Should We Know?

Be able to:
  1. Tell how V-W staging relates to iterative development.
  2. Cite misconceptions about using Smalltalk, C++, OOCOBOL, or Java for an object-oriented project.
  3. Tell what two aspects must any domain model satisfy in order to be of use in an O-O project.
  4. Tell how each of these elements of an analysis model are embodied in a design model and how the design model element differ:
  5. Discuss the interplay between relational databases and object-oriented projects.
  6. Tell what (specifically) does Glen House say about the negative effect of metrics in his eyewitness account and which project does he base this advice on.
  7. Discuss the conflicting goals of managers and programmers cited by Cockburn.
  8. Cite which tools professionals say are most important for project success.
  9. Tell why ownership of deliverables is so important.
  10. Tell what specific deliverables in an O-O project should have owners.
  11. Tell what units does Cockburn use as a rule of thumb for estimating O-O project duration and how much time does he recommending budgeting for each of these units.
  12. Briefly describe the differences in style of programming and complexity of each of the following types of projects:
    1. An application program
    2. A library
    3. A framework
  13. Explain what a Test Procedure is and discuss its relation to a Test Case.
  14. Tell what does Cockburn says you should always decide before you decide what you want to measure. Evaluate the utility of this advice.
  15. Cockburn notes that in project Ingrid, 24 of 25 programmers were reassigned after the first increments. Tell how those programmers felt about the reassignment and why.
  16. Tell how much precision in specification Cockburn says is necessary at any point in a project.
  17. Explain how V-W staging relates to incremental development.
  18. Explain what prototypitis is and how Cockburn suggests it be avoided.
  19. Explain what the death spiral is and how Cockburn suggests it be avoided.
  20. Cite an example showing that the same setting can be modelled in several ways. (Cockburn has two examples of this in different parts of his book.)
  21. Tell what things makes reuse hard.
  22. Wxplain the fundamental problem with any of the quotes in Cockburn's Sentences You Hope Never to Hear section.
  23. Tell how big Cockburn says a project needs to be in order to be considered big.
  24. Explain why small teams can't be used for all projects.
  25. Name at least 5 links that can bring users and developers together.
  26. Tell what Cockburn suggests should be done to encourage code reuse in big projects.
  27. Describe how does Cockburn explains the concept of skill dilution and why your instructor think this idea is wrong.
  28. Draw a class diagram including relationships between classes. Don't forget annotations for abstract classes and methods, private vs. public members, etc.
  29. Draw a sequence diagram describing the behavior of a system you're familiar with. Don't forget annotations for invocations of methods of the same object, and how to designate call/return and object creation.
  30. Discuss what properties you believe are important in a CASE tool. What are some of the isssues and how well are they satisfied by ElixirCASE.
  31. Discuss the required elements of a Test Case.
  32. Discuss the different ways in which a technology may be selected for a project and understand the benefits and shortcomings of each.
  33. Discuss the elements of a deployment model.
  34. Discuss the distinctions between the middleware and system-software layer subsystems.
  35. Explain what regression testing is and why is it important.
  36. Know how to denote an interface for a design subsystem in a diagram.
  37. Tell what management choice made by the Ingrid managers saved the project from complete failure.
  38. Tell what, according to the Frakes and Fox study, are the factors that make a difference in employees likelihood of reusing code.
  39. Name several different generic design mechanisms and discuss one or two that might have been used in your project.
  40. Tell what components in the implementation model correspond to in the design model.
  41. Explain what Java language element would implement a subsystem of the design model.
  42. Tell what a build is and what a build plan is.
  43. Explain the difference between structure testing and specification testing.
  44. Explain which Test Procedures are implemented in a Test Component.

This document is copyright 2000 by Joseph N. Wilson.