The off the shelf components are inevitable in the development of the software since the programs that are widely used are developers invention (as mike said) with a few alterations to bring the customized versions of the software. The object oriented programs seem to been taking the toll in the current software developments.
I must have gotten pretty lucky in my career as most of the projects we drove to completion always had engineers of diverse talents working together. The electronics and hardware guys (me) always shared our thought processes with the software engineers, mechanical/heat transfer engineers, and so on. Even sales/marketing got involved at some point. We learned from each other and put some very good products on the market.
I had the same reaction as Lou, although I'm not a software engineer: no OTS components?! What are those engineers designing that needs hand-crafted code at every step? I thought object-oriented programming had mostly taken over by now.
Mike, as a software engineer on everything from the smallest microcontrollers to the largest corporate systems, I marvel at your comment that software engineers do not use off the shelf components. This is just not true. If you are using an object oriented language then you are using many off the shelf components. If you use a subroutine library, or an off the shelf driver, then you are using off the shelf components. If you use a UI (such as Inflexion) then you are using off the shelf components.
Just as a humorous illustration of the use of off the shelf components I relate the following. A VP of a large SW company was talking about various customer situations. Every one was 10M lines of code. Depending on how you count code (and that is a topic of debate), it is inconcievable that any team would write that much custom code. This is especially true in this day of quick turn around of products. The only systems I have seen of legitimate multi-million lines of code that was completely custom were for agencies that have been much in the news lately. Beck to my SW VP situation. As we looked at it we came to the conclusion that the code count involved all packages that were touched by the program in a Java or C++ environment. Now, most of that code will not be instantiated, but it must be tracked, and in some cases verified, to be able to certify the system.
Festo's BionicKangaroo combines pneumatic and electrical drive technology, plus very precise controls and condition monitoring. Like a real kangaroo, the BionicKangaroo robot harvests the kinetic energy of each takeoff and immediately uses it to power the next jump.
Design News and Digi-Key presents: Creating & Testing Your First RTOS Application Using MQX, a crash course that will look at defining a project, selecting a target processor, blocking code, defining tasks, completing code, and debugging.
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.