Skip to content

Latest commit

 

History

History

orthogonality

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Orthogonality

The quality/ability/extent of being orthogonal.

Orthogonality is a system quality attribute that refers to the degree to which different components or subsystems of a system can be developed, tested, or modified independently without affecting each other. It is a key aspect of system design that aims to minimize the interdependence of system components, allowing for more flexible and efficient development and maintenance.

From a software perspective, orthogonality is typically associated with the concept of modularity, where different modules or components of a system are designed to be loosely coupled and independently testable. This enables developers to work on different parts of the system in parallel, without needing to coordinate or integrate their changes as tightly.

As a non-functional requirement, orthogonality is often essential for achieving other key quality attributes, such as scalability, maintainability, and extensibility. By reducing the coupling between different parts of the system, it becomes easier to scale the system horizontally, add new features or functionality, and maintain the codebase over time.

As a cross-functional constraint, orthogonality can impact many different aspects of system design, including architecture, interfaces, and testing strategies. It requires careful consideration of system dependencies and interactions, as well as communication and coordination among different stakeholders with different areas of expertise.

Define orthogonal: In computing and software, orthogonal refers to the idea that different features or aspects of a system are independent and do not affect each other. This means that a change in one feature will not affect the behavior or function of another feature. In other words, orthogonal features should not have any dependencies or correlations with each other. This approach is often used in the design of programming languages, where orthogonal features make the language more modular, easy to use, and maintainable.

See Also