SlideShare ist ein Scribd-Unternehmen logo
1 von 6
A Collaborative Requirement Elicitation Technique
                                                       for SaaS Applications

                      XinZhou                                                        Li Yi                                          YingLiu
             IBM Research - China                                             Peking University                              IBM Research - China
                Beijing, China                                                   Beijing, China                                   Beijing, China
             zhouxin@cn.ibm.com                                             yili07@seLpku.edu.cn                              aliceliu@cn.ibm.com




     Abstract-     Software as a Service (SaaS) provides a web based                       Without well elicited and organized common and/or variant
      software delivery model to serve a large number of clients with                      requirements from potential clients, it's difficult to pre-define
      one single application instance. One of the essential problems to                    enough and appropriate configuration capability for a SaaS
      SaaS   application      development       is   about   how     to    elicit   the    application at development time [12]. As the volume of SaaS
      commonality and variance of multiple clients' requirements                           clients is usually large and the clients are separate, existing
      effectively. This paper presents a collaborative requirement                         traditional requirement elicitation methods [1][3][8] are
      elicitation technique (CRETE), which keeps each potential client
                                                                                           incapable of collecting large amount of diverse requirements
      of a SaaS application aware of the requirements raised by other
                                                                                           and identitying the commonality and variability among these
      clients or the SaaS vendor and allows a client to vote on existing
                                                                                           requirements.
      requirements      or    raise    new     requirements.   With         CRETE,
      individual     client   can     create   and    evolve   his        proprietary          In this paper, we propose a Collaborative Requirement
      requirements model, while the SaaS vendor can automatically get                      Elicitation Technique (CRETE) for SaaS application
      a combined requirements model that reflects all clients' common                      development. The basic idea is to keep each potential client of
      and variant requirements. The SaaS vendor then can develop a                         a SaaS application aware of the requirements raised by others
      SaaS application according to the combined requirements model,
                                                                                           and allow them to raise new requirements or vote on existing
      so that individual client's requirements can be satisfied by self­
                                                                                           requirements. With CRETE, individual client can create and
      serve configuration without changing the SaaS application's
                                                                                           evolve his proprietary requirement model, while the SaaS
      source code.
                                                                                           vendor can automatically get a combined requirement model
                                                                                           that reflects all clients' common and variant requirements. The
          Keywords-SaaS;       requirements elicitation; feature model;
      collaboration                                                                        remaining part of this paper is organized as follows. Section 2
                                                                                           presents the concept framework of CRETE. The requirement
                                                                                           elicitation process is illustrated in Section 3. Section 4 gives a
                                I.      INTRODUCTION
                                                                                           brief introduction on the implementation of CRETE. Section 5
          Software as a Service (SaaS) provides a web based                                introduces the preliminary experiment conducted to validate
      software delivery model to serve a large number of clients with                      the feasibility of CRETE. Section 6 introduces some related
      one single application instance, which has gotten rapidly                            works. Section 7 concludes this paper and discusses future
      growing acceptance by software vendors [5][6]. Each client                           works.
      might present variant requirements on the application due to
      their unique business and/or operational needs. To deal with                                  II.   THE CRETE CONCEPTUAL FRAMEWORK
      such variant requirements, SaaS vendors should provide an
      application with all functionalities and offer clients with                             In this section, we discuss the concepts presented in
      configuration and/or customization capabilities to tailor the                        CRETE. We first give an overview of CRETE, and then clarify
      whole application to a unique one as wanted [11]. If clients'                        the meta-model of requirements constructed in CRETE.
      variable requirements can be clearly identified and well dealt                       Besides, we introduce two types of views for clients and
      with at SaaS application development time, configuration can                         vendors, respectively.
      be easily done at SaaS runtime to meet each client's unique
      requirements. For those unique requirements not considered at                        A.   An Overview of CRETE
      SaaS development time, configuration doesn't work and only                               The purpose of CRETE is to facilitate the vendor and
      customization can be performed with significant complexity                           potential clients on collaboratively presenting, veritying and
      and cost.                                                                            refining a SaaS application's requirements via web. A SaaS
                                                                                           vendor can raise an initial set of requirements and then inform
          There are many literatures reporting research works on the
                                                                                           the potential clients to verity those requirements by voting
      configuration and customization of SaaS application
                                                                                           ''yes'' or "no" on them. Also, each client can present their
      [9][11][12][14]. However, little work is reported on the
                                                                                           personal requirements on the application by adding new
      elicitation of variant requirements for a SaaS application,
                                                                                           requirements into the CRETE environment, which further
      which is fundamental to SaaS configuration and customization.
                                                                                           triggers other clients to vote ''yes'' or ''no'' on these newly-




978-1-4577-0574-8/111$26.00 ©2011 IEEE                                                    83
added requirements. During the whole process, the SaaS               same element), descriptions (assigned by different clients),
vendor can review all the requirements about the application.        comments, etc.
    The conceptual framework for CRETE is shown in Figure
1, which will be further illustrated in following sections.                              TABLE I.       VOTE PROPAGATION RULES

                                                                                                  Corresponding
                                                                           Direct Vote                                               Reason
                                                                                                Propagated Vote(s)
                                                                     Vote "yes" on "R:      Vote "yes" on both FI and       A refinement's existence
                                                                     F2 refines FI".        F2.                             implies the existence of
                                                                     Vote "no" on a         Vote      "no"     on    the    the parent feature and the
                                                                     feature F              refinements involved F          child feature.
                                                                     If "FI excludes        Vote "no"    on the     other   FI and F2 cannot exist at
                                    Web
                                                                     F2", vote "yes"        feature                         the same time
                                                                     on FI or F2
                      i-;:-O-------iI
                            Vendor's Management View
                                                       SaaS
                                                       Vendor's      If "FI    requires     Vote "yes" on F2                F2 mllst exist if FI exists
                      L-======::.-.J                   BROWSER
                                                                     F2", vote "yes"
                                                                     on FI
               Figure I.   CRETE conceptual framework.
                                                                     C.      Client's Views
                                                                         Each client works with two views during the process of
B.   CRETE Requirements Repository
                                                                     collaborative requirement elicitation. One is client's working
    In CRETE, the requirements are expressed in terms of             view and the other is client's private view.
features of an application. A feature describes a user/customer­
perceivable characteristic of the software [13]. There are two           Client's working view (CWV) is a client's main workspace
kinds of relationships between the features, namely refinement,      to build requirement model for a SaaS application. In the
and constraint. The refinement relationships organize features       CWV, a client can create requirements and review existing
with different levels of abstraction or granularities into a         requirements presented by the SaaS vendor or other clients.
hierarchical structure. The constraint relationships describe        The entities in the CWV are extracted from the CRETE
dependencies between features.                                       requirement repository according to the view generation rule
                                                                     No.1, which includes all "feature" and "refinement" elements
    The features and relationships are stored as elements in the     that the clients hasn't vote "no". According to the definition of
CRETE requirements repository. (An element can be either a           feature model, constraint like "requires" or "excludes" is valid
feature or a relationship.) In addition, collaboration-related       at product line level instead of application level so constraints
information on elements (for example, the creation or voting         will not be presented for clients. They will only be used at the
actions a client performs on the elements) is also stored. Figure    backend to check the validity of a client's voting.
2 presents the relation of elements and collaboration-related
information via a meta-model of the elements.                            View Generation Rule I:
                                                                            CWV (Application s, Client c) = {Element e I
                                                                              (e.Application = s) 1 (e.Type != "constraint") 1
                                                                          (! 3vEVotes, v.Type="no"1 v.Client=c 1 v.Element = e)}

                                                                         Client's private view (CPV) is to represent a client's
                                                                     proprietary perspective on the requirements on the SaaS
                                                                     application. The entities in the CPV are extracted from the
                                                                     CRETE requirement repository according to the view
                                                                     generation rule No.2, which includes all "feature" and
                                                                     "refinement" elements that the client has voted ''yes'' (For an



                                                                     [
                                                                     element created by the client, CRETE will automatically add a
                                                                     ''yes'' voting to the element for this client).
        Figure 2.   Meta-model of the elements stored in CRETE.




                                                                                                                                                     l
                                                                          View Generation Rule 2:
    Collaboration-related information of an element includes
                                                                          CPV (Application s, Client c) = {Element e I
direct voting, propagated voting and preference. A direct vote
                                                                          (e.Application=s) 1
is a ''yes'' or "no" directly given by a client on an existing
                                                                          (3a E Creating, a.Client=c 1 a.Element=e) 1
element. The votes represent support or opposition of the
element's existence. For each direct voting on an element, there           (3a E Votes, a.Type = "yes" 1 a.Client = c 1 a.Element =
                                                                         e )}
might be a propagated "yes" or "no" vote on other elements,
depending on the meaning of the direct vote. Table 1 presents
the situations and reasons of propagated voting. Unlike direct       D.      The SaaS Vendor's View
voting, propagated voting is performed automatically by the
                                                                        The SaaS vendor works with his management view (VMV)
CRETE system. Besides the voting on an element's existence,
                                                                     during the process of collaborative requirement elicitation. In
we also allow clients to assign preference on the element's
                                                                     VMV, the vendor can create some initial elements for a to-be
aliases (different clients may assign different names to the
                                                                     developed application, with which clients can vote on them or




                                                                    84
be inspired to propose new elements. Also, the vendor can                     requirements model for the clients and add relationship among
review all the elements about an application. Besides, the                    the requirements through creating operations.
vendor is presented with each requirement's creator, the
                                                                                  Propagate Votes: Propagated votes are computed according
supporters and the dissenters. Then, he can follow which
                                                                              to the rules in Table 1 after an operation was submitted.
elements are requested by which clients. Besides, he can attach
the requirements relationships on the management view from                         Coordinate Operations: In the context of collaborative
application development perspective. For example, the                         work, changes submitted by multiple clients need to be
"excludes" constraint can be added between two features to                    coordinated. After the coordination, if the original changes are
indicate a conflict due to development considerations.                        still valid, they are stored in the CRETE requirement repository
                                                                              and in turn, cause the update of views of all clients; otherwise
 View Generation Rule 3:                                                      the changes are neglected and its submitter will be informed.
      VMV (Application s) = {Element e I                                      Operation coordination will be elaborated in Section 3.C.
       ( e.Application = s ) /
        «(! ::IvEVoting, v.Type-"yes"/ v.Element=e)                          B.      C01iflict Resolution
            V (e.Creator=this vendor»}
                                                                                  Conflicts might exist in a client's working view as the
                                                                              requirement elements coming from multiple clients.
     III.   THE COLLABORATIVE REQUIREMENTS CONSTRUCTION                       Meanwhile, conflicts can also emerge in a client's working
                                           PROCESS
                                                                              view because of inappropriate operations of the client. There
                                                                              are two types of conflicts:
    In this section, we introduce the collaborative requirements
construction process, based on the concepts discussed before.                    Non-positioned Feature (NPF): if the client has voted "no"
We first give an overview of the process, and then present                    on a refinement, then the corresponding child feature becomes
conflict resolution and operation coordination in detail,                     a non-positioned feature. In other words, the child feature's
respectively.                                                                 position in the hierarchical structure of features is unknown
                                                                              now. (It does not become a root feature automatically.) For
A.      Process Overview                                                      example, in Table 2, a client votes "no" on a refinement, or a
                                                                              propagated voting on the refinement will result in a NPF.
    The collaboration process for constructing a SaaS
application's requirements model is shown in Figure 3, which                      C01iflicting Refinements (CR): multiple refinements
includes human activities performed by clients (solid lines in                existing in a working view are considered conflicting if they
Figure 3) and automated activities (dashed lines).                            involve the same feature as the child but different features as
                                                                              the parent. For example, in Table 2, two refinements created by
                                                                              different clients make the feature F2 a child of different
                                   I   Resolve Cannets   I
                                                                              features, so these two refinements conflict with each other.
            Cf!i�-��ti_�_�ti �_g_-_1-!-_-��-�-�_oPi�����-_:
                                                                                     TABLE II.              E XAMPLE CONFLICTS IN A CLIENT'S WORKING VIEW
                                                   :-_-_-_�-��t�_���_-_-_:
                            eqUlremen
                            Repository                                             Conllict           Initial Situation                       Operation             Result Situation

                                                                                   NPF(I)
                                                                                               �      R: F2 refines Fl
                                                                                                                                            Vote "no" on R          B :��: (NPF)
                                                                                   NPF(2)      �      R: F2 refines FI
                                                                                                                                            Vote "no" on FI


                                                                                     CR
                                                                                               Q
                                                                                               � r;;l
                                                                                                                                       Create "R2: F2 refines F3"
                                                                                                                                                                     B B
                                                                                                                                                                       '
                                                                                                                                                                      R" ,   ,/R2

                 Figure 3.      The requirements construction process.
                                                                                              R' migh, be created by another dielll.
                                                                                                                                                                      GJ
    Update Views: When the information in the requirement
                                                                                  For a NPF, a client should make it a root feature explicitly,
repository changes due to operation submission or propagated
                                                                              or creates a refinement involving it as a child, or reconsiders
voting, client and vendor's views are automatically updated.
                                                                              existing refinements. For CR, a client should vote on them to
   Resolve Conflicts: When a client's working view is                         select only one, or even opposes all and create a new one.
updated, he should first focus on the conflicts emerging in the
view and resolve them via submission of creating and/or voting                C.      Operation Coordination
operations. Conflict resolving will be elaborated in Section 3.B.                 As different clients might work on the same requirements
    Submitting Operations: In addition to conflict resolution, a              set while submitting operations, it is possible that their
client constructs his requirements by submitting operations. He               operations need to be coordinated. According to the operation
creates a new requirement via creating operation and adds a                   that causes the repository updates, three possible situations to
requirement already presented by others by submitting "yes"                   be coordinated are shown in Figure 4.
voting operation. To remove those requirements already                           Duplicate creation happens when a client (C2) creates an
presented by others from his working view, a client should                    element (E) before a previous creation of the same element has
submit "no" voting. For the SaaS vendor, he can create initial                become visible to C2 (Le. update C2's working view).




                                                                             85
Unreachable vote is a vote on a nonexistent element. If                                                     A.    An Overview of the System
client CI's "no" vote on element E leads to the deletion of E,                                                      Figure 5 gives a simplified version of the system's
and if client C2 submits a "yes" vote on E before the deletion                                                  architecture. The CRETE system is designed with a typical
becomes visible to him, then C2's ''yes'' vote becomes                                                          Client/Server architecture. The client follows the Model-View­
unreachable.                                                                                                    Controller design pattern. The views include feature browser,
    Unreachable propagation is a propagated vote on a                                                           feature editor, constraints browser and other VI elements. The
nonexistent element. If client Cl's "no" vote on feature FI                                                     main model is a local work copy of the being constructed
leads to the deletion of FI, and if client C2 creates a constraint                                              feature model; besides, there are various data-views (i.e. data
involving FI (e.g. FI requires F2) before the deletion becomes                                                  subsets) for the feature model, such as the name set (a set
visible to him, then the propagation of ''yes'' vote on FI                                                      contains existing feature names in the feature model). The
(according to row I in Table I) is unreachable.                                                                 controller consists of many commands (handlers of user
                                                                                                                operations), the event dispatcher and the connector (handles
                                                                 (created      vote NO                          client-server data exchange). The server contains components
       create E            update repository                                   on E    update repository
  C1                                                   C1 by C1)                                                for protocol handling, data filtering, request handling and
                                       time                        E                                    time
  C2                                                   C2                                                       database access.
              create E                                                             vote YES on E
        Duplicate Creation                                          Unreachable Vote                            B.    Key Features of the System
                                  (feature                                                                          The key features of CRETE system can be divided into two
                                  created vote NO
                                  by C1) on F1    update repository                                             categories: production and awareness.
                            C1
                                  F1                                        time                                   Production refers to the functionalities for constructing,
                            C2
                                       create constraint F1 requires F2                                         viewing and checking the shared requirements. The clients and
                                  Unreachable Propagation                                                       vendors can propose new requirements and vote on existing
                                                                                                                ones. The vote propagation, conflict checking and operation
                                                                                                                coordination are also implemented to help requirements
                  Figure 4.       Example situations to be coordinated.
                                                                                                                construction.
    Coordination of these situations follows a serialized update                                                    Awareness means that collaborative systems should provide
strategy, that is, all update applies to the elements in the same                                               necessary information about activities of other people in the
order of their submission. For duplicate creations, the first                                                   shared workspace, which provides the context for individual's
creating operation adds a new element to the repository, and                                                    work. Awareness support is essential for improving the
the latter is converted to a "yes" vote. For unreachable votes,                                                 usability of collaborative systems [IS]. According to Gutwin
they are no longer valid on a nonexistent element and are                                                       and Greenberg's framework of awareness in [IS], the CRETE
neglected. For unreachable propagations, they are neglected                                                     system provides six kinds of awareness information, as Table 3
together with the operations which cause the propagations.                                                      shows.

              IV.            THE IMPLEMENT AnON OF CRETE                                                                   TABLE III.       AWARENESS INFORMAnON IN CRETE
    In this section, we give a brief introduction to a system
developed for supporting the CRETE method. We first present                                                         Awareness Information             Purpose (According to 1151)

an overview of the system, and then discuss some key features                                                   Others' edit location          Location (Where are they working?)
of the system in details.                                                                                                                      Presence (Who is participating?)

                                                                                                                Controversy                   Artifact (What is the state of the objects?)
                                                                     OoraViews

                   Feature Browser
                                                                                                                Conflict                      Artifact
                                        User List
                                                                                                                My creation                    Authorship (Who did that?)
                    Feature Editor
                                       r-----
                                       History
                                                       $
                                                       tit                                                      Recently changed features     Action (What are they doing?)
                      Constraints
                       Browser
                                              list     �                                                        Change History                Action History (What has been done?)

                     Discussion   & Comments                                Feature Model

                                                                                                                   Others' edit location shows who are working in the system

                                                             I                                                  and which feature they are editing now.
                                                                    Event
                                        Commands
                                                                 Dispatcher


                  Client                             Connector                                                     i information helps users be aware of controversial features
                                                                                                                and relationships (i.e. their supporting rate is less than 100
                  Server           Protocol Handler          I    Request                                       percent).
                                        Filters              I    Handlers


                                        Data Access Objects                         C   Databases   J               Conflict information helps users identify existing conflicts
                                                                                                                that need to be removed.

                    Figure 5.        System architecture (simplified).                                             My creation highlights the features created by current user.
                                                                                                                When using the CRETE system, we found that the users care
                                                                                                                about whether their creations are opposed or supported by
                                                                                                                others, so we decide to highlight such information.




                                                                                                               86
Recently changed f eatures are features with unread recent                                               Remove redundant f  eatures. If two features have different
changes. This information can help users follow the recent                                              names but the same semantics, then one of them is redundant.
progress of the requirements elicitation, especially for large                                          To remove redundant features, the participants prefer to post a
repositories.                                                                                           topic in the discussion page, such as "Redundant features of
                                                                                                        Search for Jobs", and ask others to vote "no" on redundant
    Change history shows all changes that have been made on
                                                                                                        features to remove them from the repository.
the requirements repository, ordered by time. It helps users
track the evolution of the requirements.                                                                    Improve unclear f eatures. Some participants are reluctant to
                                                                                                        carefully describe a feature when they create it, so others
                               V.          AN EXPERIMENT                                                cannot understand the feature very well. The situation gets
                                                                                                        worse when the feature has an improper or vague name. As we
    We conduct an experiment with five participants acting as                                           observed, participants often post a comment on unclear
four clients and one SaaS vendor, respectively. The scenario                                            features to ask for improvement, and some of them even vote
we designed for them is to collaboratively eliciting                                                    no on these features until their creators improve the description
requirements for a SaaS application that supports multiple                                              and/or name.
enterprises to register on it as individual tenant to perform on­
line recruiting related activities like position publishing,                                                Find missing features. The participants try to find missing
position applying, interview arranging, etc.                                                            features when they are browsing the whole feature model.

    The five participants spend about 3 hours working                                                       Adjust and create relationships. The participants adjust
collaboratively. In the end, all clients confirm the requirements                                       refinements and create constraints when most of the features
in their private views, and the vendor gets the requested                                               can be well understood.
features for the system in his management view. There are
                                                                                                            Confirm requirements. The clients browse each feature and
totally 113 features proposed for the application, including 30
                                                                                                        vote "yes" on it if it is a desired feature, no matter whether the
variant features. Three interesting observations have emerged                                           feature is proposed by her/him or others.
from this case study:
                                                                                                            The second observation is that the efficiency of
    First, although there's no rigid process for their work, we                                         requirements elicitation is greatly improved. One reason is that
have observed that the collaborative work can be roughly                                                the users' edit locations displayed in CRETE help the
divided into two phases; we call them the brainstorming phase                                           participants choose an "idle" part of feature model to edit,
and the evaluation phase.                                                                               which leads to parallel creation at different parts of the feature
              140                                                                                       model. Another reason is that participants are often inspired by
                                     128
                               122            7 121             120                                     others' work. Table 4 shows the proportion of feature creation
              120
       �
        VI                                 -
                                                                      .�-:;                             and reuse in each client's private view, which is another
                                                           •
       E 100                                                                                            evidence for the improvement of efficiency of our requirements

                                                                �
        III               82
        Q)                                                                    •   Newly created in      elicitation.
       ...    80
       -
        0
                                                                                  last 20 mins
        �
        Q)
              60
       .J:I          43
                                                                              •   Changed in last 20
        E     40                                                                  mins                        TABLE N.        FEATURES IN EACH CLIENT'S Pruv ATE VIEW (CPV)
       :::I
       Z
              20     I                                                        •   Unchanged in last                              Number of Features in the Client's CPV
                     I
                                                                                                              Client
                                                                                  20 mins                                Total       Created by this Cliellt   Created bv Others
               0
                                                                                                            Client I    91         21 (23.1%)                  70
                     a    a    a     a     a       a       a    0     a
                     N    �    �     00    a       N       �    �     00                                    Client2     87         37 (42.5%)                  50
                                           1"""1   1"""1   rl   rl    1"""1

                                                                                                            Client3     94         34 (36.2%)                  60
                         Time passed (in minutes)
                                                                                                            Client4     104        21 (20.2%)                  83

         Figure 6.    The change of features during the collaboration.                                      The thrid observation is that many variants can be observed
                                                                                                        in the vendor's management view, as shown in Table 5. It
    The work starts at the brainstorming phase. In this phase,                                          implies that our approach is capable of capturing variant
the participants are focusing on proposing requirements as                                              requirements among the clients. The "common structure"
much as possible (Le. creating new features). The way they                                              emerges by comparing the structure of each client's private
prefer is to read an existing feature and try to refine it (create                                      view. We have observed that all conflicting are resolved by the
child features for it) or create a related feature. As shown in                                         participants finally, and all private views have the similar
Figure 6, a large number of initial features are collected over a                                       hierarchical structure except that some of the leaf features are
short period of time (the first hour).                                                                  different.
    As the requirements repository grows larger, the
participants start to focus on evaluating the proposed features.                                                  TABLE V.       COMMON AND VARIANT FEATURE S IN VMV
In this evaluation phase, there are fewer creations and more
                                                                                                                  Total Number of Features                     113
changes of existing features, and the total number of features is
                                                                                                                  Numbers of Common Features                   83 (73.5%)
changed very slightly. We have observed that participants
                                                                                                                  Number of Features Presented in 3 CPVs       24 (21.2%)
browse the whole feature model for many times and perform                                                         Number of Features Presented in 2 CPVs       5 (4.4%)
the following activities:                                                                                         Number of Unique Features                    1(0.9%)




                                                                                                       87
In summary, the results preliminarily demonstrate that our      effectively. In this approach, a center repository is used to
approach is suitable for requirements elicitation of SaaS           record all requirements about the to-be developed SaaS
applications, and the explicit support for collaboration between    application and all collaboration related information. Based on
clients and vendors has very positive influence on the              the information in repository, client's working view is
efficiency of elicitation.                                          presented as a client's workspace while client's private view is
                                                                    presented for a client to review his proprietary requirement
                     VI.    RELATED WORK
                                                                    model. SaaS vendor raises initial application requirements and
                                                                    reviews the combined requirements model through
A.   Feature-oriented Requirements Modeling                         management view. A process with relevant conflict resolving
                                                                    and coordination rules is also proposed to guide the
    Our work in this paper is partly inspired by the research of
                                                                    collaboration. An experiment is conducted to show the
feature-oriented requirements modeling [7][10][13]. One
                                                                    feasibility of CRETE.
implicit assumption of these works is that there is an available
set of domain experts who possess a comprehensive                      In the future, we are going to focus on improving the
understanding of the current software product line and thus can     usability of the CRETE. Especially, how to represent a large
discover all the important commonality and variability in the       number of requirement elements in client's working view in a
software requirements. However, this assumption is generally        well-organized way so that clients will not get lost in it.
not hold in the SaaS circumstance, because of the rapid
evolution nature of SaaS applications and the low possibility of                                  REFERENCES
getting a suitable set of domain experts for SaaS applications.
                                                                    [I]   A. Van Lamsweerde, "Requirements Engineering in the Year 00: A
    Our approach releases the feature-oriented requirements               Research Perspective," International Conference on Software
                                                                          Engineering, Los Alamitos, California: IEEE Computer Society Press,
modeling from above assumption by integrating it with explicit
                                                                          2000, pp. 5-19.
collaboration mechanism and encapsulating it as a web-based
                                                                    [2]   B. Decker, E. Ras, J. Rech, P. Jaubert, and M. Rieth. Wiki-Based
application. The larger number of geographic-distributed                  Stakeholder Participation in Requirements Engineering. IEEE Software,
clients can express, share requirements in a collaborative and            2007, 24(2):28-35.
asynchronous way, and the requirement commonality and               [3]   CREWS Homepage. http://sunsite.infonnati k.rwth-aachen.de/CREWS/.
variability can be collected via analyzing voting on                [4]   C. Potts, K. Takahashi, A.I. Anton. Inquiry-Based Requirements
requirements. Furthermore, we proposes an effective evolution             Analysis. IEEE Software, 1994, 11(2):21-32
mechanism, that is, clients can continuously express their          [5]   D. Ma, The Business Model of "Software-As-A-Service". In 2007 IEEE
updated requirements about a SaaS application and the SaaS                International Conference on Services Computing (SCC 2(07), pages:
vendor can always get the latest commonality and variability              701-702, July 2007.
requirements of a large number of clients.                          [6]   1. Herbert, E. G. Brown, and S. Galvin, "Competing in the fast-growing
                                                                          saaS market", Forrester Report, No. 0,5110,44254,00, 2008.
                                                                    [7]   K. C. Kang, S. Kim, J. Lee, K. Kim, E. Shin, and M. Huh, "FORM: A
B.   Collaborative Requirements Engineering                               Feature-Oriented Reuse Method with Domain-Specific Architecture",
    Another important research area related to our work is the            Annals of Software Engineering, vol. 5, pp. 143-168, Sept. 1998
research on collaborative requirements engineering. Potts et al.    [8]   K. E. Wiegers, Software Requirements, Microsoft Press, 1999.
proposed an approach to carry out the requirements elicitation      [9]   K. Zhang, X. Zhang, W. Sun, H.Q. Liang, Y. Huang, 1. Zeng and X. Z.
through the iteration of three activities: requirements                   Liu,  "A     Policy-Driven   Approach    for   Software-as-Services
documentation, discussion and evolution [4]. In CREWS                     Customization", IEEE Computer Society, CEC-EEE, 2007, pp.1-8.

project, the concept of scenario is used to facilitate the          [10] P. Clements, and 1. Northrop, "Software Product Lines: Practices and
                                                                         Patterns", Addison-Wesley Professional, 2001
conduction of requirements engineering activities in
                                                                    [II] R. Mietzner, A. Metzger, F. Leymann, K. Pohl, "Variability modeling to
collaborative ways [3]. Decker et al. leveraged wiki to support
                                                                         support customization and deployment of multi-tenant-aware Software
asynchronous collaborative requirements collecting [2].                  as a Service applications", 2009 ICSE Workshop on Principles of
                                                                         Engineering Service Oriented Systems, pages: 18-25.
   All these research works aim to get a suitable set of
                                                                    [12] W. Sun, X. Zhang, C. Guo, P. Sun, and H. Su, "Software as a Service:
requirements for only a single customer or organization, and it
                                                                         Configuration and Customization Perspectives". SERVICES-2. IEEE,
is almost impossible for them to collect and analyze                     2008, pages: 18-25.
requirements containing variability requirements from different     [13] W. Zhang, H. Mei, H. Zhao, "A feature-oriented approach to modeling
customers or organizations. While in our approach, a carefully           requirements dependencies," in Proc. of the 13th IEEE Inti. Conf. on
designed voting mechanism is provided to collect requirements            Requirements Engineering (RE 05), 2005, pp. 273-282
from a large number of different customers and to reflect the       [14] Y. Shi, S. Luan, Q. Li, H. Wang, "A Multi-tenant Oriented Business
commonality and variability of those collected requirements,             Process Customization System", 2009 International Conference on New
                                                                         Trends in Information and Service Science, Beijing, China, 2009.
which makes our approach suitable for SaaS applications'
requirements elicitation.                                           [15] C. Gutwin, S. Greenberg A descriptive framework of workspace
                                                                         awareness for real-time groupware. Computer Supported Cooperative
                                                                         Work. 11, 3, 2002, 411-446.
                     VII.   CONCLUSIONS

   This paper presents a Collaborative Requirement Elicitation
Technique (CRETE) to facilitate SaaS vendors on eliciting the
commonality and variance of multiple clients' requirements




                                                                   88

Weitere ähnliche Inhalte

Was ist angesagt?

Cloud definitions and market opportunities
Cloud definitions and market opportunitiesCloud definitions and market opportunities
Cloud definitions and market opportunitiesVik Bhambri
 
Ibm mobile strategy may2012 mark.cesario v1.0
Ibm mobile strategy may2012 mark.cesario v1.0Ibm mobile strategy may2012 mark.cesario v1.0
Ibm mobile strategy may2012 mark.cesario v1.0Mark Cesario
 
Your practical reference guide to build an stream analytics solution
Your practical reference guide to build an stream analytics solutionYour practical reference guide to build an stream analytics solution
Your practical reference guide to build an stream analytics solutionJesus Rodriguez
 
Configuration inerpsaas multi tenancy
Configuration inerpsaas multi tenancyConfiguration inerpsaas multi tenancy
Configuration inerpsaas multi tenancyijcseit
 
SOA - Enabling Interoperability And Business Agility March 2009
SOA - Enabling Interoperability And Business Agility   March 2009SOA - Enabling Interoperability And Business Agility   March 2009
SOA - Enabling Interoperability And Business Agility March 2009Mike Wons
 
Datacenter
DatacenterDatacenter
Datacenterjayconde
 
A Practical Guide for Selecting an Enterprise Messaging Platforms
A Practical Guide for Selecting an Enterprise Messaging PlatformsA Practical Guide for Selecting an Enterprise Messaging Platforms
A Practical Guide for Selecting an Enterprise Messaging PlatformsJesus Rodriguez
 
Kinship platform value proposition
Kinship platform   value propositionKinship platform   value proposition
Kinship platform value propositionfinahub
 
Lhs Value Added Services Info Sheet
Lhs Value Added Services Info SheetLhs Value Added Services Info Sheet
Lhs Value Added Services Info Sheethmojadidi
 
Virtualization & FlexNet Publisher
Virtualization & FlexNet PublisherVirtualization & FlexNet Publisher
Virtualization & FlexNet PublisherFlexera
 
Visionet’S Capabilities & Offerings
Visionet’S Capabilities & OfferingsVisionet’S Capabilities & Offerings
Visionet’S Capabilities & Offeringsmartinvisionet
 
ESB Usage Scenarios and Patterns
ESB Usage Scenarios and PatternsESB Usage Scenarios and Patterns
ESB Usage Scenarios and PatternsIBM Sverige
 

Was ist angesagt? (18)

Contract Versioning
Contract VersioningContract Versioning
Contract Versioning
 
Cloud definitions and market opportunities
Cloud definitions and market opportunitiesCloud definitions and market opportunities
Cloud definitions and market opportunities
 
Enterprise Osgi
Enterprise OsgiEnterprise Osgi
Enterprise Osgi
 
Ibm mobile strategy may2012 mark.cesario v1.0
Ibm mobile strategy may2012 mark.cesario v1.0Ibm mobile strategy may2012 mark.cesario v1.0
Ibm mobile strategy may2012 mark.cesario v1.0
 
Your practical reference guide to build an stream analytics solution
Your practical reference guide to build an stream analytics solutionYour practical reference guide to build an stream analytics solution
Your practical reference guide to build an stream analytics solution
 
Configuration inerpsaas multi tenancy
Configuration inerpsaas multi tenancyConfiguration inerpsaas multi tenancy
Configuration inerpsaas multi tenancy
 
SOA - Enabling Interoperability And Business Agility March 2009
SOA - Enabling Interoperability And Business Agility   March 2009SOA - Enabling Interoperability And Business Agility   March 2009
SOA - Enabling Interoperability And Business Agility March 2009
 
Datacenter
DatacenterDatacenter
Datacenter
 
A Practical Guide for Selecting an Enterprise Messaging Platforms
A Practical Guide for Selecting an Enterprise Messaging PlatformsA Practical Guide for Selecting an Enterprise Messaging Platforms
A Practical Guide for Selecting an Enterprise Messaging Platforms
 
Kinship platform value proposition
Kinship platform   value propositionKinship platform   value proposition
Kinship platform value proposition
 
Lhs Value Added Services Info Sheet
Lhs Value Added Services Info SheetLhs Value Added Services Info Sheet
Lhs Value Added Services Info Sheet
 
BPM meets Semantic Web
BPM meets Semantic WebBPM meets Semantic Web
BPM meets Semantic Web
 
IJET-V2I6P19
IJET-V2I6P19IJET-V2I6P19
IJET-V2I6P19
 
Cable&Wireless Worldwide
Cable&Wireless Worldwide Cable&Wireless Worldwide
Cable&Wireless Worldwide
 
Virtualization & FlexNet Publisher
Virtualization & FlexNet PublisherVirtualization & FlexNet Publisher
Virtualization & FlexNet Publisher
 
20150113
2015011320150113
20150113
 
Visionet’S Capabilities & Offerings
Visionet’S Capabilities & OfferingsVisionet’S Capabilities & Offerings
Visionet’S Capabilities & Offerings
 
ESB Usage Scenarios and Patterns
ESB Usage Scenarios and PatternsESB Usage Scenarios and Patterns
ESB Usage Scenarios and Patterns
 

Andere mochten auch

Pabre pattern-based requirements elicitation
Pabre pattern-based requirements elicitationPabre pattern-based requirements elicitation
Pabre pattern-based requirements elicitationHasan Dwi Cahyono
 
Standardizing inter-element distances in repertory grids
Standardizing inter-element distances in repertory gridsStandardizing inter-element distances in repertory grids
Standardizing inter-element distances in repertory gridsMark Heckmann
 
A new development in the hierarchical clustering of repertory grid data
A new development in the hierarchical clustering of repertory grid dataA new development in the hierarchical clustering of repertory grid data
A new development in the hierarchical clustering of repertory grid dataMark Heckmann
 
Designing collaborative processes for requirements
Designing collaborative processes for requirementsDesigning collaborative processes for requirements
Designing collaborative processes for requirementsRESGWorkshop
 
Gamification in Software Testing (Nordic Testing Days 2016)
Gamification in Software Testing (Nordic Testing Days 2016)Gamification in Software Testing (Nordic Testing Days 2016)
Gamification in Software Testing (Nordic Testing Days 2016)Jana Gierloff
 
Repertory Grid: a missing UX technique?
Repertory Grid: a missing UX technique?Repertory Grid: a missing UX technique?
Repertory Grid: a missing UX technique?bthomas
 
Gamification in Enterprise Software
Gamification in Enterprise SoftwareGamification in Enterprise Software
Gamification in Enterprise SoftwareAbhishek Jain
 
Lecture 8 agile software development (3)
Lecture 8   agile software development (3)Lecture 8   agile software development (3)
Lecture 8 agile software development (3)IIUI
 
Lecture 10 understanding requirements (2)
Lecture 10   understanding requirements (2)Lecture 10   understanding requirements (2)
Lecture 10 understanding requirements (2)IIUI
 
Crowdsourcing presentation (slideshare)
Crowdsourcing presentation (slideshare)Crowdsourcing presentation (slideshare)
Crowdsourcing presentation (slideshare)Olivia Ley
 
Crowdsourcing challenges and opportunities 2012
Crowdsourcing challenges and opportunities 2012Crowdsourcing challenges and opportunities 2012
Crowdsourcing challenges and opportunities 2012xin wang
 
BABoK V2 Requirements Elicitation (RE)
BABoK V2 Requirements Elicitation (RE)BABoK V2 Requirements Elicitation (RE)
BABoK V2 Requirements Elicitation (RE)AMJAD SHAIKH
 
Requirements gathering in information technology a cross-cultural perspective
Requirements gathering in information technology a cross-cultural perspectiveRequirements gathering in information technology a cross-cultural perspective
Requirements gathering in information technology a cross-cultural perspectiveHasan Dwi Cahyono
 
Software Requirement Elicitation Techniques http://www.imran.xyz
Software Requirement Elicitation Techniques http://www.imran.xyzSoftware Requirement Elicitation Techniques http://www.imran.xyz
Software Requirement Elicitation Techniques http://www.imran.xyzImran Hussain Khan
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement SpecificationVishal Singh
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 

Andere mochten auch (20)

Pabre pattern-based requirements elicitation
Pabre pattern-based requirements elicitationPabre pattern-based requirements elicitation
Pabre pattern-based requirements elicitation
 
Standardizing inter-element distances in repertory grids
Standardizing inter-element distances in repertory gridsStandardizing inter-element distances in repertory grids
Standardizing inter-element distances in repertory grids
 
A new development in the hierarchical clustering of repertory grid data
A new development in the hierarchical clustering of repertory grid dataA new development in the hierarchical clustering of repertory grid data
A new development in the hierarchical clustering of repertory grid data
 
Davis repertory grid
Davis repertory gridDavis repertory grid
Davis repertory grid
 
Presentation97USING REPERTORY GRID AND PERCEPTUAL MAPS IN QUALITATIVE RESEARC...
Presentation97USING REPERTORY GRID AND PERCEPTUAL MAPS IN QUALITATIVE RESEARC...Presentation97USING REPERTORY GRID AND PERCEPTUAL MAPS IN QUALITATIVE RESEARC...
Presentation97USING REPERTORY GRID AND PERCEPTUAL MAPS IN QUALITATIVE RESEARC...
 
Designing collaborative processes for requirements
Designing collaborative processes for requirementsDesigning collaborative processes for requirements
Designing collaborative processes for requirements
 
Gamification in Software Testing (Nordic Testing Days 2016)
Gamification in Software Testing (Nordic Testing Days 2016)Gamification in Software Testing (Nordic Testing Days 2016)
Gamification in Software Testing (Nordic Testing Days 2016)
 
Repertory Grid: a missing UX technique?
Repertory Grid: a missing UX technique?Repertory Grid: a missing UX technique?
Repertory Grid: a missing UX technique?
 
Gamification in Enterprise Software
Gamification in Enterprise SoftwareGamification in Enterprise Software
Gamification in Enterprise Software
 
Lecture 8 agile software development (3)
Lecture 8   agile software development (3)Lecture 8   agile software development (3)
Lecture 8 agile software development (3)
 
Lecture 10 understanding requirements (2)
Lecture 10   understanding requirements (2)Lecture 10   understanding requirements (2)
Lecture 10 understanding requirements (2)
 
Crowdsourcing presentation (slideshare)
Crowdsourcing presentation (slideshare)Crowdsourcing presentation (slideshare)
Crowdsourcing presentation (slideshare)
 
Chap3 RE elicitation
Chap3 RE elicitationChap3 RE elicitation
Chap3 RE elicitation
 
Crowdsourcing challenges and opportunities 2012
Crowdsourcing challenges and opportunities 2012Crowdsourcing challenges and opportunities 2012
Crowdsourcing challenges and opportunities 2012
 
BABoK V2 Requirements Elicitation (RE)
BABoK V2 Requirements Elicitation (RE)BABoK V2 Requirements Elicitation (RE)
BABoK V2 Requirements Elicitation (RE)
 
Requirements gathering in information technology a cross-cultural perspective
Requirements gathering in information technology a cross-cultural perspectiveRequirements gathering in information technology a cross-cultural perspective
Requirements gathering in information technology a cross-cultural perspective
 
Software Requirement Elicitation Techniques http://www.imran.xyz
Software Requirement Elicitation Techniques http://www.imran.xyzSoftware Requirement Elicitation Techniques http://www.imran.xyz
Software Requirement Elicitation Techniques http://www.imran.xyz
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Ähnlich wie A collaborative requirement elicitation technique

International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...ijcseit
 
CONFIGURATION INERPSAAS MULTI-TENANCY
CONFIGURATION INERPSAAS MULTI-TENANCYCONFIGURATION INERPSAAS MULTI-TENANCY
CONFIGURATION INERPSAAS MULTI-TENANCYijcseit
 
Evaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web ServicesEvaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web ServicesIRJET Journal
 
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAASMULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAASijseajournal
 
A FRAMEWORK FOR SOFTWARE-AS-A-SERVICE SELECTION AND PROVISIONING
A FRAMEWORK FOR SOFTWARE-AS-A-SERVICE SELECTION AND PROVISIONINGA FRAMEWORK FOR SOFTWARE-AS-A-SERVICE SELECTION AND PROVISIONING
A FRAMEWORK FOR SOFTWARE-AS-A-SERVICE SELECTION AND PROVISIONINGIJCNCJournal
 
Redefining ADCs for Software-as-a-Service Application Delivery that’s Scalabl...
Redefining ADCs for Software-as-a-Service Application Delivery that’s Scalabl...Redefining ADCs for Software-as-a-Service Application Delivery that’s Scalabl...
Redefining ADCs for Software-as-a-Service Application Delivery that’s Scalabl... Array Networks
 
IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET Journal
 
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.au
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.auSoftware as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.au
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.auSusan Diaz
 
Re engineering for SaaS & cloud enablement
Re engineering for SaaS & cloud enablementRe engineering for SaaS & cloud enablement
Re engineering for SaaS & cloud enablementEkartha Inc
 
Cloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureCloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureJohnny Le
 
SaaS Software Development Best Practices_ 2024.pdf
SaaS Software Development Best Practices_ 2024.pdfSaaS Software Development Best Practices_ 2024.pdf
SaaS Software Development Best Practices_ 2024.pdfJPLoft Solutions
 
SaaS Presentation at SCIT Conference
SaaS Presentation at SCIT ConferenceSaaS Presentation at SCIT Conference
SaaS Presentation at SCIT ConferenceSuhas Kelkar
 
Cloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsCloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsAndrewHolland58
 
Continuous Testing of Service-Oriented Applications Using Service Virtualization
Continuous Testing of Service-Oriented Applications Using Service VirtualizationContinuous Testing of Service-Oriented Applications Using Service Virtualization
Continuous Testing of Service-Oriented Applications Using Service Virtualizationiosrjce
 

Ähnlich wie A collaborative requirement elicitation technique (20)

International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...International Journal of Computer Science, Engineering and Information Techno...
International Journal of Computer Science, Engineering and Information Techno...
 
CONFIGURATION INERPSAAS MULTI-TENANCY
CONFIGURATION INERPSAAS MULTI-TENANCYCONFIGURATION INERPSAAS MULTI-TENANCY
CONFIGURATION INERPSAAS MULTI-TENANCY
 
SaaS Pricing and Packaging Strategies
SaaS Pricing and Packaging Strategies SaaS Pricing and Packaging Strategies
SaaS Pricing and Packaging Strategies
 
Evaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web ServicesEvaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web Services
 
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAASMULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
MULTIVIEW SOA : EXTENDING SOA USING A PRIVATE CLOUD COMPUTING AS SAAS AND DAAS
 
A FRAMEWORK FOR SOFTWARE-AS-A-SERVICE SELECTION AND PROVISIONING
A FRAMEWORK FOR SOFTWARE-AS-A-SERVICE SELECTION AND PROVISIONINGA FRAMEWORK FOR SOFTWARE-AS-A-SERVICE SELECTION AND PROVISIONING
A FRAMEWORK FOR SOFTWARE-AS-A-SERVICE SELECTION AND PROVISIONING
 
Redefining ADCs for Software-as-a-Service Application Delivery that’s Scalabl...
Redefining ADCs for Software-as-a-Service Application Delivery that’s Scalabl...Redefining ADCs for Software-as-a-Service Application Delivery that’s Scalabl...
Redefining ADCs for Software-as-a-Service Application Delivery that’s Scalabl...
 
IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...
 
Software as a Service
Software as a ServiceSoftware as a Service
Software as a Service
 
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.au
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.auSoftware as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.au
Software as a Service (SaaS): Custom Acquisition Strategies - LabGroup.com.au
 
Re engineering for SaaS & cloud enablement
Re engineering for SaaS & cloud enablementRe engineering for SaaS & cloud enablement
Re engineering for SaaS & cloud enablement
 
M 94 4
M 94 4M 94 4
M 94 4
 
Cloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architectureCloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architecture
 
SaaS Software Development Best Practices_ 2024.pdf
SaaS Software Development Best Practices_ 2024.pdfSaaS Software Development Best Practices_ 2024.pdf
SaaS Software Development Best Practices_ 2024.pdf
 
saas
saassaas
saas
 
SaaS Presentation at SCIT Conference
SaaS Presentation at SCIT ConferenceSaaS Presentation at SCIT Conference
SaaS Presentation at SCIT Conference
 
Cloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key ComponentsCloud Native Architecture: Its Benefits and Key Components
Cloud Native Architecture: Its Benefits and Key Components
 
M017258892
M017258892M017258892
M017258892
 
Continuous Testing of Service-Oriented Applications Using Service Virtualization
Continuous Testing of Service-Oriented Applications Using Service VirtualizationContinuous Testing of Service-Oriented Applications Using Service Virtualization
Continuous Testing of Service-Oriented Applications Using Service Virtualization
 
internship paper
internship paperinternship paper
internship paper
 

Kürzlich hochgeladen

AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 

Kürzlich hochgeladen (20)

YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 

A collaborative requirement elicitation technique

  • 1. A Collaborative Requirement Elicitation Technique for SaaS Applications XinZhou Li Yi YingLiu IBM Research - China Peking University IBM Research - China Beijing, China Beijing, China Beijing, China zhouxin@cn.ibm.com yili07@seLpku.edu.cn aliceliu@cn.ibm.com Abstract- Software as a Service (SaaS) provides a web based Without well elicited and organized common and/or variant software delivery model to serve a large number of clients with requirements from potential clients, it's difficult to pre-define one single application instance. One of the essential problems to enough and appropriate configuration capability for a SaaS SaaS application development is about how to elicit the application at development time [12]. As the volume of SaaS commonality and variance of multiple clients' requirements clients is usually large and the clients are separate, existing effectively. This paper presents a collaborative requirement traditional requirement elicitation methods [1][3][8] are elicitation technique (CRETE), which keeps each potential client incapable of collecting large amount of diverse requirements of a SaaS application aware of the requirements raised by other and identitying the commonality and variability among these clients or the SaaS vendor and allows a client to vote on existing requirements. requirements or raise new requirements. With CRETE, individual client can create and evolve his proprietary In this paper, we propose a Collaborative Requirement requirements model, while the SaaS vendor can automatically get Elicitation Technique (CRETE) for SaaS application a combined requirements model that reflects all clients' common development. The basic idea is to keep each potential client of and variant requirements. The SaaS vendor then can develop a a SaaS application aware of the requirements raised by others SaaS application according to the combined requirements model, and allow them to raise new requirements or vote on existing so that individual client's requirements can be satisfied by self­ requirements. With CRETE, individual client can create and serve configuration without changing the SaaS application's evolve his proprietary requirement model, while the SaaS source code. vendor can automatically get a combined requirement model that reflects all clients' common and variant requirements. The Keywords-SaaS; requirements elicitation; feature model; collaboration remaining part of this paper is organized as follows. Section 2 presents the concept framework of CRETE. The requirement elicitation process is illustrated in Section 3. Section 4 gives a I. INTRODUCTION brief introduction on the implementation of CRETE. Section 5 Software as a Service (SaaS) provides a web based introduces the preliminary experiment conducted to validate software delivery model to serve a large number of clients with the feasibility of CRETE. Section 6 introduces some related one single application instance, which has gotten rapidly works. Section 7 concludes this paper and discusses future growing acceptance by software vendors [5][6]. Each client works. might present variant requirements on the application due to their unique business and/or operational needs. To deal with II. THE CRETE CONCEPTUAL FRAMEWORK such variant requirements, SaaS vendors should provide an application with all functionalities and offer clients with In this section, we discuss the concepts presented in configuration and/or customization capabilities to tailor the CRETE. We first give an overview of CRETE, and then clarify whole application to a unique one as wanted [11]. If clients' the meta-model of requirements constructed in CRETE. variable requirements can be clearly identified and well dealt Besides, we introduce two types of views for clients and with at SaaS application development time, configuration can vendors, respectively. be easily done at SaaS runtime to meet each client's unique requirements. For those unique requirements not considered at A. An Overview of CRETE SaaS development time, configuration doesn't work and only The purpose of CRETE is to facilitate the vendor and customization can be performed with significant complexity potential clients on collaboratively presenting, veritying and and cost. refining a SaaS application's requirements via web. A SaaS vendor can raise an initial set of requirements and then inform There are many literatures reporting research works on the the potential clients to verity those requirements by voting configuration and customization of SaaS application ''yes'' or "no" on them. Also, each client can present their [9][11][12][14]. However, little work is reported on the personal requirements on the application by adding new elicitation of variant requirements for a SaaS application, requirements into the CRETE environment, which further which is fundamental to SaaS configuration and customization. triggers other clients to vote ''yes'' or ''no'' on these newly- 978-1-4577-0574-8/111$26.00 ©2011 IEEE 83
  • 2. added requirements. During the whole process, the SaaS same element), descriptions (assigned by different clients), vendor can review all the requirements about the application. comments, etc. The conceptual framework for CRETE is shown in Figure 1, which will be further illustrated in following sections. TABLE I. VOTE PROPAGATION RULES Corresponding Direct Vote Reason Propagated Vote(s) Vote "yes" on "R: Vote "yes" on both FI and A refinement's existence F2 refines FI". F2. implies the existence of Vote "no" on a Vote "no" on the the parent feature and the feature F refinements involved F child feature. If "FI excludes Vote "no" on the other FI and F2 cannot exist at Web F2", vote "yes" feature the same time on FI or F2 i-;:-O-------iI Vendor's Management View SaaS Vendor's If "FI requires Vote "yes" on F2 F2 mllst exist if FI exists L-======::.-.J BROWSER F2", vote "yes" on FI Figure I. CRETE conceptual framework. C. Client's Views Each client works with two views during the process of B. CRETE Requirements Repository collaborative requirement elicitation. One is client's working In CRETE, the requirements are expressed in terms of view and the other is client's private view. features of an application. A feature describes a user/customer­ perceivable characteristic of the software [13]. There are two Client's working view (CWV) is a client's main workspace kinds of relationships between the features, namely refinement, to build requirement model for a SaaS application. In the and constraint. The refinement relationships organize features CWV, a client can create requirements and review existing with different levels of abstraction or granularities into a requirements presented by the SaaS vendor or other clients. hierarchical structure. The constraint relationships describe The entities in the CWV are extracted from the CRETE dependencies between features. requirement repository according to the view generation rule No.1, which includes all "feature" and "refinement" elements The features and relationships are stored as elements in the that the clients hasn't vote "no". According to the definition of CRETE requirements repository. (An element can be either a feature model, constraint like "requires" or "excludes" is valid feature or a relationship.) In addition, collaboration-related at product line level instead of application level so constraints information on elements (for example, the creation or voting will not be presented for clients. They will only be used at the actions a client performs on the elements) is also stored. Figure backend to check the validity of a client's voting. 2 presents the relation of elements and collaboration-related information via a meta-model of the elements. View Generation Rule I: CWV (Application s, Client c) = {Element e I (e.Application = s) 1 (e.Type != "constraint") 1 (! 3vEVotes, v.Type="no"1 v.Client=c 1 v.Element = e)} Client's private view (CPV) is to represent a client's proprietary perspective on the requirements on the SaaS application. The entities in the CPV are extracted from the CRETE requirement repository according to the view generation rule No.2, which includes all "feature" and "refinement" elements that the client has voted ''yes'' (For an [ element created by the client, CRETE will automatically add a ''yes'' voting to the element for this client). Figure 2. Meta-model of the elements stored in CRETE. l View Generation Rule 2: Collaboration-related information of an element includes CPV (Application s, Client c) = {Element e I direct voting, propagated voting and preference. A direct vote (e.Application=s) 1 is a ''yes'' or "no" directly given by a client on an existing (3a E Creating, a.Client=c 1 a.Element=e) 1 element. The votes represent support or opposition of the element's existence. For each direct voting on an element, there (3a E Votes, a.Type = "yes" 1 a.Client = c 1 a.Element = e )} might be a propagated "yes" or "no" vote on other elements, depending on the meaning of the direct vote. Table 1 presents the situations and reasons of propagated voting. Unlike direct D. The SaaS Vendor's View voting, propagated voting is performed automatically by the The SaaS vendor works with his management view (VMV) CRETE system. Besides the voting on an element's existence, during the process of collaborative requirement elicitation. In we also allow clients to assign preference on the element's VMV, the vendor can create some initial elements for a to-be aliases (different clients may assign different names to the developed application, with which clients can vote on them or 84
  • 3. be inspired to propose new elements. Also, the vendor can requirements model for the clients and add relationship among review all the elements about an application. Besides, the the requirements through creating operations. vendor is presented with each requirement's creator, the Propagate Votes: Propagated votes are computed according supporters and the dissenters. Then, he can follow which to the rules in Table 1 after an operation was submitted. elements are requested by which clients. Besides, he can attach the requirements relationships on the management view from Coordinate Operations: In the context of collaborative application development perspective. For example, the work, changes submitted by multiple clients need to be "excludes" constraint can be added between two features to coordinated. After the coordination, if the original changes are indicate a conflict due to development considerations. still valid, they are stored in the CRETE requirement repository and in turn, cause the update of views of all clients; otherwise View Generation Rule 3: the changes are neglected and its submitter will be informed. VMV (Application s) = {Element e I Operation coordination will be elaborated in Section 3.C. ( e.Application = s ) / «(! ::IvEVoting, v.Type-"yes"/ v.Element=e) B. C01iflict Resolution V (e.Creator=this vendor»} Conflicts might exist in a client's working view as the requirement elements coming from multiple clients. III. THE COLLABORATIVE REQUIREMENTS CONSTRUCTION Meanwhile, conflicts can also emerge in a client's working PROCESS view because of inappropriate operations of the client. There are two types of conflicts: In this section, we introduce the collaborative requirements construction process, based on the concepts discussed before. Non-positioned Feature (NPF): if the client has voted "no" We first give an overview of the process, and then present on a refinement, then the corresponding child feature becomes conflict resolution and operation coordination in detail, a non-positioned feature. In other words, the child feature's respectively. position in the hierarchical structure of features is unknown now. (It does not become a root feature automatically.) For A. Process Overview example, in Table 2, a client votes "no" on a refinement, or a propagated voting on the refinement will result in a NPF. The collaboration process for constructing a SaaS application's requirements model is shown in Figure 3, which C01iflicting Refinements (CR): multiple refinements includes human activities performed by clients (solid lines in existing in a working view are considered conflicting if they Figure 3) and automated activities (dashed lines). involve the same feature as the child but different features as the parent. For example, in Table 2, two refinements created by different clients make the feature F2 a child of different I Resolve Cannets I features, so these two refinements conflict with each other. Cf!i�-��ti_�_�ti �_g_-_1-!-_-��-�-�_oPi�����-_: TABLE II. E XAMPLE CONFLICTS IN A CLIENT'S WORKING VIEW :-_-_-_�-��t�_���_-_-_: eqUlremen Repository Conllict Initial Situation Operation Result Situation NPF(I) � R: F2 refines Fl Vote "no" on R B :��: (NPF) NPF(2) � R: F2 refines FI Vote "no" on FI CR Q � r;;l Create "R2: F2 refines F3" B B ' R" , ,/R2 Figure 3. The requirements construction process. R' migh, be created by another dielll. GJ Update Views: When the information in the requirement For a NPF, a client should make it a root feature explicitly, repository changes due to operation submission or propagated or creates a refinement involving it as a child, or reconsiders voting, client and vendor's views are automatically updated. existing refinements. For CR, a client should vote on them to Resolve Conflicts: When a client's working view is select only one, or even opposes all and create a new one. updated, he should first focus on the conflicts emerging in the view and resolve them via submission of creating and/or voting C. Operation Coordination operations. Conflict resolving will be elaborated in Section 3.B. As different clients might work on the same requirements Submitting Operations: In addition to conflict resolution, a set while submitting operations, it is possible that their client constructs his requirements by submitting operations. He operations need to be coordinated. According to the operation creates a new requirement via creating operation and adds a that causes the repository updates, three possible situations to requirement already presented by others by submitting "yes" be coordinated are shown in Figure 4. voting operation. To remove those requirements already Duplicate creation happens when a client (C2) creates an presented by others from his working view, a client should element (E) before a previous creation of the same element has submit "no" voting. For the SaaS vendor, he can create initial become visible to C2 (Le. update C2's working view). 85
  • 4. Unreachable vote is a vote on a nonexistent element. If A. An Overview of the System client CI's "no" vote on element E leads to the deletion of E, Figure 5 gives a simplified version of the system's and if client C2 submits a "yes" vote on E before the deletion architecture. The CRETE system is designed with a typical becomes visible to him, then C2's ''yes'' vote becomes Client/Server architecture. The client follows the Model-View­ unreachable. Controller design pattern. The views include feature browser, Unreachable propagation is a propagated vote on a feature editor, constraints browser and other VI elements. The nonexistent element. If client Cl's "no" vote on feature FI main model is a local work copy of the being constructed leads to the deletion of FI, and if client C2 creates a constraint feature model; besides, there are various data-views (i.e. data involving FI (e.g. FI requires F2) before the deletion becomes subsets) for the feature model, such as the name set (a set visible to him, then the propagation of ''yes'' vote on FI contains existing feature names in the feature model). The (according to row I in Table I) is unreachable. controller consists of many commands (handlers of user operations), the event dispatcher and the connector (handles (created vote NO client-server data exchange). The server contains components create E update repository on E update repository C1 C1 by C1) for protocol handling, data filtering, request handling and time E time C2 C2 database access. create E vote YES on E Duplicate Creation Unreachable Vote B. Key Features of the System (feature The key features of CRETE system can be divided into two created vote NO by C1) on F1 update repository categories: production and awareness. C1 F1 time Production refers to the functionalities for constructing, C2 create constraint F1 requires F2 viewing and checking the shared requirements. The clients and Unreachable Propagation vendors can propose new requirements and vote on existing ones. The vote propagation, conflict checking and operation coordination are also implemented to help requirements Figure 4. Example situations to be coordinated. construction. Coordination of these situations follows a serialized update Awareness means that collaborative systems should provide strategy, that is, all update applies to the elements in the same necessary information about activities of other people in the order of their submission. For duplicate creations, the first shared workspace, which provides the context for individual's creating operation adds a new element to the repository, and work. Awareness support is essential for improving the the latter is converted to a "yes" vote. For unreachable votes, usability of collaborative systems [IS]. According to Gutwin they are no longer valid on a nonexistent element and are and Greenberg's framework of awareness in [IS], the CRETE neglected. For unreachable propagations, they are neglected system provides six kinds of awareness information, as Table 3 together with the operations which cause the propagations. shows. IV. THE IMPLEMENT AnON OF CRETE TABLE III. AWARENESS INFORMAnON IN CRETE In this section, we give a brief introduction to a system developed for supporting the CRETE method. We first present Awareness Information Purpose (According to 1151) an overview of the system, and then discuss some key features Others' edit location Location (Where are they working?) of the system in details. Presence (Who is participating?) Controversy Artifact (What is the state of the objects?) OoraViews Feature Browser Conflict Artifact User List My creation Authorship (Who did that?) Feature Editor r----- History $ tit Recently changed features Action (What are they doing?) Constraints Browser list � Change History Action History (What has been done?) Discussion & Comments Feature Model Others' edit location shows who are working in the system I and which feature they are editing now. Event Commands Dispatcher Client Connector i information helps users be aware of controversial features and relationships (i.e. their supporting rate is less than 100 Server Protocol Handler I Request percent). Filters I Handlers Data Access Objects C Databases J Conflict information helps users identify existing conflicts that need to be removed. Figure 5. System architecture (simplified). My creation highlights the features created by current user. When using the CRETE system, we found that the users care about whether their creations are opposed or supported by others, so we decide to highlight such information. 86
  • 5. Recently changed f eatures are features with unread recent Remove redundant f eatures. If two features have different changes. This information can help users follow the recent names but the same semantics, then one of them is redundant. progress of the requirements elicitation, especially for large To remove redundant features, the participants prefer to post a repositories. topic in the discussion page, such as "Redundant features of Search for Jobs", and ask others to vote "no" on redundant Change history shows all changes that have been made on features to remove them from the repository. the requirements repository, ordered by time. It helps users track the evolution of the requirements. Improve unclear f eatures. Some participants are reluctant to carefully describe a feature when they create it, so others V. AN EXPERIMENT cannot understand the feature very well. The situation gets worse when the feature has an improper or vague name. As we We conduct an experiment with five participants acting as observed, participants often post a comment on unclear four clients and one SaaS vendor, respectively. The scenario features to ask for improvement, and some of them even vote we designed for them is to collaboratively eliciting no on these features until their creators improve the description requirements for a SaaS application that supports multiple and/or name. enterprises to register on it as individual tenant to perform on­ line recruiting related activities like position publishing, Find missing features. The participants try to find missing position applying, interview arranging, etc. features when they are browsing the whole feature model. The five participants spend about 3 hours working Adjust and create relationships. The participants adjust collaboratively. In the end, all clients confirm the requirements refinements and create constraints when most of the features in their private views, and the vendor gets the requested can be well understood. features for the system in his management view. There are Confirm requirements. The clients browse each feature and totally 113 features proposed for the application, including 30 vote "yes" on it if it is a desired feature, no matter whether the variant features. Three interesting observations have emerged feature is proposed by her/him or others. from this case study: The second observation is that the efficiency of First, although there's no rigid process for their work, we requirements elicitation is greatly improved. One reason is that have observed that the collaborative work can be roughly the users' edit locations displayed in CRETE help the divided into two phases; we call them the brainstorming phase participants choose an "idle" part of feature model to edit, and the evaluation phase. which leads to parallel creation at different parts of the feature 140 model. Another reason is that participants are often inspired by 128 122 7 121 120 others' work. Table 4 shows the proportion of feature creation 120 � VI - .�-:; and reuse in each client's private view, which is another • E 100 evidence for the improvement of efficiency of our requirements � III 82 Q) • Newly created in elicitation. ... 80 - 0 last 20 mins � Q) 60 .J:I 43 • Changed in last 20 E 40 mins TABLE N. FEATURES IN EACH CLIENT'S Pruv ATE VIEW (CPV) :::I Z 20 I • Unchanged in last Number of Features in the Client's CPV I Client 20 mins Total Created by this Cliellt Created bv Others 0 Client I 91 21 (23.1%) 70 a a a a a a a 0 a N � � 00 a N � � 00 Client2 87 37 (42.5%) 50 1"""1 1"""1 rl rl 1"""1 Client3 94 34 (36.2%) 60 Time passed (in minutes) Client4 104 21 (20.2%) 83 Figure 6. The change of features during the collaboration. The thrid observation is that many variants can be observed in the vendor's management view, as shown in Table 5. It The work starts at the brainstorming phase. In this phase, implies that our approach is capable of capturing variant the participants are focusing on proposing requirements as requirements among the clients. The "common structure" much as possible (Le. creating new features). The way they emerges by comparing the structure of each client's private prefer is to read an existing feature and try to refine it (create view. We have observed that all conflicting are resolved by the child features for it) or create a related feature. As shown in participants finally, and all private views have the similar Figure 6, a large number of initial features are collected over a hierarchical structure except that some of the leaf features are short period of time (the first hour). different. As the requirements repository grows larger, the participants start to focus on evaluating the proposed features. TABLE V. COMMON AND VARIANT FEATURE S IN VMV In this evaluation phase, there are fewer creations and more Total Number of Features 113 changes of existing features, and the total number of features is Numbers of Common Features 83 (73.5%) changed very slightly. We have observed that participants Number of Features Presented in 3 CPVs 24 (21.2%) browse the whole feature model for many times and perform Number of Features Presented in 2 CPVs 5 (4.4%) the following activities: Number of Unique Features 1(0.9%) 87
  • 6. In summary, the results preliminarily demonstrate that our effectively. In this approach, a center repository is used to approach is suitable for requirements elicitation of SaaS record all requirements about the to-be developed SaaS applications, and the explicit support for collaboration between application and all collaboration related information. Based on clients and vendors has very positive influence on the the information in repository, client's working view is efficiency of elicitation. presented as a client's workspace while client's private view is presented for a client to review his proprietary requirement VI. RELATED WORK model. SaaS vendor raises initial application requirements and reviews the combined requirements model through A. Feature-oriented Requirements Modeling management view. A process with relevant conflict resolving and coordination rules is also proposed to guide the Our work in this paper is partly inspired by the research of collaboration. An experiment is conducted to show the feature-oriented requirements modeling [7][10][13]. One feasibility of CRETE. implicit assumption of these works is that there is an available set of domain experts who possess a comprehensive In the future, we are going to focus on improving the understanding of the current software product line and thus can usability of the CRETE. Especially, how to represent a large discover all the important commonality and variability in the number of requirement elements in client's working view in a software requirements. However, this assumption is generally well-organized way so that clients will not get lost in it. not hold in the SaaS circumstance, because of the rapid evolution nature of SaaS applications and the low possibility of REFERENCES getting a suitable set of domain experts for SaaS applications. [I] A. Van Lamsweerde, "Requirements Engineering in the Year 00: A Our approach releases the feature-oriented requirements Research Perspective," International Conference on Software Engineering, Los Alamitos, California: IEEE Computer Society Press, modeling from above assumption by integrating it with explicit 2000, pp. 5-19. collaboration mechanism and encapsulating it as a web-based [2] B. Decker, E. Ras, J. Rech, P. Jaubert, and M. Rieth. Wiki-Based application. The larger number of geographic-distributed Stakeholder Participation in Requirements Engineering. IEEE Software, clients can express, share requirements in a collaborative and 2007, 24(2):28-35. asynchronous way, and the requirement commonality and [3] CREWS Homepage. http://sunsite.infonnati k.rwth-aachen.de/CREWS/. variability can be collected via analyzing voting on [4] C. Potts, K. Takahashi, A.I. Anton. Inquiry-Based Requirements requirements. Furthermore, we proposes an effective evolution Analysis. IEEE Software, 1994, 11(2):21-32 mechanism, that is, clients can continuously express their [5] D. Ma, The Business Model of "Software-As-A-Service". In 2007 IEEE updated requirements about a SaaS application and the SaaS International Conference on Services Computing (SCC 2(07), pages: vendor can always get the latest commonality and variability 701-702, July 2007. requirements of a large number of clients. [6] 1. Herbert, E. G. Brown, and S. Galvin, "Competing in the fast-growing saaS market", Forrester Report, No. 0,5110,44254,00, 2008. [7] K. C. Kang, S. Kim, J. Lee, K. Kim, E. Shin, and M. Huh, "FORM: A B. Collaborative Requirements Engineering Feature-Oriented Reuse Method with Domain-Specific Architecture", Another important research area related to our work is the Annals of Software Engineering, vol. 5, pp. 143-168, Sept. 1998 research on collaborative requirements engineering. Potts et al. [8] K. E. Wiegers, Software Requirements, Microsoft Press, 1999. proposed an approach to carry out the requirements elicitation [9] K. Zhang, X. Zhang, W. Sun, H.Q. Liang, Y. Huang, 1. Zeng and X. Z. through the iteration of three activities: requirements Liu, "A Policy-Driven Approach for Software-as-Services documentation, discussion and evolution [4]. In CREWS Customization", IEEE Computer Society, CEC-EEE, 2007, pp.1-8. project, the concept of scenario is used to facilitate the [10] P. Clements, and 1. Northrop, "Software Product Lines: Practices and Patterns", Addison-Wesley Professional, 2001 conduction of requirements engineering activities in [II] R. Mietzner, A. Metzger, F. Leymann, K. Pohl, "Variability modeling to collaborative ways [3]. Decker et al. leveraged wiki to support support customization and deployment of multi-tenant-aware Software asynchronous collaborative requirements collecting [2]. as a Service applications", 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems, pages: 18-25. All these research works aim to get a suitable set of [12] W. Sun, X. Zhang, C. Guo, P. Sun, and H. Su, "Software as a Service: requirements for only a single customer or organization, and it Configuration and Customization Perspectives". SERVICES-2. IEEE, is almost impossible for them to collect and analyze 2008, pages: 18-25. requirements containing variability requirements from different [13] W. Zhang, H. Mei, H. Zhao, "A feature-oriented approach to modeling customers or organizations. While in our approach, a carefully requirements dependencies," in Proc. of the 13th IEEE Inti. Conf. on designed voting mechanism is provided to collect requirements Requirements Engineering (RE 05), 2005, pp. 273-282 from a large number of different customers and to reflect the [14] Y. Shi, S. Luan, Q. Li, H. Wang, "A Multi-tenant Oriented Business commonality and variability of those collected requirements, Process Customization System", 2009 International Conference on New Trends in Information and Service Science, Beijing, China, 2009. which makes our approach suitable for SaaS applications' requirements elicitation. [15] C. Gutwin, S. Greenberg A descriptive framework of workspace awareness for real-time groupware. Computer Supported Cooperative Work. 11, 3, 2002, 411-446. VII. CONCLUSIONS This paper presents a Collaborative Requirement Elicitation Technique (CRETE) to facilitate SaaS vendors on eliciting the commonality and variance of multiple clients' requirements 88