-
Foote, Brian and Joseph Yoder, Big Ball of Mud
-
Wirth, Niklaus, "Program Development by Stepwise Refinement," Communications of the ACM, Vol. 14, No. 4, April 1971. Reprinted in: Software Pioneers
-
Parnas, David, "On the Criteria to be Used in Decomposing Systems into Modules", Communications of the ACM, 1972. Reprinted in: Software Pioneers
-
Parnas, David, "Designing Software for Ease of Extension and Contraction," IEEE Transactions on Software Engineering, Vol. SE-5, No. 1, pp. 128-138, March 1979.
-
Bergland, G.D., "A Guided Tour of Program Design Methodologies", Computer, 1981.
What are the characteristics of modular design? This article elaborates the relevant concepts of cohesion, coupling, complexity, correctness and correspondence.
-
Brooks, Fredrick P. Jr, "No Silver Bullet. Essence and Accidents of Software Engineering", Information Processing, 1986.
-
Moseley, Ben and Peter Marks, "Out of the Tar Pit", Software Practice Advancement, 2006.
- Nancy Leveson's MIT syllabus is a fantastic resource covering much more