Pressman [Pre97] provides a thorough introduction to software engineering. Davis [Dav90] gives a good survey of software requirements. Beizer [Bei84] surveys system-level testing techniques. Leveson [Lev86] provides a good introduction to software safety. Schmauch [Sch94] and Jenner [Jen95] both describe ISO 9000 for software development. A tutorial edited by Chow [Cho85] includes a number of important early papers on software quality assurance. Cusumano [Cus91] provides a fascinating account of software factories in both the United States and Japan.
Q7-1 Briefly describe the differences between the waterfall and spiral development models.
Q7-2 What skills might be useful in a cross-functional team that is responsible for designing a set-top box?
Q7-3 Provide realistic examples of how a requirements document may be:
Q7-4 How can poor specifications lead to poor quality codeādo aspects of a poorly-constructed specification necessarily lead to bad software?
Q7-5 What are the main phases of a design review?
L7-1 Draw a diagram showing the developmental steps of one of the projects you recently designed. Which development model did you follow (waterfall, spiral, etc.)?
L7-2 Find a detailed description of a system of interest to you. Write your own description of what it does and how it works.