Functional change impact analysis in use cases

An approach based on COSMIC functional size measurement

Haoues, M., Sellami, A., Ben-Abdallah, H.

Context: Because functional changes are inevitable throughout the software life-cycle, it is essential to assess and evaluate whether a Functional Change can be handled within the estimated project budget and time. Thus, a well-defined change measure and control process is vital for the success of the development project. In fact, the size measurement is widely used for effort and cost estimation. This paper explores the COSMIC Functional Size Measurement (FSM) method to evaluate a Functional Change.

Objective: The objective of this paper is to assess a Functional Change in terms of COSMIC Function Point units in order to identify changes incurring potential impact on the software development progress. Thus, we suppose that the functional size of a Functional Change is one of the factors that must be taken into consideration to analyze the impact of changes on the development progress. This helps managers in making decisions to answer a Functional Change request.

Method: The method proposed in this paper analyzes the Functional Change impact in use case diagrams, the de-facto standard for modeling the Functional User Requirements (FUR). It distinguishes between internal and external Functional Change to a use case. It proposes to quantify the Functional Change impact on the functional size of a use case diagram in terms of COSMIC Function Point (CFP) units. In addition, it evaluates the status of a FC according to its functional size. Furthermore, we propose an algorithm for prioritizing changes in the case where more than one functional change is proposed. The algorithm is based on a set of heuristics where the objective is to minimize the effort required to answer the changes. It accounts for the most important factors when prioritizing changes (the functional size of the Functional Change, and the preference of the change requester). These two factors are identified based on an investigation with the international COSMIC community.

Originality: Several techniques have been used to identify and analyze the impact of a Functional Change during various phases of the software life-cycle. For example, some researches used the colored commit graphs (at the implementation phase), other studies used the consistency rules between UML diagrams (at the design phase), etc. Compared to other approaches focused on impact change analysis, our proposed approach uses the COSMIC-FSM method. Quantifying the functional size of a Functional Change in terms of CFP units allows us to evaluate more realistically the impact of a Functional Change on the software development progress.

Results: We propose six categories of Functional Change status according to their sizes. Based on the Functional Change status, it is possible to identify the Functional Change impact on the software development progress. The Functional Change status will help not only designers/developers in analyzing the impact of Functional Change on the size of their work products but also managers to decide to accept or forgo a Functional Change and maintain the development schedule. Moreover, the experiment conducted with 30 computer engineering students showed that students’ ratings can be approximately evaluated when measuring FUR in terms of CFP units based on the Functional Change status.

Conclusion: Based on the finding of this study, it is now feasible to identify Functional Change leading to potential impact on the software development progress. More specifically, evaluating Functional Change in the use case diagrams will help in making quick decisions about accepting or rejecting a Functional Change. Regardless of the used software life-cycle process, use cases are popular for specifying the software functionality. In practice, our proposed approach is applicable not only in the software development industry but also in academia.

0