Information Technology Reference
In-Depth Information
lack of clarity of the link between the contents and structure of a model on one
hand and its purpose on the other [4]. Secondly, evaluation of quality of mod-
els in general, and therefore EA models, is relatively under researched. While
there are international standards for software systems there is “little agreement
among experts as to what makes a “good” model” [8]. Empirical measurements
of the goodness of an EA model are generally lacking in the literature. Is that
because we want to evaluate the final outputs of the modelling process rather
than the success of the modelling process? Would a re-appraisal of Naur's ideas
will provide a new insight and approach to questioning the “why” of a model?
Similarly, would a re-appraisal provide insight to the “goodness” of a model for
assessing the ecacy of a model in representing knowledge of a domain? These
questions are the subject of this paper.
The remainder of the paper is structured as follows: Section 2 outlines the
main hypotheses posed by Naur. Section 3 and 4 presents a more detailed anal-
ysis of aspects of the hypotheses (programs as models and methods). Section
5 provides an alternative view of how methods for EA should structured and
presents two underlying philosophical and psychological theories and their con-
ceptual integration as the basis for a conversation framework approach to EA
method design rather than the algorithmic artifact oriented views that are cur-
rently prevalent. Section 6 concludes with an overview of the implications arising
from this re-appraisal of Naur's seminal paper in the context of conversational
processes for EA modelling.
2 Programming as Theory Building
Peter Naur wrote “Programming as Theory Building” in 1985, it was reprinted
later in his collection of works, Computing: A Human Activity in 1992 [10]. The
paper presents a discussion that contributes to what programming is. While
it is tempting to assume from the title of the paper that Naur is focused on
the minutiae of programming, he is specific in that programming denotes the
“whole activity of design and implementation” and thus his theory applies to the
field of software engineering. The fundamental premise asserts that program-
ming should be regarded as an activity by which programmers achieve a certain
insight or theory of some aspect of the domain that they are addressing. The
knowledge, insight or theory that the programmer has come into possession of
is a theory in the sense of Ryle [15]. That is, a person who has a theory knows
how to do certain things and can support the actual doing with explanations,
justifications and responses to queries. That insight or theory is primarily one
of building up a certain kind of knowledge that is intrinsic to the programmer
whilst any auxillary documentation remains a secondary product. Of particular
interest, is how Naur explains the life-cycle of a program. Programs are created
by the establishment of a theory, the maintenance of a program is dependent
on the theory being transferred between programmers; and the program dies
when the theory has decayed. Program revival is described as re-establishing the
theory behind the program which cannot be done merely from documentation
 
Search WWH ::




Custom Search