Author_Institution :
Centre for Software Reliability, City Univ., London, UK
Abstract :
The word ´model´ must be one of the most overused in the English language. It can mean an ideal, an abstraction or a cardboard replica. It may be presented as a diagram, printed text, or a set of mathematical formulae. It may represent a physical structure, a logical structure, a sequence of events, or a set of causal relationships. This article examines the various meanings of ´model´ and asks if the usages of the term in software engineering jargon are always meaningful. It reviews several types of software model, including life-cycle models, control-flow and data-flow models, design paradigms such as object-orientation and functional decomposition, quality models, and models of system behaviour, and outlines their deficiencies.