<!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>An Effective Analysis Method for Computer-Supported Learning Systems Reusability</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>David Díez</string-name>
          <email>david.diez@uc3m.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Camino Fernández</string-name>
          <email>camino.fernandez@uc3m.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Juan Manuel Dodero</string-name>
          <email>juanmanuel.dodero@uc3m.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DEI Laboratory - Computer Science Department Universidad Carlos III de Madrid</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The development of computer-supported learning systems is a complex task that must take into account diverse issues and perspectives. Given the difficulties attached to this process, different authors have proposed the use of software engineering as a reference to optimise the learning material development process. Following this trend, and given the efficiency of the outcomes, it seems convenient to adapt existing product line development principles from software engineering to the development of learning materials. The purpose of this paper is to have an analysis method for learning systems that guarantees the quality of the development. This specific analysis method can facilitate the reusability and minimize the relevance of the expertise in the development of learning materials.</p>
      </abstract>
      <kwd-group>
        <kwd>Instructional engineering</kwd>
        <kwd>computer-supported learning system</kwd>
        <kwd>analysis method</kwd>
        <kwd>reusability</kwd>
        <kwd>commonality</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Instructional Engineering is defined as a method that supports the production of
computer-supported learning systems by integrating the concepts and principles of
instructional design and software engineering [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The life-cycle of earlier
instructional engineering methods resembles the phases of the traditional software
engineering process: analysis, design, development and evaluation.
      </p>
      <p>
        As Goodyear points out [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], the relation between software engineering and
learning software development is particularly strong in analysis-related tasks:
“The main areas of overlap between software engineering and courseware
engineering are probably to be found in those areas concerned with
requirements analysis and design.”
      </p>
      <p>
        The analysis phase is an essential phase of the development process, as well as one
of the determinants of product success [
        <xref ref-type="bibr" rid="ref3 ref4">3,4</xref>
        ]. These qualities are themselves very
meaningful; nevertheless, we can identify another factor that makes the activity of
analysis one of the most interesting activities in the development of
computersupported learning systems: effective reuse must be planned and considered early in
the life cycle [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        Reuse is one of the most important issues in learning systems development. So far,
there have been many attempts to support product reuse, but most of these efforts
have focused on defining reusable patterns [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and on designing artifacts for
evaluating and recovering materials [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Therefore, according to the experience in
software development, efforts should be put in defining methods for discovering
commonalities in early stages, and using this information to achieve reuse.
      </p>
      <p>The rest of the paper is organized as follows. Section 2 describes the motivations
for a specific analysis approach in the development of computer-supported learning
systems. The features of our analysis method are described in section 3. Section 4
includes a case study on how the approach has been applied. Finally, section 5
compiles a set of conclusions and future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2 The motivation for a specific analysis method</title>
      <p>
        Courseware is defined as any instructional system delivering content or
assignments via computers that supports learners as well as teachers in their
educational efforts, in all technical and instructional way [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The life-cycle of the
earlier courseware development methods resembles the phases of the traditional
software development process: analysis, design, development and evaluation. Taking
the opinion of diverse authors as a starting point that grants to the analysis phase a
preponderant role [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], we focus on the revision of the analysis stage. The aim of this
section is to provide a better understanding of the motivations that lead to the
definition of a specific analysis method.
      </p>
      <sec id="sec-2-1">
        <title>2.1 The function of the analysis stage</title>
        <p>
          The analysis is the front end phase of the development process of computer-supported
learning systems. In spite of its relevance, there is not an homogeneous view on the
usefulness or functionality of the analysis stage in the development process:
− The methods derived from instructional design models conceive the analysis as a
phase used for the definition of the educational scenario: objectives of the
instruction, profile of the student, learning environment, etc. The goal of the
analysis is to define the educational context in which such a system is meant to be
deployed. The MISA method [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], the Alessi &amp; Trollip method [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and the
Dean &amp; Whitlock [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] are included within this category.
− The development models based on principles from software engineering propose
an analysis phase in which the user needs are described. In this case, the analysis
aims at studying the system requirements, focusing on contents and the
presentation style. E.g.: models based on prototype techniques [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
        </p>
        <p>The close relation between software engineering and instructional design suggests
that the analysis for the development of computer-supported learning systems should
encompass principles from software development and instructional system
development. Nevertheless, as indicated previously, this idea is not wholly attested.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 The relevance of the reuse</title>
        <p>
          In the field of the development of computer-supported learning systems, reusability
refers to the ability to use content or learning objects for multiple courses or lessons
[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. Reusability is considered as an essential and arguably the most important
characteristic of learning objects [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. However, since reusability refers to
prospective and future usage scenarios, it is difficult to achieve.
        </p>
        <p>The concept of reusability encompasses aspects related to format, interpretation
and pedagogical suitability (15). Thus, in order to achieve an adequate reusability it is
necessary to tackle the problem from the point of view of:
− The learning object. The correct definition and formalization of learning objects
allows determining their potential reuse for specific contexts.
− The learning contexts. The adequate specification of the learning context permits
determining the most appropriate instructive method and, therefore, identifying the
more susceptible tasks or activities to reusability.</p>
        <p>So far, the standards and tools available have focused on the first of the views
presented above by dealing with aspects regarding format (but which, on the other
hand, overlooks the analysis of the specific context). In an attempt to overcome this
matter, the study of reusability in the development process of computer-supported
learning systems has been proposed.</p>
        <p>
          Based on the experience of software development, reusability should be
considered at the early phases of the development process [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. For this reason, and in
order to facilitate the identification of commonalities and further reuse, the definition
of systematic analysis methods is needed.
        </p>
        <p>Fig 1. The software development process based on domains.</p>
        <p>Having reviewed the problem, we concentrate on the establishment of mechanisms
that might be useful to solve it. This will allow defining a complete approach of
instructional engineering analysis. Learning Analysis is conceived as a systematic
instructional engineering analysis method that enables us to improve the reusability.</p>
      </sec>
      <sec id="sec-2-3">
        <title>3.1 Engineering principles</title>
        <p>
          Learning Analysis is based on Product Line Engineering [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] and, specifically, on
Domain Engineering [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. Domain Engineering is an activity that helps to build
reusable components [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. As shown in figure 1, Domain Engineering addresses the
systematic creation of domain models, which represent the set of requirements that
are common to systems within a product line.
        </p>
        <p>
          Several software engineering approaches propose a careful analysis of the domain;
however, feature modelling is the most effective technique to represent the domain
knowledge [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The underlying motivations for using feature modelling to represent
the learning domain are:
− Users and application engineers usually communicate in terms of application
features. These terms in a domain constitute domain terminology and they are used
to characterize specific applications [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ].
− The reusable software contains inherently more variability than specific
applications, and feature modelling is the key technique for identifying and
capturing commonality and variability [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
        <p>
          The feature modelling captures the general capabilities of an application in a
domain in terms of features. A feature is defined as [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]:
“A distinguishable characteristic of a system concept that is relevant to some
stakeholder in a specific domain.”
        </p>
        <p>
          A feature model represents the common and the variable features of the concepts
involved in the problem and the dependencies between the variable features. A
feature model consists of a feature diagram and some additional information, such as
a short semantic description of each feature. Different types of features concern
different types of interests in systems development. Kang [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] indicates that
application features can be classified into four different categories: (1) Capability
features, which are associated with the services or functions provided by the system
and which constitute the main concern of users; (2) Domain technology features and
(3) operating environment features, which are the concern of designers; and (4)
Implementation technique features, which are the concern of developers. Applications
cannot be built unless these different groups of features are decided upon by each
respective group of experts.
        </p>
        <p>In our approach these groups have been adapted to the educational field by
defining the following categories:
− Capability. It corresponds to contents, learning objectives and the attributes of
potential students.
− Domain technology: Platforms, tools and instructional standards.
− Operation environment. It compiles the instructional theories and the most suitable
methods to the domain.
− Implementation technique. Learning activities and services used in the domain.</p>
      </sec>
      <sec id="sec-2-4">
        <title>3.2 Engineering process</title>
        <p>
          In addition to the engineering principles, Learning Analysis provides a well-defined
engineering method. The analysis method is broken down into two processes:
− Domain analysis. Activities for analysing the domain knowledge and creating a
model. The process consists of three activities:
− Context analysis. The activity defines the scope of the domain. In addition, it
compiles information on the domain. The information can be provided by
experts or collected from available references and systems.
− Feature identification. Once the context is scoped, the domain modelling
phase provides the steps to identify the features of the domain. This activity
receives information from the following sources: rules derived from
instructional design theory, rules derived from best practices, and rules
derived from patterns in best practices [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
− Domain modelling. Having identified the features, they need to be classified
and organised in accordance to their nature. Such a classification is based on
the categories enumerated previously. In addition to the feature model, a set
of rules and restrictions amongst features is defined.
− Application analysis. Activities for analysing a specific learning system by using
the domain model created in the domain analysis stage. The process aims at
identifying the features of a specific computer-based learning system. The
selection of features is done by following some guidelines and by taking as a
reference the domain model. An effective method for identifying such a feature set
is by following the four categories, i.e. first considering capabilities, then operating
environments, and finally domain technologies and implementation techniques.
Finally, those features not compiled in the domain model are determined.
        </p>
        <p>
          The use of an analysis method divided into two independent processes, although
interrelated, is one of the reasons for the success of reuse: Domain analysis focuses
on supporting systematic and large-scale reuse by capturing both the commonalities
and the variabilities of systems within a domain [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. The results of the domain
analysis are used by the application analysis to identify potential elements for reuse in
a specific application.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Case Study: Learning and Teaching Programming</title>
      <p>Having presented the principles of the analysis method, a practical application is
illustrated. The purpose of this case study is to show how this methodology operates
and the usefulness of the solution proposed.</p>
      <p>The first step will be to determine the working context. With this goal, a base
definition is proposed and taken as a reference to set the scope of the domain. For the
purpose of our work, a domain is defined as:
“A set of educational contexts that share certain contents, as well as
pedagogical objectives and a specific form of instruction. The magnitude of
the educational contents considered must be such that they are meaningful by
themselves”.</p>
      <p>
        As an example of domain, and a case study, the learning and teaching
programming domain has been selected. It is a very interesting learning domain
because:
− It is a well-known domain. There is a long list of references in which this domain
is the object of interest.
− Developing programming courses is a complex process. The design of the course
is mainly determined by the expertise of designers [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
− Learning material reusability is a common activity.
− Reusability is a non-trivial task. Materials must be adapted to the characteristics of
the students, the instructive method and the resources available.
      </p>
      <p>
        Following the definition of the problem, a set of activities needs to be carried out:
compilation of information on such a problem, identification of the aspects that
characterise the domain, and classification of these aspects by considering the
categories indicated above. Thus, as an example, the following paragraphs describe a
simplified version of a feature model:
− Capability. The characteristics included in this group refer to: 1) Profile of the
student, which in the field of computer programming can be [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]: novice, advance
beginner, competence, proficiency and expert. 2) Contents. According to Davies
[
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], there are two kinds of contents that can be learnt by a student: programming
knowledge (e.g. loop sentence) and programming strategies (e.g. using a loop
appropriately in a program). 3) Learning objectives. Learning objectives can be
grouped as follows [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]: those regarding programming design, code
implementation and result evaluation.
− Operation environment. In general, the most adequate instruction design for
programming learning is: reading, problem-based learning and discovery learning.
The latter can be carried out both individually and collectively (groups of
students).
− Implementation technique. 1) Activities, including laboratory activities, guided
laboratory and tutorials. 2) Services, including collaboration, sequencing and
group management.
      </p>
      <p>Finally, a set of rules and conditions that relate these features and that establish the
restrictions between them are defined. Examples of these restrictions would be:
1. The profiles of students are exclusive: the student cannot be allocated to two
profiles at the same time.
2. There is a dependency relation between contents: it is not possible to transmit
contents on programming strategies without acquiring prior knowledge on such
contents.
3. Learning objectives are independent. It is not compulsory to have knowledge on a
particular group in order to gain knowledge on other groups.
4. Problem-based learning is advisable so as to acquire knowledge on code
implementation.
5. Problem-based learning requires carrying out laboratory-based activities, either
guided or not-guided.
6. Group management services are not suitable for beginners.</p>
      <p>The feature-domain model is useful as a reference for the analysis of diverse
domain learning systems. At the preliminary stages of the development of a new
system it is not obligatory to start from scratch, but it is possible to follow the
guidelines of the feature model. Likewise, the process identifies, by means of the
simplest and most effective way, the common elements among domain systems. In
the particular case of the learning and teaching programming domain, the analysis
process for the design of a programming-related subject for the first course of the
degree on Computer Engineering would consist of the following steps:
− Firstly, to determine the objectives of the course, the profile of the students and the
type of knowledge to be generated. Specifically, in our work, we wish to elaborate
a programming course for novice students, focused on the transmission of
knowledge that permits the coding of simple programmes.
− Having validated possible restrictions to the capabilities selected, the instructive
method to be used has to be identified. In particular, and after reviewing potential
alternatives, it was decided to opt for problem-based learning.
− Based upon the instructive method selected, and bearing in mind the restrictions of
the model, the most desirable activities were chosen (i.e. laboratory-based
activities and guided laboratories).
− As a final step, and in order to complete the analysis stage, a revision of the
features specific to the course, although not included in the domain model, was
made; amongst others: specification of administrative characteristics (course
duration, number of students, etc.), facilities and technological devices available,
previous experience of students in on-line courses, and evaluation mechanisms.</p>
      <p>The final result of the analysis phase is a model of the specific features of the
course to be developed, which will include the common aspects (compiled in the
domain model) and the particularities of the learning system under design. As shown
in the example, the use of a knowledge model that takes into consideration its features
eases the reuse of learning objects in the following two ways:
− On the one hand, it identifies common elements of the course in the context: those
compiled in the feature model of the domain. Thus, it is straightforward to predict
those elements susceptible to reuse (for which some material might have already
been developed).
− On the other hand, reusable aspects are characterized, what facilitates the search
and selection of available material.</p>
      <p>Furthermore, the use of a method based on domain analysis establishes the
baseline for the definition of a complete method in Domain Engineering. In this case,
the existence of groups of domain features would be associated or related to templates
of learning material. As a result, it would be possible to automatise the search and
selection of the learning object to be reused.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>The application of software engineering to instructive design has turned to be an
appropriate working strategy to optimise the development of computer-supported
learning systems. According to this idea, an approach for the analysis of instructive
software has been presented. This approach, called Learning Analysis, aims at
improving the development process in order to:
− Facilitate the reuse of materials.
− Minimize the relevance of experience in the development of learning materials.</p>
      <p>Learning Analysis proposes a systematic discovery and exploitation of
commonalities across related learning domains for achieving successful reuse. By
examining a family of related domain knowledge and the best practices underlying
this knowledge, it is possible to obtain a set of reference models expressed in terms of
“features”. The model that captures the commonalities and differences is called
“feature model”, and it is used to support both engineering of reusable materials and
the specification of the new learning system.</p>
      <p>Future work will lead to the refinement and specification of the guidelines here
proposed, which constitute essential tools for the development of diverse models. The
approach presented must be refined, stretched and improved through its application to
others real cases of study. The final objective will be the definition of a complete
method of Domain Engineering that will allow transferring and adapting the
guidelines defined for Product Line Engineering to the development of
computersupported learning systems.</p>
      <p>Acknowledgements. This work is supported by the Moduweb project
(TIN200609678) funded by the Spanish Ministry of Science and Education (MEC)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Paquette</surname>
          </string-name>
          , G. Instructional Engineering in Networked Environments. Pfeiffer, San Francisco. (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Goodyear</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <article-title>Infrastructure for courseware engineering</article-title>
          . In Tennyson, R.D. and
          <string-name>
            <surname>Barron</surname>
          </string-name>
          , A.E. (eds.):
          <source>Automating Instructional Design: Computer-Based Development and Delivery Tools</source>
          . Springer Verlag, New York (
          <year>1995</year>
          )
          <fpage>11</fpage>
          -
          <lpage>31</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Gagne</surname>
            ,
            <given-names>R.M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Medsker</surname>
            ,
            <given-names>K.L.</given-names>
          </string-name>
          <article-title>The Conditions of Learning: Training Applications</article-title>
          . Wadsworth Publishing, Belmond, California (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Preece</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rogers</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Sharp</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Interaction</surname>
          </string-name>
          <article-title>Design: beyond human computer interaction</article-title>
          . John Willey &amp; Sons, New York (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Kang</surname>
            ,
            <given-names>K.C.</given-names>
          </string-name>
          <article-title>FORM: A feature-oriented reuse method with domain-specific reference architectures</article-title>
          .
          <source>Annals of Software Engineering</source>
          <volume>5</volume>
          (
          <year>1998</year>
          )
          <fpage>143</fpage>
          -
          <lpage>168</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Baggetun</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rusman</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Poggi</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Design Patterns for Collaborative Learning: From Practice to Theory and Back</article-title>
          .
          <source>In Proceedings of World Conference on Educational Multimedia, Hypermedia and Telecommunications</source>
          (
          <year>2004</year>
          )
          <fpage>2493</fpage>
          -
          <lpage>2498</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Padrón</surname>
            ,
            <given-names>C.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Diaz</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Aedo</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <article-title>On the Concepts of Usability and Reusability of Learning Objects</article-title>
          .
          <source>The International Review of Research in Open and Distance Learning</source>
          (
          <year>2003</year>
          ) Vol.
          <volume>4</volume>
          , No. 2
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Grützner</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruhe</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Pfahl</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Systematic Courseware Development Using an Integrated Engineering Style Method</article-title>
          .
          <source>In Proceedings of NETWORKED LEARNING IN A GLOBAL ENVIRONMENT</source>
          :
          <article-title>Challenges and Solutions for Virtual Education (</article-title>
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Wiegers</surname>
            ,
            <given-names>K. E.</given-names>
          </string-name>
          <string-name>
            <surname>Software</surname>
          </string-name>
          <article-title>Requirements: practical techniques for gathering and managing requirements throughout the product development cycle</article-title>
          . Microsoft Press, Redmond. (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Alessi</surname>
            ,
            <given-names>S.M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Trollip</surname>
            ,
            <given-names>S.R.</given-names>
          </string-name>
          <string-name>
            <surname>Computer-Based</surname>
            <given-names>Instruction</given-names>
          </string-name>
          :
          <article-title>Methods and Development</article-title>
          . Prentice Hall, Nueva
          <string-name>
            <surname>Jersey</surname>
          </string-name>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Dick</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Cary</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <article-title>The Systematic Design of Instruction</article-title>
          . Harper Collins, Nueva York (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Goodyear</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <article-title>Instructional design environments: Methods and tools for the design of complex instructional systems</article-title>
          . In Dijkstra, S.,
          <string-name>
            <surname>Seel</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schott</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Tennyson</surname>
          </string-name>
          , R.D. (eds.): Instructional Design: International Perspective. Volume 2
          <article-title>- Solving Instructional Design Problems</article-title>
          . Lawrence Erlbaum Associates.
          <source>Kentucky</source>
          (
          <year>1997</year>
          )
          <fpage>83</fpage>
          -
          <lpage>111</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Hartshorne</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>Thoughtful creation of online course content: implications of SCORM for educators</article-title>
          .
          <source>Academic Exchange Quarterly</source>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Sicilia</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Garcia</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <article-title>On the Concepts of Usability and Reusability of Learning Objects</article-title>
          .
          <source>The International Review of Research in Open and Distance Learning</source>
          (
          <year>2003</year>
          ) Vol.
          <volume>4</volume>
          , No. 2
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Sicilia</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>A. Reusability and reuse of learning objects: myths, realities and possibilities</article-title>
          .
          <source>In Proceedings of the First Pluri-Disciplinary Symposium on Design</source>
          ,
          <article-title>Evaluation and Description of Reusable Learning Contents (</article-title>
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Clements</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Northrop</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Northrop</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          <string-name>
            <surname>Software Product</surname>
          </string-name>
          <article-title>Lines: Practices and Patterns</article-title>
          .
          <source>Addison Wesley</source>
          , Boston (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Prieto-Diaz</surname>
            ,
            <given-names>R. Domain</given-names>
          </string-name>
          <string-name>
            <surname>Analysis</surname>
          </string-name>
          :
          <article-title>An Introduction</article-title>
          .
          <source>Software Engineering Notes</source>
          (
          <year>1990</year>
          ) Vol.
          <volume>15</volume>
          , No.
          <volume>2</volume>
          ,
          <fpage>47</fpage>
          -
          <lpage>54</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K. Generative</given-names>
          </string-name>
          <string-name>
            <surname>Programming</surname>
          </string-name>
          .
          <source>Principles and Techniques of Software Engineering Based on Automated Configuration and Fragment-Based Component Models</source>
          .
          <source>PhD Thesis</source>
          , Technical University of Ilmenau (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kang</surname>
            ,
            <given-names>K.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chae</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Choi</surname>
            ,
            <given-names>B.W.</given-names>
          </string-name>
          <article-title>Feature-based approach to object-oriented engineering of applications for reuse</article-title>
          .
          <source>Software-Practice and Experience</source>
          (
          <year>2000</year>
          )
          <fpage>1025</fpage>
          -
          <lpage>1046</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Koper</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>An Introduction to Learning Design</article-title>
          . In. Koper,
          <string-name>
            <given-names>R.</given-names>
            and
            <surname>Tattersall</surname>
          </string-name>
          . C. (eds):
          <source>Learning Design. A Handbook on Modelling and Delivering Networked Education and Training</source>
          , Springer Berlin Heidelberg (
          <year>2005</year>
          )
          <fpage>3</fpage>
          -
          <lpage>19</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Prieto-Diaz</surname>
            ,
            <given-names>R. Domain</given-names>
          </string-name>
          <string-name>
            <surname>Analysis</surname>
          </string-name>
          :
          <article-title>An Introduction</article-title>
          .
          <source>Software Engineering Notes</source>
          (
          <year>1990</year>
          ) Vol.
          <volume>15</volume>
          , No.
          <volume>2</volume>
          ,
          <fpage>47</fpage>
          -
          <lpage>54</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Dreyfus</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Dreyfus</surname>
            ,
            <given-names>S. Mind</given-names>
          </string-name>
          <article-title>over machine: The power of human intuition and expertise in the era of the computer</article-title>
          . Free Press (
          <year>1986</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Davies</surname>
            ,
            <given-names>S.P.</given-names>
          </string-name>
          <article-title>Models and theories of programming strategy</article-title>
          .
          <source>International Journal of Man-Machine Studies</source>
          ,
          <volume>39</volume>
          (
          <year>1993</year>
          )
          <fpage>237</fpage>
          -
          <lpage>267</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Robins</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rountree</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Rountree</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <article-title>Learning and Teaching Programming: A Review and Discussion</article-title>
          . Computer Science Education (
          <year>2003</year>
          ) Vol.
          <volume>13</volume>
          , No.
          <volume>2</volume>
          ,
          <fpage>137</fpage>
          -
          <lpage>172</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>