Good requirements have a number of properties such as being understandable by end users, nonprescriptive, correct, complete, concise, precise, clear, unambiguous, consistent, traceable, modifiable, testable, and feasible; see class notes. These properties help to assess requirements but not to create them. Trial and error is the way people get experience in the art of requirements writing.

The CS 633, fall 2017  student groups are to write a Universal Desktop Viewer (UDV) to view the different types of desktop items such as images, videos, PDF files, word documents, etc. The viewer should support the following essential features: 1) ability to configure the types of desktop items to be handled by the viewer; 2) ability to create playlists in any of the categories (images, videos, etc); 3) a login capability for usage reporting and advertising. Be creative to add any functionality to make your as realistic and practical as possible.

Some basic guidelines:

  1. Select a group leader
  2. Identify the viewpoints of the proposed UDV
  3. Discuss and identify the functional requirements of each viewpoint
  4. Discuss and identify the non-functional requirements of each viewpoint
  5. Write your first draft of the document- collaboration is essential
  6. Revise the draft to achieve the properties of good requirements.


  1. The team leader will provide a 3-minute update of the project (October 30, 2017)
  2. Draft report is due: November 6, 2017
  3. Final Report is due: November 20, 2017