Review the material in Lectures 1 and 2 and read the No Silver Bullet article available on the class's D2L website. Based on that review and your own experience, answer the questions below.
- Define the term essential difficulties as it is used by Brooks. (5 points)
- Define the term accidental difficulties as it is used by Brooks. (5 points)
- List and briefly describe the four essential difficulties of developing software systems that Brooks identifies. (12 points)
- Define what Brooks means by a silver bullet and reconstruct his argument as to why he believes there is no silver bullet for software engineering. (10 points)
- In lecture, software engineering's relationship to computer science was described by analogy by discussing the differences between a chemist (chemistry) and a chemical engineer (chemical engineering). Define software engineering and its relationship to computer science; make use of the chemist vs. chemical engineer analogy when answering this question. (6 points)
- In lecture, we discussed the importance of the following concepts to software engineers: abstractions, conversations, specification, translation, and iteration. Define each of these concepts as they are related to software engineering and discuss their importance. (12 points)
This assignment is worth 50 points.
Please upload a copy of your answers in PDF format for this assignment to D2L before the start of Lecture 4 on Thursday, September 3rd.