Clustering of Software Requirements for Automated Software Architectures
Résumé
Requirements analysis is the first phase of software engineering cycle and it is essential for the success of the software development process. Software requirement specifications are often expressed in natural language, which is comprehensible by
stakeholders. One of the goals of requirements analysis is to organize them into hierarchical clusters. These clusters constitute a mean to identify main packages of a software architecture. Thus, automating requirements clustering would be a first step
towards a tooled assistance for software architectures design. Automating clustering of requirements written in natural language is not straightforward, due to the richness of natural languages and requires the use of Natural Language Processing techniques that have several limitations. In this context, one of the objectives of this doctoral research, presented in this paper,
is to develop an automated approach for software requirements clustering in order to help the developer in the design phase by automating the transition from an unstructured model of software requirements into a UML model denoting a preliminary software design architecture.