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