Complex Device Design Using Subsystem Iteration
Posted by Eric Sugalski on Mon, Aug 22, 2011 @ 08:42 AM
Divide and conquer. That’s the way to design complex systems of any kind - mechanical, electrical, software, or any combination thereof. Don’t try to design a large or complex system as a unified whole but instead, segment it into a number of self-contained subsystems.

Cramming all features and functionalities into an integrated system causes an inordinate increase in the amount of money and effort required for design, engineering, prototyping, and testing. One modification has a domino effect on all other related features in the system. An integrated system approach from the get-go can cause schedules to drag and budgets to bloat.
Partitioning a planned system into a set of core subsystems tends to improve overall designs right from the start. Primarily, this approach saves time. It enables achieving core functionality early in the development process. After the functionality is attained, the integration of subsystems into a cohesive system design becomes a matter of implementation.
Once the core subsystems are defined, each may be worked on by a separate engineer or team. Regular communications will be necessary, but by and large, each subsystem can be engineered and evolved as its own, self-contained component - a method generally known as subsystem iteration.
This works, of course, only if the mechanical, electrical, and/or logical interfaces that link these subsystems are precisely defined. Great attention must be paid to these interfaces but the payback will be substantial. Designed properly, interfaces act as firewalls, segmenting disparate sets of function from each other in a way that greatly benefits the design, testing, and trouble-shooting of the finished product.
While subsystems do need to be integrated longer-term into a cohesive system design, taking the divide and conquer approach to achieve core functionality is a more robust and efficient process.
Facebook Twitter LinkedIn YouTube RSS