Sonoma State University
Department of Computer Science
CS-370: Software Design and Development
Exercise 5: Creating a PERT chart

OBJECTIVE

To categorize a list of requirements using the FURPS requirements classification system.

The scenario

You are developing a program called TimeShifter to upload and download files at scheduled times while you are on vacation. The following list shows some of the application's requirements:

  1. Allow user to monitor uploads / downloads while away from the office.
  2. Let the user specify website login parameters such as an Internet address, a port, a username, and a password.
  3. Let the user specify upload / download parameters such as time-out and number of retries if there's a problem.
  4. Let the user select an Internet location, a local file, and a time to perform the upload / download.
  5. Let the user schedule uploads / downloads at any time.
  6. Allow uploads / downloads to run at any time.
  7. Make uploads / downloads transfer minimally at 8 Mbps.
  8. Run uploads / downloads sequentially. Two cannot run at the same time.
  9. If an upload / download is scheduled for a time when another upload / download is in-progress, the scheduled upload / download waits until the in-progress upload / download finishes.
  10. Perform scheduled uploads / downloads.
  11. Keep a log report of all attempted uploads / downloads and whether they succeeded.
  12. Let the user empty the log report.
  13. Display log reports of upload / download attempts.
  14. Let the user view the log reports on a remote device such as a phone.
  15. Send an email to an administrator if an upload / download fails its maximum number of retries.
  16. Send a mobile text message to an administrator if an upload / download fails its maximum number of retries.

The exercise:

Classify each of the descriptive application requirements above (A through P) into one of the following categories: Functionality, Usability, Reliability, Performance, or Supportability.

What is FURPS?

FURPS is an acronym which stands for:

  • Functionality: What the application should does (i.e. general features, interfaces with other systems, security, etc.).
  • Usability: What the program should look like (i.e. application's general appearance, ease of use, navigation methods, and responsiveness).
  • Reliability: How reliable the system should be (i.e. when the system is available, how often the system fails, and how accurate the system is).
  • Performance: How efficient the system should be (i.e. application speed, memory usage, disk usage, database capacity, etc.).
  • Supportability: How easy it is to support the application (i.e. application maintenance, testing, and user-configurable flexibility).

Uploading your solution:

Please upload your answers in either Word (Microsoft), PDF (Acrobat), text file, or as an image file. If you wrote your answers on paper, you may use your smartphone to upload a digital photo (image) of your written answers.

Grading Rubric