CPSC 421 OOP Software Design Characteristics

  1. 4. The software is resistant to and able to recover from component failure.
  2. 6. The software can operate with other products designed for interoperability. For example, a piece of software may be backward-compatible with an older version of itself.
  3. 7. The software can withstand and resist hostile acts and influences.
  4. 10. A measure of how easily developers can make bug fixes or functional modifications.
  5. 11. The software adapts well to increasing data or the number of users.
  6. 12. Some or all aspects of the software are usable in other projects with little to no modification.
  1. 1. The software comprises well defined, independent components. This independence leads to better maintainability.
  2. 2. The software is able to perform a required function under stated conditions for a specified period of time.
  3. 3. The software performs its tasks within a time-frame that is acceptable for the user, and does not require too much memory.
  4. 5. Developers can add new capabilities to the software without significant changes to the underlying architecture.
  5. 8. The software should be usable across many different conditions and environments.
  6. 9. The software user interface must be usable for its target user/audience.
  7. 12. The software can operate under stress or tolerate unpredictable or invalid input. For example, a design can be resilient to low memory conditions.