Clues from the World of computer programming
Object oriented techniques in the world of computer programmers
Most readers will not be computer programmers, but, if they are to be involved at all in e-business or e-commerce they will have to have some kind of superficial knowledge of the ways in which programmers work otherwise it will be difficult to see how programming fits into the overall scheme of things. That would be a severe handicap. For this reason we'll now take some examples from this speciality area so that the non technical reader can see how it can be understood without the need for any serious technicalities.
In the world of computer programming , as the advantages of object oriented thinking began to be more fully appreciated, the parts into which a system could be divided started to get smaller and smaller. Groups of people could become smaller, more focussed. Even individuals could work on sections alone.
This allowed single programmers to work independently, creating their own little software modules that could be designed without having to know what other programmers were doing. All they had to do was to make sure that their modules performed adequately to the messages being sent to them. In this way, individual programmers didn't have to know or care what the whole system did or indeed any other parts of the system were doing. All the programmer needed to know was what was happening in his or her own private module when it received a message.
Such a modular system allows each programmer to specialise in a particular area of programming. The programmer responsible for creating the database module, for example, could concentrate all their knowledge and expertise solely in the area database technology. A specialist database programmer wouldn't have to worry about or need to know about monitors or display techniques or any other specialist areas; other specialists could specialise in these and make a far better job of it.
In this way a vastly complicated program can be designed where all kinds of speciality skills and knowledge are required without any programmer having to improvise and design in areas where they are insufficiently knowledgeable. Thus each separate part of the total design can be covered by an appropriate and professional expertise.
Breaking up a large software system into discrete and isolated modules (objects) has the added advantage that any faults, bugs or mistakes can be confined to a specific module. They are easier to locate and rectify. In most cases, only the code of one single module will need to be examined to find a particular problem.
As each programmer realised the advantage of working in modules they began to divide their own modules into modules. On a smaller scale, they could have the same advantages of being able to easily locate bugs and make adjustments and alterations. They also discovered that certain modular parts of their designs could be re-used in other modules they had to design. Gradually a whole new approach to designing software began to evolve.