A methodology to rank the design patterns on the base of text relevancy
- 120 Downloads
Several software design patterns have cataloged either with canonical or as variants to solve a recurring design problem. However, novice designers mostly adopt patterns without considering their ground reality and relevance to design problems, which causes to increase the development and maintenance efforts. The existing automated systems to select the design patterns need either high computing effort and time for the formal specification or precise learning through the training of several classifiers with large sample size to select the right design patterns realized on the base of their ground reality. In order to discuss this issue, we propose a method on the base of a supervised learning technique named ‘Learning to Rank’, to rank the design patterns via the text relevancy with the description of the given design problems. Subsequently, we also propose an evaluation model to assess the effectiveness of the proposed method. We evaluate the efficacy of the proposed method in the context of several design pattern collections and relevant design problems. The promising experimental results indicate the applicability of the proposed method as a recommendation system to select the right design pattern(s).
KeywordsSoftware design patterns Text mining Learning to rank Performance Classification
Compliance with ethical standards
Conflict of interest
The authors declare that they have no conflict of interest.
This article does not contain any studies with human participants or animals performed by any of the authors.
Since in the article there is no human involvement for data gathering, consequently informed consent is not required.
- Baraki H et al (2015) Interdisciplinary design patterns for socially aware computing. In: Proceeding of 37th international conference on software engineering (ICSE)Google Scholar
- Bass L, Clements P, Kazman R (2012) Software architecture in practice, 3rd edn. Addison-Wesley Professional, BostonGoogle Scholar
- Birukou A (2010) A survey of existing approaches for pattern search and selection. In: Proceeding of PLoPGoogle Scholar
- Blomqvist E (2008) Pattern ranking for semiautomatic ontology construction. In: Proceedings of SACGoogle Scholar
- Booch G (2006) Handbook of software architecture, 2004. IBM Corporation. http://handbookofsoftwarearchitecture.com/
- Buschmann F, Henney K, Schmidt DC (2007a) Pattern-oriented software architecture, vol 4. A pattern language for distributed computing. Wiley, New YorkGoogle Scholar
- Buschmann F, Henney K, Schmidt DC (2007b) Pattern-oriented software architecture, vol 5. On patterns and pattern languages. Wiley, New YorkGoogle Scholar
- Douglass BP (2002) Real-time design patterns: robust scalable architecture for real-time systems. Addison-Wesley, BostonGoogle Scholar
- Duyne V et al (2003) The design of sites: patterns, principles and processes for crafting a customer-centered web experience. Addison Wesley, BostonGoogle Scholar
- Hasso S, Carlson CR (2005) A theoretically-based process for organizing design patterns. In: Proceedings of 12th pattern language of patternsGoogle Scholar
- Henninger S, Correa V (2007) Software pattern communities: current practices and challenges. In: Proceedings of the 14th conference on pattern languages of programsGoogle Scholar
- Hotho A, Nurnberger A, Paab G (2005) A brief survey of text mining. J Comput Linguist Lang Technol 20:19–62Google Scholar
- Hsueh NL, Kuo J-Y, Lin C-C (2007) Object-oriented design: a goal-driven and pattern-based approach. J Softw Syst Model 8(1):1–18Google Scholar
- Huang A (2008) Similarity measures for text document clustering. In: Proceedings of NZCSRSCGoogle Scholar
- Hussain S et al (2016) A methodology to automate the selection of design patterns. In: Proceeding of 40th annual computer software and applications conference (COMPSAC)Google Scholar
- Hussain S, Keung J, Khan AA (2017) A framework for ranking of software design patterns. In: Proceedings of 11th international conference on complex, intelligent, and software intensive systems, Jul 10–12, 2017Google Scholar
- Khoury PE, Mokhtari A, Coquery E, Hacid MS (2008) An ontological interface for software developers to select security patterns. In: Proceedings of 19th international conference on database and expert systems application, (DEXA’08), pp 297–301Google Scholar
- Kircher M, Jain O (2004) Pattern-oriented software architecture, vol 3. Patterns for resource management. Wiley, New YorkGoogle Scholar
- Palma F, Farzin H, Gueheneuc Y-G (2012) Recommendation system for design patterns in software development: an DRP Ovrview. In: Proceeding of RSSEGoogle Scholar
- Schumacher M, Fernandez E, Hybertson D, Buschmann F (2006) Security patterns: integrating security and systems engineering. Wiley, New YorkGoogle Scholar
- Shalloway A, Trott R (2001) Design pattern explained: a new perspective on object oriented design. Addison Wesley, BostonGoogle Scholar
- van Welie M (2006) Patterns in interaction design. http://www.welie.com/. Updated: 27 June 2006
- Wood WG (2007) A practical example of applying attribute-driven design (ADD), version 2.0, technical report, SE InstituteGoogle Scholar
- Xu J, Li H (2007) AdaRank: a boosting algorithm for information retrieval. In: Proceedings of SIGIR, pp 391–398Google Scholar