Originally posted by stevew:
In my past experience, I've learned that a "marketing requirement" is a high level functional or non-functional requirement. It defines the "what". A "functional specification" is a quantified or testable version of the "marketing requirement". It defines the "how". But what is a "design requirement"?
In general, I think you are going to see a "design requirement" be described as something which involves implementation of a solution to a real problem within the given context of technology.
With that, it is already implicitly stated in your other defintions. You have a set of business/marketing requirements that are derived into functional requirements. Then you come up with how you will test those - which is implicit (usually) within the functional specification.
The design is the constraint of the functionality. In other words, the "how" has to be implemented within the context of some design. Obviously, in many cases, you can have more than one possible design to satisfy a set of requirements, although some designs will be more optimal than others.
So, in your example, the ambient temperature range is a statement of a functional requirement and a quality requirement. The product should function within that range. This is because you should break up requirement types as such:
Function: what it does.
Quality: how well it does it.
Cost: resources needed to allow it to do function well.
So the requirements are your "ends." The design is your "means" to the end. The design is a means of providing the functions, with quality and cost attributes, under given constraints. (You can see that design should map to your requirements.)
"Product shall function reliably within a temp range of 0degC to 40degC." is a "designe requirement"
This is a statement of how the product should function. It also contains the word "reliably" which is bad form for a requirement. That should be quantified. And when it is quantified it will also become a quality requirement ("how well it does it" from my above list).
But this is not a statement of design - it is a statement of function.
Remember: functions are what a system does, independently of how well it does it (benefit, quality) or at what costs (in terms of any resource). In describing a system you need to describe functions, qualities, and resources with respect to time, space, and a set of conditions. functions are often confused with design. Designs are the means by which we achieve desired quality and cost levels. We must be able to distinguish between native functions of a system, and the design ideas we are looking for, in order to improve the quality and cost attributes of these functions.
"operating temp range = 0degC to 40degC" is a "design specification".
Technically you could say this is a constraint within the requirements, because it still describes how the device should function (within a given range). The overall requirement is that the object must work within a certain temperature range. The constraint is the range "0degC" to "40degC". The means by which the product will work within that temperature range is a design. So if in order to work at the range the product has to be designed a certain way, that is a design requirement. If, further, you want the product to be blue in color with a red light on top, those are design requirements. (By contrast, how the red light functions, is, of course, a functional requirement.) All the design requirements are placed in a design specification.