Department of Computer Science

Michigan Technological University


CS5711 - ADVANCED SOFTWARE ENGINEERING

Fall 2003

Final Exam Due Wednesday, December 17 5:00 PM

This exam is to be completed on an individual basis. Discussion of the questions or related material is not permitted while this exam is on-going. Any external material used should be paraphrased and clearly referenced. Pay attention to the point distribution when you are answering the questions. Remember this is my chance to see that you learned something this semester so answer the questions carefully and with well-thought out and well-justified answers.

Question 1. (20%)

Early this term we read Brooks article, ``No Silver Bullet" which in places is clearly dated.

Question 2. The Basics (10%)

Provide a solid definition for each of the following terms assuming, of course, a software engineering context:

Question 3. (15%)

A topic that we really did not cover this semester is open source software development. Assume that you are a project manager with a tight deadline and that the most likely way to meet that deadline is through software reuse. Would you be more likely to consider "COTS" or open-source software? What considerations would affect your decision? What would you do to ensure the software you chose to incorporate into your system was of appropriate quality?

Question 4. (20%) Consider the following two scenarios, assume that you are the project manager for each of these projects and answer the questions below:

Scenario 1: Assume that the software being developed is a web-based point of sale for computer games and digital music.

Scenario 2: Assume that the software being developed is an educational game for kids under 3.

Question 5. (5%)

Explain the difference between software verification and software validation. What is the importance of each? How would you go about doing each?

Question 6. (10%)

What do you believe is the most important thing that you learned about software engineering in this course? Why?

Question 7. (10%)