CS 384 Take-Home Midterm Examination

Due: Friday March 7, 5pm, hard copy, under Dr. Jeffery's office door (JEB 230). Answers must be typed, not hand-written. You may turn in your midterm early.

You are to work independently on this examination, meaning, do not consult other humans in-person or electronically regarding your work. You are encouraged to refer as needed to the textbook, the web (cite sources) and our class CVS repository and webpages.

1. (50 points) How have the requirements changed for our project this semester, compared with what we planned last semester? Have changes been communicated effectively? If so, how, and if not, suggest what we should do differently in order to keep everyone informed of changes.

2. (50 points) How has the design changed for our project this semester, compared with what we planned last semseter? Have changes been communicated effectively? If so, how, and if not, suggest what we should do differently in order to keep everyone informed of changes.

3. (50 points) List the commands necessary to run all six teams' unit tests from our CVS repository. Do we have the ability to test the whole system easily at this point? If not, given the practical concerns and limitations of our environment, how can our testing be more fully automated?

4. (50 points) Describe a strategy that should be used in unit tests in order to provide good coverage of the code that is being tested. Describe what kind of coverage your strategy provides, and how it compares with other kinds of coverage. Give the best concrete example of a unit test that provides good coverage of a non-trivial method that you can find in our project CVS. If you cannot find such an example, write one.