CSC 508 - Turner Sample Midterm Questions and Instructions The exam will be open book, open note, open network, just do individual work (no conferences with other students during the exam.) The exam will consist of a few short answer questions, some definition questions and a few essay questions. Keep in mind the topics and thought processes we've emphasized in class. Don't give me what you think I want to hear, but do your best to incorporate all the other arguments and analyses you've heard into some cogent argument of your own. I grade on your ability to spot the important issues, to analyze and criticize alternative viewpoints, to make tradeoffs explicit, and to come to your own rational position. Some possible definitions you may see: 1. Define software. 2. Define requirement. 3. Define specification. 4. Define engineering. 5. Define tradeoff. Some possible short answer questions you may see: 6. What is the main problem being addressed by Parnas in his "Rational Design Process" paper? 7. What is the point of the "Process of Incompetence" paper we read for class? 8. Why does Jackson say that software developers are "general engineers?" 9. What does Brooks mean by "changeability?" (complexity, etc) 10. How does Beizer advise us to improve the gearhead (public) in her understanding of software? Some possible essay questions for fuller consideration: 11. Read Jackson p. 135-138 ("Object Oriented Analysis") and comment on his criticism of OOA as a method of requirements modeling. 12. Back in the early 1990's, there were many who believed a good requirements specification language would be a subset of the actual programming language that was going to be used for the implementation. Do you believe this is a good idea? Why or why not?