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.)
- Jacobson Chapters 1-3,6,7,8, 9, 10, 11
- Cockburn Chapters 1-2, 3, 4, 5, 6, 7
- FTP RFC
- Elixir User Manual
- Netbeans Tutorial
What New Kinds of Things Should We Know?
Be able to:
- Tell how V-W staging relates to iterative development.
- Cite misconceptions about using Smalltalk, C++, OOCOBOL, or
Java for an object-oriented project.
- Tell what two aspects must any domain model satisfy in order to be of
use in an O-O project.
- Tell how each of these elements of an analysis model are embodied
in a design model and how the design model element differ:
- Analysis class
- Use-case realization--analysis
- Collaboration Diagram describing a use case
-
- Discuss the interplay between relational databases and
object-oriented projects.
- 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.
- Discuss the conflicting goals of managers and programmers cited
by Cockburn.
- Cite which tools professionals say are most important for
project success.
- Tell why ownership of deliverables is so important.
- Tell what specific deliverables in an O-O project should have owners.
- 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.
- Briefly describe the differences in style of programming and
complexity of each of the following types of projects:
- An application program
- A library
- A framework
- Explain what a Test Procedure is and discuss its relation to a
Test Case.
- Tell what does Cockburn says you should always decide before you
decide what you want to measure. Evaluate the
utility of this advice.
- 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.
- Tell how much precision in specification Cockburn says is
necessary at any point in a project.
- Explain how V-W staging relates to incremental development.
- Explain what prototypitis is and how Cockburn suggests it be avoided.
- Explain what the death spiral is and how Cockburn suggests it
be avoided.
- 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.)
- Tell what things makes reuse hard.
- Wxplain the fundamental problem with any of the
quotes in Cockburn's Sentences You Hope Never to Hear
section.
- Tell how big Cockburn says a project needs to be in order to be
considered big.
- Explain why small teams can't be used for all projects.
- Name at least 5 links that can bring users and developers together.
- Tell what Cockburn suggests should be done to encourage code reuse
in big projects.
- Describe how does Cockburn explains the concept of skill
dilution
and why your instructor think this idea is wrong.
- Draw a class diagram including relationships
between classes. Don't forget annotations for abstract
classes and methods, private vs. public members, etc.
- 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.
- 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.
- Discuss the required elements of a Test Case.
- Discuss the different ways in which a technology may be selected
for a project and understand the benefits and shortcomings of each.
- Discuss the elements of a deployment model.
- Discuss the distinctions between the middleware and
system-software layer subsystems.
- Explain what regression testing is and why is it important.
- Know how to denote an interface for a design
subsystem in a diagram.
- Tell what management choice made by the Ingrid managers saved
the project from complete failure.
- Tell what, according to the Frakes and Fox study, are the factors
that make a difference in employees likelihood of reusing code.
- Name several different generic design mechanisms and discuss
one or two that might have been used in your project.
- Tell what components in the implementation model
correspond to in the design model.
- Explain what Java language element would implement a subsystem
of the design model.
- Tell what a build is and what a build plan is.
- Explain the difference between structure testing and
specification testing.
- Explain which Test Procedures are implemented in a Test Component.
This document is copyright 2000 by Joseph N. Wilson.