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