Based on the different roles played by base flow and alternative flow in the process to achieve user's goals, we have found that loop structure is frequently used to implement alternative flow and/or to connect diffe...Based on the different roles played by base flow and alternative flow in the process to achieve user's goals, we have found that loop structure is frequently used to implement alternative flow and/or to connect different use cases. This paper presents an approach to identify base flows and alternative flows of different use cases by traversing control flow graph in which back edges are eliminated. The effectiveness of the approach is verified by identification of the use case structure of an ATM system. The workload of human intervention of the approach is relatively slight, and the manner of human intervention closely follows the usual process of software comprehension.展开更多
基金Supported by the Major Research Plan of the National Natural Science Foundation of China(90818027)the Key Program of the National Natural Science Foundation of China(60633010)+2 种基金the National Natural Science Foundation of China (60873050,60873049,60803008)the Natural Science Foundation of Jiangsu Province of China(BK2006094,BK2008292)the Opening Foundation of State Key Laboratory of Software Engineering in Wu-han University (SkLSE20080717)
文摘Based on the different roles played by base flow and alternative flow in the process to achieve user's goals, we have found that loop structure is frequently used to implement alternative flow and/or to connect different use cases. This paper presents an approach to identify base flows and alternative flows of different use cases by traversing control flow graph in which back edges are eliminated. The effectiveness of the approach is verified by identification of the use case structure of an ATM system. The workload of human intervention of the approach is relatively slight, and the manner of human intervention closely follows the usual process of software comprehension.