Architecturally significant requirements (ASRs) are the essential requirements that have a profound impact on a system's architecture. They are the key drivers in determining the architecture of a system and play a crucial role in shaping its structure, behavior, and properties. 1. **Fundamental Functionality**: These are the core features or functionalities that the system is expected to deliver. The absence of these functionalities can render the system useless or ineffective. For example, in an e-commerce application, the ability to process transactions securely is a fundamental functionality. 2. **Wide-ranging Coverage**: ASRs must cover various architectural components. They should not just focus on one aspect but should consider all critical elements like security, performance, scalability, reliability, etc. 3. **Architectural Limits**: These requirements test the boundaries of what the architecture can handle or deliver. It could be about handling large volumes of data or transactions, ensuring high availability even under heavy load etc. 4. **Identified Problems or Risks**: ASRs should address any identified risks or problems that could affect system performance or functionality. This could include potential security vulnerabilities, potential points of failure, etc. 5. **Performance Requirements**: These are strict demands placed on how well the system performs under specified conditions such as speed of processing transactions, response time for user requests etc. 6. **Prone to Change**: Requirements that are likely to change over time due to changes in business needs or technology advancements should also be considered as architecturally significant. 7. **External Systems Communication**: ASRs also involve how the system communicates and synchronizes with external systems like databases, other web services etc., ensuring seamless integration and data exchange between systems.