Are there any parallels between object-oriented system development and other branches of engineering?
The task of a software developer is to produce systems which can adapt to changing requirements. Object-oriented methods attempt to manage the complexity of the system by using encapsulation, inheritance and polymorphism to build a modular system. In this paper, civil engineering and production engineering have been studied to identify any existing parallels between their designs and those of object-oriented systems with specific attention paid to the reuse of components. Production engineering was found to provide more parallels than civil engineering.