The differences between functional requirements and non-functional requirements in software engineering are as follows: different nature, different constraints and different associations.
First, different nature
1. Functional requirements: Functional requirements define the software functions that developers must implement to enable users to complete their tasks to meet business requirements.
2. Non-functional requirements: Non-functional requirements describe the behaviors and operations performed by the system to users.
Two, different constraints
1. Functional requirements: Functional requirements define constraints on services or functions provided by the system, including time constraints, space constraints, development process constraints and standards to be followed, etc.
2. Non-functional requirements: Non-functional requirements are derived from user constraints, including budget constraints, institutional policies, interoperability with other hardware and software systems, as well as external factors such as security regulations and privacy protection legislation.
Three, the association is different
1. Functional requirements: Functional requirements are related to the software system itself.
2. Non-functional requirements: Non-functional requirements are not only related to the software system itself, but also related to the development process of the system.