In software engineering and hardware engineering, serviceability (also known as supportability,) is one of the -ilities or aspects. It refers to the ability of technical support personnel to monitor computer products, identify exceptions or faults, debug or perform root cause analysis, provide software maintenance, in pursuit of solving a problem and restoring the product into service. Incorporating Serviceability features typically results in more efficient product maintenance and reduced costs for product technical support.
Examples of features facilitating serviceability include:
- Software tracing
- Network monitoring
- Remote access
- Configuration backup and restoration
- Software upgrade
- Help desk notification of exceptional events (e.g., by electronic mail or by sending text to a pager)
- Event logging
- Logging of program state, such as
- Execution path and/or local and global variables
- Procedure entry and exit, optionally with incoming and return variable values
- Exception block entry, optionally with local state
- "Graceful degradation" planning, where the application is designed to help the user to recover from exceptional events without intervention by technical support staff
- Hardware upgrade planning, where the product hardware is designed to allow efficient hardware upgrades, with minimal use of special tools and with minimal computer system downtime.
[[Category:Design for X]]