Copyright © 2018 Authors. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted
use, distribution, and reproduction in any medium, provided the original work is properly cited.
International Journal of Engineering & Technology, 7 (2.3) (2018) 46-49
International Journal of Engineering & Technology
Website: www.sciencepubco.com/index.php/IJET
Research Paper
Identify the effective documentation method for representing
the functional software architecture
Iyas Ibriwesh
1*
, Sin-Ban Ho
2
, Ian Chai
3
1, 2, 3
Faculty of Computing and Informatics, Multimedia University, 63100 Cyberjaya, Selangor, Malaysia
*Corresponding author E-mail: ibrawish2012@gmail.com
Abstract
Software architecture mainly focuses on the high-level structures of the proposed software, and how to document these structures. A
documentation method that represents an incomplete picture is one reason for inadequate requirements. This leads to requirements engi-
neers wasting their time arguing over what to do and how to do it. Four documentation methods are frequently used in order to document
stakeholders' statements, particularly for representing the functional perspective, namely, Natural Language (NL), Data Flow Diagram
(DFD), Use Case Diagram (UCD), and Activity Diagram (AD). This research was carried out using the electronic market application
domain as a test context. A controlled experiment was conducted among 158 participants, comparing among NL, DFD, UCD, and AD
methods, which aimed to find out which requirements documentation method is more effective, helpful, and easier to comprehend. The
results from this empirical study reveal that the AD method is more effective, understandable, and easier to document the software re-
quirements in the functional perspective. Furthermore, AD had better performance in representing the requirements engineering context,
system context, and development context than the other functional documentation methods. These empirical results would help software
companies and associated experts enhance the quality of their software products, as well as increase the chance of success of software
projects.
Keywords: Software Architecture, Requirements Documentation, Controlled Experiment, Requirements Engineering Context, Functional Perspective.
1. Introduction
Software system projects still suffer from shortcomings in the
requirements engineering (RE) phase. Approximately 60% of all
mistakes that occurred in the software development projects occur
in the RE phase [1]. When an error occurred in this phase, the
project’s budget and schedule will likely overrun. Therefore, RE is
considered the hardest and the most important phase in the soft-
ware development life cycle [2].
Software practitioners depend on documents as the main commu-
nication medium. So, effective communication and collaboration
between the system’s developers and end users is necessary to
develop a successful software product with high quality [3]. Poor-
ly documented requirements is considered one of the most im-
portant factors causing failure of software projects [4]. If the re-
quirements engineers could not understand what the customer
really needs, this leads them to create incorrect diagrams, and
subsequently, the software developed would likely fail and be
rejected by the customer.
The main goal of this study is to improve the requirements docu-
mentation activity, by identifying the best method that should be
used for representing the functional perspective in the software to
be developed. This could be done by comparing among the differ-
ent requirements documentation methods (the most common
methods) that are used in the functional perspective. The func-
tional documentation methods are the Natural Language (NL), the
Data Flow Diagram (DFD), the Use Case Diagram (UCD), and the
Activity Diagram (AD) [1]. This comparison aims to determine
which method is easier for the participants to read, understand,
and use, as well as which method has better ability to represent the
requirements engineering context.
This paper starts with requirements documentation methods that
are widely used in the functional perspective, which are highlight-
ed in Section 2. The experimental hypotheses and methodology on
how the study was conducted are explained in details in Section 3.
Section 4 represents the experimental participants’ knowledge and
characteristics. The statistical analysis, results, and discussions are
presented in Section 5. At the end of this paper, the conclusions of
this study are presented in Section 6.
2. Documenting software architecture
Functional, data, and behavioural perspectives should be docu-
mented separately, using suitable conceptual modelling languages
[1]. This empirical study concentrated on the functional perspec-
tive, which documents which information of the system context is
being manipulated by the proposed system and which data is being
transmitted to the system context by the system. DFD, UCD, and
AD are commonly used as requirements models to document
software requirements in the functional perspective. Furthermore,
NL is widely applied to document any kind of requirements, and it
is frequently used to model the functional perspective of require-
ments [1].
3. Experimental design
A controlled experiment has been carried out, in which the E-
market application domain, online flea market system (OFMS)