<!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>Integrated Framework for Software Requirement Analysis</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andre Rusli</string-name>
          <email>andrerusli19@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Osamu Shigo</string-name>
          <email>shigo@mail.dendai.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Graduate School of Information Environment, Tokyo Denki University</institution>
          ,
          <addr-line>Chiba</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Requirement elicitation is a very critical step in software development. In order to develop adequate software which answers to user's needs, it is essential to understand the real-world environment, the users themselves, goals, constraints, and risks and its possible solutions. Unable to describe correct requirements can lead to a massive software development failure. This paper aims to propose an integrated framework for requirement elicitation which combines the characteristics of goal-based requirement engineering methods, Problem Frame (PF), and Message Sequence Chart (MSC). The proposed framework uses i* framework to describe the dependency relationships between actors, PF to analyze the constraints that exist in the real world, KAOS' to analyze obstacles, and MSC to show the dynamic behavior of the system.</p>
      </abstract>
      <kwd-group>
        <kwd>Requirement Analysis</kwd>
        <kwd>Goal Models</kwd>
        <kwd>i*</kwd>
        <kwd>Problem Frame</kwd>
        <kwd>KAOS</kwd>
        <kwd>Message Sequence Chart</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Requirements engineering (RE) is an engineering activity that ties up the development
activities with the real-world problems. It represents a series of engineering decisions
that lead from recognition of a problem to be solved to a detailed specification of that
problem [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Failing to describe the correct requirement can lead to a massive failure
in the whole development. However, requirement engineering is not an easy task. It
has to keep up with the ever-changing environment which caused it to be a continuous
process in a software development. To keep up with changes, requirements must have
a base condition, with details that can be changed flexibly without drifting apart from
the main objective of the project.
      </p>
      <p>
        There are several methods in analyzing requirements, but currently they differ from
one to another. Each method has its own characteristics and fundamentals. In the
requirement analysis community, goal-based modeling approaches have gained
considerable attention. These approaches aim at capturing the rationale for the software
system development [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Goal-based modeling approaches focus on the description of
goals of the software development. However, goal-based modeling approaches like i*
or KAOS lack describing the scenarios of the system. In requirement analysis stage, it
is important to analyze the scenarios of the system that already exists and the one
which will be developed. By analyzing scenario, engineers can understand the
sequences of the system and also constraints existing in the system.
      </p>
      <p>This research aims to develop a framework that can analyze the actors and goals in
a system, while analyzing scenarios that can explain which tasks go first and which go
later along with the constraints exist in the environment. The framework combines i*
approach to describe the relations between actors in the system along with their tasks
and goals, with Message Sequence Chart (MSC) and Problem Frame method to
explain the scenarios of the system, the process sequences and constraints in the system.
Moreover, it also imports the obstacle analysis from KAOS to analyze risks in the
software development and their possible solutions.</p>
      <p>We understand that integration needs a good communication line between
methods, and there will be intersection points in some methods that can be complicated
and difficult to understand. To answer those problems, the next step of this research is
to develop a support tool for the integrated framework.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>EXISTING METHODS</title>
      <sec id="sec-2-1">
        <title>Goal Based Requirement Engineering Methods</title>
        <p>
          A goal is a prescriptive statement of intent that the system should satisfy through the
cooperation of its agents [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. The core of goal model consists of a refinement graph
showing how higher-level goals are refined into lower-level ones and, conversely,
how lower-level goals contribute to higher-level ones. Among many goal based
methods, this research takes two popular methods into consideration, KAOS and i*
framework.
        </p>
        <p>
          KAOS is a goal-driven, model-based approach for elaborating a complete,
adequate, consistent, and well-structured set of measurable software requirements and
environment assumptions [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Obstacle analysis in KAOS is a goal-anchored form of
risk analysis whereby exceptional conditions obstructing system goals are identified,
assessed, and resolved to produce more complete requirements [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. While i*
framework is an integration of goal based requirement engineering and agent based
requirement engineering method. I*’s strategic dependency model is used to describe
the dependency relationships among various actors in an organizational context [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Problem Frame</title>
        <p>
          Problem Frame [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] (PF) considers that it is important to focus directly on a problem,
not just going straight to the design of a solution. We need to recognize that the
solution is located in the computer and its software, but the problem is in the world
outside. A problem frame consists of domains, interfaces between them, and a
requirement [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Domains describe entities in the real world, while interfaces connect
domains and they contain shared phenomena. Each requirement constrains at least one
domain. Such a constrained domain is the core of any problem description because it
has to be controlled according to the requirements [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Message Sequence Chart</title>
        <p>
          Message sequence chart describes the scenario in the system. It shows the flow of
data and the actor responsible for sending, and receiving messages in the system.
Message Sequence Charts (MSCs) are a technique to describe patterns of interaction
between the components of interactive distributed systems by specific diagrams [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
Processes are described in vertical lines and messages passed between actors (source
and target) are written in a horizontal arrow with description above them. Unlike
UML’s sequence diagram, MSC does not specifically describe the sequences for the
design-level which includes lifelines, methods, etc. It functions only to describe the
scenarios and the orders of resources flowing in the system which are necessary in the
requirement elicitation process.
3
3.1
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>INTEGRATED FRAMEWORK</title>
      <sec id="sec-3-1">
        <title>Meeting Scheduler Problem</title>
        <p>
          This paper uses a problem about meeting scheduler software in order to explain the
integrated framework. The problem example used in this paper is taken from a
version found in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Meetings are typically scheduled as follows: an initiator informs
participants about the need for a meeting and specifies a date range, then asks the
participants to inform their availability. The scheduled meeting date should belong to
the stated date range and to none of the exclusion sets; it should ideally belong to as
many preference sets as possible [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
3.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Strategic Dependency Model</title>
        <p>In order to elicit requirements, first, it is necessary to elicit who the actors involved in
the system are because each actor has different goals, tasks, and resources. Actors can
depend on other actors for some goals, resources, or tasks to be completed. In the
meeting scheduler problem, initially there are two actors, meeting initiator and
meeting participants. I*’s model shows how those two actors depend on each other. For
example, meeting initiator depends on participants for goal “meeting is fully
attended”. Moreover, each actor’s own goals and tasks decompositions are also described
inside each actor in a hierarchical system.</p>
        <p>By describing these relations in i* model, we can get the big idea of the
environment, actors involved, and their relations. In addition, not only the outside relations of
actors, the goal and task decomposition inside each actor can also be understood.
These are considered essential in order to elicit software requirements.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Behavior Analysis</title>
        <p>Although the i* model has already described the relations between actors, goals and
tasks decompositions, and the idea of the system, it lacks in describing the dynamic
behavior of the system. By looking at i* diagram only, we cannot understand which
task goes first and which goes later, nor we can know which resource is needed first
before the other. Thus, this paper integrates the Message Sequence Chart (MSC) into
the framework, to describe the scenarios exist in the system. However, unlike UML’s
sequence diagram, MSC supports the characteristics of i* model which separates the
requirement analysis process and the software design process by not going too deep
into the development processes. MSC shows the flow of the resources between actors
and its orders which represent scenarios in the system, not computer methods nor
classes. In this integrated framework, the actors in MSC are actors from i* model, and
the messages in MSC are the resources from i*.
3.4</p>
      </sec>
      <sec id="sec-3-4">
        <title>Inserting Machine Actor</title>
        <p>After the system’s environments are understood by doing the earlier steps, now it is
necessary to describe how the environment will work if we add a new machine actor,
which is the software that will be developed, the meeting scheduler system, into the i*
model and reconnect the relations between actors, as shown in figure 1, except the
requirement circle as it will be explained in the next step.
Problem Frame is used to describe the requirement constraints which exist in the real
world to help software developers to realize and understands the outside
circumstances. We already analyzed the relations between actors and their tasks and goals. The
behavior of the system is also already drawn in the earlier steps. However, there are
constraints in the environment that has not been elicited yet in the above steps. By
analyzing the system from a problem frame view (figure 2), we can find that there are
constraints that is not elicited yet, so we need to find and add them into the integrated
diagram.</p>
        <p>
          The requirement constraints are written in a, b, c, and d as symbols and the
descriptions are written separately to save space in figure 1. By analyzing the requirement
constraints that exist in the system, we can enhance the behavior analysis by inserting
constraints into the chart, as shown in figure 3.
Then after the whole diagram is done, using KAOS method [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], we draw an obstacle
analysis diagram to analyze the obstacles that exist in the development process, and
try to mitigate them. Obstacle diagrams are drawn in a hierarchical system along with
its possible solutions. In the meeting problem, participants’ task “attend meeting” has
risks “date forgotten”. The possible solutions for that risk are “send reminder email”
and “remind participant manually”. With the software, task “send reminder email”
can be added into the system to prevent “date forgotten”. Then after the obstacles are
analyzed and preventions are considered, we re-arrange the main diagram with
consideration from the obstacle analysis done in the last step.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>CONCLUSION AND FUTURE WORK</title>
      <p>This research proposes a new integrated framework in software requirement analysis,
taking advantages from existing methods like i*, Message Sequence Chart, KAOS,
and Problem Frame, which are currently used separately even though they all used for
the same purpose which is to elicit requirements. By combining the advantages of
those methods, this research is expected to be able to cover each methods’
disadvantages, and by doing so, requirements can be described suitably and clearly. This
paper explains the early result of our research, which is the integrated framework.
We also show the applicability of our framework by implementing it on the meeting
scheduler problem.</p>
      <p>In order to integrate several methods into one framework, there are some setbacks
in our framework. The framework consists of several methods in its implementation
which can cause the diagrams to be complicated and difficult to understand.
Moreover, there are some intersection points between each approach in the framework, for
example, actors in the i* model and MSC, or tasks in the i* model and KAOS’
obstacle analysis, which draw the possibility of inconsistency and redundancy if they are
manually drawn. Thus, for future work, our research aims to develop a support tool to
assist user in implementing the integrated framework that can auto-generate diagrams
from known variables in order to mitigate redundant drawings, consistency checks,
and to provide simple views of each diagram if the users feel the need to check
diagrams individually, not as a whole which can be complicated. By using this support
tool, it would be easier for users to analyze requirement while adapting to the
fastchanging environments which software are built in.
5</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Broy</surname>
            ,
            <given-names>M. :</given-names>
          </string-name>
          <article-title>The Essence of Message Sequence Chart</article-title>
          .
          <source>In : Proceedings of the International Symposium on Multimedia Software Engineering</source>
          , pp.
          <fpage>42</fpage>
          -
          <lpage>47</lpage>
          . IEEE (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Cailliau</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , et al. :
          <article-title>Modeling Car Crash Management with KAOS</article-title>
          .
          <source>In : Proceedings of the 3rd International Comparing Requirements Modeling Approaches (CMA@RE)</source>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>24</lpage>
          . IEEE (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Jackson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Problem Frames : Analysing and Structuring Software Development Problems</article-title>
          . Pearson
          <string-name>
            <surname>Education</surname>
          </string-name>
          (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Lamsweerde</surname>
            ,
            <given-names>A.v.</given-names>
          </string-name>
          ,
          <article-title>Requirement Engineering : From System Goals to UML Models to Software Specifications</article-title>
          , John Wiley &amp; Sons (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Mohammadi</surname>
            ,
            <given-names>N.G.</given-names>
          </string-name>
          , et al. :
          <article-title>A Framework for Combining Problem Frame and Goal Models to Support Context Analysis during Requirement Engineering</article-title>
          . In : Availability,
          <string-name>
            <surname>Reliability,</surname>
          </string-name>
          <source>and Security in Information Systems and HCI</source>
          , vol.
          <volume>8127</volume>
          of Lecture Notes in Computer Science, pp.
          <fpage>272</fpage>
          -
          <lpage>288</lpage>
          . Springer (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Nuseibeh</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Easterbrook</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Requirements engineering: a roadmap</article-title>
          .
          <source>In : Proceedings of Conference on the Future of Software Engineering</source>
          , pp.
          <fpage>35</fpage>
          -
          <lpage>46</lpage>
          . ACM (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Towards Modelling and Reasoning Support for Early-Phase Requirement Engineering</article-title>
          .
          <source>In : Proceedings of the Third IEEE International Symposium on Requirement Engineering</source>
          , pp.
          <fpage>226</fpage>
          -
          <lpage>235</lpage>
          . (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>