Release planning in a software product line (SPL) is to select and assign the features of the multiple software products in the SPL in sequence of releases along a specified planning horizon satisfying the numerous constraints regarding technical prece- dence, conflicting priorities for features, and available resources. A greedy genetic algorithm is designed to solve the problems of release planning in SPL which is formulated as a precedence-constrained multiple 0-1 knapsack problem. To be guaranteed to obtain feasible solutions after the crossover and mutation operation, a greedy-like heuristic is developed as a repair operator and reflected into the genetic algorithm. The performance of the proposed solution methodology in this research is tested using a fractional factorial experimental design as well as compared with the performance of a genetic algorithm developed for the software release planning. The comparison shows that the solution approach proposed in this research yields better result than the genetic algorithm.
Release planning for incremental software development is to select and assign features in sequence of releases along a specified planning horizon. It includes the technical precedence inherent in the features, the conflicting priorities as determined by the representative stakeholders, and the balance between required and available resources. The complexity of this consideration is getting more complicated when planning releases in software product lines. The problem is formulated as a precedence-constrained multiple 0-1 knapsack problem. In this research a genetic algorithm is developed for solving the release planning problems in software product lines as well as tests for the proposed solution methodology are conducted using data generated randomly.
소프트웨어 개발에 있어서 소프트웨어를 시장에 출시하는 계획을 수립하는 것은 소프트웨어를 이루고 있는 기능들을 구현하는 데 제약이 되는 조건들(기술, 자원, 위험, 예산 등)을 만족하면서 계획된 출시기간에 이들 기능들을 할당하는 일이다. 이와 같이 소프트웨어 출시를 계획하는 것은 소프트웨어 제품라인에 대해서 고려할 때 더욱 복잡해진다. 본 연구에서는 소프트웨어 제품라인에 있어서 소프트웨어 출시 계획을 수립하기 위한 문제를 우선순위 제약하의 다수 0-1 배
Software release planning in software development is to assign its features to releases in a specified planning horizon,satisfying technology, resource, risk, and budget constraints. The release planning problembecomes more complicated when the concept of software product lines (SPL) is considered. In this research, a precedence-constrained multiple 0-1 knapsack problem regarding SPL characteristics is formulated to maximize the objective function depending on the value of the release, the importance of stakeholders, the urgency of a feature and its value to stakeholders. As the optimization solution approach, dynamic programming model is developed to solve the precedence-constrained multiple 0-1 knapsack problem as well as a heuristic and reduction algorithm are applied to reduce the size of the problem at each stage