7
Software Engineering: Test Your Understanding
Teacher's Guide
+
ward
'
s
science
What are the typical phases in the software development life cycle?
The software engineering process is divided into requirements elicitation, design, coding, testing,
debugging, deployment, and maintenance.
How does the waterfall model of software development differ from the prototype model?
The waterfall model finalizes requirements early, which enables the project to be completed on time,
but leads to difficulty making changes. The prototype model develops a limited version first and adds
features as needed.
Critical Thinking: When might the scrum method be a better choice than the waterfall method?
Sample answer: The waterfall method is a good choice if the product requirements and technology
involved aren't expected to change. The scrum method might be a better choice if the product
requirements are still developing and changing or are extremely complex.
Critical Thinking: How is the concept of high cohesion and low coupling important to software mainte-
nance and prolonging the value of software over time?
Sample answer: A key component of software maintenance is adaptability. High cohesion and low
coupling enables software to change easily over time. If software is easy to change, then it has the
ability to remain useful for a long period of time.
7