Skip to Main Content
Summary form only given, as follows. "Complexity" and "crisis" have become synonyms in the (brief) history of software engineering. The terms "component," "decomposition," "structure" and "architecture" have been associated with methods and techniques proposed over the years to defeat the crisis, from structured programming to object/component-based programming and, more recently, serviceoriented architectures. As the "software crisis" seems to keep making headlines, it is time that we ask ourselves whether we have made any progress in tackling ??complexity??... In this talk, the author suggests that the crisis of "yesterday" is not necessarily that of "today," and that it is useful to distinguish between two different notions of complexity - physiological and social - that arise in software design. He then discusses some of the mathematical techniques and methodological principles that are available to address them.