Grouping of software requirements using clustering algorithms with natural language analysis
Matthew King · 2007
Modern software projects are many times larger and more complex than projects of the past. The sets of requirements used in the analysis and design of such systems are often so large that traditional requirements management and organisation techniques become unwieldy. One strategy for simplifying the organisation of software requirements is to produce a metric for measuring the similarity between the requirements and then employing a clustering algorithm to partition the requirements into groups that share similar characteristics. This project covers the development of a method to partition software requirements in to groups based on common characteristics shared by the requirements, the construction of a software system to automate the requirement clustering process using a natural language parser and hierarchical clustering techniques, and finally an analysis of the clusters produced by the clustering algorithm.