Information Hiding - The First Budding of Software Development Methods


Information Hiding ”The First Budding of Software Development Methods

During the few years of programmable computers until the early 1950s, no software development methods existed. It can be argued that small memories made methods unnecessary. Abstraction and information hiding became the basis of all future methods.

Computer scientists took another 15 years to recognize that abstraction was needed. Information hiding was used long before it was formally recognized. David Parnas, then teaching at Carnegie-Mellon, where he had graduated , wrote the famous On Decomposing Programs Into Modules article that showed how information hiding worked [Parnas72]. Fundamentally, Parnas said that modules have secrets. They do things, but we do not know how. We know just the interfaces and names of the procedures.

For example, let us consider a linked list using pointers. FORTRAN has no pointers in early versions. We choose to implement linked lists in FORTRAN using an array. If other programmers on a project know this, they can find the value of some item in the list by array access. This would defeat the purpose of information hiding.

The EDSAC used subroutines. It was fed input on paper tape. One enterprising programmer, rushing upstairs to use the EDSAC, trailing the paper tape, realized that the first few instructions and several print routines were identical to ones others made. The programmer borrowed somebody else s tape of those. Eventually, these partial tapes migrated to hang on the wall near the operator, captured in many photos. As programmers came in, they would grab the setup tapes and print tapes to read in as needed. Eventually, other routines became standard, mostly mathematical terms such as square root or differentiation . These were added to the collection near the operator. Thus, information hiding was off to a start, although secrets were not kept reliably.




Human Aspects of Software Engineering
Human Aspects of Software Engineering (Charles River Media Computer Engineering)
ISBN: 1584503130
EAN: 2147483647
Year: 2004
Pages: 242

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net