Login | Register
My pages Projects Community openCollabNet

Defining Requirements

Requirements are much more than just a "to-do list" with a hierarchical number scheme, although many projects rely on exactly that, in a spreadsheet or a word processing document, which may or may not be kept up-to-date and version-controlled.

  1. Requirements must be classified. (How do they fit into a dependence hierarchy?)
  2. Requirements must be validated. (Do they pertain to fulfilling the need?)
  3. Requirements must be consistent. (Are there any contradictions?)
  4. Requirements must be complete. (Are we going to have scope creep?)
  5. Requirements must be version controlled, and changes must be revalidated.
  6. Requirements must have traceability. (Who originated this requirement? Who changed it?)
  7. Requirements must be partitionable according to a number of different criteria such as:
    • Priority: What group can comprise parts of an incremental delivery?
    • Modularity: What group can be assigned to a single team?
    • Access control: What group can be read, modified, deleted by which individuals?
  8. Requirements must directly relate to other CASE documents such as Use Case diagrams.
  9. Requirements must be testable, and must be able to be associated with the applicable tests.

This tool will implement all of these facets of Requirements. Additionally, it will:

  • Enable viewing of requirements from different perspectives
  • Allow graphic display of requirements or subsets wherever it make sense to do so.
  • Plug into Eclipse, or other Open Source IDEs (if there are any).
  • Store requirements in a communicable form to use other Open Source CASE tools.