Revised approach for the prediction of functional size of mobile application

Mobile applications affect our everyday activities and have become more and more information centric. Effort estimation for mobile application is an essential factor to consider in the development cycle. Due to feature complexitiesandsize, effortestimationof mobileapplicationsposesa continuedchallenge fordevelopers.This paper attempts to adapt COSMIC Function Point and Unified Modeling Language (UML) techniques to estimate the size of a given mobile application. The COSMIC concepts capture data movements of the functional processes whereas the UML class analyzes them. We utilize the Use Case Diagrams, sequence diagrams and class diagrams for mapping the Function user requirements for sizing mobile applications. We further present a new size measurement technique; Unadjusted Mobile COSMIC Function points (UMCFP) to get the functional size of mobile application using Mobile Complex Factors as an input. In this study eight mobile applications were analyzed using UMCFP, Function Point Analysis and COSMIC Function Point. The results were compared with the actual size of previous Mobile application projects.


Introduction
Many organizations depend on mobile applications to support their business and create global platform for their users. During the development of mobile applications, software development companies pass through the challenging aspect of its effort estimation. The cost of the project can be calculated once its efforts are estimated that depends on the overall size of an application. The overall cost is calculated by estimating overall efforts, cost, contingency and profit. Inappropriateness in effort estimation may lead to overestimation or underestimation i.e., over budgeting or under budgeting, both can cause software industry to be in a failed state, therefore, afford estimation is a crucial step that is an important role in the success of software Prediction of functional size of mobile application development company, to carry out effort estimation for mobile application development it is necessary to know all the functional and Non-functional requirement of a mobile application. Thus, effort estimation, has acquired a huge importance in software development process as it depicts whether the project development is going in a profit or loss. The reviewed research papers [1,2] advocates the effectiveness of COSMIC FP for Mobile application size estimation. However, it was reported that the popularity of COSMIC FP was not enough to quantify it as a standard approach for mobile application effort estimation. Therefore COSMIC FP approach needs to continuously review and refine the way data movements are counted. Different researchers highlighted the need and importance of inclusion of functional user requirements used in estimating the size of mobile applications. Therefore the need of the hour is to further refine the parameters used in COSMIC FP with improving method of counting data movements. This may lead to more effective COSMIC FP estimation of size and efforts for mobile application development projects.
This paper uses UML modeling to provide functional user requirements of mobile applications and adapts COSMIC FP measuring approach for the estimation of functional size of mobile applications. The proposed model which is to be developed next is expected to deliver efficient results by minimizing the gap between actual and estimated efforts. The size is used as an input in Cost or Effort Estimation models which should be accurate; because the accurate calculation show real cost and effort estimations in mobile application development. To make Size estimation process more stabilize we conducted a revised research work to frame out the list of Mobile Complexity Factors and weighting factors on the basis of feedback from the industry people and researchers so to make sure the MCF's are in line with the modern Mobile application development.

Related work
Several approaches were proposed to quantify Function User Requirements with the help of UML Diagrams. Mapping between COSMIC rules and UML components enables the modeler's in software companies to assemble estimation oriented models so that the measurer can apply COSMIC rules in a precise and genuinely manner. By applying UML modeling with COSMIC rules it become easier for the COSMIC approach to be well fit in the software estimation process in particular and software development process in general. The first concept was given by B evo et al. [3] where the author has mapped COSMIC rules with UML diagrams to represent function processes of application software. Van den Berg et al. [4] studied both FPA and COSMIC to represent Function user requirements (FUR) in the form of UML diagrams. This study advocates class diagrams, use case diagrams, behavioral diagrams to be used to show flow of events, functional processes, etc. In another study [5] the COSMIC concepts like functional processes, data groups, data movements, data attributes are established that are used with UML mapping. In a research study [6] COSMIC concept was used with state diagrams to see the dependence of functions with components of UML diagrams. The study of Lavaza L., [17] proposed the concept of mapping between UML diagrams and COSMIC rules. He used class diagram and component diagram to identify the functional processes and data movements with respect to each functional process. The mapping between COSMIC rules and UML diagrams are represented through Functional Requirement Model; where each Functional process was divided into four data movements Entry, Exit, Read and Write. Class diagrams, Use case diagram and sequence diagrams were mostly used in this research study to size the functional processes of mobile application. The calculation and identification of data movements in functional process are done on the basis of the instruction contained in the functional process. Data movement is a functional component that carries a single type of data group. Each data movement corresponds to certain data manipulations.

Process flow
In this study following methodology has been followed to achieve the desired results. The set of activities that involves several list of actions are described below: Systematic review: It is a survey based study where the primary endpoint is to see the resemblance of selected parameters with modern day mobile application development. The detailed information for COSMIC FSM is analyzed that is to be used later in the measurement process. The concept of UML modeling is also revised in order to provide better understanding for mapping the parameters/mobile application requirements with COSMIC FSM approaches.

Mapping and measurement:
This level of approach is composed of UML representation of mobile applications. Where different UML representations in the form of class diagrams are used in order to determine the aggregate number of COSMIC data movements/activities (READ, WRITE, ENTRY, EXIT) of different functional processes that count the overall size of a mobile application according to COSMIC rules.
Evaluation: New Mobile Sizing parameters are included for Mobile application cost estimation approach that is used to predict the Functional size of a mobile application which allows calculating Unadjusted Mobile COSMIC Function point (UMCFP). In this study eight mobile applications were analyzed to calculate the functional size and the estimated result was compared with the result of actual estimations of previous mobile applications. The Sequential process flow of this research work is shown below (see Figure 1).

COSMIC FP and UML representations
For the proposed sizing metrics, the mapping stage requirement is an important step to identify and count the summation of data movements in a mobile application to calculate the Prediction of functional size of mobile application overall function size of any mobile application. In this study, Identification of data movements is carried out using COSMIC rules. The data movements are calculated using COSMIC concepts and UML diagrams. This concept of Mapping is used where UML diagrams represent functional processes, sub processes and hence data movements of mobile applications by applying COSMIC concepts. The mapping concepts between COSMIC and UML used in this study is shown in below Table 1 where the particular UML diagrams are used to represent respective COSMIC component: Use case diagrams, Sequence diagrams and mostly class diagram are used for decomposition of user requirements into functional processes and sub functional processes to count the total number of data movements that represents the functional size of mobile application which is represented in Unadjusted Mobile COSMIC function points (UMCFP).
In the mapping process mostly class diagrams and Use case diagrams represent the functional process of a mobile application. Each class diagram represents the functional requirements that are to be delivered to the user. Once use case model where use case diagrams are used and the conceptual model where class diagrams are used is done, the next step is to apply COSMIC rules for each functional process that has instruction in it to identify and categorize it into Four major categories i.e., Read, Write, Entry and Exit according to the instruction in that particular process. Once all the identification of data movements is done, the next step is to calculate the Number of Reads, Number Of Writes, Number of Entries and Number of Exits against each functional process to obtain the size of mobile application represented as Unadjusted Mobile COSMIC Function points (UMCFP). The overall step of mapping for the proposed sizing approach is shown below in the Figure 2.
Implementing COSMIC concepts to Function user requirements of mobile application and hence identification of data movements results in functional size of mobile application called as Unadjusted Mobile COSMIC Function Points(UMCFP).The measurement of data movements is done by applying COSMIC concepts for each functional process in mobile application. The COSMIC function size measurement is achieved by dividing the mobile application into two divisions, Source and Destination which constitutes Functional user, System and Storage where the flow of instruction defines different types of identification of data movements which is described in below Table 2.
The data flow between Functional users, System and Storage can be a type of Entry, Exit, Read, and Write data movements according to the instruction in the functional process. This flow of process from source to Destination within a particular system can be seen in the following steps of activities as shown below (see Figure 3).   Prediction of functional size of mobile application

Categorizing Mobile Complexity Factors into Function size measures and Non Function size measures
These nine parameters as shown in Table 3 were revised through a questionnaire where nine questions were prepared and were forwarded to more than 140 persons who are directly or indirectly influenced by mobile application development.  Number of multimedia components (images, videos). 4 Number of animated files. 5 Home screens, interactive screens. 6 Number of links. 7 Number of application processing points. 8 Navigational structure. 9 Number of mobile application development components.  Table 3. List of parameters constitutes MCF [16].       The inclusion of weighting factor in both FSM and NFSM determines the substance of that parameter in the present MAD process. UMCFP in Mobile Application Development (MAD) determines the overall functional size of mobile application that is obtained by below following equation: where FSM i is the count for Function Size measures and NFSM i is the count for Non-Function Size measurers and W i is the weight for each FSM and NFSM parameter to overcome its difficulty level in development phase. The weighting factors for FSM ranges from simple to complex where 0.5 stands for Simple, 1.5 stands for Average and 3 stands for complex while as for NFSM the weighting factors ranges from simple to complex where 0.5 stands for simple, 1 stands for average and 1.5 stands for complex shown in the Tables 6  and 7 below. These Mobile Size measurers including Both Function size measures and Non function size measures were applied on eight Mobile applications projects that were collected from industry people through purposive sampling. These MCF's were mapped into data movements with the help of COSMIC FP concepts and UML class diagram as discussed in the earlier section iv.

Results
In this study eight Mobile applications were analyzed by applying COSMIC FP to get their functional size. The functional processes were identified and decomposed into four data movements, i.e., Read, Write, Entry, Exit and hence were mapped to the required MCF's. The summation of all the data movements constitutes the Unadjusted Mobile COSMIC Function Points (UMCFP) to determine the functional size of a mobile application which is an aggregation of the Functional size measurer and Non function size measurer as shown in Table 8 below. The corresponding weights are multiplied to both Functiona size measurer and Non-functional size measurers (see Table 8).
After applying Eq. (1) we get the unadjusted size of Mobile Complex Factors known as Unadjusted Mobile COSMIC Function Points (UMCFP) that is basically the functional size of a mobile application which delivers the functionality of the application to the user. In Table 8 Number of External inputs represents data movements Read and Exit and Number of External inputs represents data movements Write and Entry. The comparison of results achieved using Function Point Analysis (FPA), COSMIC Function Point and UMCFP with the actual size of mobile applications is shown in below Tables 8 and 9 and the same is represented graphically in the Figure 7.
The difference between the results of Actual size and the estimated size that are shown graphically in Figure 7 seems significant as we tried to reduce the size by not including the unnecessary data movements. The resultant value (UMCFP) that determines the functional size of mobile applications may be influenced by other cost drivers including Technical and Environmental factors to calculate the overall size of Mobile application. The Mobile Estimation Model will be next prepared on the basis of resultant value produced as shown in Table 9. The cost drivers will be included to carry out overall efforts/cost of Mobile application development.     Prediction of functional size of mobile application 10. Conclusion and future scope In this study, an attempt for making Mobile size measurer is designed that overcomes the challenges imposed by other different existing models being used for mobile application size estimation process [1,2]. This paper has demonstrated COSMIC Plus measurement procedure for sizing functional requirements of mobile applications using UML representations. Mostly use case diagrams, sequence diagrams and class diagrams are referred for mapping Function user requirements of different mobile applications. The COSMIC FP and UML mapping is constructed to provide the functional size of mobile applications in UMCFP measurement unit. Mapping the COSMIC concepts in mobile applications using UML diagrams is used to identify and quantify the amount of data movements in that particular application. Unadjusted Mobile COSMIC function point makes it possible to identify data movements of both Function size measurers and Non function size measurers to be estimated using COSMIC-UML approach. In this study 4 mobile applications were collected from industry people. The results are encouraging where the estimated size aligned with Actual size of the previous projects showed positive deviation. In future there is a need of Identification of Cost drivers and a model for estimation of efforts/cost in Mobile application development to achieve more accuracy in the resultant value.