Skip to content

Dependability Requirements

The dependability of a system reflects the user’s degree of trust in that system. It reflects the extent of the user’s confidence that the software will operate as users expect and that it will not fail in normal use.

Dependability covers the related systems attributes of availability, reliability, security, integrity and maintainability.

Availability

Availability refers to the percentage of time that the infrastructure, system, or solution remains operational under normal circumstances in order to serve its intended purpose. For HeartBeat, availability is a key aspect as sudden cardiac arrests are unpredictable and can happen any time. This is the reason why the system must be always running properly; a service downtime could lead to tragic outcomes.

Reliability

Reliability refers to the probability that the system will meet certain performance standards in yielding correct output for a desired time duration. Also here, it is important for the system to keep running accurately in time, minimizing failures and delivering services as expected by users.

For example, in the event of an emergency, users expect the data about the AED location to be precise and accurately displayed through the mapping system. At the same time, it is important for the Emergency Communications Center to receive real-time movements of first responders to collect relevant information about the time of intervention.

Security

Software security is the concept of implementing mechanisms in the construction of security to help it remain functional (or resistant) to attacks. This means that a piece of software undergoes software security testing before going to market to check its ability to withstand malicious attacks. Security is a key aspect for HeartBeat as it is important to prevent attacks that jeopardize systems’ availability and reliability. Moreover, the system deals with sensitive information which must be protected from potential attackers.

Integrity

With system integrity, we include the attributes that we have analyzed so far. Software integrity refers to the quality of the software’s source code, which is essentially a measure of how safe, secure, and reliable it is. Code quality is directly related to higher security and protection against threats, but also to the maintainability and testability of the code. All of these factors play an important role in the software development, and ultimately contribute to the implementation of a better system.

Maintainability

Maintainability represents the degree of effectiveness and efficiency with which a product or system can be modified by the intended maintainers. The Maintainability of an application is a combination of compliance with good coding practices, the homogeneity with which coding rules are applied across an application, and compliance with architectural rules. Since software is not static, the ability of a software to evolve and change is of key importance in today’s agile environment.


Last update: November 13, 2022 14:50:29
Created: August 23, 2022 20:59:47
Authors: Francesca Neri