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)