Difference between revisions of "Design Constraints Analysis"

From EUDP
Jump to: navigation, search
(What)
Line 1: Line 1:
 
==What==
 
==What==
Design constraints are boundaries within which the system is to be designed, or limiting parameters.
+
Design constraints are limiting parameters or boundaries within which the system is to be designed.
  
 
==How==
 
==How==
  
A design constraint can be seen as a non-functional requirement the final product should meet.  
+
A design constraint can be seen as a non-functional requirement which the final product should meet.  
  
Prepare the Design Constraints. Consider these topics:
+
Prepare the design constraints. Consider the following topics:
  
'''The price of the product.'''
+
'''The price of the product:'''
  
Consider how much the product must cost. This includes sales price, development cost, HW cost, etc.
+
Consider how much the product should cost. This includes sales price, development cost, HW cost, etc.
  
'''Development time.'''
+
'''Development time:'''
  
Consider the time it must take to develop the system-to-be.
+
Consider the time it must take to develop the system-to-be. When is the production expected to begin? When is the sale expected to begin?
  
When can the production start? When can the sale start?
+
'''Performance:'''
  
'''Performance.'''
+
Consider the performance of the product when it is to be used. Is it an expensive high-quality product, or is it a low-price product which is to be sold in large quantities? If it is a product for which a customer has paid a large amount of money, no defects are accepted. If the system-to-be is a product which must be safe in use, optimal performance is necessary and malfunctions are not accepted.  
 
+
Consider the performance of the product when it is to be used. Is it an expensive high quality product or is it a low price product which is to be sold in large quantities?. If it is a product for which a customer has paid a large amount of money, then no defects are accepted. Is the system-to-be a product which must be safe in use, optimal performance is necessary and malfunctions are not accepted.  
+
  
 
Another important aspect is which part of the world it is planned to sell the product-to-be. Different countries have different legislations. If you are planning to sell the system-to-be in European countries you must test your product in compliance with EU regulation and consequently mark your product with the CE certification.
 
Another important aspect is which part of the world it is planned to sell the product-to-be. Different countries have different legislations. If you are planning to sell the system-to-be in European countries you must test your product in compliance with EU regulation and consequently mark your product with the CE certification.

Revision as of 09:42, 21 September 2015

What

Design constraints are limiting parameters or boundaries within which the system is to be designed.

How

A design constraint can be seen as a non-functional requirement which the final product should meet.

Prepare the design constraints. Consider the following topics:

The price of the product:

Consider how much the product should cost. This includes sales price, development cost, HW cost, etc.

Development time:

Consider the time it must take to develop the system-to-be. When is the production expected to begin? When is the sale expected to begin?

Performance:

Consider the performance of the product when it is to be used. Is it an expensive high-quality product, or is it a low-price product which is to be sold in large quantities? If it is a product for which a customer has paid a large amount of money, no defects are accepted. If the system-to-be is a product which must be safe in use, optimal performance is necessary and malfunctions are not accepted.

Another important aspect is which part of the world it is planned to sell the product-to-be. Different countries have different legislations. If you are planning to sell the system-to-be in European countries you must test your product in compliance with EU regulation and consequently mark your product with the CE certification.

Reliability and lifetime.

The reliability and lifetime must be considered. Is the system-to-be a product which must be safe to use, then it is necessary that the reliability and lifetime are high and no failures are accepted. Examples could be: Electronically controlled wheelchairs, systems for use in hospitals, etc.

Already developed parts.

If it is important to use already developed parts, these must be considered early in the project phase, because it will have an effect on the selection of the technical platform. It is not certain that these parts fit completely into the system-to-be. You have to consider how they worked in previous projects. Do they fit into the new project? Was the design as wished or did some parts have defects? Are they good enough or do you have to design new parts?

Service and maintenance

Consider service and maintenance. No matter how well- developed the system-to-be is, it will sometimes fail or must be maintained. Maintenance can be different sorts of adjustments of the system-to-be. Sometimes replacing old HW or changing SW.

Type of System.

Consider which type of system is wanted.

It is possible to design systems containing much or little electronics. The more electronics the more features are normally possible. The choice could be a system that contains no electronics at all. It is, for instance, possible to construct a heating installation with no electronics and where the parts used are purely mechanical featuring only a few adjustment possibilities. It is also possible to construct a heating installation containing much electronics. In this case there are many adjustment possibilities, and it will be easy to guide the user.

Why

Constraints limits the developers choices when designing the system-to-be. Therefore it is necessary to know exactly the boundaries the developer should work within before the design starts. If failing to find and note down the limits, time may be waisted on trying different designs that would not be possible for the specific project.

Examples

In an electrical wiring a 100A current flows. The tables will tell that this cannot be accomplished using a #16 size wire - it will simply burn out and/or cause a fire.

Another example would be tensile strength in steel when building a structure. One has to be well within in a safe limit before the steel shears or starts to deform and causes the structure to crumble.

If there is a deadline, eg. may 16 - this year, this is a time constraint, that can be used to layout a timeschedule, tasks and assign manpower.

If the system-to-be shall use strong encryption consider what will be the necessary performance requirement in order to calculate the crypto algorithms within time - and at the same time leave CPU cycles for other tasks to be performed within reasonable time. Also consider the performance in the selection of libraries available. If the CPU type and speed are set by other constraints the most efficient library with regards to calculate using the least amount of CPU cycles may be the preferred.

If a system is going to implement e.g. the JSON protocol are there libraries available for the selected programming language, or should time be set off to develop a library specifically for the project.