<!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>Dealing with Non-functional Requirements, the Case of Information Quality Requirements: Experience Report</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mohamad Gharib</string-name>
          <email>mohamad.gharib@unifi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Florence - DiMaI</institution>
          ,
          <addr-line>Viale Morgagni 65, Florence</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>25</fpage>
      <lpage>30</lpage>
      <abstract>
        <p>Like all Non-functional Requirements (NFRs), Information Quality (IQ) requirements are used to be represented as softgoals that are difficult to be represented measurably. However, several recent studies argued that many requirements that are classified as NFRs can be expressed in a measurable way. This paper reports on experience gained while proposing a goal-based approach for capturing IQ requirements as softgoals at a high-level of abstraction and then refining them until reaching their operational specifications.</p>
      </abstract>
      <kwd-group>
        <kwd>NFR</kwd>
        <kwd>Softgoals</kwd>
        <kwd>IQ</kwd>
        <kwd>Requirements engineering</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        1 For more information about the case study please refer to [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
Copyright © 2020 for this paper by its authors. Use permitted under
Creative Commons License Attribution 4.0 International (CC BY 4.0).
      </p>
      <p>The rest of this report is structured as follows; Section 2 presents the
approach, and its implementation and evaluation are discussed in Section 3. Section
4 discusses the findings, and the report is concluded in Section 5.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Approach for Specifying IQ Requirements</title>
      <p>The process that underlies the goal-based approach for specifying IQ
requirements is depicted in Figure 1, and it consists of two main phases:
1. Modeling phase aims at modeling the IQ requirements in their social
and organizational context. This phase consist of eight main steps: (1.1) Actor
modeling, models the main actors of the system in terms of agents and the
roles they are playing; (1.2) Goal modeling, models the actors’ objectives in
terms of goals, and refine them until reaching their leaf goals; (1.3) Information
modeling, models the different relations between goals and information; (1.4)
Social dependency modeling, models actor dependencies for information, and the
delegations of permissions and goals; (1.5) Trust modeling, models trust/distrust
relations among actors concerning their social dependencies.</p>
      <p>
        The following three steps (S.1, S.2 and S.3) are specialized for dealing with
IQ softgoals, and they can start after (1.3) Information modeling step:
(S.1) IQ softgoal modeling aims at modeling top-level IQ softgoals and refines
them into a suitable granularity that enables for their approximation. Usually,
softgoals refinement into more specific sub softgoals can be done based on
taxonomy (e.g., [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]). Thus, the first step is defining an IQ refinement taxonomy.
Define IQ refinement taxonomy. The literature is rich with models
(taxonomies) for analyzing IQ based on various dimensions, but most of them were
not designed to capture the social and organizational aspects that underlie some
of IQ dimensions. Therefore, a multi-dimensional model (Figure 2) for analyzing
IQ based on seven dimensions has been developed [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]: 1. Accessibility captures
the extent to which information is available for use. 2. Believability captures the
extent to which information is regarded as true. 3. Trustworthiness captures the
extent to which information is credible, and it is analyzed based on
trustworthiness of the source and trustworthiness of the provision. 4. Accuracy captures
the extent to which information is error-free with respect to some known value.
Accuracy is analyzed based on believability and trustworthiness. 5. Completeness
captures the extent to which information is complete for performing a specific
task. Completeness is analyzed depending on two sub-dimensions, value
completeness, and purpose of use completeness. 6. Timeliness captures the extent to
which information is valid in terms of time. 7. Consistency captures the extent to
which multiple records of the same information are the same across time. These
dimensions have been considered based on the requirements of the stock market
system, and they might need to be extended or reduced for other systems.
      </p>
      <p>
        Following [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], we can depend on this taxonomy to refine IQ softgoals into
IQ sub-softgoals through and-decomposition relations, since a softgoal can be
refined into more specific sub-softgoals, if the joint satisfaction of these softgoals
is considered equivalent to the satisfaction of the refined softgoal. Figure 3 shows
      </p>
      <sec id="sec-2-1">
        <title>1. Modeling Phase</title>
        <p>1.1 Actor
modeling
1.2 Goal
modeling</p>
        <sec id="sec-2-1-1">
          <title>1.3 Information modeling</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>S1. IQ softgoals modeling</title>
          <p>Define refinement
taxonomy</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>S2. Leaf IQ softgoal classification</title>
        </sec>
        <sec id="sec-2-1-4">
          <title>S3. Leaf IQ softgoal approximation</title>
          <p>Define classification
criteria
Define quality
spaces
2.</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Analysis</title>
      </sec>
      <sec id="sec-2-3">
        <title>Phase</title>
        <p>the application of the taxonomy for refining a top-level IQ softgoal concerning
information (e.g., “Trading order”). After refining all top-level IQ softgoals into
their leaf IQ softgoal based on the taxonomy, we can proceed to the next step.</p>
        <p>
          (S.2) Leaf IQ softgoal classification aims at identifying classification criteria
to be followed while organizing leaf IQ softgoals into groups concerning their
satisfaction criteria, since they capture different IQ dimensions (e.g., accuracy,
completeness) and they might need to be approximated in different ways.
Define classification criteria. Following Glinz [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], leaf IQ softgoals have been
classified based on their kind, satisfaction and representation to get a better
understanding of their nature and how they can be approximated. Table 1 shows
how leaf IQ softgoals have been classified based on these criteria. After classifying
leaf IQ softgoals, we can proceed to the next step.
        </p>
        <p>
          (S.3) Leaf IQ softgoal approximation aims at approximating leaf IQ softgoals
into IQ Constraints (IQCs). In particular, a softgoal can be satisfied by a quality
constraint through the approximation relation [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], where a quality constraint
proTimeliness
(validity)
Completeness
        </p>
        <p>Value
completeness</p>
        <p>IQ</p>
        <p>Accuracy</p>
      </sec>
      <sec id="sec-2-4">
        <title>Consistency Trustworthiness</title>
        <p>of provenance</p>
        <p>Accessibility Believability
Purpose of use Trustworthiness Trustworthiness
completeness of the source of the provision</p>
        <p>TO is accessible</p>
        <p>High quality
Trading Order (TO)</p>
        <p>and
TO is valid</p>
        <p>TO is consistent</p>
        <p>TO is accurate</p>
        <p>and
TO is TO is trustworthy TO is
complete concerning its provenance believable</p>
        <p>
          and and
TO is complete TO is value TO source is TO providence
for purpose of use complete trustworthy is trustworthy
vides clear criteria for the satisfaction of a softgoal. However, an approximation
relation can hold only if a well-defined quality space exists [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>Define quality spaces. IQ dimensions must be associated with specific
measures (quality space) to assure their effective assessment. To this end, a quality
space for each IQ dimension has been defined based on the following criteria: the
measurement should be easy to be interpreted, the difference between the value
levels of measurement must be meaningful, and the calculation of such values
should be consistent. For instance, timeliness and consistency are time-related
aspects; therefore, they are measured and calculated in seconds. How IQ
dimensions are analyzed should be clearly defined as well, e.g., validity is analyzed by
comparing the currency (seconds) of information with its volatility (seconds),
and if its currency is smaller than its volatility it is valid, otherwise, it is invalid.</p>
        <p>After defining measures for analyzing leaf IQ softgoals, we can approximate
them into IQCs. Three types of IQCs have been defined (shown in Table 1):
(1) Operational IQC define actions to be performed in an already determined
context. E.g., believability softgoal is approximated into operational IQC that
define min/max values concerning information believability. (2) Declarative IQC
define properties of the system that should hold. E.g., trustworthiness of
provision softgoal is approximated into declarative IQC stating that information
should be transferred only through IP provision. (3) Quantitative IQC specify
properties of the system that should hold, and can be measured on an ordinal
scale. E.g., consistency softgoal is approximated into quantitative IQC stating
that information should have the same currency among its interdependent
readers that are actors who use the same information for interdependent purposes.</p>
        <p>
          Figure 4 shows a portion of the stock market system model represented with
an extended modeling language [
          <xref ref-type="bibr" rid="ref5 ref6">5,6</xref>
          ]. The language adopts several main i* based
constructs such as actor, goal, delegation, trust, etc., it extends some i* constructs
and propose new constructs specialized for IQ requirements. For instance, goals
may produce, read, modify and/or send information. Information Provision has
a transmission time attribute, and a provision type attribute that can be either
Integrity-Preserving (IP) or normal Provision (P). IQ softgoal is an objective of
a stakeholder concerning its needs over information, and it can be refined only
through and-decomposition. IQCs have a well-defined quality space, and they
can be used as a mean to satisfy IQ softgoals through approximation relation.
        </p>
        <p>The language relies on four types of permissions for capturing accessibility.
Moreover, read and produce relationships have been extended with believability
checks to capture believability. Trustworthiness is analyzed based on the
trustSG1.1 High quality
[Trading order]</p>
        <p>and
SG1.5.1 [Trading
order] is believable
x
p
a
The value of a trading
order should fit in
[min/max values]
Role play Agent O info</p>
        <p>agent
instantiation own
D depending</p>
      </sec>
      <sec id="sec-2-5">
        <title>T J1.2: trade</title>
        <p>on a trader
T In[Rv]e[Mst]o[Sr]’s
orders
P [ipPn]ef[roRmr]mi[sMastii]oo[nSn] coqnauspatlxriatiynt DTT/ Gopaelr/minfo DTT/ R
delegation approximation trust/distrust produce read send modify
St1ra:dMinagkesepcruorfiittiebsy tSrmadaelrl</p>
        <p>and
S1.2.1: Manage S1.2.2: decide
Investors’ orders trading options</p>
        <p>S R M P S</p>
        <p>Investors’ Trading
orders orders</p>
        <p>J1: Make profit
from trading
securities
and</p>
        <p>J1.2: trade
depending
on a trader
J1.1: trade
by itself</p>
        <p>S P
Investors’</p>
        <p>orders
Investors’
orders
[IP] [Time]</p>
        <p>T</p>
        <p>Jack</p>
        <p>O
softgoal information
DdelGegoaatlioDn [Pin/IpfPro]orvm[Tisaiitmoioenn]</p>
        <p>Investors’
orders
[IP] [Time]
worthiness of both the source and the provision. Accuracy is captured relying
on both believability and trustworthiness. Completeness is analyzed based on the
provision type and the part of concept that captures the relationship between
information and its sub-parts. The language proposes information volatility, read
and send timeliness concepts for capturing timeliness. Finally, it provides
interdependent readers and read time concepts for analyzing consistency.</p>
        <p>2. Analysis phase. To verify the IQ requirements model, all the proposed
concepts have been formalized, and reasoning axioms have been developed
relying on Disjunctive Datalog. Moreover, a set of Properties of the Design (PoD)
have been defined. The model is considered correct and consistent if all of the
PoD hold. If any of them is violated (e.g., information is inaccurate, incomplete,
inconsistent, etc.), the designer is notified about that, which allows her to modify
the model to address such violation.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Implementation and evaluation</title>
      <p>The approach has been evaluated depending on a simulation method, developing
a prototype implementation and tests its applicability by applying it to the Flash
Crash case study. The approach was able to models and effectively analyze (e.g.,
detecting any violation to the properties of the design) the IQ requirements of
the case study. Moreover, the scalability of the reasoning support of the approach
has been evaluated, and it was able to deal with sufficiently large models2.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Discussion</title>
      <p>
        Most software engineers need to deal with NFRs, yet some of these NFRs can be
responsible for providing essential functionality for the system such as security,
2 For more information about the implementation and evaluation please refer to [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
privacy, reliability, etc. Therefore, they cannot be dealt with vaguely, i.e., clear
criteria for their satisfaction should be provided. Such criteria will not only
facilitate the system design, but they will also help both stakeholders and software
engineers to better understand each other, which may prevent wrong design
decisions. The proposed approach has been successfully used in a framework for
modeling and analyzing IQ requirements for a Socio-technical System [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
Moreover, we mainly depend on it while dealing with privacy requirements (NFRs) in
the VisiOn Project (http://www.visioneuproject.eu). In particular, we
proposed a taxonomy for capturing and refining privacy requirements until reaching
their operational specifications [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. To this end, I believe that this approach can
assist software engineers when dealing with a wide spectrum of NFRs.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>This paper reports on experience gained while proposing a goal-based approach
for capturing IQ requirements as softgoals at a high-level of abstraction and then
refining them until reaching their operational specifications. The focus was put
on making the approach easy to be understood and used, and each of its steps
was accompanied by a detailed description of how it can be performed. This may
help other scholars while dealing with NFRs.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chung</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nixon</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Representing and using nonfunctional requirements: A process-oriented approach</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          (
          <year>1992</year>
          )
          <fpage>483</fpage>
          -
          <lpage>497</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Glinz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>On non-functional requirements</article-title>
          . In: Requirements Engineering Conference,
          <year>2007</year>
          . RE'
          <volume>07</volume>
          . 15th IEEE International, IEEE (
          <year>2007</year>
          )
          <fpage>21</fpage>
          -
          <lpage>26</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>F.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horkoff</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>R.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borgida</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Non-functional requirements as qualities, with a spice of ontology</article-title>
          . In: Requirements Engineering Conference (RE),
          <source>IEEE</source>
          (
          <year>2014</year>
          )
          <fpage>293</fpage>
          -
          <lpage>302</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Gharib</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Detecting conflicts in information quality requirements: the May 6, 2010 Flash Crash</article-title>
          .
          <source>Tech. report, Universit´a degli studi di Trento</source>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Gharib</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Modeling and reasoning about information quality requirements</article-title>
          .
          <source>In: Requirements Engineering Foundation for Software Quality</source>
          , Springer (
          <year>2015</year>
          )
          <fpage>49</fpage>
          -
          <lpage>64</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gharib</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Dealing with information quality requirements</article-title>
          . In: International Conference on Enterprise,
          <source>Business-Process and Information Systems Modeling</source>
          , Springer (
          <year>2015</year>
          )
          <fpage>379</fpage>
          -
          <lpage>394</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Jureta</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faulkner</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Revisiting the core ontology and problem in requirements engineering</article-title>
          . In: RE Conference, IEEE,
          <year>2008</year>
          71-
          <fpage>80</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Gharib</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , “
          <article-title>Information quality requirements engineering with STSIQ,” Information and Software Technology</article-title>
          , vol.
          <volume>107</volume>
          , pp.
          <fpage>83</fpage>
          -
          <lpage>100</lpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Gharib</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salnitri</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paja</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mouratidis</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pavlidis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fernandez</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Della</surname>
            <given-names>Siria</given-names>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Privacy requirements: Findings and lessons learned in developing a privacy platform</article-title>
          .
          <source>In: the 24th International Requirements Engineering Conference (RE)</source>
          ,
          <source>IEEE</source>
          (
          <year>2016</year>
          )
          <fpage>256</fpage>
          -
          <lpage>265</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>