To measure the effort of NFR we usually use historical data. My question is: how can we determine if a requirement X is the "SAME" as a requirement Y specified in previous projects?
Any requirement or constraint on software system, that can not be implemented as software functionnality: Software constraints,project constraints,system constraints(response time...).
Thanks for the additional details and information.
As I now understand the question, it applies to any system that has a software component or a set of software components that interact to provide a system capability to the system owner, operator and/or user.
Lets look at required system operator training. This would be a non-functional requirement that is associated with the system that has a software component.
The type and nature of the required human interaction would need to analyzed and evaluated to determine if the systems are comparable and the operator tasks comparable.
A similar evaluation would need to be done for all non-software system components and the system operational conditions.
So, the comparison is based on the analysis and the evaluation of the type and the nature of the requirement.But is this enough to judge if they are similar or not??? for example:if we have in a previous project 3s as response time ,and 3s as a response time on the current project,can we say "these requirements are the same"???
Are you referring to the effort to gather the requirements or to implement the requirements, or both?
I do not believe you will be able to show two NFR are "the same", but you may judge them to be similar. "Documenting Software Architectures: Views and Beyond" Clements et al includes one way to describe NFR in a way that helps to make them explicit and measurable. The series also includes categories of NFR that they call "quality attributes".
The design approach is to categorize the requirements and to combine similar or related requirements. Categories include security, maintainability,modularity, performance, and so forth. This is an inexact operation, but may serve your purpose. You can use other portions of the description, for example "stiimulus" or "response measure" to further segment requirements or to segment data along other axes.