Predicting complexity of GUI intensive web apps - Building basic prediction models to estimate the complexity of web apps developed using two frameworks
Examensarbete för masterexamen
Software engineering and technology (MPSOF), MSc
In this thesis two proprietary frameworks are analyzed in order to determine the complexity of apps created with these two frameworks. Previously developed applications are investigated to determine their complexity in form of source lines of code and function points. The frameworks used to develop applications provide different building blocks, and the building blocks are identified by visual observations of existing applications. Once the building blocks are identified they are analyzed in isolation to determine their complexity, and the outcome is used to produce two basic prediction models for determining development complexity of future applications. The prediction models are validated by implementing an example application using each framework, measuring the complexity of implemented example applications and comparing it to the predicted complexity. A survey is performed with the target group of the prediction models, prior to announcing any results, and the outcome of the questionnaire indicated that it is not believed to be a linear relation between complexity of an application and the time it takes to implement it, and that a prediction model should have an accuracy of at least 25%. The prediction models proposed for the two frameworks are not deemed accurate enough. Accuracy indicators, measured against data outside of the training set, ranges between 30% and 78% for framework A and between 37% and 94% for framework B. The accuracy of the prediction models obtained by cross-validation ranges between 42% and 166% for framework A, and between 62% and 353% for framework B. The proposed prediction models, as they are, should only be used to get a perception of the complexity at hand of a suggested application. More data is needed to reduce the magnitude of error and to be able to draw any statistically significant conclusions about the estimates.
Data- och informationsvetenskap , Computer and Information Science