<!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>Using Intentional Modeling to Discover the User Preferences in Existing Software Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Eric-Oluf Svee</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jelena Zdravkovic</string-name>
          <email>jelenaz@dsv.su.se</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer and Systems Sciences Stockholm University</institution>
          ,
          <addr-line>Forum 100, SE-164 40 Kista</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Information systems consist of many low-level components, such as source code, functioning together as a unified whole. However, higher-level requirements, such as the preferences of users concerning quality intentions of the system, are often under-documented, if documented at all. Consequently it can be highly important to elicit the intentions underlying the system for driving or justifying system acceptance in a certain business context. This paper utilizes intentional modeling to discover just such user preferences in existing software systems, in this case a system for managing of the student thesis process in a Swedish university. To accomplish this, stepwise guidelines are proposed for evaluating what user preferences an extant software system expresses. These are presented in a feature model, which is then mapped to the software systems goals, which are themselves represented in i*.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>Requirements Engineering</kwd>
        <kwd>Consumer Preferences</kwd>
        <kwd>Goal Modeling</kwd>
        <kwd>iStar</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        This work proposes that user preferences for software systems can be thought of as
consumer preferences. We proposed a solution in our previous work [
        <xref ref-type="bibr" rid="ref13 ref9">9,13</xref>
        ] to capture
consumer preferences and introduce them into the development of software systems
that will support them. In this study a real case is used to illustrate the feasibility of
deriving user preferences of an existing software system by following a value
typology classified in the Consumer Preference Meta Model [
        <xref ref-type="bibr" rid="ref13 ref9">9,13</xref>
        ] to generate feature
models as defined in FODA [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which is in turn are used to generate goal model in i*
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>The significance of having a reverse-engineering method for the elicitation of goal
models—in this case accomplished by demonstrating the support for desired or
mandated consumers preference that are then classified according to a chosen user
value framework—comes from the many systems that are faced either with
nonexisting or poorly formed requirements. In a perfect world all requirements would be
well written, in addition to being firmly grounded on consumer preferences. The
novelty of this approach allows for existing software systems to be evaluated for
supporting, and enabling, consumer preferences. It differs from prior approaches due
to its explicit adoption of techniques that are commonly deployed in usability testing
and evaluation. This allows for low-costs and low-training demands, creating a
lowthreshold for adoption of the technique.</p>
      <p>This paper is organized as follows: Section 2 presents prior work in this area, a
brief overview of the consumer preference framework utilized, as well as the usability
techniques adopted. Section 3 describes the proposed reverse-engineering method for
the elicitation of goal models while Section 4 presents the conclusions and directions
for future research.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>
        Prior work in this area includes [
        <xref ref-type="bibr" rid="ref1 ref11 ref12 ref13 ref9">1, 9, 11,12,13</xref>
        ]. Each adopts a form of intentional
modeling as its primary approach. In contra poise, the novelty of the present approach
lies in its adoption of low-cost, easily accessible, off-the-shelf techniques commonly
utilized within usability testing and design.
      </p>
      <p>
        User preferences and their relation in terms of a consumer preference meta-model
were conceptualized in [
        <xref ref-type="bibr" rid="ref13 ref9">9,13</xref>
        ]. This included a classification of, and the mappings
between, several common consumer frameworks that are considered to represent
preferences of users at different abstraction levels. One of those well-known
classifications of user preferences we find as a relevant for this study is Holbrook’s
Consumer Value typology, coming from the marketing sector [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Using three
dimensions—Extrinsic/Intrinsic, Self-oriented/Other-oriented, and Active/Reactive,
Holbrook’s Typology of Consumer Values identifies eight archetypes that represent
distinct types of value in the consumption experience: Efficiency (e.g., Convenience),
Excellence (e.g., Quality), Status (e.g., Success), Esteem (e.g., Reputation), Play (e.g.,
Fun), Aesthetics (e.g., Beauty), Ethics (e.g., Justice), and Spirituality (e.g., Faith).
      </p>
      <p>
        Commonly used techniques from usability testing are adopted for their
lowthreshold for implementation; costs and training for both are quite minimal and
numerous free resources exist. Inputs that are part of a Heuristic Evaluation [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] (a
prototype, typical tasks, and user profile) are utilized, in addition to those of a
Cognitive Walkthrough [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Whereas heuristic evaluation focuses on individual
elements in the interface, a cognitive walkthrough focuses on individual actions in the
sequence, asking a number of questions about the learnability of each action. It
requires an explicit sequence of actions for each task—the path that the walkthrough
process follows.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Scientific Contributions</title>
      <p>This paper utilizes intentional modeling to discover the user preferences in existing
software systems, in this case a tool for administering the thesis process at a
university. To accomplish this, stepwise guidelines are proposed for evaluating what
user preferences an extant software system expresses. These are then presented in a
feature model, which is then mapped to the software systems goals, which are
themselves represented in i*.</p>
      <sec id="sec-3-1">
        <title>Guideline 1: Document current system features</title>
        <p>The software system that is the subject of this work is a shared portal for students and
supervisors to manage the process for bachelor’s and master’s theses. Brought into
service in Spring, 2012, through the tool, students and instructors are able to
collaborate on thesis projects from idea inception through thesis completion and
archival.</p>
        <p>
          At a high level, the reconstruction of the structural aspects of a software system
through structural re-documentation could be utilized [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] while on the lowest level,
its software code itself could be used [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. In this work, a middle road between the
two—the implemented system itself—was evaluated using both a Heuristic
Evaluation [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] and a Cognitive Walkthrough of [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>The task selected for both the Evaluation and Walkthrough was “Activation of
Progress State Indicator”, shown in Figure 1. The Progress State Indicator is a visual
aid that shows the level of completion for a particular stage in the thesis process.
Modeled on traffic lights, the red, orange, and green maintain their commonly
understood meanings in the Progress State Indicator. This is meant as an easy to
recognize sign for supervisors. However, because this is student rather than
systemdriven, there is an ethical component to the activity, where the student make a public
claim about the status of their work.
Table 2 displays a subset of the steps of the process used in the Walkthrough (Column
1), System Feature Utilized (Column 2) and Supported Heuristics (Column 3). Note
that some steps are omitted from Table 2 to improve readability, but the full feature
set is captured in the feature model (Figure 3).
Walkthrough Step System Feature Utilized Supported Heuristics
Login (#1) Single sign-on (SSO) -Visibility of system status
Navigate to Project User profiles that support -Consistency and standards
Overview page (#2) Profile-based views -Error prevention
Creation of Progress Profile-based activities -Match between system/real world
State Indicator (#6) -Recognition rather than recall
-Aesthetic and minimalist design</p>
        <p>
          With the Evaluation and Walkthrough complete, a feature model (Figure 2) is
developed utilizing the work of Kang et. al.,[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The Cognitive Walkthrough
identified a series of actions that define a particular activity, and those system
components that interact with and support that activity become the source for the
feature model.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Guideline 2: Link features to user preference framework</title>
        <p>
          The Heuristic Guidelines of Nielsen used above are mapped to Holbrook’s
Typology [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] below in Table 3. The relationships are heavily dependent on the
Dimensions of the typology; for example, Efficiency is Self-oriented, Active, and
Extrinsic. This indicates that the feature benefits the user directly, is initiated by the
user, and is utilitarian in nature.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>Guideline 3: Generate i* model</title>
        <p>
          This guideline proposes the use of i* based on the Consumer Preference
MetaModel (CPMM) through mappings proposed in [
          <xref ref-type="bibr" rid="ref13 ref9">9,13</xref>
          ]. The i* framework was chosen
in both works because it is designed for capturing intentions of a group of dependent
actors, such as stakeholders in a requirements engineering process. Furthermore i*
provides a rich modeling notation in this context [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
We have proposed a step-based method for reverse engineering extant systems using
feature modeling to elicit those stakeholder goals that reflect the consumer-oriented
preferences the system is fulfilling. The primary motivation is the need for eliciting
users’ preferences in software systems in today’s conditions, a move that will ensure
systems’ quality assurance, competitiveness, and openness, among others. The
approach relies on a previous forward-engineering proposal for capturing different
preferences of users for a system to configure lines of requirements for that system.
The usability of the method has been illustrated with a case of a real system for thesis
management expected to support the quality requirements mandated by the state
Council for Higher Education. These requirements we have presented using
Holbrook’s consumer value framework [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]; yet in other business contexts, different
frameworks can be considered.
        </p>
        <p>The proposed method needs further research to facilitate a more systematic and
more generic way for discovering the preferences of users of different kinds from
existing software systems to be able, in a common lack of documentation for such
qualities to assess system’s compliance with needs and requirements in this direction.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dalpiaz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <article-title>Location-based software modeling and analysis: Troposbased approach</article-title>
          .
          <source>In Conceptual Modeling-ER</source>
          <year>2008</year>
          (pp.
          <fpage>169</fpage>
          -
          <lpage>182</lpage>
          ). Springer (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Gordijn</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Akkermans</surname>
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>and van Vliet J.C.</surname>
          </string-name>
          <article-title>Business Modeling is not Process Modeling, Conceptual Modeling for E-Business and the Web</article-title>
          ,
          <string-name>
            <surname>LNCS</surname>
          </string-name>
          <year>1921</year>
          (pp.
          <fpage>40</fpage>
          -
          <lpage>51</lpage>
          ). Springer (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Holbrook</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.B. Consumer Value</surname>
          </string-name>
          :
          <article-title>A Framework for Analysis and Research</article-title>
          . Routledge. London, GBR (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. i* Wiki, http://istar.rwth-aachen.de/tiki-view_articles.php,
          <source>last accessed</source>
          <year>2014</year>
          -
          <volume>03</volume>
          -28.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Kang</surname>
            <given-names>K.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cohen</surname>
            <given-names>S.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hess</surname>
            <given-names>J.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novak</surname>
            <given-names>W.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peterson</surname>
            <given-names>A.S.</given-names>
          </string-name>
          <article-title>Feature-oriented domain analysis (FODA) feasibility study</article-title>
          ,
          <source>Technical report No</source>
          . CMU/SEI-90
          <string-name>
            <surname>-</surname>
          </string-name>
          TR-
          <volume>21</volume>
          . Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA (
          <year>1990</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lewis</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Wharton</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Cognitive Walkthroughs in Handbook of Human-Computer Interaction</article-title>
          , Helander,
          <string-name>
            <given-names>M. G.</given-names>
            ,
            <surname>Landauer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. K.</given-names>
            , &amp;
            <surname>Prabhu</surname>
          </string-name>
          , P. V. (Eds.).
          <source>Elsevier</source>
          (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Müller</surname>
            ,
            <given-names>H. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tilley</surname>
            ,
            <given-names>S. R.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Wong</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <article-title>Understanding software systems using reverse engineering technology perspectives from the Rigi project</article-title>
          .
          <source>In Conf of the Centre for Adv. Studies on Collab. Research: Software Eng</source>
          .Vol.
          <volume>1</volume>
          (pp.
          <fpage>217</fpage>
          -
          <lpage>226</lpage>
          ).
          <source>IBM</source>
          (
          <year>1993</year>
          , October).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Nielsen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Molich</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>Heuristic evaluation of user interfaces</article-title>
          .
          <source>In Proc. of the SIGCHI conference on Human factors in computing systems</source>
          (pp.
          <fpage>249</fpage>
          -
          <lpage>256</lpage>
          ). ACM (
          <year>1990</year>
          , March).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Svee</surname>
            ,
            <given-names>E.-O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giannoulis</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Zdravkovic</surname>
            ,
            <given-names>J. Towards Consumer</given-names>
          </string-name>
          <string-name>
            <surname>Preference-Aware Requirements</surname>
          </string-name>
          .
          <source>In Advanced Information Sys Eng</source>
          .
          <source>Workshops</source>
          (pp.
          <fpage>531</fpage>
          -
          <lpage>542</lpage>
          ). Springer (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liaskos</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lapouchnian</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Sampaio do Prado Leite</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          <article-title>Reverse engineering goal models from legacy code</article-title>
          .
          <source>In 13th IEEE Int'l Conf. on Requirements Engineering</source>
          . (pp.
          <fpage>363</fpage>
          -
          <lpage>372</lpage>
          ). IEEE (
          <year>2005</year>
          , September).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lapouchnian</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liaskos</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Leite</surname>
            ,
            <given-names>J. C. S. P.</given-names>
          </string-name>
          <article-title>From stakeholder goals to high-variability software design</article-title>
          .
          <source>Technical Report CSRG-509</source>
          , University of Toronto (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , do Prado Leite,
          <string-name>
            <given-names>J. C. S.</given-names>
            ,
            <surname>Lapouchnian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            , &amp;
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Configuring features with stakeholder goals</article-title>
          .
          <source>In Proceedings of the 2008 ACM symposium on Applied Computing</source>
          (pp.
          <fpage>645</fpage>
          -
          <lpage>649</lpage>
          ). ACM (
          <year>2008</year>
          , March).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Zdravkovic</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Svee</surname>
            ,
            <given-names>E. O.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Giannoulis</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Capturing consumer preferences as requirements for software product lines</article-title>
          .
          <source>Requirements Engineering, Journal 10.1007/s00766-013-0187-2</source>
          , (pp.
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
          ). Springer (
          <year>2013</year>
          , November).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>