Difference between revisions of "Design Constraints Analysis"

From EUDP
Jump to: navigation, search
(What)
(How)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
==What==
 
==What==
Design constraints are boundaries within who the system is designed, or limiting parameters. Constraints limits the conditions you can design from. This could be on the systems form or function or could be in the technology to be used, materials to be incorporated, time taken to develop the system.
+
Design constraints are limiting parameters or boundaries within which the system is to be designed.
  
A design constraint can be seen as a non-functional requirement the final product should meet.
+
==How==
  
Prepare the Design Constraints. Consider these topics:
+
A design constraint can be seen as a non-functional requirement which the final product should meet.  
  
'''The price of the product.'''
+
Prepare the design constraints. Consider the following topics:
  
Consider how much the product must cost. This includes sales price, development cost, HW cost, etc.
+
'''The price of the product:'''
  
'''Development time.'''
+
Consider how much the product should cost. This includes sales price, development cost, HW cost, etc.
  
Consider the time it must take to develop the system-to-be.
+
'''Development time:'''
  
When can the production start? When can the sale start?
+
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.'''
+
'''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, 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. Examples could be: Electronically controlled wheelchairs, systems for use in hospitals, etc.
+
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.
+
Another important aspect is to consider where you plan to sell the product-to-be. Many countries have different legislation. If you are planning to sell the product-to-be in European countries, you must test your product in compliance with appropriate EU standards (e.g. CE conformity mark).
  
'''Reliability and lifetime.'''
+
'''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.
+
The reliability and lifetime must be considered. If the system-to-be is a product which must be safe to use, the reliability and lifetime are paramount; no failures are accepted. Examples are: Electronically controlled wheelchairs, systems for use in hospitals, etc.
  
'''Already developed parts.'''
+
'''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?
+
In case you need to reuse already developed parts, you need to take this into account early in the project phase, as it will have an effect on the selection of the technical platform. The reused parts may not 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 it the design you intended, or did some parts have defects? Are they good enough, or will you have to design new parts?
  
'''Service and maintenance'''
+
'''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.
+
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, e.g. replacing old HW or changing SW.
  
'''Type of System.'''
+
'''Type of system:'''
  
Consider which type of system is wanted.
+
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.
+
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 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.
  
=How=
+
==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.
  
=Why=
+
==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.

Latest revision as of 11:32, 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 to consider where you plan to sell the product-to-be. Many countries have different legislation. If you are planning to sell the product-to-be in European countries, you must test your product in compliance with appropriate EU standards (e.g. CE conformity mark).

Reliability and lifetime:

The reliability and lifetime must be considered. If the system-to-be is a product which must be safe to use, the reliability and lifetime are paramount; no failures are accepted. Examples are: Electronically controlled wheelchairs, systems for use in hospitals, etc.

Already developed parts:

In case you need to reuse already developed parts, you need to take this into account early in the project phase, as it will have an effect on the selection of the technical platform. The reused parts may not 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 it the design you intended, or did some parts have defects? Are they good enough, or will 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, e.g. 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 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.