locked
Non-Functional Requirements versus Quality Attributes RRS feed

  • Question

  • User-1386562875 posted

    What is the difference between Non-Functional Requirements and Quality Attributes?

    Imo, they are the same, and I think Quality Attributes is the term to use, because Non-Functional sounds strange to non-technical teammembers. "If it has no function, why should we implement it?"

    Anyone an answer or opinion on this?

     

    Wednesday, December 23, 2009 1:32 AM

Answers

  • User-166141936 posted

    I think that quality attributes represent a subset of non functional requirements.

    A non functional requirement, as its name implies, adds no specific behavior to the system, but describes characteristics of the system.

    The first synonym of non functional requirement I can think of is constraint. For instance:

    1. the project shall be developed in either ASP.NET or PHP

    2. the database shall be SQL Server

    3. open source products only shall be used for development and run time

    4. the system shall be scalable

    5. the system shall implement fault tolerant policies

    6. the system shall be designed in order to minimize processing and response time


    4 to 6 are also quality attributes, but 1 to 3 aren't - they just state some constraint to take into account for analysis/design, development and/or runtime.


    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, December 23, 2009 2:01 AM
  • User-389939489 posted

    What is the difference between Non-Functional Requirements and Quality Attributes?

    In very short:

    Functional Requirements correspond to the actual user needs (the functionality), and they make up the so called Explicit Quality.

    Non-functional Requirements correspond to technical needs and constraints, and they make up the so called Implicit Quality.

    Quality proper is a combination of the two above. In fact the ISO definition for Quality simply is: the degree of correspondence of a product to its requirements.

    That said, of course Functional requirements and the Explicit Quality they bring should be the number one priority: that is actually the only quality the client perceives and is willing to pay for. (Not that technical quality doesn't count; it just counts less.)

    HTH,

    -LV

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, December 23, 2009 2:08 PM

All replies

  • User-166141936 posted

    I think that quality attributes represent a subset of non functional requirements.

    A non functional requirement, as its name implies, adds no specific behavior to the system, but describes characteristics of the system.

    The first synonym of non functional requirement I can think of is constraint. For instance:

    1. the project shall be developed in either ASP.NET or PHP

    2. the database shall be SQL Server

    3. open source products only shall be used for development and run time

    4. the system shall be scalable

    5. the system shall implement fault tolerant policies

    6. the system shall be designed in order to minimize processing and response time


    4 to 6 are also quality attributes, but 1 to 3 aren't - they just state some constraint to take into account for analysis/design, development and/or runtime.


    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, December 23, 2009 2:01 AM
  • User504625014 posted

    Although there is overlap between two terms still there are differences. NFR's could be some requirements that are not funtional but not necessarily quality attributes. For example, a website should be compatible with a particular browser (say Chrome) is an Non-Funtional REQUIREMENT but not a quality attribute.  

     

     

    Wednesday, December 23, 2009 4:45 AM
  • User-1535021499 posted

    The reason behind calling a particular requirement as Non Functional is that it specifies what a system is supposed to be. On the contrary the Functional requirement specifies how the system is supposed to behave. And Quality is biggest constraint of a system for what it is. <o:p></o:p>

    Hence the Non Functional Requirement is also called as Quality Attribute and there’s nothing wrong in it. Though industry widely NFR is commonly used.<o:p></o:p>

    Wednesday, December 23, 2009 6:15 AM
  • User-389939489 posted

    What is the difference between Non-Functional Requirements and Quality Attributes?

    In very short:

    Functional Requirements correspond to the actual user needs (the functionality), and they make up the so called Explicit Quality.

    Non-functional Requirements correspond to technical needs and constraints, and they make up the so called Implicit Quality.

    Quality proper is a combination of the two above. In fact the ISO definition for Quality simply is: the degree of correspondence of a product to its requirements.

    That said, of course Functional requirements and the Explicit Quality they bring should be the number one priority: that is actually the only quality the client perceives and is willing to pay for. (Not that technical quality doesn't count; it just counts less.)

    HTH,

    -LV

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, December 23, 2009 2:08 PM
  • User-1067358373 posted

    I think they both refer to the same thing and used interchangeably.

    According .net application architecture guide, they can be broadly broken down into the following categories

    System Qualities • Supportability
    • Testability
    Application Architecture Guide 2.0
    Microsoft patterns & practices 126
    Type Quality attributes
    Run-time Qualities • Availability
    • Interoperability
    • Manageability
    • Performance
    • Reliability
    • Scalability
    • Security
    Design Qualities • Conceptual Integrity
    • Flexibility
    • Maintainability
    • Reusability

    http://msdn.microsoft.com/en-us/library/dd673617.aspx

    Thursday, December 24, 2009 12:22 PM
  • User-1386562875 posted

    Thanx guys, very clear now :-) 

    Wednesday, January 20, 2010 3:32 AM