Talk:Non-functional requirement

message: It strikes me that it might be a touch PoV-ish for us to analyze the comparative value of one term or another term for what is accused of being the same thing (the whole "Quality of Service" vs. "Non-Functional Requirements" paragraph), particularly without the benefit of obvious sourcing.  At a minimum, the paragraph has a dramatically unencyclopedic tone (the links are also pointing to a topic of only tertiary relation).  I'm going to go in and salvage what there is to salvage and remove the rest.Cool moe dee 345 12:58, 24 September 2007 (UTC)
thread_title: Recent-ish Paragraph Addition

message: I feel incomfortable with this article in a very general sense. According to ISO/IEC 9162 there are various aspects of quality to be considered for a quality model. The foremost is certainly the target group affected by a certain quality level. A user judges certain aspects differently from a customer or a developer. If we look at the most comprehensive quality model in the ISO standard (for an "internal" point of view) we see that functionality, effectivity, usability, reliability, maintainability, and portability are treated on the same level. They all account to quality. Neither is there an indication that distinguishing functional from non-functional aspects is helpful, nor is functionality excluded from being a quality attribute. The WP article deliberately draws a border between quality attributes and functionality which does not exist for a careful requirements engineer.
I must admit that the terminology in RE literature is very confusing. The area is difficult to discuss because what is a non-functional requirement for somebody is a functional one for somebody else. High availability is typically seen as a non-functional attribute by requirements engineers, product managers etc. dealing with application functionality, simply because they expect HA being a property of the underlying platform or runtime environment. But for someone designing such a platform HA has aspects of functional requirements because it is associated with particular functions for monitoring, fail-over, recovery etc.
This article could be significantly improved by adding a critical analysis of the terms it uses. Still I do not see the necessity to keep it. There are no articles about "non-effectivity", "non-"usability", "non-maintainability" quality attributes. Why is there an article about "non-functional" requirements? Personally I like the differentiation between functionality and "quality of service" because it makes clear what is meant. "Quality attribute" does not tell whether it is an attribute that describes a certain quality aspect, or an attribute that a product must have in order to exhibit a certain quality. Or, in OO speak, is it a quality.attribute or a product.quality_attribute?
-- Joachim Schnitter 2008-07-10 14:23 CEST
===Response to last===
Distinguishing between functional and nonfunctional may not be useful to your particular task but it is essential when performing functional decomposition.
Items in the list that can be stated as an action/activity (for example failure management => manage failure) are probably  functional requirement categories.  —Preceding unsigned comment added by 206.190.75.9 (talk) 21:08, 25 April 2011 (UTC)
thread_title: Terminology

message: Distinguishing between functional and nonfunctional may not be useful to your particular task but it is essential when performing functional decomposition.
Items in the list that can be stated as an action/activity (for example failure management => manage failure) are probably  functional requirement categories.  —Preceding unsigned comment added by 206.190.75.9 (talk) 21:08, 25 April 2011 (UTC)
thread_title: Response to last

message: "Distinguishing between functional and nonfunctional ... is essential when performing functional decomposition."  This has the ring of tautology, but I'm unclear from the article's example how this works.  Isn't timeliness of the data a functional requirement?  Imagine the conversation between analyst and user ...
"What customer data do you want?"
"Identifiers, including preferred name and title; social demographics; contact modes and addresses; history of enquiries, orders, sales, payments and correspondence; and CSR (Customer Service Representative)'s file notes."
"When do you want it?"
"As soon as it changes!"
The requirement for real-time data is a fundamental architectural concern for the whole system.  It thus becomes a critical functional requirement to deliver all changes to customer data effectively in real-time.  One chooses whatever metric one needs, but always embeds that in an operational definition; for example:
#Initiate update of the distributed database, including all local copies, within 100 ms of transaction completion;
#Monitor time to update and raise exception flag if transaction still incomplete after 600 ms;
#All online enquiries must reflect time of last transaction initiation, time of last transaction completion  and post user warning flag if there is a pending update transaction."
So what's non-functional about the timeliness requirement?
yoyo (talk) 08:30, 17 July 2012 (UTC)
thread_title: Further response

message: Software security is both functional and quality
For software
* Functional: "you're not allowed to do that" messages; the set of menu items displayed to a user; the subset of data displayed to a user; user security changes system behavior
* Quality: resilience to SQL-embedding; code checks that security is in place; inter-layer security; component and interface design
Ref: http://www.opensecurityarchitecture.org/cms/definitions/it_security_requirements  — Preceding unsigned comment added by 115.186.240.40 (talk) 00:37, 3 April 2012 (UTC)
replies: text: Non-functional as it's testing the security of the system not a single test of whether a user is or is not permitted to access something or not. --Walter Görlitz (talk) 01:10, 3 April 2012 (UTC)

text: So 'the set of menu items displayed to a user' is a function of the 'menu-display component', and 'the subset of data displayed to a user' is a function of the 'data access filter component'. (?) 115.186.240.40 (talk) 05:51, 3 April 2012 (UTC)
thread_title:  Software security is both functional and quality 

message: Wikilink I have to Function(mathematical) and blank box maybe needs more talk to explain that the function in functional requirement refers to nature of action, something characterized by what the inputs are and outputs are without looking at detail of implementation, so took the model already existing in mathematics, also known as the black box model.  Systems Engineering describe a motor inputs as gas, oil, air, and power; controls pedal; and output torque.on axle.  The requirement term is not not necessarily software and not limited to implementing software parts I procedural languages that have a function construct.  Software language use of the term also relates to the math model, which predated both things and was widely known.   Hope this clears it up somewhat. Markbassett (talk) 06:13, 7 September 2013 (UTC)
replies: text: Sure. It doesn't make much more sense now than before the lat August fixes, but perhaps that too will change over time. I see what you were trying to do though. Sorry I reverted so quickly. Walter Görlitz (talk) 07:08, 7 September 2013 (UTC)
replies: text:  No problem; just trying to be clearer that I was saying it was based on models that existed before the term was used, and that where I attributed it to being based on the mathematical notion of function I had been truly intending to attribute it to mathematics.  And I'd have to check the chronology in 1960s books anyway -- both Systems Engineering requirements management and Software development may have independantly gotten their idea from experience with math functions, centuries older and well known, and my SE/RM text says it is from analogy to math functions and black box ... but maybe software got there a decade before systems engineering did.  Markbassett (talk) 12:55, 9 September 2013 (UTC)
thread_title:  Math function, not software function 

message: Sorry, but no. That's not a "software requirement" of any kind, and I don't appreciate my edit being reverted.  Instead of reverting under the theory that "all non-functional requirements are unmeasurable" (which is patently false, by the way), I think the onus is on you to defend "emotional factors such as 'wow'" as worthy of being in a requirements document.— Preceding unsigned comment added by 100.32.118.122 (talk • contribs) 03:48, 7 May 2016 (UTC)
replies: text: You're re referencing a single idea of what non-functional testing is. That idea is described by groups such as ISTQB. Others state that non-functional requirements are all requirements that are not accounted within the range of functional requirements. Kaner refers to them as "parafunctional" and indicates "includes testing attributes of the software that are general to the program rather than tied to any particular function, such as usability, scalability, maintainability, security, speed, localizability, supportability" and calls the area "so vague as to be dysfunctional". See http://testingeducation.org/BBST/foundations/BBSTFoundationsNov2010.pdf p.44 and following. Walter Görlitz (talk) 02:26, 9 May 2016 (UTC)
thread_title: Emotional Factors such as "Wow."

message: "a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours."
It would be better to simplify the difference: functional requirements are about the dynamics of a system (function), and non-functional requirements are about the statics of a system (structure). Please fix this. I don´t because there are way too much rules in wikipedia that I don´t know.
Rodolfoap (talk) 12:52, 22 August 2023 (UTC)
thread_title: Contrast functional/non-functional