Exercise 14.0

Answer the following quiz questions.

  1. List the CMMI maturity levels in order.
  2. Identify two useful metrics, one for the product and one for the process.
  3. Compare and contrast static vs. dynamic, and acceptance vs. regression tests.
  4. Write a sentence that demonstrates one of the following: a split infinitive; the agentless passive; an anaphoric reference; an ambiguous attachment; a double negative.
  5. Draw a deployment diagram of the Monopoly application, including the database, the data service, and the client.
  6. Explain N. Postman’s last two ideas on technological change.

Note that the last exam will include material from units 10–14.

Exercise 14.1

Estimate the relative percentages of effort devoted to:

  1. The phases of the waterfall life-cycle model.
  2. The types of maintenance.

Beyond maintenance, what sorts of tasks are typically done as a software system “evolves” over time?

Exercise 14.2

Would agile methods work for maintenance tasks? If not, why not? If so, which agile practices would work as they do in development and which would need to be adapted?

Exercise 14.3

Construct deployment diagrams that model the following systems.

  1. The (former) department website — The website uses(/used):
    • NginX (web server)
    • Flask (Python application server)
    • MongoDB (DBMS)
    Include a client running the website in a browser. Note that both the Flask and the database services ran on the same (virtual) machine.
  2. Your team project application — Use this as a first draft of your team’ (required) deployment diagram.