<!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>Development of COSMIC Scaling Factors Using Classification of Functional Requirements</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alain Abran</string-name>
          <email>alain.abran@etsmtl.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Shaghayegh Vedadi</string-name>
          <email>shaghayegh.vedadi-moghaddam.1@ens.etsmtl.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>École de Technologie Supérieure - ETS, University of Quebec</institution>
          ,
          <addr-line>Montréal</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <fpage>31</fpage>
      <lpage>46</lpage>
      <abstract>
        <p>The focus of this paper is estimating COSMIC function points early in the software development lifecycle. The main input to function point sizing is the set of functional requirements for a piece of software. However, very early in the lifecycle it is unrealistic to expect this set of requirements to describe the full scope of functionality, including all the necessary functional details. The application of the size scaling factors developed within this context is illustrated with two COSMIC case studies. While the scaling factors are specific to the case studies used, the approximation technique presented can be used in most organizations provided that data on past projects can be collected and relevant classifications of functionalities identified. For the purpose of this paper, the ISO 19761 COSMIC function points standard is taken as reference for discussion, while the majority of concepts presented are generic to other similar ISO standards.</p>
      </abstract>
      <kwd-group>
        <kwd>Functional size measurement</kwd>
        <kwd>COSMIC</kwd>
        <kwd>size estimation</kwd>
        <kwd>functional requirements quality</kwd>
        <kwd>software estimation</kwd>
        <kwd>ISO 19761</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Function point sizing (FPS) quantifies the functional size of software and is used for
various purposes in software project management, including effort estimation, project
planning, project monitoring, productivity studies and benchmarking [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. Compared
to lines-of-code based measures, FPS stands out among software size metrics as it is
based on the requirements themselves, which as soon as they become available, prior
to any coding, can provide size information in the earlier stages of the software
development life cycle (SDLC). This makes FPS a tool of choice for planning techniques
that require an early view of the software to be developed. Despite being available
earlier than other sizing methods, a precise application of FPS requires that the functional
requirements of the software be detailed, and the architecture defined [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. More often
than not, this point in the lifecycle comes relatively late for project estimation needs.
Therefore, several size estimation techniques have been proposed that can be used for
these early management activities.
      </p>
      <p>The main input of FPS is the set of functional requirements for a piece of software.
However, very early in the SDLC it is unrealistic to expect this set of requirements to
describe the full scope of functionality of the software as a whole, including all the
Copyright © 2019 for this paper by its authors.</p>
      <p>
        Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
necessary functional details. There are obviously many functional unknowns early in
the life cycle. Therefore, the size one can measure directly from a set of incomplete
functional requirements and the size measured from a very detailed set of functional
requirements fully developed and implemented may differ considerably. This can be
well illustrated with the uncertainty curve of Boehm [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] where the uncertainty
progressively decreases as the project progresses and additional more precise information
becomes available where:
 at time = project closure, everything is known about the software. When all of the
requirements information as implemented in the software code is available, the size
can be measured with high accuracy;
 at time = feasibility study, the information available on the requirements is typically
high level and without much detail. From a functional perspective many unknowns
remain. With imprecise and incomplete inputs, there cannot be accurate
measurement. Rather, the expected functional size at project closure can only be estimated
and, as with any type of estimate, this comes with a range of uncertainty that will
vary depending on the quality, completeness and stability of the set of requirements
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ];
 at t = between feasibility and project closure, the completeness of the information
and requirements will progressively improve, which will impact the measurement
results until all requirements have been specified in detail.
      </p>
      <p>
        Measurers and software engineers need a clear understanding of the level of
information available at the time of measurement and how it impacts any measurement or
estimation of size. More often than not, this point in the lifecycle is late for project
estimation needs of the organization. Therefore, several size estimation techniques have
been proposed that can be used as an input for early management activities, mostly
based on statistical analyses [
        <xref ref-type="bibr" rid="ref10 ref6 ref7 ref8 ref9">6-10</xref>
        ]. However, these do not provide insight into the
sources of the gaps, their timing and how such insights can help improve size
estimation.
      </p>
      <p>This paper focuses on estimating and approximating function points early in the
lifecycle. Discussion of effort estimation and the relationship between functional size
and effort estimation is out of scope for this study.</p>
      <p>
        An exploratory analytical study by Abran et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] identified the nature of the gaps
between earlier sizing and final/delivered size, as well as the sources of these gaps. In
this paper, we complement the analytical study using ISO-IEEE 21948 on requirements
engineering [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and report on empirical research carried out with two case studies of
the COSMIC group, documenting both requirements at various levels of detail as well
as the corresponding COSMIC function points measured on the basis of the most
detailed requirements. From these observations, and comparison of the information
available at various points in time, size scaling factors specific to these case studies were
developed and discussed.
      </p>
      <p>This paper is structured as follows. Section 2 presents related work. Section 3
presents a number of key requirement concepts and types discussed in ISO-IEEE 21948
relevant for the development of scaling factors across the lifecycle phases. Application
of these concepts to two COSMIC case studies, including the relevant scaling factors
developed within this context are presented in section 4. Section 5 summarizes the work
and offers suggestions for future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Some COSMIC-based size estimation techniques have been proposed that can be used
as an input for early management activities [
        <xref ref-type="bibr" rid="ref10 ref11 ref12 ref13 ref14 ref8 ref9">8-14</xref>
        ]. For instance, the COSMIC
‘Guideline for Early or Rapid COSMIC Functional Size Measurement by using approximation
approaches’ [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] proposed the following seven approximation techniques, based
mostly on statistical analyses that can be tailored by organizations collecting their own
data from completed projects. This COSMIC guideline also mentions some emerging
approaches based, for example, on informal text, fuzzy logic, etc. Most of these
techniques are based on quantitative analysis of data at project completion and the
development of indicators at that point in the lifecycle. However, these techniques do not
refer back to the lifecycle to identify earlier missing information or the corresponding
sources.
      </p>
      <p>
        The analysis by Abran et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] looked at the sources of the gap between the initial
visible size of the functionality documented at the initiation of a project and the final
size at project closure. It identified several factors that may lead the final functionality
delivered by the software at project end to be different from that defined at the time the
initial requirements were created. Such factors increase the amount of functionality in
the software resulting in a gap between the initial and final size, so that as the project
progresses it is expected that:
 initial requirements will be detailed progressively (added functional details to a
functionality already identified);
 some initially undocumented functionality will be approved and documented;
 additional functionality will be captured as additional requirements;
 some functionality will be removed and/or changed.
      </p>
      <p>
        So, as measurements are performed at further points in the lifecycle, the visible size
will approach the final size. The study by Poulin et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] illustrates how implied
and/or hidden functionality can cause a large gap between the initial and final functional
size of a piece of software. The set of requirements used as the input for the initial
COSMIC measurement was one of the standard case studies published by COSMIC.
Requirements were of high quality and did not include vague or incomplete
requirements. For the selected set of requirements in the example, the final size turned out to
be 236% greater than the size as measured in the initiation phase, due to security
functionality that was documented as high-level system non-functional requirements at the
time of the initial measurement and that later was allocated to the software as additional
functionality [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        To tackle these issues, an organizational repository-based approach was proposed
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] to record size data information related to the initial estimated size (e.g. t = project
initiation phase) and size at the time of delivery (e.g. t = project closure) that would
allow users to:
 for each piece of software, compare the initial requirements and the functionality at
the time of delivery;
 classify additional size (hidden functionality, undocumented functionality,
additional/modified functionality);
 identify the reasons for the size change in each dimension;
 use customized techniques for different dimensions of size change to adjust initial
measurement results and better estimate the final size of software.
      </p>
      <p>However, this proposed approach could not be evaluated at that time with case studies.
The research presented here addresses two of the related issues:
 development of a standard-based approach for the identification of missing software
functionalities at various levels of detail, and
 illustrating their application with the documented high-level as well as detailed
requirements and corresponding COSMIC function points size of two publicly
available COSMIC case studies.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Sources, types &amp; timing of requirements in ISO-IEEE29148</title>
      <p>The ISO-IEEE standard 29148 on requirements engineering presents a number of
concepts related to the sources, types and levels of detail of the requirements throughout
the system and software life cycle.</p>
      <p>The initial set of requirements originates from two sets of sources, the business
stakeholders and other stakeholders, which leads to the ‘systems’ requirements. From
the system functional requirements, some will be allocated to software requirements
(as well as to hardware requirements and at times to manual operational procedures).
These sources provide the system contextual requirements, including the system
purpose, system scope and system overview. From this contextual information, the
following are then identified:
 system functional requirements,
 system non-functional quality
ISO-IEEE 29148 also notes that in addition to software functions explicitly identified,
there may be interfaces identified, but not yet specified, as well as quality requirements,
still at a high level.</p>
      <p>
        At various points later in the lifecycle, these lists of software functions are detailed,
programmed, tested and implemented; the same applies to system non-functional
quality requirements, some of which may later be allocated to additional software functional
requirements [
        <xref ref-type="bibr" rid="ref16 ref17 ref18 ref19 ref20">16-20</xref>
        ]. It is to be noted that a large number of these system
non-functional quality requirements may be derived from stakeholders not identified upfront in
the feasibility studies but who must be involved at some point in the operationalization
and ongoing operation of the software developed.
      </p>
      <p>At the end of development all of these functional details are known to the developers,
even if not formally documented, and if the COSMIC function point rules are known,
the software functionality implemented can be measured precisely. An outside
measurer without access to all the documentation, or the undocumented functionality (such
as that derived from system-NFR and implemented late in the testing phase), would
miss a number of software functions. Similarly, if measurement is done earlier in the
lifecycle, a number of software functions which have been neither identified nor
specified in detail would be ‘invisible’ to the outside early measurer.</p>
      <p>From a measurement perspective, measurement has to be carried out throughout the
lifecycle, from the situation on the left when initially only the visible, above-water
components can be measured, progressively, to below the water line where the visibility
increases and additional sizing can be carried out, up to complete measurement when
full under-water visibility reveals the total view.</p>
      <p>However, in software development there is no known ratio, as in physics, for the
mass above to the mass under water for a floating iceberg. Across all software projects,
functional visibility will vary across the development lifecycle, and hence software
functional documentation across lifecycle phases will vary. Should such exist in an
ideal work, there has not yet been research carried out to identify ratios across these
phases.</p>
      <p>
        What follows next is our reporting of the research addressing this challenge by
working backwards from known detailed contexts documented and measured in a context of
full visibility, full documentation and no uncertainty. This is precisely the context of
the case studies documented and measured by the COSMIC group [
        <xref ref-type="bibr" rid="ref21 ref22">21, 22</xref>
        ].
      </p>
      <p>These COSMIC case studies also document the software functionality at various
levels of detail, prior to measurement with full functional details.</p>
      <p>
        In the paper, the concepts from ISO 29148 were used, as per the iceberg analogy, to:
 identify types of requirements when they become visible, and
 develop (by working backwards) ratios to extrapolate in previous phases.
This approach is illustrated in practice with the following two COSMIC case studies:
─ the course registration system (CRS) [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ],
─ the restaurant case study (RestoSys) [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
4
4.1
      </p>
    </sec>
    <sec id="sec-4">
      <title>COSMIC case studies: course registration system (CRS)</title>
      <sec id="sec-4-1">
        <title>Course registration system (CRS) case study: Documentation levels</title>
        <p>
          Over the years, the COSMIC group has published a number of versions of their course
registration system (CRS) case study [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. The June 2015 version was used in this
research. In the documentation of the CRS case study, the description of the functionality
is presented sequentially at three levels of increasing detail. We use, where relevant,
the terminology from ISO-IEEE 29148:
 Level 1: (Business) functions (list of ‘system’ functions);
 Level 2: (Business) functions allocated to software functional processes (list of
‘software functions’);
 Level 3: Detailed functionality allocated to each software functional process
(functional details allocated to software).
        </p>
        <p>Level 1. Business functions = ‘system’ functions. The information at this level –
Table 1 – is available at ‘vision’ time – or feasibility:
Level 2. Software functions. Next, a detailed list of functions is allocated to the
software – often this is available early in the specification phase – Table 2.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Level 3. Detailed functionality for each functional process allocated to software.</title>
        <p>The CRS case study presents a level of detail that is ideally complete and verified at the
end of the specification phase (as well as at the end of a project, provided that the
functional documentation has been kept up to date across the lifecycle).</p>
        <p>This is the point at which all of the functional details are available, and a detailed
measurement of functional size can be done accurately and completely. However, in
practice, a large number of these functional details are documented much later, and
sometimes not at all.</p>
      </sec>
      <sec id="sec-4-3">
        <title>CRS case study: functional size at level 3</title>
        <p>In this case study, the COSMIC measurement is carried out and presented at the most
detailed level 3 for one of the 21 functional processes – see Table 3. In Table 3, the
‘DM type’ column refers to the four COSMIC types of data movements (DM): E for
entry, X for exit, R for read and W for write data movements.</p>
        <p>Overall, in this CRS case study, there were 21 functional processes with a total size
103 CFP, with the following descriptive statistics:
 minimum size of a functional process is 3 CFP and maximum size is 8 CFP
 mean size is 5 CFP
 median size is 4.85 CFP
 standard deviation 1.5 CFP.</p>
      </sec>
      <sec id="sec-4-4">
        <title>CRS case study: sources of software functionality using ISO-IEEE 29148</title>
        <p>The sources of these functional details were analyzed using the concepts from
ISOIEEE 29148. Each of the functional details within each functional process of the case
study was classified into the following five categories with the following color-coding
scheme:
─ Functionality from business requirements– allocated to software functions - level 2,
─ Functionality with more details from business requirements - level 3,
─ Operational functionality for implementing in practice the business requirements
functionality - level 3,
─ Functionality derived from system requirements &amp; allocated to software - level 3,
─ Functionality related to an interface to other software applications - level 1 or 2.</p>
      </sec>
      <sec id="sec-4-5">
        <title>CRS: case study: functional distribution at level 3</title>
      </sec>
      <sec id="sec-4-6">
        <title>CRS case study: functional size distribution at level 2</title>
        <p>Figure 1 illustrates, using the iceberg analogy, the usage of the above information, sized
at the functional process level:
 20 % of the functionality comes from the size of the functions listed from the
systems-software requirements;
 9 % comes from the functional details added later to the software requirements;
 41% comes from the operational functionality that must be added to implement such
functional requirements in an operational context (business, embedded software,
etc.);
 30% came from the implementation of quality derived functionality allocated to the
software – here more specifically ‘data integrity’.
41%
2
It is to be observed that the above requirements were progressively identified, from
earliest to latest, over the lifecycle.</p>
        <p>Such information (i.e. the percentage per classification of requirements) can then be
used as it becomes available in the early phases of a project as scaling factors to estimate
the final size of the fully developed software, taking into account the functionality-type
to be added across the project life.</p>
        <p>Of course, the usual caveat applies similar types of applications, similar
organizational contexts, etc.</p>
        <p>As an example: if for a subsequent project, 33 functional processes are identified,
this statistical information and scaling factors can be used to provide an estimate of the
final size of the corresponding software:
 33 functional processes at 1 CFP each would represent 21 % of the total
functionality, that is, an estimated final size of 158 CFP.</p>
        <p>These estimates are based on an average. In addition, an expected range of final size
should be calculated using the standard deviation from the detailed descriptive
statistics.</p>
        <p>The above have all been classified and calculated on the basis of the functional
processes allocated to software.
4.6</p>
      </sec>
      <sec id="sec-4-7">
        <title>CRS case study: functional size distribution at level 1</title>
        <p>A similar approach can be developed for earlier usage by using the list of ‘system’
requirements (e.g. level 1) instead of the list of functional processes (e.g. level 2) that
become available later.</p>
        <p>
          To develop a scaling factor for level 1, the size information available at levels 2 and
3 was rolled-up at level 1 (e.g., system requirements level in ISO-IEEE 29148) with the
following system level functions from Table 1 – see results in Table 6.
As an example, if for a subsequent project, 10 additional system functions are
identified, this statistical information and scaling factors can be used to estimate the final size
of the corresponding software:
 10 business functions at 3 CFP size at the feasibility study phase would represent
21% of the total expected total functionality (or 30 CFP), and would then scale up
to an estimated final added functional size of 143 CFP.
The version of the restaurant management system case study (RestoSys) used in this
research is the February 2019 version [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]. In the documentation of this CRS case
study, the description of the functionality is also presented sequentially at three levels
of increasing detail, where the RestoSys is composed of two parts: a mobile app and a
web application:
 RestoSys ensures communication between the smartphone client (the waiter) and the
web client (the administrator);
 web client maintains the database (which is included in the DB server).
The RestoSys application includes the following functionality:
 smartphone client receives the waiter’s username and password;
 web server retrieves data from the DB and provides the required data to the
smartphone client;
 smartphone client maintains the customer order (by adding or modifying an order);
 web client receives the administrator’s username and password;
 web server retrieves data from the DB and provides the required data to the web
client;
 web client maintains the required data.
        </p>
        <p>The RestoSys includes the following tasks:
 order management allows the waiter to add, and/or modify an order via his
smartphone. It also allows the administrator to delete an order. During working
hours, the waiters (smartphone) and the administrator (web client) are continuously
connected;
 account management, involves user management, and enables access to the
application with a username and password;
 restaurant menu management allows the management of item(e.g. a dish and a
beverage) families and the classification of items into item families.</p>
        <p>Note that the users of RestoSys (waiter and administrator) must be logged on before
executing one of the previous tasks (order management, account management, and
restaurant menu management).
4.8</p>
      </sec>
      <sec id="sec-4-8">
        <title>RestoSys case study: functional size at functional process level</title>
      </sec>
      <sec id="sec-4-9">
        <title>RestoSys case study: functional size at level 2</title>
        <p>The previous information and sizes at level 3 can be rollup-up (e.g., aggregated) at level
2 of the software functions - that is, the 10 use cases from Table7. The results of this
consolidation are presented in Table 9 where:
 27 % of the functionality comes from the size of the functions listed from the
systems-software requirements;
 only 2 % of the functionality comes from the functional details added later to the
software requirements;
 42% comes from the operational functionality that must be added to implement such
functional requirements in an operational context (here, a business application);
 30% came from the implementation of quality derived functionality allocated to the
software – here more specifically:
- 24 % as ‘data integrity’,
- 6% as security through the 2 login simple functions.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Summary and future works</title>
      <p>The main input of function point sizing is the set of functional requirements for a piece
of software. However, very early in the software development lifecycle it is unrealistic
to expect this set of requirements describes the full scope of functionality of the
software as a whole, including all the necessary functional details. Early in the development
life cycle, there are obviously many functional unknowns. Therefore, the size one can
measure directly from a set of incomplete functional requirements early in the lifecycle
and the size measured much later from a very detailed set of functional requirements
fully developed and implemented in a piece of software will differ.</p>
      <p>
        A number of size estimation techniques have already been proposed but are based
mostly on statistical analyses [
        <xref ref-type="bibr" rid="ref10 ref6 ref7 ref8 ref9">6-10</xref>
        ] and do not provide insight into the sources of the
gaps, timing and how such insights may improve size estimation.
      </p>
      <p>
        Following the exploratory analytical study by Abran et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] that identified the
nature of the gaps between earlier sizing and final/delivered size and their sources, this
research used the ISO-IEEE 21948 standard on requirements engineering [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] to identify
sources of requirements and related levels of documentation for system and software
functionality. ISO-IEEE 29148 presents a number of concepts related to the sources,
types and levels of detail of the requirements throughout the system and software life
cycle. In summary, the initial set of requirements originates from two sets of sources,
the business stakeholders and other stakeholders, which led to the ‘systems’
requirements. From the system functional requirements, some were allocated to software
requirements (as well as to hardware requirements and at times to manual operational
procedures). ISO-IEEE 29148 also notes that in addition to software functions
explicitly identified, there may be interfaces identified, but not yet specified, as well as quality
requirements, still at a high level.
      </p>
      <p>At various points in the lifecycle, these lists of software functions are detailed,
programmed, tested and implemented. Similarly, for system non-functional quality
requirements, some of which may be allocated later to additional software functional
requirements. However, an outside measurer without access to all the documentation, or
undocumented functionality (such as those derived from system-NFR and implemented
late in the testing phase), would miss a number of software functions. Similarly,
measurement done earlier in the lifecycle when a number of software functions are neither
identified nor specified in detail, would be ‘invisible’ to the outside and early measurer.</p>
      <p>
        To develop the functionality-based approximation technique presented in this paper,
we used two case studies of the COSMIC group, which documented requirements at
various levels of detail as well as the corresponding COSMIC function points measured
on the basis of the most detailed requirements [
        <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
        ]. From these observations, and
comparison of the information available and described using concepts from ISO-IEEE
29148, at various points in time size scaling factors specific to these case studies and
levels of documentation and sizing were developed. The challenge of designing
functionality scaling factors was worked out from known detailed documented requirements
measured in a context of full visibility, full documentation and no uncertainty. More
specifically, requirements were positioned at three levels of documentation, from the
initial high-level system level down to the most detailed functional levels where all the
requirements allocated to the software from the business functions to the operational
functions as well as quality functions allocated to software were known.
      </p>
      <p>Such scaling ratios, with successive levels of documentation, can be used in future
projects such as project progress through the lifecycle, and documentation of levels of
completeness.</p>
      <p>While the scaling factors derived from the two case studies are specific to these case
studies, this functionality-based approximation technique can be used in most
organizations provided data on past projects can be collected and relevant classification of
functionalities identified. For the purpose of this paper, the ISO 19761 COSMIC
function point standard was taken as reference for discussion, while the majority of concepts
presented are generic to other similar ISO standards.</p>
      <p>
        Additional empirical research work is required to consolidate the insights developed
in the research reported here. In particular, additional case studies from other domains
may provide additional types and sources of functionality that could be considered for
scaling purposes. Also, lessons learned from the research work in [
        <xref ref-type="bibr" rid="ref15 ref16 ref17 ref18 ref19">15-19</xref>
        ] on measuring
software functionality derived from system–NFR must be investigated. Finally, access
to measurements of large software in operations contexts would be useful to explore
the robustness of this proposed functionality-based approximation technique.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumke</surname>
            ,
            <given-names>R</given-names>
          </string-name>
          . (Eds.):
          <article-title>COSMIC Function Points Theory and Advanced Practices</article-title>
          ,
          <source>CRC Press. ISBN 978-1-4398-4486-1</source>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <source>Software Metrics and Software Metrology</source>
          , John Wiley &amp; Sons and IEEE-CS Press, New Jersey, p.
          <fpage>328</fpage>
          ,
          <issue>ISBN</issue>
          :
          <fpage>978</fpage>
          -0-
          <fpage>470</fpage>
          -5972
          <lpage>0</lpage>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. COSMIC Group:
          <source>The COSMIC Functional Size Measurement Method Measurement Manual, version 4.0</source>
          .2, available on: https://cosmic-sizing.org/publications/measurement-manual-v4-
          <fpage>0</fpage>
          -2/ (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Boehm</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abst</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Software Cost Estimation with COCOMO II, Prentice-Hall, Inc</article-title>
          .,
          <string-name>
            <surname>Englewood</surname>
            <given-names>Cliffs</given-names>
          </string-name>
          , New Jersey (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Yılmaz</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ungan</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Demirörs</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>The Effect of the Quality of Software Requirements Document on the Functional Size Measurement</article-title>
          ,
          <source>United Kingdom Software Metrics Association International Conference on Software Metrics and Estimating</source>
          , London, UK (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ungan</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trudel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Analysis of the Gap between the Initial Estimate Size and the Final (True) Size of the Software'</article-title>
          ,
          <source>28th IWSM-MENSURA Conference</source>
          , Vol.
          <volume>2207</volume>
          , pp.
          <fpage>123</fpage>
          -
          <lpage>137</lpage>
          , Beijing, China, ISSN
          <volume>1613</volume>
          -
          <fpage>0073</fpage>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. ISO 29148 Systems and Software Engineering -Life cycle processes- Requirements Engineering, International Organizations for Standardization (ISO),
          <source>Geneva</source>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Desharnais</surname>
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Approximation techniques for measuring Function Points</article-title>
          ,
          <source>13th International Workshop on Software Measurement (IWSM)</source>
          , pp.
          <fpage>270</fpage>
          -
          <lpage>286</lpage>
          . Springer Verlag, Montréal, Canada (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Santillo</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Early FP Estimation and the Analytic Hierarchy Process</article-title>
          ,
          <string-name>
            <surname>ESCOM-SCOPE</surname>
            <given-names>Conference</given-names>
          </string-name>
          , Munich, Germany (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Vogelezang</surname>
            <given-names>F.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prins</surname>
          </string-name>
          , T.G.:
          <article-title>Approximate size measurement with the COSMIC method: Factors of influence</article-title>
          , SMEF Conference, Rome, Italy (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Almakadmeh</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Experimental evaluation of an industrial technique for the approximation of software functional size</article-title>
          .
          <source>International Journal of Computers and Technology</source>
          . vol.
          <volume>10</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>1459</fpage>
          -
          <lpage>1474</lpage>
          , ISSN
          <volume>22773061</volume>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Almakadmeh</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Development of a scaling factors framework to improve the approximation of software functional size with COSMIC - ISO 19761</article-title>
          ,
          <string-name>
            <surname>Doctoral</surname>
            <given-names>Thesis</given-names>
          </string-name>
          , École de technologie superieure, University of Québec, Canada (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. COSMIC Group:
          <article-title>Guideline for Early or Rapid COSMIC Functional Size Measurement by using approximation approaches</article-title>
          , available on: https://cosmic-sizing.
          <article-title>org/publications/guideline-for-early-or-rapid-cosmic-fsm/ (</article-title>
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Lavazza</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morasca</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Empirical evaluation and proposals for bands-based COSMIC early estimation methods</article-title>
          ,
          <source>Journal of Information and Software Technology</source>
          . vol.
          <volume>109</volume>
          , pp.
          <fpage>108</fpage>
          -
          <lpage>125</lpage>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Ungan</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trudel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poulin</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Using FSM patterns to size security non-functional requirements with COSMIC</article-title>
          ,
          <source>27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement (IWSM Mensura '17) ACM</source>
          , pp.
          <fpage>64</fpage>
          -
          <lpage>76</lpage>
          , New York, USA (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Al-Sarayreh</surname>
          </string-name>
          , K.T.:
          <article-title>Identification, specification and measurement, using international standards, of the system non-functional requirements allocated to real-time embedded software</article-title>
          ,
          <source>Doctoral Thesis</source>
          , Ecole de technologie supérieure, University of Québec, Canada (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Al-Sarayreh</surname>
            ,
            <given-names>K.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cuadrado</surname>
            <given-names>Gallego</given-names>
          </string-name>
          ,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>A Standard based Reference Framework for System Portability Requirements</article-title>
          , Computer Standards &amp;
          <source>Interfaces Journal. Elsevier</source>
          , vol
          <volume>35</volume>
          , pp.
          <fpage>380</fpage>
          -
          <lpage>395</lpage>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Al-Sarayreh</surname>
            ,
            <given-names>K.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trudel</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meridji</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>System Security Requirements: A Framework for Early Identification, Specification and Measurement of Software Requirements</article-title>
          , Computer Standards &amp; Interfaces
          <string-name>
            <surname>Journal</surname>
          </string-name>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Al-Sarayreh</surname>
            ,
            <given-names>K.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cuadrado</surname>
            <given-names>Gallego</given-names>
          </string-name>
          ,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>A Standard based Model of System Maintainability Requirements</article-title>
          ,
          <source>Journal of Software Evolution and Process</source>
          . vol.
          <volume>25</volume>
          , no.
          <issue>5</issue>
          , pp.
          <fpage>459</fpage>
          -
          <lpage>505</lpage>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Al-Sarayreh</surname>
            ,
            <given-names>K.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Software Specifications Framework for System Operations Requirements</article-title>
          ,
          <source>International Journal of Computer and Information Sciences</source>
          . vol.
          <volume>10</volume>
          , no.
          <issue>3</issue>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. COSMIC Group:
          <article-title>Course Registration System case study, available on: https://cosmic-sizing.org/publications/course-registration-c-reg-system-case-study-v2-0-1/ (</article-title>
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22. COSMIC Group:
          <article-title>Case Study Sizing Natural Language/UML Use Cases for Web and Mobile Applications using COSMIC FSM</article-title>
          , available on: https://cosmic-sizing.org/publications/restosys-case/ (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>