SWE 437 Assignment 2
Spring 2018
Maintenance Work

Due 5-February, beginning of class

Extra features were once considered desirable. We now recognize that “free” features are rarely free. Any increase in generality that does not contribute to reliability, modularity, maintainability, and robustness should be suspect. —Boris Beizer

Answer the following questions. All homeworks are due before class on the due date. Please remember that the GMU Honor Code is in effect. You may use one of the collaborative options as specified on the syllabus. You may also request help and advice from your classmates on Piazza. Any other help not allowed by that policy will be an honor violation.

Last week you downloaded the small web application quotes. You can run it from my website: Quote Server

Your job this week is to modify the quotes server to have a different interface. You can change it to run in one of three ways:

  1. As a stand-alone command line interface on your computer
  2. As a simple GUI on your computer (not a web application)
  3. As a mobile app

I recommend to not change it to a mobile app (option 3) unless you already have experience writing mobile apps. That is, do not use this week to learn those skills.

As you make the changes, keep a simple documentation log of what you do. Note which components and methods you change and which ones you no longer use. Summarize the changes in a few words. You do not need to go to the level of which variables you create or delete or how you change the control flow. I just want the highlights. This should be about one page.

Next, write a short assessment of the maintainability of the software. What did the original programmers do that made it hard to change the software? What did the original programmers do that made it easy to change the software? What would you do differently if you did it again?


Submit four items in class, on paper.

  1. A very simple cover page with all partner names (no more than three per team), what kind of interface you created (CL, GUI, or mobile), and where you placed your source files
  2. A screen shot showing your working software
  3. The simple documentation log
  4. Your maintainability assessment


We will grade on several factors.

And of course, you receive a 5% bonus (2 points) for working in a team of two or three.