HONG KONG BAPTIST UNIVERSITY
FACULTY OF SCIENCE
Department of Computer Science Distinguished Lecture
How Precise Documentation Allows Information Hiding to Reduce Software Complexity and Increase its Agility
Prof. David Lorge Parnas
Pioneer in Software Engineering
University of Limerick & McMaster University
Date: September 1, 2009 (Tuesday)
Time: 10:30 - 12:00 am
Venue: Lecture Theater 1 (LT1), Ho Sin Hang Campus
When the first papers on "information hiding" were published (1970-72), reaction was mixed:
Ten years later, a textbook discussed those papers saying, "Parnas only wrote down what all good programmers were doing anyway".In the 25th anniversary edition of "Mythical Man Month", Fred Brooks indicated that his original opinion was wrong and wrote "Parnas was right".Today, most textbooks indicate that "information hiding" (or related formulations such as structured
design and object-orientation) is a good principle but industrial software developers do not do it.These, obviously contradictory, observations all have part of "the truth" but overlook a basic fact, viz. - if you hide some information, you must give people other information to work with. Information hiding solves many problems but only if the designers pay serious attention to documentation.This talk reviews the information hiding principle, stating it more precisely than was done when it was introduced, and then illustrates how mathematical documentation can make it work.
David Lorge Parnas (born February 10, 1941) is a Canadian early pioneer of software engineering, who developed the concept of information hiding in modular programming, which is an important element of object-oriented programming today. He is also noted for his advocacy of precise documentation.
Parnas earned his Ph.D. at Carnegie Mellon University in electrical engineering. Parnas also earned a professional engineering license in Canada and was one of the first to apply traditional engineering principles to software design.
He worked there as a professor for many years. He also taught at the University of North Carolina at Chapel Hill (U.S.), the Technische Hochschule Darmstadt (Germany), the University of Victoria (British Columbia, Canada), and Queen's University (Ontario, Canada).
In 1991, he then went to McMaster University in Hamilton, Ontario. Between 2002 and 2008, David Parnas worked at the University of Limerick in Limerick, Ireland.
David Parnas received several awards and honors
********* ALL INTERESTED ARE WELCOME ***********
(For enquiry, please contact Computer Science Department at 3411 2385)
Department of Computer Science, Hong Kong Baptist University