Exam 1 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 (through Friday's lecture).
The exam will cover chapters 1 - 10 (through section 10.1.1).
Chapter 30, assigned as reading, will be covered on the next exam.
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 "construct a task chart and
determine the critical path". 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
- Chapter 1: Be familiar with the software development process
generally and with the various models for software development
discussed in the chapter. Review risk resolution.
- Chapter 2: Be able to describe the process of systems
engineering, and the role that human factors play.
- Chapter 3: Be able to describe the role of management in the
software development process, and the tasks that management
undertakes. Be able to construct activity networks and activity
bar charts, identify critical paths, and discuss what might happen
if a task takes longer than expected to complete.
- Chapter 4: Be able to describe the requirements engineering
process. Definitions are important throughout the assigned
material, but pay particular attention to them here. A practical
question might be along the lines of exercise 4.6.
- Chapter 5: Be comfortable with the VORD method as described in
this chapter, and be able to explain why this approach might be
useful. What is a stakeholder? A viewpoint?
- Chapter 6: Be able to work with basic system models as
described in the chapter together with the finite state automaton
discussed in lecture. This chapter gave a very quick overview of
these models, so exam examples will be selected to be
straightforward and not too complicated.
- Chapter 7: Be able to separate functional and non-functional
requirements (with justifications) and develop more precise
specifications from imprecise ones.
- Chapter 8: Be able to explain the various ways in which
prototyping can be used (as well as, of course, being able to give
a definition of prototyping).
- Chapter 9: Be able to explain the ideas behind formal
specification. Be able to write simple predicate expressions
giving pre conditions and post conditions. Be able to
translate a predicate expression into a user-friendly form
of English.
- Chapter 10: (so far) Be able to interpret a formal algebraic
specification of a suitably straight-forward ADT.