Skip to content

Latest commit

 

History

History

survivability

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Survivability

The quality/ability/extent of being survivable.

Survivability in systems refers to the ability of a system to continue to function and maintain essential services even in the face of adverse conditions, failures, or attacks.

System Quality Attribute

As a system quality attribute, survivability ensures that a system can withstand and recover from unexpected disruptions, maintaining critical operations without significant loss of functionality or data.

Key Aspects:

  • Fault Tolerance: The system's capability to continue operating despite the presence of faults or errors.
  • Redundancy: Incorporating duplicate components or systems that can take over in case of failure.
  • Resilience: The ability to quickly recover from disruptions and restore normal operations.

Non-Functional Requirement

As a non-functional requirement (NFR), survivability specifies the need for the system to sustain its operations and protect critical functions under adverse conditions.

Key Aspects:

  • Continuity of Operations: Ensuring that critical services remain available during and after disruptions.
  • Risk Mitigation: Identifying and addressing potential risks that could impact system functionality.
  • Disaster Recovery: Planning and implementing strategies to restore normal operations quickly after a disruption.

Cross-Functional Constraint

As a cross-functional constraint, survivability affects various aspects of system design, implementation, and maintenance, requiring collaboration across multiple teams to ensure robustness and resilience.

Key Aspects:

  • System Design: Architecting the system with redundancy, fault tolerance, and recovery mechanisms.
  • Security Measures: Implementing strong security practices to protect against attacks and breaches.
  • Operational Procedures: Establishing procedures for monitoring, responding to, and recovering from disruptions.

Implementing Survivability

To implement survivability:

  • Redundant Systems: Design and deploy redundant components and systems to take over in case of failures.
  • Fault Tolerance: Use fault-tolerant techniques such as error detection, correction, and failover mechanisms.
  • Regular Backups: Ensure regular backups of critical data and systems to facilitate quick recovery.
  • Disaster Recovery Plans: Develop and test comprehensive disaster recovery plans to address various disruption scenarios.
  • Monitoring and Alerts: Implement continuous monitoring and alert systems to detect and respond to issues promptly.
  • Security Measures: Enforce robust security protocols to protect against cyber-attacks and unauthorized access.
  • Training and Drills: Conduct regular training and drills to prepare staff for handling emergencies and recovering from disruptions.

Define survivable: Survivable means having the ability to remain operational even under adverse conditions, such as hardware failures, cyber attacks, or natural disasters. In the context of computers and software, survivability refers to their ability to maintain critical functions or services despite being compromised or under attack. Survivability requires redundancy, fault-tolerance, and proactive security measures to mitigate risks and ensure continuity of operations.

See Also