Effort Estimation Development Model for Web-based Mobile Application Using Fuzzy Logic

Effort estimation becomes a crucial part in software development process because false effort estimation result can lead to delayed project and affect the successful of a project. This research proposes a model of effort estimation for web-based mobile application developed using object oriented approach. In the proposed model, functional size measurement of object oriented based web application named OOmFPWeb, web metric and mobile characteristic for web-based mobile application size measurement are combnined. The estimation process is done by using mamdani fuzzy logic method. To evaluate the proposed model, the comparison between OOmFPWeb as the variable that affect effort estimation for web-based mobile application and the proposed model are performed. The evaluation result shows that effort estimation for web-based mobile application with the proposed model is better than just using OOmFPWeb. This paper proposes a model to estimate effort needed by an object oriented web-based mobile application project development. The procedure of this model is to estimate functional size measurement using OOmFPWeb, total hypermedia size and the characteristics of mobile application in a web-based mobile application. Total hypermedia size is retrieved by using several variables from web metrics of Rosmina and using AHP and total characteristic of mobile application by Gibeon. After functional, hypermedia and characteristic mobile size retrieved, the project data size is compared with the actual effort with Mamdani fuzzy logic. The evaluation is done for this model by using 30 project gather from several web mobile companies. The evaluation results show that the proposed method is better than just using OOmFPWeb to estimated effort needed.


Introduction
The longer user of smart phones in the world is increasing. Mobile-based application developer is vying to market their creativity to create applications that can support a person needs in a mobile device [1]. Developing a mobile application project need an estimation of successful project. Some criteria of a successful project are completed on time, within budget, and in accordance with the desired quality [2]. It leads to estimate these three factors become very critical. Until now, there are many projects fail due to errors in estimating thes three factors. Effort estimation of software project is difficult because every software has different complexity, high degree of flexibility, and the different abstarction of software. The mobile application is one type of software which has the characteristics and a higher level of difficulty than software effort estimation.
Before estimating the effort needed for project, the project size becomes the important issue. Regarding this issue, the number research of web application is more than web based mobile application. Mendes uses web metric to know the factors of web-based application. This method has limitation which is only for static data web and can't be used for website which requires dynamic and complex data, like e-commerce, e-learning, and so forth. Mendes then proposed web metrics which can be used for both hypermedia and software web applications size measurement [3]. Web metric is not specific for object oriented based web application. OO-method Function Point for Web (OOmFPWeb) could be used to estimate functional size for web application using an evaluation framework for functional size measurement (FSM) method or procedure by Abrahao. The result of method evaluation has been proved to be efficient for user [4]. But this result of method does not consider multimedia components (audio, animation, image, etc). So, website with same functionality but different interface and different total multimedia elements (audio, animation, image, etc) will be considered to have same effort needed.
Characteristics of mobile application by Souza could be used to know the factor of mobile characteristic. It is concluded that the research presented is entirely appropriate and viable and that this proposal should take into account all the peculiarities of such applications, finally creating a belief that there are considerable differences in the development project for mobile applications [5]. There are efforts to estimate such a method based on expert opinion, 2083 the model algorithm, and based on artificial intelligence. One of which is based on artificial intelligence is fuzzy logic. Fuzzy logic is one of the most commonly method used today. The purpose of this paper is to present the design and evaluation of proposed method for an estimation model for mobile applications. The evaluation of proposed method accuracy is using MMRE [6], MdMRE [7] and Pred(n) [8].

Literature Review
Fuzzy logic methods are implemented into many cases to solve the problem [9,10]. Many research about fuzzy logic to effort estimation software development had been done by [11][12][13][14][15][16]. That research proved that fuzzy logic can be used to estimate the effort in developing software and combining other several methods. Sharma mentioned that the fuzzy logic can help to deal with uncertainty and imprecision in comparison with other popular estimation model [10]. Prasad concluded that using triangular membership function (TMF) is better than fuzzy logic method used GBeIIMF [13]. Gracia ever compared two models of fuzzy logic to estimate software development effort, these two models are models of Takagi-Sugeno fuzzy and Mamdani fuzzy.
The results of the research explained that the Mamdani fuzzy is more accurate for estimating software development effort that project ≤ 100 than Takagi-Sugeno fuzzy [17]. Based on this result, we use Mamdani fuzzy to estimation web-based mobile application development effort. But researches had not yet been made the effort estimation in mobile application, the presence of this literature study, the authors wish to back for the research of fuzzy logic for effort estimation for mobile application development. Research about web metric to determine web size had been done by Cowderoy [18], Mendes [19], Reifer [20], Cleary [21] only used data from one web company, which might effect external validation from their result. Mendes suggested web metrics for hypermedia based web application and Mendes suggested web metric for static and dynamic web application. Figure 1 shows the steps of the proposed effort estimation methods. First, data is taken from the web-based mobile application project requirement specification. It will generate the projects size. Then the the estimation model with fuzzy logic is developed. It starts from fuzzification, then uses interface engine which records data estimate project in database and also generates the rule base. The matlab is used as to develop interface engine. Once completed, the stage defuzzification done to get effort results sought.

Figure 1. Proposed Effort Estimation Methods
Size measurement variables in this research is using the variable FHSWebEE method for estimating the functional size and hypermedia measurement by Rosmina and Suharjito [22] and the estimated size of the mobile project ever undertaken by Souza and Aquino Jr. There were three input variables to measure the mobile web effort estimation, namely Functional Size

Functional Size Measurement
There are many functional size measurement methods, and one of those methods is OOmFPWeb by Abrahao. OOmFPWeb is a FSM method for object oriented system [4]. It is a combination of FSM method described in IFPUG meta model (ISO/IEC, 2003a) and OOWS method. This method can measure functional size of a web application from the user requirement specification. There are five elements that need to be counted in OOmFPWeb [23]: a. Internal Logical Files (ILF): It is a class that encapsulates a set of data items (attributes) representing the state of the objects in each class. b. External Interface Files (EIF): It is a legacy view that is defined as a filter placed on a class by a preexisting system. c. External Input (EI): It is a service defined in a class or legacy view, since a service always change the state of the class (altering the behavior of the system). Their intent is to present information to user without altering the system behavior. Figure 3 illustrates how the five elements of Function Point work. ILF and EIF are included in data function category. EI, EQ, and EO are included in transactional function category. Complexity of a data function depends on total Data Element Type (DET) and total Record Element Type (RET), while complexity of a transactional function depends on total Data Element Type (DETTransaction) and total File Type Referenced (FTR). There are measurement rules to count total DET and RET or DET and FTR for every function. Every different function type has different measurement rules. The measurement rules from OOmFPWeb can be seen in [23]. To estimate functional size of a project, we can use object diagram which can count data and transaction function easier. For every function found, a weight according is given to their complexity. Table 1 describes the weight for every function according to their type and complexity level provided in the IFPUG counting manual [16]. Next, we can count total functional size or OOmFPWeb. OOmFPWeb is calculated as shown equations (1)-(3) where: (2) where, n is total of class defined in project to be measured, m is total of legacy view found in project, x is total services found in all classes, and y is total interface found in project.

Hypermedia Size Measurement
The hypermedia size measurement is calculated by used several factors from metrics of Mendes. The Mendes' factors what is used in this research were number of new video or audio, new animations, new web pages, new images, and typed text. By used Analytical Hierarchy Process (AHP) [24], the calculation of hypermedia is obtained. Figure 4 shows the hypermedia calculation using AHP.
where AVNew is new video or audio, AnimNew is new animation, newWP is new web pages, imgNew is new images, txtTyped is text be typed.

Characteristics of Mobile Application Size Measurement
Souza and Aquino proposed method which can measure characteristics of mobile application from user requirement specifications [5]. Productivity factors: Functionality requirements: compatibility with the needs of the end user, the complexity of the requirements. a. (--) Complex and critical application area (thousands of FPs), multiple users and multicultural system. b. ( -) Interoperable application area with some complex characteristics, requiring special understanding from users and developers. c. (+ / -) Partly automated, integrated application area and a medium size application (between 600 and 1000 FPs) with standard security requirements. Portability requirements: adaptability and instability to different environments, to the architecture and to structural components. a. (--) Software users are located in many types of organizations, with various platforms (hardware, browsers, operating systems, middleware, protocols, etc), various versions and various update frequencies. b. ( -) The software must operate on some different platforms (hardware, browsers, operating systems, middleware, protocols, etc) and in various versions of each of them. c. (+ / -) Each version of the software must run on multiple versions of a given platform (hardware, browser, operating system, middleware, protocols, etc), and the frequencies of update of the users are quite predictable. d. ( + ) The software must run on a given platform (hardware, browser, operating system, middleware, protocols, etc), but the use of system-level services is limited because the upgrade process is partial. e. (+ +) Software must be run on a particular platform (hardware, browser, operating system, middleware, protocols, etc), but the upgrade process is completely controllable. Performance -" = [1.0] Normal situation d.
-" = [0.95] Bad situation, worse circumstances than in the average case e.
--" = [0.90] Very bad situation, much worse circumstances than in the average case By requirements and factors the results, it can be calculated as shown equation (5) and (6). (5) where: (6) Due to Souza made application easier weighting the higher weight, then made the conversion to make it easier to apply to the fuzzy logic. The proposed conversion by us is shown Table 2.

Fuzzy Logic
The functional, hypermedia and characteristics of mobile applications are used as input variables to the membership function and contains 125 rules as shown Figure 5 and Figure 6.   Table 3 shows the result of acuracy prediction. The result shows, that the proposed method is better than just using function point (OOmFPWeb) as variable for effort estimation. The mean of relative error of the proposed method is about 5.9%, the median of relative error of proposed method is about 4.5% and 100% from the tested projects have error level below of equals to 25%. The mean of relative error of OOmFPWeb is about 7.3%, median of relative error is about 70%, and 0% of the tested projects have error level below or equals to 25%.

Conclusion
This paper proposes a model to estimate effort needed by an object oriented webbased mobile application project development. The procedure of this model is to estimate functional size measurement using OOmFPWeb, total hypermedia size and the characteristics of mobile application in a web-based mobile application. Total hypermedia size is retrieved by using several variables from web metrics of Rosmina and using AHP and total characteristic of mobile application by Gibeon. After functional, hypermedia and characteristic mobile size retrieved, the project data size is compared with the actual effort with Mamdani fuzzy logic. The evaluation is done for this model by using 30 project gather from several web mobile companies. The evaluation results show that the proposed method is better than just using OOmFPWeb to estimated effort needed.