AllExperts > Encyclopedia 
Search      
Find out about volunteering to AllExperts

David Parnas: Encyclopedia BETA


Free Encyclopedia
 Home · Index · Browse A-Z  · Questions and Answers ·
Encyclopedia

Browse A-Z
ABCDEFGHIJKLMNOPQRSTUVWXYZNum


License
Disclaimer

 
 
 
 
Free Online Courses
12 Weeks to Weight Loss
Take Charge of Stress
Learn How to Bake
Budgeting 101
Deeper Faith
DIY Fashion Makeover

       MORE E-COURSES
 
   

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  Misc

David Parnas

Dr. Parnas

David Lorge Parnas (born February 10, 1941) is an early pioneer of software engineering who developed the concept of module design which is the foundation of object oriented programming today. He is also noted for his advocacy of technical realism.

Career

David earned his Ph.D. at Carnegie Mellon University in electrical engineering and worked there as a professor for many years. He also taught at the University of North Carolina at Chapel Hill (USA), the Technische Hochschule Darmstadt (Germany), the University of Victoria (British Columbia, Canada), and Queen's University (Ontario, Canada.) He then went to McMaster University in Hamilton, Ontario, Canada in 1991. Since 2002, David has worked at the University of Limerick in Limerick, Ireland. Parnas also earned a professional engineering license in Canada and was one of the first to apply traditional engineering principles to software design.

Modular design

In modular design his double dictum of high cohesion within modules and loose coupling between modules is fundamental to modular design in software. This concept was introduced in Parnas's seminal 1972 paper On The Criteria To Be Used in Decomposing Systems into Modules.

Technical Activism

Dr. Parnas took a public stand against the US Strategic Defense Initiative (also known as "Star Wars") in the mid 1980s, arguing that it would be impossible to write an application of sufficient quality that it could be trusted to prevent a nuclear attack. He has also been in the forefront of those urging the professionalization of "software engineering" (a term that he characterizes as "an unconsummated marriage"). Dr. Parnas is also a heavy promoter of ethics in the field of software engineering.

Awards and honors

*ACM "Best Paper" Award, 1979
*Two "Most Influential Paper" awards International Conference on Software Engineering (date unknown)
*Doctor honoris causa of the Faculté des Sciences Appliquées, Université catholique de Louvain, Belgium, 1996
*ACM SIGSOFT's "Outstanding Research" award, 1998

Quotations

...it is almost always incorrect to begin the decomposition of a system into modules on the basis of a flowchart. We propose instead that one begins with a list of difficult design decisions or design decisions which are likely to change. Each module is then designed to hide such a decision from the others.

I would advise students to pay more attention to the fundamental ideas rather than the latest technology. The technology will be out-of-date before they graduate. Fundamental ideas never get out of date. However, what worries me about what I just said is that some people would think of Turing machines and Goedel's theorem as fundamentals. I think those things are fundamental but they are also nearly irrelevant. I think there are fundamental design principles, for example structured programming principles, the good ideas in "Object Oriented" programming, etc.

External links

*McMaster University homepage
*University of Limerick profile and CV (PDF)
*On The Criteria To Be Used in Decomposing Systems into Modules
*Software Fundamentals: Collected Papers by David L. Parnas at Addison Wesley online bookstore



Email this page
About Us | Advertise on This Site | User Agreement | Privacy Policy | Kids' Privacy Policy | Help
About and About.com are registered trademarks of About, Inc. The About logo is a trademark of About, Inc. All rights reserved.
This is the "GNU Free Documentation License" reference article from the English Wikipedia. All text is available under the terms of the GNU Free Documentation License. See also our Disclaimer.