Larry L. Constantine
Born February 14, 1943, Minneapolis, Minn.; 1960s pioneer of disciplined, structured software design methodologies.
Education: SB, management, Massachusetts Institute of Technology, 1967 (plus graduate study); certificate, Family Therapy, Boston Family Institute, 1973.
Professional Experience: staff consultant, programmer/analyst, CEIR, Inc., 1963-1966; president, Information & Systems Institute, Inc., 1966-1968; faculty member, IBM Systems Research Inst., 1968-1972; independent consultant, information system design, 1969-1976; assistant clinical professor of psychiatry, Tufts University, School of Medicine, 1973-1980; independent consultant, organization development, 1975-1978; assistant professor of human development and family studies, University of Connecticut, 1983-1987; clinical supervisor, adolescent and family intervention, LUK, Inc., Fitchburg, Mass., 1984-1986; consulting supervisor and family therapist, private practice, 1973-1991; independent consultant, software development, 1987-1992; principal consultant, Constantine & Lockwood, Ltd., 1993-present.
Honors and Awards: Research Award, Society for Family Therapy and Research, 1984.
Constantine began his work on the "invention" of structure charts, first used in essentially their modern form in 1966 and "published" in course material most of which later appeared in Yourdon and Constantine (1975). The direct precursor was Jim Emery's hierarchy charts of 1962. [Emery, J, "Modular Data Processing Systems Written in COBOL," Comm. ACM , Vol. 5, No. 5, 1962]
A year later (1967) Constantine introduced data flow diagrams based on Martin and Estrin's "data flow graphs." This was first used, in its modern form, as an analysis and design tool by Constantine and his company later that year and first made widely accessible in the IBM Systems Journal piece (1974).
The concept of coupling and cohesion developed by Constantine in the mid-1960s was first published in 1968 and repeated in the 1974 publication. These two measures have been the subject of more than 100 studies and are at the heart of a number of software quality and complexity metrics (including Card and Aggresti's intrinsic complexity metric). They have also demonstrated their resilience as fundamental intellectual constructs in that they have carried over into metrics for object-oriented software.
A significant event in the structural revolution, a sort of "coming out" for what would become structured analysis and design, was the first (and only) National Symposium on Modular Programming, sponsored by the Information and Systems Institute in July 1968. This conference gathered such luminaries as Mealy, Morenoff and McLean, Yourdon, Vincent, Aron, and Constantine, to discuss issues in modular system architecture and development methods long before these were au courant. This conference saw the first more or less complete summary of structured design.
It was also at this conference that Conway's Law ("the structure of a system resembles the structure of the organization that developed it") was named by George Mealy. [Mealy, George, "How to Design Modular (Software) Systems," Proc. Nat'l. Symp. Modular Programming, Information & Systems Institute, July 1968. A recent Internet thread on the history of computing reported that Conway's article appeared in Datamation in April 1968 but didn't refer to the "law" by name.] Also named at the conference was Mealy's Law: "There is an incremental programmer who, when added to a project, consumes more resources than are made available."
The first publication using the term "structured design" appeared in May 1974 (Stevens, Myers, and Constantine 1974) and generated more reprint requests than any other in the journal's history. It has been widely cited and reprinted as one of the seminal works of software engineering. In a more widely accessible forum it gave a more complete explanation of coupling and cohesion and presented structure charts and data flow diagrams in modern form.
The concept was further expounded in a pair of editions of books entitled Structured Design: Fundamentals of a Discipline of Program and Systems Design, published successively by Yourdon Press and Prentice-Hall in 1975 and 1979.
Constantine has laid his claim to pioneer status by stating:
I know there is an understandable ACM and academic bias in this, but if you are going to include publication of Knuth, "Art of Computer Programming," [in a listing of landmark articles on software engineering] how can you ignore a landmark like Structured Design, one of the most successful books in the history of computing, still in print in original form some 17 years after first publication? I may never have the academic legitimacy to even be considered for a Turing Award, but the methodology is the most widely practiced today and the book is used in colleges and universities around the world.
You should also consult Paul Ward's series on the history of structured analysis in American Programmer. He documents Ross's role with SADT and the advent of SA by DeMarco, Gane, and Sarson. These should be represented in the chart also.
It seems to me a disservice to reduce the entire thread of structured methods and the structural revolution to one letter to the editor (even though it did appear in the Comm. ACM. As a footnote to history, although I have been cited dozens of times in Comm. ACM, I was never able to get published there.
Constantine, Larry L., "Segmentation and Design Strategies for Modular Programming," in Barnett and Constantine, L.L., eds., Modular Programming: Proceedings of a National Symposium, Information & Systems Press, Cambridge, Mass., 1968.
Stevens, Myers, and Larry L. Constantine, "Structured Design," IBM Systems J., Vol. 13, No. 2, May 1974.
Yourdon, Edward, and Larry L. Constantine, Structured Design: Fundamentals of a Discipline of Program and Systems Design, Yourdon Press, 1975.
Yourdon, Edward, and Larry L. Constantine, Structured Design: Fundamentals of a Discipline of Program and Systems Design, Prentice-Hall, Englewood Cliffs, NJ., 1979.
Portrait added (MRW, 2012).
New content Copyright © 2013-2018 by the IEEE Computer Society and the Institute of Electrical and Electronics Engineers Inc.
All rights reserved. This material may not be reproduced or redistributed without the express written permission of the copyright holder.