
Improving the Quality of Requirements with Refactoring
Author(s) -
Ricardo Ramos,
Eduardo Kessler Piveta,
Jaelson Castro,
João Araújo,
Ana Moreira,
Pedro Guerreiro,
Marcelo Soares Pimenta,
Roberto Tom Price
Publication year - 2007
Language(s) - English
Resource type - Conference proceedings
DOI - 10.5753/sbqs.2007.15573
Subject(s) - code refactoring , modularity (biology) , computer science , software engineering , modular programming , quality (philosophy) , system requirements specification , formal specification , process (computing) , software requirements specification , software maintenance , requirements analysis , software development , software , programming language , software design , philosophy , genetics , epistemology , biology
Requirements specification can often exhibit some shortcomings, regarding contents and organization of its partial specification elements. Sometimes, modularization is deficient, with modules dealing with too much information, or the same functionality being specified in different modules. Left unchecked, these inadequacies will propagate themselves to the subsequent phases of the software development and cause problems during maintenance. We have been able to identify a collection of typical deficiencies in the specification of structured documents and we propose a collection of refactorings that minimize or remove them. Doing this early in the development process increases requirements modularity and understandability. A case study is conducted to illustrate the use of these refactoring practices on two existing requirement documents.