Use case modeling is a well-known requirements specification method and has been widely applied in practice. Use case scenarios of use case models are input elements for requirements inspection and analysis, requirements-based testing and other downstream activities. It is however a practical challenge to inspect all use case scenarios that can be obtained from any non-trivial use case model, as such an inspection activity is often performed manually by domain experts. Therefore, it is needed to propose an automated solution for selecting a subset of use case scenarios with the ultimate aim of enabling cost-effective requirements inspection, analysis and other relevant activities. We propose a search and similarity based approach called S3RUCM, to select most diverse use case scenarios to enable cost-effective requirements inspections. Our solution is built on RUCM, in the sense that requirements specifications are specified as RUCM use case models and use case scenarios can be automatically generated.
Four search algorithms in conjunction with eight similarity functions are used in the proposed search solution, moreover, the desired number of the scenarios to be selected is configurable, i.e., percentage of the total generated scenarios (10%, 20%, 30%, ... 90%). Each particular implementation can be downloaded from the following table, e.g., 'ea4.jar' means the selection of 40% with (1+1) EA search in conjunction with eight similarity functions.
running command: "java -jar jarName dirScenarios", where 'jarName' is a particular runnable jar file e.g., avm1.jar and 'dirScenarios' indicates the directory where the persistent scenarios files are.
The input data of the search algorithms (i.e., the persistent scenarios files) can be downloaded from the following table.
|#||Case Study||Number of Use Cases||Contributor||Download|
To conduct statistical tests, we collect the returned data for each search algorithm in conjunction with each similarity function. More specifically, the fitness value of the best solution and the corresponding selected RUCM scenarios are returned. Note that the fitness values of 100 runs are collected in "*_FUN.log" file and the corresponding returned scenarios are collected in "*_VAR.log" file.
Zen-RUCM Model Repository aims to maintain and share use case models following RUCM methodology by using RUCM editor. Any contributor will be welcome to join our big family by sharing your RUCM models.
Please Email your use case models to firstname.lastname@example.org