*

Abstract - Denning, 1994a

Peter Denning and P.A. Dargen. 1994. "A Discipline of Software Architecture" Interactions. (January). 55-65.

Software engineering is charactorized by a set of formalisms, methods and practices for producing reliable, economical, efficient software systems that meet their specifications. The persistent inability to achieve this goal has led experts to say that software engineering is not a disciple and that the word "engineering" is misleading.

Software design is characterized as a set of practices and implementation techniques that allow the construction of marketable sofware systems that provide form and function satisfying to users. Software designers tend to think of their work as a craft best learned through apprenticeship and the design process as a close participation with users. They do not claim to have a disciple.

The main claim is that the missing discipline is neither software engineering nor software design, but software architecutre. It could be constructed by joining software design and software engineering, following archtecture of buildings as a model. The resulting field would growing into a discipline within a few years and could resolve the software crisis.

A second claim is that an ontology of design is needed to bring the two fields together; neither has such now. (An ontology is a conceptual framework for interpreting the world in terms of recurrent actions.) We propose an interpretation of desing that is the beginning of an ontology. It is focused on the satisfied client and not just the specification-meeting system. It is grounded in a language/action perspective rather than a systems perspective. The new interpretation observes concerns, breakdowns, standard practices, institutions, and recurring actions and produces means to connect those observations with software structures. The skill of doing this is called ontological mapping.

Ontological mapping consists of observing the ontology of a domain, constructing its ontological dictionary and constructing a workflow map of its recurring standard processes. The map can be used by the software architect to review with the client how the system will satisfy each concern and to coordinate the implementation of the information and software structure with the software engineers. It can be used later to assess and reconfigure the system. The one map can be used by the designer, the implementor, the assessor, and the maintainer.

Back to Bibliography

Back to Workflow Module Map

MRH

8/11/94