Exam 2 Review
Disclaimer: The following is intended to help you in your
review for the first hour exam. While I have made every effort to be
complete, please remember that you are responsible for all of the
material covered so far this term from the last exam (through
Thursday's lecture), with the possible addition of some material from
Chapters 9 and 10.
The exam will cover chapters 12 - 15, 17 - 20, 21 - 24. There
will not
be a question from chapter 30 (which was assigned as reading).
I'll put a question from this chapter on the final exercise
set.
There
may also be a follow-up question on formal specification
General Comments
Please review definitions that have come up over the past several
weeks. Be able to describe terms that we have used.
The exam will be a combination of short answer questions together
with some technical questions (such as " Identify possible objects
and services from the following description.". The "Key Points" at
the end of each chapter are a good starting point for review, as are
the exercises (assigned and not assigned).
Specifics
- Chapters 9 and 10: Review the exercises assigned recently in
those chapters (the assignment will be returned before the end of
the week).
- Chapter 12: Be able to describe the stages of the design
process, methods, models, and strategies for design. Be able to
define terms such as "coupling" and "cohesion".
- Chapter 13: Be able to describe the various architectural
models. Be able to construct simple object models and data flow
diagrams.
- Chapter 14: Be able to define and describe the basic ideas of
object design. Be able to give examples of inheritance,
aggregation. This chapter could be the source of a simple design
exercise.
- Chapter 15: Explain how object and functional design can be
viewed as complementary approaches. Be able to construct a simple
data flow diagram (this chapter could also be the source of a
simple design exercise). Look at exercises 15.1 and 15.2.
- Chapter 17: In addition to knowing terms, think about some of
the basic issues of a good user interface design. Look at 17.1,
17.2, 17.3, 17.7.
- Chapter 18: Review the basic metrics for software
reliability, and consider when each might be appropriate. Look at
18.4.
- Chapter 19: Be familiar with terms.
- Chapter 20: Why is reuse a reliability issue? What sorts of
reuse are there? What needs to be done to an ADT to make it
reusable? What is an iterator? Look at 20.1 and 20.3
- Chapter 22: What is the difference between verification and
validation? What are the steps in the testing process? What is
top-down testing (and what is a stub)? What is bottom-up testing
and when might it be appropriate?
- Chapter 23: What is the difference between functional and
structural testing? What is interface testing? What is the role
of equivalence partitioning?
- Chapter 24: What is static evaluation, and how can it be
applied to steps in the software development process? How can
static analysis tools help?