David Parnas

Short description: Canadian software engineer

David Parnas

Born|  (1941-02-10) February 10, 1941 (age 85)

Plattsburgh, New York, United States

Known for| Information hiding, Strategic Defense Initiative activism
Scientific career
Doctoral advisor| Alan Perlis
Everard Mott Williams
Doctoral students| Richard J. Lipton
Steven M. Bellovin

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.

## Contents

* 1 Life
* 2 Work
* 2.1 Modular design
* 2.2 Technical activism
* 2.3 Stance on academic evaluation methods
* 3 Bibliography
* 4 See also
* 5 References
* 6 Further reading
* 7 External links

## Life

Parnas earned his PhD 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.), at the Department of Computer Science of the Technische Universität Darmstadt (Germany), the University of Victoria (British Columbia, Canada), Queen's University in Kingston, Ontario, McMaster University in Hamilton, Ontario, and University of Limerick (Republic of Ireland).

David Parnas received a number of awards and honors:

* ACM "Best Paper" Award, 1979
* Norbert Wiener Award for Social and Professional Responsibility, 1987
* Two "Most Influential Paper" awards International Conference on Software Engineering, 1991 and 1995
* Doctor honoris causa of the Computer Science Department, ETH Zurich, Switzerland, 1986
* Fellow of the Royal Society of Canada, 1992[1]
* Fellow of the Association for Computing Machinery, 1994
* Doctor honoris causa of the Louvain School of Engineering, University of Louvain (UCLouvain), Belgium, 1996
* ACM SIGSOFT's "Outstanding Research" award, 1998
* IEEE Computer Society's 60th Anniversary Award, 2007
* Doctor honoris causa of the Faculty of Informatics, University of Lugano, Switzerland, 2008
* Fellow of the Gesellschaft für Informatik, 2008[2]
* Fellow of the Institute of Electrical and Electronics Engineers (IEEE), 2009
* Doctor honoris causa of the Vienna University of Technology (Dr. Tech.H.C.), Vienna Austria, 2011

## Work

### Modular design

In modular design, his double dictum[citation needed] of high cohesion within modules and loose coupling between modules is fundamental to modular design in software. However, in Parnas's seminal 1972 paper On the Criteria to Be Used in Decomposing Systems into Modules, this dictum is expressed in terms of information hiding, and the terms cohesion and coupling are not used. He never used them. [3]

### 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.[4] He has also been in the forefront of those urging the professionalization of "software engineering" (a term that he characterizes as "an unconsummated marriage"[5]). Dr. Parnas is also a heavy promoter of ethics in the field of software engineering.

### Stance on academic evaluation methods

Parnas has joined the group of scientists which openly criticize the number-of-publications-based approach towards ranking academic production. On his November 2007 paper Stop the Numbers Game,[6] he elaborates on several reasons on why the current number-based academic evaluation system used in many fields by universities all over the world (be it either oriented to the amount of publications or the amount of quotations each of those get) is flawed and, instead of contributing to scientific progress, it leads to knowledge stagnation.

## Bibliography

* Parnas, D.L. (December 1972). "On the Criteria To Be Used in Decomposing Systems into Modules". Communications of the ACM 15 (12): 1053–58. doi:10.1145/361598.361623. http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.132.7232.

## See also

* Automatic programming

## References

1. ↑ RSC Fellow search, retrieved 2018-01-04.
2. ↑ GI-Fellow citation , retrieved 2012-03-09.
3. ↑ Parnas 1972.
4. ↑ Parnas D.L. (December 1985). "Software aspects of strategic defense systems". Comm ACM 28 (12): 1326–35. doi:10.1145/214956.214961. Bibcode: 1985AmSci..73..432P.
5. ↑ Parnas D.L. (September 1997). "Software engineering: an unconsummated marriage". Comm ACM 40 (9): 128. doi:10.1145/260750.260784.
6. ↑ Parnas, David (November 2007). "Stop the Numbers Game". Communications of the ACM 50 (11): 19–21. doi:10.1145/1297797.1297815.

## Further reading

* ~~~~ (2001). Hoffman, Daniel M.; Weiss, David M.. eds. Software Fundamentals – Collected Papers by David L. Parnas. Addison-Wesley. ISBN 0-201-70369-6.

## External links

* McMaster University (Hamilton, Ontario, Canada)
* University of Limerick profile broken 2013-4-26 and CV broken 2013-4-26
* IEEE Computer Society's 60th Anniversary Award
* David Lorge Parnas at the Mathematics Genealogy Project

* v
* t
* e

Software engineering

Fields|

* Computer programming
* Requirements engineering
* Software deployment
* Software design
* Software maintenance
* Software testing
* Systems analysis
* Formal methods

Concepts|

* Data modeling
* Enterprise architecture
* Functional specification
* Modeling language
* Orthogonality
* Programming paradigm
* Software
* Software archaeology
* Software architecture
* Software configuration management
* Software development methodology
* Software development process
* Software quality
* Software quality assurance
* Software verification and validation
* Structured analysis

Orientations|

* Agile
* Aspect-oriented
* Object orientation
* Ontology
* Service orientation
* SDLC

Models|

| Developmental|

* Agile
* EUP
* Executable UML
* Incremental model
* Iterative model
* Prototype model
* RAD
* UP
* Scrum
* Spiral model
* V-Model
* Waterfall model
* XP

|

Other|

* SPICE
* CMMI
* Data model
* ER model
* Function model
* Information model
* Metamodeling
* Object model
* Systems model
* View model

Languages|

* IDEF
* UML
* USL
* SysML

Software
engineers

* Victor Basili
* Kent Beck
* Grady Booch
* Fred Brooks
* Barry Boehm
* Peter Chen
* Danese Cooper
* Ward Cunningham
* Tom DeMarco
* Edsger W. Dijkstra
* Delores M. Etter
* Martin Fowler
* Adele Goldstine
* Margaret Hamilton
* C. A. R. Hoare
* Lois Haibt
* Mary Jean Harrold
* Grace Hopper
* Watts Humphrey
* Michael A. Jackson
* Ivar Jacobson
* Alan Kay
* Nancy Leveson
* Stephen J. Mellor
* Bertrand Meyer
* David Parnas
* Trygve Reenskaug
* Winston W. Royce
* James Rumbaugh
* Mary Shaw
* Peri Tarr
* Elaine Weyuker
* Niklaus Wirth
* Edward Yourdon

Related fields|

* Computer science
* Computer engineering
* Project management
* Risk management
* Systems engineering

* Category
* Commons

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/David Parnas. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Biography:David_Parnas&oldid=933577"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template