Instructions: The time for the test is 1 hour and 25 minutes. All the answers are to be written on this paper. One of the secrets to success on this exam is to be concise and neat; the other is to be sure to ask for clarification if you think you need it. The test is closed book and closed notes, but open mind.
1. (5 points) What is Software Engineering?
2. (5 points) Explain the difference between functional and non-functional
requirements.
3. (5 points) The IEEE classifies bugs into two categories: faults and
failures. Define these terms and give an example of each.
4. (5 points) Software project planning, including both time and cost
estimation, has historically been a very difficult and inaccurate activity.
Give five (5) reasons why.
5. (5 points) Do you agree with the following statement? Why or why
not?
"A general statement of objectives is sufficient to begin writing programs
ó we can fill in the details later."
6. (5 points) Define coupling and cohesion, and explain their significance
in the software design process.
7. (10 points) Describe the processes involved in a complete software
lifecycle.
8. (10 points) Describe the five (5) major roles of the members of a
software development team.
9. (10 points) Compare and contrast the Waterfall and Spiral models
of the software lifecycle.
10. (10 points) Compare and contrast Structured and Object-Oriented
Requirements Analysis. Explain the advantages and disadvantages of each
method.
11. (15 points) Draw an object model for the following system. Be sure to state any assumptions that you make.