<!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>Modeling Software Engineering Education with i*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michael Koch</string-name>
          <email>michael.koch@hs-coburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dieter Landes</string-name>
          <email>dieter.landes@hs-coburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Electrical Engineering and Informatics University of Applied Sciences and Arts 96450 Coburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Complex software systems play an increasingly important role in business and everyday life. Software engineering education needs to cover a wide range of technical and non-technical competencies and skills, while technologies and best practices in this area are evolving rapidly, enabling new applications for the industry. Therefore a crucial task in teaching software engineering is the incremental improvement and enhancement of courses. To make the complexity and evolution of software engineering education more transparent and traceable than through an unstructured documentation, we are searching for a way to model teaching goals. One promising candidate for modeling teaching goals is i*. We applied i* in a realistic setting and present a significant portion of the resulting model. We share some empirical experiences on using i* in this setting, highlight possible barriers and limitations, and outline potential next steps.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>Software Engineering Education</kwd>
        <kwd>Goal Modeling</kwd>
        <kwd>i*</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The influence of software in business and everyday life has become more and more
important during the last years. Due to the rapid evolution of this domain and
changing needs from industry, it is important to continuously evaluate and improve
software engineering related courses. Since the boundaries between technical and
software engineers become increasingly blurred, this issue is not only relevant for
informatics students, but also in related disciplines such as electrical engineering or
technical physics. Thus, the research project EVELIN (Experimental improVEment of
Learning software engINeering) is devoted to incrementally improve the quality of
software engineering education in various university programs.</p>
      <p>To make the evolution of a course more transparent, comparable, and traceable, it
is necessary to create and maintain a course profile including competencies, teaching
goals, as well as tasks and resources to reach these goals from the perspective of an
instructor.</p>
      <p>Due to the high complexity of these profiles, a visual notation seems to be a better
choice than an informal textual documentation which usually lacks adequate structure
since interdependencies between relevant issues remains hidden somewhere in the
text. Furthermore, graphical notations usually allow focusing on particular elements
in the model while temporarily hiding others. Nevertheless, textual representations
also have their merits to complement graphical notation – graphical notations are
valuable for the big picture, while textual notations describe details precisely. Since
competencies and teaching goals can be viewed as goals, goal modeling notations
from Requirements Engineering are obvious candidates for a suitable visual notation.
This contribution aims at getting some insights on how far one can get when course
profiles are modelled using an existing notation such as i*.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Theoretical Background</title>
      <p>
        The i* notation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is a popular approach for visually describing goals. This notation
allows describing the relationships between goals, actors (in various roles), resources,
and tasks. i* is an agent-oriented approach for goal modeling [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Therefore it pays
special attention to how goals may be defined and satisfied by various actors. It also
offers possibilities to describe the relationships between various actors. Actors can be
split up into agents (concrete persons) and roles. In our context, we focus primarily on
students and lecturers as actors.
      </p>
      <p>
        Competencies may be seen as (abstract or soft) goals of education and qualification
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. They cannot be taught directly, but have to be acquired individually by each
student. Lecturers can only provide knowledge and define tasks for students to exercise
given competencies. A competency may be defined as a combination of skills,
attitudes, and knowledge that enable a group or person to fulfill a role in an organization
or society [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Referring to [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], we use competencies as a basis for deducing teaching
goals. In our nomenclature, we distinguish between teaching goals (goals defined by
the lecturer) and learning goals (goals set individually by each student), even though
it is common to treat both terms as synonyms.
      </p>
      <p>
        Various taxonomies defined for categorizing competencies and teaching goals have
been proposed over time. One of the most popular taxonomies is Bloom’s Taxonomy
of Educational Objectives [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In spite of its shortcomings and various revisions and
enhancements, Bloom’s taxonomy is still fairly wide-spread. One well known
revision of Bloom’s taxonomy is the multi-dimensional taxonomy by Anderson and
Krathwohl [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. A domain specific taxonomy for software engineering education goals
is introduced in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], categorizing goals at six levels, namely “remember”,
“understand”, “explain”, “use”, “apply” and “develop”.
      </p>
      <p>Course profiles are typically interrelated since basic courses establish the
foundation for more advanced ones. Therefore it is common that lower-grade course profiles
contain teaching goals on the understand-level, such as “be able to understand the
concept of use cases”. In contrast, teaching goals of higher grade course tend to be
situated on the apply-level like “be able to apply the use case concept for given
scenario”.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        Monsalve and Leite [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] describe the potential of using i* as an enabler for pedagogy
transparency in the context of game-based learning for software engineering
education. Their prime concern is to raise students’ awareness of the teaching process and
make learning more effective by telling students how they are being taught.
      </p>
      <p>
        The description of course profiles and their evolution may also be an important
source of domain knowledge for our ongoing work. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] we describe current work
on CORE (Competency Repository), an intelligent knowledge base for software
engineering education. In the future, this tool should assist lecturers and educational
scientist in organizing and planning software engineering courses.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Modeling a Software Engineering Course</title>
      <p>Software engineering education at Coburg University basically consists of three
courses which build upon each other. In particular, a mandatory software engineering
course (SE) establishes the basics, an elective course elaborates software modeling
and software architectures (SMA) in more detail, and an elective capstone project
synthesizes the acquired knowledge and competencies.</p>
      <p>The SMA course contains a “Software Modeling” and an “Architecture and
Testing” part. In this article we restrict ourselves to the software modeling section to limit
complexity. Furthermore, the model expresses the perspective of instructors
exclusively since they are in charge of improving their courses.</p>
      <p>
        The software modeling section of SMA mainly focuses on advanced requirements
engineering and has recently been reviewed and enhanced [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The most important
contents are use cases and the treatment of functional and non-functional
requirements, including categorization and prioritization. Students also learn to estimate the
complexity and costs of a software project based on the requirements by using
Function Points [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and COCOMO II [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and need to collaboratively write a
requirements document for a fictional scenario. This article concentrates on these topics (see
figure 1), even though SMA also covers business process modeling with Event Driven
Process Chains (EPC), Petri Nets and Business Process Model and Notation (BPMN).
      </p>
      <p>
        How can relevant aspects of this course be mapped appropriately to i*?
Competencies and teaching goals (on a higher level) may be fuzzy and intangible. Therefore we
express them as soft goals. Abstract high level teaching goals as defined in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
mainly represent competencies to be fostered and are represented as soft goals with a bold
border (see figure 1). Competencies and teaching goals are connected with each other
forming a course profile. Positive influences can be stated by using the contribution
links “help” and “some+”. Yet, we currently have no indication whether negative
influences exist in this context or not. Exercises operationalize at least one teaching
goal and can be expressed by the task element in i*. Related artifacts or used software
and hardware can be expressed by the resource element.
      </p>
      <p>For brevity, the following SR diagram is only a small excerpt of the entire model,
omitting several teaching goals, e.g. those about process modeling. In some cases, we
model teaching goals or their representation as soft goals, occurring as leaf nodes,
putting their decomposition into tasks in the background – at least for the time being,
even though this is not recommended. For brevity, we also omit dependums in
dependency links and only mention them inside the boundaries of actors.</p>
      <p>Fig. 1. Simplified SR model of teaching goals of SMA from a lecturer’s perspective</p>
    </sec>
    <sec id="sec-5">
      <title>Experiences</title>
      <p>Even though we chose a relative small and clearly confined course, the resulting SR
diagram is quite complex. Yet, we reached our goal to describe teaching goals and
their relationships more clearly and intuitively than by a non-structured text only. The
modeling process itself was also helpful to reflect the design of a course, e.g. the
detection of isolated topics.</p>
      <p>An issue that impacts diagram complexity is the question of whether a taxonomy
with implicit relationships is used or not. For instance, the ability to apply a specific
method presupposes an understanding of the respective method – thus, there is an
implicit relationship between the two competencies (or teaching goals). Using a
taxonomy with implicit relationships for goals that build on each other may significantly
reduce the volume of a course profile and increase readability.</p>
      <p>Our initial hypothesis was that all teaching goals defined by the lecturer give rise to
corresponding expected learning objectives of an average student. Therefore, they can
be positioned inside the boundaries of the actor “student”. Yet, we found that teaching
goals that are strongly dependent on teaching methods are mainly in the responsibility
of the lecturer and therefore well placed inside his boundaries.</p>
      <p>Since there is usually no standard way to achieve an educational goal, we can only
describe aspects that help to achieve (or maybe inhabit) it, but it is hard to break the
process down to hard goals and means-end links. In our context, this may be only
possible on the task-decomposition level – in some cases.</p>
      <p>Additional aspects that we would like to include in our model are the lecturers’
considerations, hypotheses, or rationales which give rise to a teaching goal. This
might be a use case for the belief element of i*, but this is still an open question.</p>
      <p>Due to the expected high complexity of those diagrams, we recommend a
multilayered view or at least a mechanism to hide or highlight relevant aspects.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Summary and Future Work</title>
      <p>To make the complexity and evolution of software engineering courses more
transparent and traceable than an unstructured textual documentation, we are searching for
a way to model teaching goals. As teaching goals exhibit significant similarities to
requirements, we analyzed the suitability of i* for this purpose.</p>
      <p>In a first step, we intentionally applied our theoretical concept to a course on
advanced software engineering topics. Even though we have chosen a relatively
compact software engineering course, we were confronted with a couple of limitations,
leading to some open questions.</p>
      <p>
        However, our overall experiences were positive and we see a high potential for
using i* in this context – at least in a tailored version. In addition to i*, we will also
analyze other goal-oriented approaches like KAOS [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] with respect to their
suitability to model competencies and teaching goals.
      </p>
      <p>In the near future, we plan to extend our software engineering education model by
creating a course profile for the three mentioned software engineering courses at
Coburg University, which build on each other.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgements</title>
      <p>The research project EVELIN is funded by the German Ministry of Education and
Research (Bundesministerium für Bildung und Forschung) under grant no.
01PL12022A.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Modeling Strategic Relationships for Process Reengineering</article-title>
          .
          <source>PhD thesis</source>
          , Department of Computer Science, University of Toronto (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maiden</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Social Modeling for Requirements Engineering: An Introduction</article-title>
          . In: Social Modeling for Requirements Engineering, pp.
          <fpage>3</fpage>
          -
          <lpage>10</lpage>
          , MIT Press, Cambridge (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Flöttmann</surname>
          </string-name>
          , H. et al.:
          <article-title>Kompetenzen als Ziele von Bildung und Qualifikation - Bericht der Expertengruppe des Forum Bildung</article-title>
          . In: Expertenberichte des Forum Bildung. Bonn,
          <string-name>
            <surname>Germany</surname>
          </string-name>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Paquette</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>An Ontology and a Software Framework for Competency Modeling and Management</article-title>
          .
          <source>In: Journal of Educational Technology &amp; Society</source>
          <volume>10</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>1</fpage>
          -
          <lpage>21</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Möller</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Technik der Lernplanung: Methoden und Probleme der Lernzielerstellung (3rd ed</article-title>
          .), Beltz, Weinheim (
          <year>1971</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bloom</surname>
            ,
            <given-names>B.S.:</given-names>
          </string-name>
          <article-title>Taxonomy of Educational Objectives Handbook I: Cognitive Domain</article-title>
          , Longman, New York (
          <year>1956</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Anderson</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krathwohl</surname>
            ,
            <given-names>D.A</given-names>
          </string-name>
          . (eds.).
          <article-title>: A Taxonomy for Learning, Teaching, and Assessing: A Revision of Bloom's Taxonomy of Educational Objectives</article-title>
          , Addison Wesley Longman, New York (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Claren</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sedelmaier</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Ein Kompetenzrahmenmodell für Software Engineering</article-title>
          .
          <source>In: Proc. Embedded Software Engineering</source>
          <year>2012</year>
          , pp.
          <fpage>647</fpage>
          -
          <lpage>652</lpage>
          , Sindelfingen, Germany (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Monsalve</surname>
            ,
            <given-names>E.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leite</surname>
            ,
            <given-names>J.C.S.D.</given-names>
          </string-name>
          <article-title>P: Using i* for Transparent Pedagogy</article-title>
          .
          <source>In: Proc. 6 th International i* Workshop</source>
          (iStar
          <year>2013</year>
          ), pp.
          <fpage>25</fpage>
          -
          <lpage>30</lpage>
          , Valencia, Spain (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Koch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Landes</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Design and Implementation of a Competency Repository</article-title>
          .
          <source>In: New Perspectives in Information Systems and Technologies</source>
          , Volume
          <volume>1</volume>
          , pp.
          <fpage>249</fpage>
          -
          <lpage>255</lpage>
          , Springer, Heidelberg (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Sedelmaier</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Landes</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Using Business Process Models to Foster Competencies in Requirements Engineering</article-title>
          .
          <source>In: Proc. 27th Conference on Software Engineering Education and Training (CSEE&amp;T 2014)</source>
          , pp.
          <fpage>13</fpage>
          -
          <lpage>22</lpage>
          , Klagenfurt, Austria (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Garmus</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herron</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Function point analysis: Measurement practices for successful software projects</article-title>
          ,
          <source>Addison-Wesley</source>
          , Boston (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Boehm</surname>
            ,
            <given-names>B.W.</given-names>
          </string-name>
          :
          <article-title>Software cost estimation with Cocomo II, Prentice Hall</article-title>
          , Upper Saddle River (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Dardenne</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fickas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Van Lamsweerde</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Goal-directed Concept Acquisition in Requirements Elicitation</article-title>
          .
          <source>In: Proc. 6th International Workshop on Software Specification and Design (IWSSD'91)</source>
          , pp.
          <fpage>14</fpage>
          -
          <lpage>21</lpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>