DOI: 10.1109/SeGAH57547.2023.10253758
Terbit pada 28 Agustus 2023 Pada International Conference on Serious Games and Applications for Health

A Systematic Review on Software Design Patterns in Today's Perspective

Swapnil Saha Md Showkat Hossain Chy Mafizur Rahman

Abstrak

Larger Object Oriented(OO) software systems can benefit greatly from the use of software design patterns. Because design pattern offers a well-structured and proven solution to recurrent issues that developers deal with. Previous studies explored the effects of design patterns and created several models for mining design patterns. Some of them were developed using machine learning (ML) methods. This paper concentrated on giving a brief summary of the difficulties with design patterns from the developer's point of view, as well as their impact on some quality aspects. Along with that, we discussed the shortcomings of contemporary classic pattern mining techniques. We compared both conventional mining tools and ML-based mining tools. Findings show that both the random forest model and PatternScout, which is based on SPARQL queries, can effectively discover all patterns with higher precision and recall values.

Artikel Ilmiah Terkait

Software design pattern selection approaches: A systematic literature review

Amene Naghdipour R. Barmaki S. Hasheminejad

2 Januari 2023

Software design patterns have a considerable impact on the software development life cycle. Design pattern (DP) is a reliable and reusable solution provided by software experts to obtain quality software design. However, due to the large number of design patterns, selecting the appropriate one is quite difficult. To overcome this difficulty, several approaches with different methods have been presented to suggest the appropriate DP. Despite conducting a number of studies that have explored some aspects of this field, such as design pattern selection tools and techniques, there is a need for a deeper understanding, analysis, classification, and thorough review of the design pattern selection process. So far, no systematic review of design pattern selection approaches is available. This paper aims to classify existing approaches, provide several criteria for comparing approaches, analyze each one, and identify and analyze the most important elements in this field, including open issues, data sets, and so on. The present investigation paper will help future research to employ the existing approaches taking into account the specification of each one and it also raises awareness about the approaches used in previous research and their potential limitations.

Impact of design patterns on software quality: a systematic literature review

Somia Abufakher Fadi Wedyan

1 Februari 2020

The impact of design patterns on quality attributes has been extensively evaluated in studies with different perspectives, objectives, metrics, and quality attributes, leading to contradictive and hard to compare results. The authors' objective is to explain these results by considering confounding factors, practices, metrics, or implementation issues that affect quality. Furthermore, there is a lack of research that connects design patterns evaluations to patterns development studies. Accordingly, they also aim at providing an initiate on how patterns structure and implementation can be improved, to promote software quality. To achieve their goals, conducted a systematic literature review by searching the literature for related studies. The study covers the period between years 2000 and 2018. They identified 804 candidate papers. After applying inclusion and exclusion criteria, they were left with 50 primary studies. Their results show that documentation of patterns, size of pattern classes, and the scattering degree of patterns have clear impact on quality. In case studies, researchers used different metrics applied to different modules. Controlled experiments have major design differences. Reaching consensuses on the effect of patterns requires considering influencing factors, using unified metrics, and an agreement on what modules to measure. Studying how to improve patterns modularity is recommended for future research.

Software Design Patterns and Architecture Patterns –A Study Explored

Renita Raymond Anouncia Savarimuthu S. Margret

14 Desember 2022

Software Patterns are intellectual patterns that assist the development of more effective solutions to common problems in general. Software Patterns are examples of tried-and-true solutions and practice guidelines that can assist in transforming software engineering into a profession. As a result, it is frequently used to create restricted solutions to specific software development challenges during various phases of the software development process (analysis, design, and architecture). At any point in time, patterns may be examined and incorporated to improve the design of a system. Additionally, it is straightforward to look for and sort. Any good pattern should provide aesthetic appeal to the application. The challenge, on the other hand, is identifying the optimal pattern that is extremely relevant to the issue area. As a result, this work examines the numerous software patterns especially design and architecture that are frequently employed in applications, along with their characteristics. Applying appropriate software patterns to a particular problem is a manual procedure that is prone to failure. As a result, a pattern’s relevance should be judged by its ability to address a common issue. Empirical research on engineers’ use of Software Patterns can assist in determining the pattern’s utility in issue resolution. It would be difficult to establish a structural, organized schema system, even while the patterns attempt to evaluate, generate, and construct architecture across the software development life cycle. The goal of this article is to chart the evolution of software design and architecture patterns, with a particular emphasis on system design that adheres to a consistent organizational and structural schema.

Software-Engineering Design Patterns for Machine Learning Applications

H. Takeuchi H. Washizaki Foutse Khomh + 4 lainnya

1 Maret 2022

In this study, a multivocal literature review identified 15 software-engineering design patterns for machine learning applications. Findings suggest that there are opportunities to increase the patterns’ adoption in practice by raising awareness of such patterns within the community.

Discovering Reusable Functional Features in Legacy Object-Oriented Systems

Amel Elkharraz Imen Benzarti H. Mili + 3 lainnya

1 Juli 2023

Typical object-oriented (OO) systems implement several functional features that are interwoven into class hierarchies. In the absence of aspect-oriented techniques to develop and compose these features, developers resort to object-oriented design and programming idioms to separate features as well as possible. Given a legacy OO system, discovering existing functional features helps understand the design of the system and extract these features to ease their maintenance and reuse. We want to discover candidate functional features in OO systems. We first define functional features and then discuss the footprints that such features are likely to leave in an OO system. We identify three such footprints: (1) multiple inheritance, (2) delegation, and (3) ad-hoc. We develop a set of algorithms for identifying such footprints in OO code and implemented them for the Java language using Eclipse JDT. In this article, we present the algorithms, and the results of applying the corresponding tools on five open-source systems: FreeMind, JavaWebMail, JHotDraw, JReversePro, and Lucene. Our experimental results show that: (1) the different algorithms can identify interesting and useful candidate functional features in OO systems, (2) they can identify opportunities for refactoring, and (3) they are complementary and could help developers.

Daftar Referensi

0 referensi

Tidak ada referensi ditemukan.

Artikel yang Mensitasi

0 sitasi

Tidak ada artikel yang mensitasi.