Skip to Main Content
The motivation behind pattern-oriented software development is to decompose complex problems into recognizable sub-problems with predefined solutions, hence promoting both the quality of the resulting software product and the efficiency of the development process through the reuse of optimal solutions (e.g., best practices). Unfortunately, due to the opportunistic (i.e., non-systematic and subjective) element inherent in the process of recognizing conventional patterns in a problem context, the full potential of a pattern-driven problem-solving strategy has not been yet realized. In this paper, we introduce a requirements specification framework, called Problem Decomposition Scheme (PDS), which serves as a foundation to address the challenges of pattern recognition in the context of software requirements. We establish that pattern recognition can be abstracted as a set-theoretic classification problem, and formalize the properties of the resulting classification scheme. In contrast to ill-defined sub-problems in conventional development problem contexts, patterns in PDS-based specifications can be objectively recognized. To evaluate our requirements specification framework, we conducted an empirical user study of software developers performing a requirements pattern recognition task on a PDS-based requirements specification. PDS-based specifications are shown to achieve a high degree of requirements pattern recognition consistency across developers.