needs of stakeholders that vary depending on
personal and cognitive factors as well as the
relationship that they have with the system. This
diversity of needs leads to conflicts of interest
among stakeholder (Attarha and Modiri n.d.). The
RE helps to mitigate those conflicts by creating a
knowledge base built with a set of requirements
accepted by all stakeholders. This baseline is the
starting point to software implementation. However,
it suffers changes along the SaaS lifetime that should
be maintained and managed (Ibrahim et al., 2009).
The currently used maintenance methods for
software requirements involve a lot of effort and
time to be applied. That effort may not be
compatible with the short time required to make
adjustments to the new stakeholders needs. They are
not suitable for projects with a large quantity of
requirements. Also these methodologies do not offer
a way of gathering and manage stakeholder’s
feedback objectively. In short, the existing
methodologies for managing requirements in an
evolutionary context are inflexible and they are not
scalable solutions (Ben Charrada et al., 2012)
(Aasem et al., 2010) (Babar et al., 2011).
The objective of this paper is to contribute for
diminishing the problem mentioned presenting a
methodology for software requirements management
and maintenance which can be applied in an
evolutionary context. This methodology is based on
the collection and analysis of the SaaS usage
information. By studying the behaviour of SaaS
users, we can obtain several metrics that allow us to
give recommendations about how to manage and
maintain some of the functional requirements behind
the SaaS under study. It will allow the software to be
adapted and respond timely to the changing needs of
stakeholders, in order to prolong their lifetime.
This paper is organized as follows. Section I
provides some concepts and information about the
developing project. The literature review is
presented in section II. Section III presents the
methodology developed to manage functional
requirements during software lifetime. This
methodology was successfully applied to two case
studies presented in section IV. Finally section V
describes the conclusions and future work.
2 LITERATURE REVIEW
This section describes and compares existing tools
for capturing information of the usage of web
systems and presents related work regarding
requirements management.
There are several web analytical tools which can
collect information about the usage of a system.
They differ on the information gathered. There are
tools that capture the so called heat maps, i.e.,
graphical coloured representations according the
percentage of mouse clicks in each of the website
area (Clickdensity, 2013), (Crazyegg, 2013),
(Firestats, 2013); page views, which represent the
percentage of website visits (Firestats, 2013),
(Analytics, 2013), (Jawstats, 2013), (Piwik, 2013),
(Counter, 2013), (Tracewatch, 2013), (Web Stat)
(Woopra, 2013); peaks of use, i.e., time period with
the higher number of accesses (Bbclone, 2013),
(Firestats, 2013), (Analytics, 2013), (Jawstats,
2013), (Piwik, 2013), (Woopra, 2013); the origin of
the accesses, i.e., the internet protocol and the
URL/origin from which users get access to the
service being analysed (Bbclone, 2013), (Crazyegg,
2013), (Crazyegg, 2013), (Analytics, 2013),
(Jawstats, 2013), (Counter, 2013), (Tracewatch,
2013), (Web Stat, 2013) (Woopra, 2013); navigation
paths, i.e., is the sequence of users’ interactions with
the SaaS done between an origin and a destination
(Analytics, 2013), (Counter, 2013), (Tracewatch,
2013), (Web Stat) (Woopra, 2013); interaction maps,
i.e., graphical representations of the visitors’ mouse
clicks (Analytics, 2013); use percentage of
functionalities i.e., the percentage of visitors that
have used each one of the website functionalities
(Crazyegg, 2013), (Analytics, 2013), (Piwik, 2013),
(Tracewatch, 2013), (Counter, 2013), (Web Stat,
2013) and (Woopra, 2013); qualitative data of users’
experience i.e., users’ feedback about their website
visit (iPerceptions, 2013); visitors logins i.e.
percentage of users that do website login, and how
many time they spend there (Jawstats, 2013), (Piwik,
2013), (Tracewatch, 2013).
Given the myriad of existing tools, someone
needs to identify the information to be collected for
the purpose and select from the existing toolset the
one (or the ones) that is able to extract the maximum
information required.
Besides the collected information, the choice of
the tool to use can also consider other aspect such as
the installation mode because it is necessary to
ensure data integrity and other questions about
security and data confidentiality.
Before starting the development of a software
system, it is important to identify the requirements
with higher priority in order to develop them first.
However, requirements prioritization is also useful
in software maintenance phases since it is possible
to get change requests that need also to be prioritized
in order to identify the ones that should be
ICEIS2014-16thInternationalConferenceonEnterpriseInformationSystems
324