CSC 508 - Turner Sample Midterm Questions and Instructions The exam will be open book, open note, open network, open neighbor. Just be respectful when sharing materials, don't disturb others. 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. 5.5 Define bounded rationality. 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 meant by "specification" vis a vis the requirements and the computer itself? 8. Why does Jackson say that software developers are "general engineers?" 9. What does Brooks mean by "changeability?" (complexity, etc) Some possible essay questions for fuller consideration: 10. How does the lack of a "physical medium" of "implementation" affect the software development process? 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?