David Lorge Parnas (lahir 10 Februari 1941) adalah seorang pionir di bidang rekayasa perangkat lunak yang mengembangkan konsep perancangan modular yang kini menjadi dasar pemrograman berorientasi objek.

David Parnas

Karier

sunting

David meraih gelar Ph.D. di Carnegie Mellon University, dalam bidang kelistrikan dan kemudian bekerja di sana sebagai profesor. Dia juga mengajar di University of North Carolina at Chapel Hill (Amerika Serikat), Technische Hochschule Darmstadt (Jerman), dan di University of Victoria (British Columbia, Kanada). Kemudian ia pindah ke McMaster University di Hamilton, Ontario, Kanada pada tahun 1991. Sejak 2002, David bekerja di University of Limerick di Limerick, Ireland.

Perancangan modular

sunting

Konsep utama yang dikembangkan David tentang perancangan modular ditulisnya dalam satu paper yang terkenal pada tahun 1972: On The Criteria To Be Used in Decomposing Systems into Modules Diarsipkan 2007-08-20 di Wayback Machine.. Di sini, ia mengajukan pendapat bahwa kohesi yang kuat dalam tiap modul dan hubungan yang lepas antar modul adalah dua prinsip dasar dalam perancangan perangkat lunak yang modular.

Penghargaan

sunting

Kutipan

sunting

...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.

Pranala luar

sunting