Software Cost Estimation Framework for Service-Oriented Architecture Systems using Divide-and-Conquer Approach.
Abstract
Due to the complexity of Service-Oriented Architecture (SOA), cost and effort estimation for SOA-based software development is more difficult than that for traditional software development. Unfortunately, there is a lack of published work about cost and effort estimation for SOA-based software. Existing cost estimation approaches are inadequate to address the complex service-oriented systems. This paper proposes a novel framework based on Divide-and-Conquer (D&C) for cost estimation for building SOA-based software. By dealing with separately development parts, the D&C framework can help organizations simplify and regulate SOA implementation cost estimation. Furthermore, both cost estimation modeling and software sizing work can be satisfied respectively by switching the corresponding metrics within this framework. Given the requirement of developing these metrics, this framework also defines the future research in four different directions according to the separate cost estimation sub-problems. Keywords-service-oriented architecture (SOA); software cost estimation; divide-and-conquer (D&C); framework I. INTRODUCTION Software cost estimation for Service-Oriented Architecture (SOA-based) software development confronts more challenges than for traditional software development. One of the main reasons is the architectural difference in SOA compared to traditional software development. Josuttis [8] has pointed out that distributed processing would be inevitably more complicated than non-distributed processing, and any form of loose coupling increases complexity. Meanwhile, the more complexity involved in a system, the more difficulty the designers or engineers have to understand the implementation process and thus the system itself [25]. In other words, people have to devote more effort to accurate manipulations when performing more complicated tasks. In practice, building a true heterogeneous SOA for a wide range of operating environments may take years of development time if the company does not have sufficient SOA experience and expertise [2]. What is more, it is difficult to foresee and justify the cost and effort of developing an SOA application before the p