Difference between revisions of "Design Constraints Analysis"

From EUDP
Jump to: navigation, search
(Examples)
(Examples)
Line 55: Line 55:
 
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 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 available libraries available for the selected programming language, or should time be set off to develop a library specifically for the project.
+
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.

Revision as of 08:13, 15 July 2015

What

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

How

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

Prepare the Design Constraints. Consider these topics:

The price of the product.

Consider how much the product must 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 can the production start? When can the sale start?

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.

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.