<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Perspectives about Paradigms in Software Engineering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Carlos Cares</string-name>
          <email>ccares@lsi.upc.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Xavier Franch</string-name>
          <email>franch@lsi.upc.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Enric Mayol</string-name>
          <email>mayol@lsi.upc.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. Ingeniería de Sistemas, Universidad de La Frontera</institution>
          ,
          <addr-line>Av. Francisco Salazar 01145, Casilla 54-D, Ph 56-45 325000 Temuco</addr-line>
          ,
          <country country="CL">Chile</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dept. Llenguatges i Sistemes Informàtics - Universitat Politècnica de Catalunya</institution>
          ,
          <addr-line>Jordi Girona, 1-3 08034 Ph.: 43-93 413 7839, Barcelona</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <fpage>737</fpage>
      <lpage>744</lpage>
      <abstract>
        <p>There is a broad use of the term “paradigm” in Software Engineering. Concepts such as structured paradigm, cascade paradigm or agent-oriented paradigm are very frequent in software engineering research proposals. In this essay we distinguish between functional and scientific paradigm and we show that the common use of paradigm in Software Engineering is about the functional or engineering paradigm rather than scientific paradigm. We distinguish among four possible perspectives and, in this context, we sustain that the scientific perspective is intrinsic and hence very difficult to properly identify and describe. We argue that a discussion about the scientific paradigm in Software Engineering could help us to evaluate and improve the research practice in the discipline.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>From the beginning of software engineering research, we can identify many proposals
using the term “paradigm”. We argue that the meanings of these references are
engineering interpretations rather than scientific interpretations. Moreover, we think that
there is not an obvious identification of what are the basics and philosophical
assumptions in software engineering research which conform its scientific paradigm. In order
to show these concepts we review in section 2 two common interpretations about the
general concept of paradigm. In section 3 we review some interpretations of the
paradigm concept in software engineering. In section 4 we distinguish between software
engineering as a profession and software engineering as research discipline. Finally in
section 5 we close the circle of the previous discussions arguing in favour of the
necessary identification and description of the scientific paradigm in software
engineering. The main conclusions are summarized in section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>2 The Concept of Paradigm</title>
      <p>
        If we look up the word paradigm in some dictionaries, we will find out a definition
built on words: “model”, “example” or “pattern” [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1-3</xref>
        ]. For example in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] paradigm
is defined as “an example that serves as pattern or model”. In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] it is said that a
paradigm is a “a model of something which explains it or shows how it can be
produced”. These common interpretations have been included in computer related topics,
e.g. in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] paradigms are models for solving class of problems (architectural,
interaction, design and so on). Moreover, in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] it is said that a paradigm is “a model or
example of the environment and methodology in which systems and software are
developed and operated”. There is attached an explanatory list which includes
functional programming, logic programming and object-oriented design among others.
      </p>
      <p>
        On the other hand, there is a scientific use of the word. For example in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] it is said
that paradigm is “a conceptual framework for a scientific discipline; a set of
assumptions, methodologies, and objectives that determine a scientific investigation”.
Moreover [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] refers to a “set of fundamental assumptions that influence how people think
and how they perceive the world” and also as “a framework of guiding assumptions,
theories, and methods that define a particular approach to scientific problems”.
      </p>
      <p>
        Consequently we have a common understanding of paradigm and, also, a more
specific point of view with the scientific understanding of the word paradigm. One of
the most influencing scholars on the scientific point of view is Kuhn [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. He sustains
that the scientific progress is done through paradigmatic shifts. He understands a
paradigm as the total pattern of perceiving, conceptualizing, acting, validating, and
valuing associated with a particular image of reality that prevails in a science or a
branch of science. Kuhn formulated the cycled model of scientific progress with the
first pre-paradigmatic stage, where a paradigm has not been yet broadly accepted; a
normal science period, where the current paradigm is used; and a revolutionary stage,
when the paradigm is changed; this process conform a paradigmatic shift. Although
Feyerabend [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ] sustains that science does not precisely follows this pattern, the
concept of paradigm imposed by Kuhn has gained acceptance in scientific
discussions.
      </p>
      <p>
        Kuhn also argues [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] that a scientific paradigm is a radical view, because when a
paradigm changes the scientist works in a different world afterwards. He adds that
there is a moment when different competing paradigms confront each other, generally
by different schools. Moreover, these schools disagree what is a problem and what is
a solution.
      </p>
      <p>
        Summarizing we see two interpretations of the concept of paradigm: first, a
common understanding related to a model, pattern or example of something and, on the
other hand, the scientific approach, oriented to a set of assumptions related with a
conceptual framework supporting these assumptions and influencing how scientists
think and how science is carry out. In order to expose our points of view we
distinguish these two approaches. We name the first functional paradigm and the second
scientific paradigm. We think that both interpretations are different because a
functional paradigm can be seen as an abstraction tool, something that we can change
easily. We could follow a model A under some conditions, and under other conditions
we could follow a model B. This does not mean that we have changed our basic
assumptions or that we have modified our way of thinking. In this sense a functional
paradigm is not a set of fundamental assumptions or a radical view, if it changes does
not mean that scientist adopt new instruments and look in new and different things
like Kuhn argues [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>On the other hand, we do not change easily our basic assumptions, because
assumptions are beliefs. Therefore a scientific paradigm is constituted by a set of beliefs
which influence the approach to define the research object and the ways to study it.</p>
      <p>Finally, we also recognize other interpretations for the word “paradigm”,
especially from grammar, although these interpretations are not interesting for us at this
moment.</p>
    </sec>
    <sec id="sec-3">
      <title>3 The Concept of Paradigm in Software Engineering</title>
      <p>In Software Engineering we have been using the word “paradigm” from many years
ago: we have used the cascade paradigm, the structured paradigm, the object-oriented
paradigm and some others.</p>
      <p>
        Bosch [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], also from the software engineering point of view, said that “paradigm
refers to a set of related concepts which are used by a person to perceive the real
world or a part of it”. But this sentence is from the modelling point of view.
      </p>
      <p>
        When Korson and McGregor [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] argued in favour of object-orientation as a
paradigm they said that this “approach goes beyond the object-based technique…”, and
that the “… artefacts of the design process used in conjunction with a
modellingbased decomposition approach yield a paradigm,…”.
      </p>
      <p>
        Jennings [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] supports the idea of paradigm as a broadly conceptual framework.
He argued that software paradigms generally go through three main phases: (1) early
pioneers identify a new way of doing things, (2) individuals and organisations that are
early adopters of leading-edge technologies recognise the potential and (3) basic
concepts become more widespread and enter in the mainstream.
      </p>
      <p>
        In spite of these comments we have very few reviewing articles about the concept
of paradigm from the software engineering discipline. One of the contributions on
this topic is done by Göktürk [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Although he does not arrive at any final summary
about the concept, his deep analysis includes many relevant points of view from Plato
and Aristotle to the contemporaries Foucault and Kuhn. One of the explanations that
Göktürk selects is the metaphor of the darkness glass. The paradigm would be this
element that allows us a specific perception of the reality. There are two additional
features of paradigms expressed by Göktürk: the existence of the imprecision in the
conceptual framework and the idea of a broad application of it.
      </p>
      <p>Moreover Göktürk has the perception that there is some mystic aura around the
concept of paradigm. We think that this conception is supported by two elements.
First the darkness glass metaphor, which reflects that an specific paradigm does not
allow us to see the reality as is because there is a conceptual framework that acts as a
filter and second, it is usual that there is not an agreement about the specific
conceptual framework. On the other hand, we could speculate that this last feature allows an
extensive use because many interpretations over the same conceptual framework are
possible and therefore its use is not limited by the interpretation of this conceptual
framework.</p>
      <p>
        Additional support to sustain that a paradigm is constituted by a diffuse conceptual
framework can be obtained mixing two results: first, the proposal of Jennings [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ],
who sustains that agent orientation is a software engineering paradigm and second the
work of Mao and Yu [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], who recently showed how the basic social conceptual
framework of agent-oriented methodologies have many differences. Thus we have
similar but not identical conceptual frameworks interpreting a specific paradigm
(agent orientation).
      </p>
      <p>Coming back to our proposal to distinguish between a functional paradigm and a
scientific paradigm we can see that, the examples mentioned above refer to how to do
software and not how to do science, i.e. the examples show a functional point of view
of paradigms.</p>
      <p>In the case of Göktürk’s proposal, it is not clear how static is the inherent
conceptual framework. i.e., can we easily change our darkness glass? Any answer (positive
or negative) guides us to confirm our idea that dividing paradigm between functional
and scientific. A positive answer implies that the perception can change easily and
therefore we could use different paradigms under different conditions. On the other
hand, a negative answer says that the vision is static, the conceptual framework is
formed of solid beliefs and therefore they influence our thinking and hence our
research.</p>
    </sec>
    <sec id="sec-4">
      <title>4 The two faces of Software Engineering</title>
      <p>
        In this section we briefly argue that Software Engineering has two faces, the
professional face and the scientific one. We first review the concept of software engineering
proposed by Sommerville [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] who briefly says that “software engineering is an
engineering discipline that is concerned with all aspects of software production” and
specifies that the basic activities are: software specification, development, validation
and evolution. We think that there is no doubt about software engineering being an
engineering discipline, in any case some arguments supporting this can be found in
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] where it is said that engineering principles have used successfully in order to
build complex computer systems. Also in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] this position is defended as a result of
some answers about what is engineering.
      </p>
      <p>
        The application of scientific knowledge always appears as one of the engineering
principles. In this case, mathematics and computer science seems to be the most
relevant sources of scientific knowledge provided to software engineering discipline.
However we claim that software engineering is a research discipline too. We rely this
belief on the work of Basili [
        <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
        ] and Kitchenham [
        <xref ref-type="bibr" rid="ref22 ref23">22, 23</xref>
        ] among others, where
software engineering is assumed a research discipline. In these cases the question is
how to do research. In addition, according to the definition of software engineering,
we can say that software engineering, as a research discipline, is concerned about the
production of software and that the software process is the research object. Therefore,
in software engineering as research discipline we have a relevant source of
knowledge oriented to improve the software engineering practice. Thus, if the goal of a
generic research area is to produce knowledge, then the goal of the software
engineering scientific discipline is to produce knowledge about improving the software
process.
      </p>
      <p>When we distinguish software engineering as a research discipline we think that an
additional differentiation from related disciplines is necessary. However this specific
differentiation could take us some additional space and it is not the focus of this
essay. However we claim that computer science, software engineering and information
systems research constitute different research disciplines with different research
objects and different research approaches.</p>
      <p>
        In Information Systems (IS) research the term paradigm in the scientific way is
clearly acknowledged. For example Dobson presents [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], as part of its
argumentation, a difference between the concept of scientific paradigm between Kuhn and
Bhaskar and the implications for IS research. Fitzgerald and Howcroft [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] show
paradigmatic dichotomies in IS research mentioning Interpretivism and Positivism.
We think those research disciplines are different from Software Engineering in which
the research object is the software process. Here there is a clear concentration about
conceptual analysis and proof of concepts as its main research approach [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ].
      </p>
      <p>
        To sum up we argue in favour of differentiating between software engineering as a
profession and software engineering as a research discipline. We also distinguish
among computer science, information systems and software engineering research
disciplines. This last distinction allows us to focus in software engineering as a
different research discipline from computer science and information systems such as it is
done in [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>5 The four perspectives</title>
      <p>We have identified two types of paradigms and two facets of software engineering.
Our proposal is that these two differentiations are orthogonal views i.e. that in
practical aspects we can find the two types paradigms has been used by both, software
engineering researches and software engineers. This cross product provides four
different perspectives, (EE) engineering paradigms used by software engineers, (ES)
engineering paradigms used by software engineering researchers, (SE) scientific
paradigms used by software engineers, and (SS) scientific paradigms used by
software engineering researchers. We illustrate these four perspectives in the figure 1.</p>
      <p>On the EE perspective we observe that software engineering as a profession uses
the different paradigms as tools. Maybe a simple add can be done in a structured way,
a calculator could be implemented with a proper class and a data processing service
could be implemented using an agent. But all these alternatives are not really
competing. They are different choices to tackle a software development process. Hence the
structured, object-oriented and agent-oriented paradigms coexist without problems
and moreover, we sustain that this coexisting is positive and synergic. We claim that
these functional paradigms are really engineering paradigms, i.e., model or patterns
that guide us the modelling when we need to develop software.</p>
      <p>On the SE perspective we observe that engineering paradigms constitute firstly
research products and thus a way to focus the current solution approach to software
development. We also sustain that engineering paradigms are not scientific
paradigms, because they do not change our assumptions about software engineering is,
they do not change our research object (the software process) and they do no change
our way to do research. Moreover, we believe that the successful of software
engineering as research discipline as precisely providing engineering paradigms with their
related components (for instance design tools, programming languages, developing
techniques and testing methods). Therefore we see that the normal and historical
behaviour of the software engineering research discipline has been to produce
engineering paradigms about how to develop software.</p>
      <sec id="sec-5-1">
        <title>Engineering Use</title>
        <p>(goal: to produce software)</p>
      </sec>
      <sec id="sec-5-2">
        <title>Scientific Use</title>
        <p>(goal: to produce knowledge)
EE
SE</p>
      </sec>
      <sec id="sec-5-3">
        <title>Engineering</title>
      </sec>
      <sec id="sec-5-4">
        <title>Paradigms</title>
        <p>(e.g. Object-Oriented)
Like a design</p>
        <p>metaphor.
e.g. Object-Oriented
Software Engineering
Like a research
topic, exploting or
creating them.
e.g. agent-oriented
testing tools</p>
      </sec>
      <sec id="sec-5-5">
        <title>Scientific Paradigms</title>
        <p>(e.g. Positivism)
ES
SS</p>
        <p>To understand the</p>
        <p>domain.
e.g. Use of qualitative
research techniques at
requirements elicitation</p>
        <p>To produce
software engineering
knowledge</p>
        <p>
          On the ES perspective we have found the use of scientific paradigms and some
specific research methodologies into the software process. For example in [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ] it is
reviewed some scientific paradigms and its application to software development is
analyzed. Other related proposals are [
          <xref ref-type="bibr" rid="ref29 ref30">29, 30</xref>
          ] where action research and focus groups
research methodologies are proposed like requirements elicitation techniques. i.e.
scientific paradigms and scientific approaches used into the software process as
engineering techniques.
        </p>
        <p>
          About the SS perspective is where we believe that a debate is necessary. We think
that the behaviour of the discipline has been static. We have not found a paradigmatic
SS discussion in software engineering. In the sense of Kuhn perhaps we are living a
normal science period. But, as Dieguéz Lucena [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ] has explained, this period has
been critiqued because it has an inherent sense of mediocrity.
        </p>
        <p>
          This point, should be very debatable, because, there are many proposals about the
research methodologies that software engineering could follow [
          <xref ref-type="bibr" rid="ref20 ref21 ref22 ref23 ref26">20-23, 26</xref>
          ].
Furthermore, these proposals are oriented to change the research practice and, in this sense,
we can say that there are initiatives to support a scientific paradigmatic change in
software engineering research (the SS perspective). However, these proposals are
based mainly on importing research methodologies, i.e. using somewhere formulated
methodologies in Software Engineering. Thus research methodologies are visualized
like technologies.
Indeed, our belief is that we need a broad and critique discussion about what is really
the research scientific paradigm in software engineering. We think that it is not clear,
but, at the same time, we think that its identification and description is the first step to
evaluate it, which could allow us seeing our set of inherent assumptions with their
weak and strong points. We think that this step is foundational in the generation of a
true paradigmatic-shift in software engineering research.
6
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>We have presented a review of the concept paradigm. We have argued that there
exist at least two types of paradigms: functional paradigms and scientific paradigms.
In a parallel way we have argued that software engineering has two faces, the
professional and the scientific face. We have shown how the traditional concept of
paradigm in software engineering corresponds to the functional type, i.e. that paradigm is
broadly conceived as a modelling tool rather than a philosophical point of view. Thus
we have identified four perspectives to understand the use of paradigms in software
engineering. We argue that the scientific perspective of the current software
engineering scientific paradigm is not evident and a broad discussion could be the first step to
acknowledge the general assumptions in the discipline. In this sense our contribution
realize that, in spite of the word “paradigm” is usually used in software engineering
research, we could stay under a normal research stage because fundamentals
questions have not been formulated. We also propose a conceptual framework that helps
us to identify what research proposals could support a paradigmatic change (the SS
perspective). Moreover we suggest that identifying inherent research assumptions in
software engineering research is the initial step of a real paradigmatic shift, which has
been the base of memorable research outcomes.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Cowie</surname>
            <given-names>A. P.</given-names>
          </string-name>
          (ed.):
          <article-title>Oxford advanced learner's dictionary of current English</article-title>
          . Fourth ed., Oxford unversity press, Oxford (
          <year>1989</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>O</given-names>
            <surname>'Neill</surname>
          </string-name>
          <string-name>
            <surname>M.</surname>
          </string-name>
          (ed.):
          <article-title>Concise dictionary</article-title>
          &amp; thesaurus. ed., Chambers Harrap Publishers Ltd, Edinburgh (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Soukhanov</surname>
            <given-names>A. H</given-names>
          </string-name>
          . (ed.):
          <article-title>The American heritage dictionary of the English language</article-title>
          . Third ed., Houghton Mifflin Company, Boston - New York (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Sinclair</surname>
            <given-names>J.:</given-names>
          </string-name>
          <article-title>English dictionary for advanced learners</article-title>
          . Chief editor John Sinclair, Third ed., Harper Collins publishers, Glasgow (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Kaisler</surname>
            <given-names>S. H.</given-names>
          </string-name>
          : Software Paradigms. ed., J. Wiley &amp; Sons Inc.,
          <string-name>
            <surname>Hoboken</surname>
          </string-name>
          , New Jersey (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Daintith</surname>
            <given-names>J</given-names>
          </string-name>
          .: A Dictionary of Computing. ed., Oxford University Press (http://www. oxfordreference.
          <source>com)</source>
          , (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Archaeology</given-names>
            <surname>Wordsmith</surname>
          </string-name>
          . Visited at Feb 2006 Accesed at http://www.referencewordsmith.com/archword/dict.html
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>8. Anthropology/Sociology dictionaries. Visited at Feb 2006 Accesed at http://www.webref.org/anthropology/ and http://www.webref.org/sociology</mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kuhn</surname>
            <given-names>T. S.:</given-names>
          </string-name>
          <article-title>The structure of scientific revolutions</article-title>
          . Third ed., U. Chicago Press, (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Feyerabend</surname>
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Contra el método</article-title>
          .
          <source>Esquema de una teoría anarquista del conocimiento. 2nd 1989 ed., ARIEL S.A.</source>
          ,
          <string-name>
            <surname>Barcelona</surname>
          </string-name>
          (
          <year>1989</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Feyerabend</surname>
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Adios a la razón</article-title>
          .
          <source>3th</source>
          <year>1996</year>
          ,
          <string-name>
            <surname>Tecnos</surname>
            <given-names>S.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Madrid</surname>
          </string-name>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Bosch</surname>
          </string-name>
          J.:
          <article-title>Paradigm, language model and method</article-title>
          .
          <source>In Proc of the Workshop on Research Issues in the Intersection of Software Engineering and Programming Languages, ICSE-17, April</source>
          <volume>24</volume>
          -
          <fpage>25</fpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Korson</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGregor J. D.</surname>
          </string-name>
          :
          <article-title>Understanding object-oriented: a unifying paradigm</article-title>
          .
          <source>Communications of the ACM</source>
          <volume>33</volume>
          (
          <issue>9</issue>
          ) (
          <year>1990</year>
          )
          <fpage>40</fpage>
          -
          <lpage>60</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Jennings</surname>
            <given-names>N. R.</given-names>
          </string-name>
          :
          <article-title>On agent-based software engineering</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>117</volume>
          (
          <issue>2</issue>
          ) (
          <year>2000</year>
          )
          <fpage>277</fpage>
          -
          <lpage>296</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Göktürk</surname>
            <given-names>E.</given-names>
          </string-name>
          : What is “paradigm”? Visited at December Accesed at http://heim. ifi.uio.no/~erek/essays/paradigm.pdf
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Mao</surname>
            <given-names>X. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Organizational and social concepts in agent oriented software engineering</article-title>
          . In
          <string-name>
            <surname>Agent-Oriented Software</surname>
          </string-name>
          Engineering V. LNCS
          <volume>3382</volume>
          (
          <year>2005</year>
          )
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Sommerville</surname>
            <given-names>I.: Software</given-names>
          </string-name>
          <string-name>
            <surname>Engineering</surname>
          </string-name>
          . 7th ed.,
          <string-name>
            <surname>Addison</surname>
            <given-names>Wesley</given-names>
          </string-name>
          , (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Wasserman</surname>
            <given-names>A. I.</given-names>
          </string-name>
          :
          <article-title>Toward a discipline of software engineering</article-title>
          .
          <source>IEEE Software 13(6)</source>
          (
          <year>1996</year>
          )
          <fpage>23</fpage>
          -
          <lpage>31</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Shaw</surname>
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Prospects for an engineering discipline of software</article-title>
          .
          <source>IEEE Software 7(6)</source>
          (
          <year>1990</year>
          )
          <fpage>15</fpage>
          -
          <lpage>24</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Basili</surname>
            <given-names>V. R.</given-names>
          </string-name>
          :
          <article-title>The role of experimentation in software engineering: past, current, and future</article-title>
          .
          <source>In Proc. of the 18th Int. Conf. on Software Engineering</source>
          , (
          <year>1996</year>
          )
          <fpage>442</fpage>
          -
          <lpage>449</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Basili</surname>
            <given-names>V. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Selby</surname>
            <given-names>R. W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hutchens</surname>
            <given-names>D. H.</given-names>
          </string-name>
          :
          <article-title>Experimentation in software engineering</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>12</volume>
          (
          <year>1986</year>
          )
          <fpage>733</fpage>
          -
          <lpage>743</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Kitchenham</surname>
            <given-names>B. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dyba</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jorgensen</surname>
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Evidence-based Software Engineering</article-title>
          .
          <source>In Proc. of the 26th Int. Conf. on Software Engineering (ICSE'04)</source>
          , (
          <year>2004</year>
          )
          <fpage>273</fpage>
          -
          <lpage>281</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Kitchenham</surname>
            <given-names>B. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pleeger</surname>
            <given-names>S. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pickard</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jones</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoaglin</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>El-Emam</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosenberg</surname>
            <given-names>J</given-names>
          </string-name>
          .:
          <article-title>Preliminary Guidelines for Empirical Research in Software Engineering</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>28</volume>
          (
          <issue>8</issue>
          ) (
          <year>2002</year>
          )
          <fpage>721</fpage>
          -
          <lpage>734</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Dobson P. J.:</surname>
          </string-name>
          <article-title>Critical realism and information systems research: why bother with philosophy</article-title>
          .
          <source>Information Research</source>
          <volume>7</volume>
          (
          <issue>2</issue>
          ) (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Fitzgerald</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Howcroft</surname>
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Competing Dichotomies in IS research and possible strategies for resolutions</article-title>
          .
          <source>In (eds.)</source>
          ,
          <source>Proc. of the Int. Conf. on Information Systems (ICIS'98)</source>
          , (
          <year>1998</year>
          )
          <fpage>155</fpage>
          -
          <lpage>164</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Glass</surname>
            <given-names>R. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vessey</surname>
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramesh</surname>
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Research in software engineering: an analysis of the literature</article-title>
          .
          <source>Information and Software Technology</source>
          <volume>44</volume>
          (
          <issue>8</issue>
          ) (
          <year>2002</year>
          )
          <fpage>491</fpage>
          -
          <lpage>506</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Glass</surname>
            <given-names>R. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramesh</surname>
            <given-names>V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vessey</surname>
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>An analysis of research in computing disciplines</article-title>
          .
          <source>Communications of the ACM</source>
          <volume>47</volume>
          (
          <issue>6</issue>
          ) (
          <year>2004</year>
          )
          <fpage>89</fpage>
          -
          <lpage>94</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Hirschheim</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klein</surname>
            <given-names>H.</given-names>
          </string-name>
          :
          <source>Four Paradigms of Information Systems Development. Communications of the ACM</source>
          <volume>32</volume>
          (
          <issue>10</issue>
          ) (
          <year>1989</year>
          )
          <fpage>1199</fpage>
          -
          <lpage>1216</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Fowler</surname>
            <given-names>D. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Swatman</surname>
            <given-names>P. A.</given-names>
          </string-name>
          :
          <article-title>Building information systems development methods: synthesising from a basis in both theory and practice</article-title>
          .
          <source>In (eds.)</source>
          , Australian Software Engineering Conference. ASWEC, Conference, Location (
          <year>1998</year>
          ) pp.
          <fpage>110</fpage>
          -
          <lpage>117</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Kontio</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehtola</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bragge</surname>
            <given-names>J.:</given-names>
          </string-name>
          <article-title>Using the focus group method in software engineering: obtaining practitioner and user experiences</article-title>
          .
          <source>In (eds.)</source>
          ,
          <source>Proc of the International Symposium on Empirical Software Engineering</source>
          , ISESE '
          <fpage>04</fpage>
          , (
          <year>2004</year>
          )
          <fpage>271</fpage>
          -
          <lpage>280</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Diéguez-Lucena</surname>
            <given-names>A</given-names>
          </string-name>
          .: Filosofía de la Ciencia. ed.,
          <string-name>
            <surname>Filosofía</surname>
            ,
            <given-names>Bib. Nueva S.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Madrid</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>