scholarly journals On the Usability of Object-Oriented Design Patterns for a Better Software Quality

2020 ◽  
Vol 20 (4) ◽  
pp. 36-54
Author(s):  
Boyan Bontchev ◽  
Emanuela Milanova

AbstractSoftware design patterns incarnate expert knowledge distilled from the practical experience in object-oriented design, in a compact and reusable form. The article presents a quantitative study of the usability of the object-oriented software design patterns (known as Gang of Four patterns) applied for improving the testability, maintainability, extendibility, readability, reliability, and performance efficiency of software applications. We received 82 usable responses from software professionals in Bulgaria, with 65 of them addressing both the usability and recognition of each one of the Gang of Four patterns, together with their impact on important software quality characteristics. As well, we studied the approach of each software developer in choosing a particular design pattern to use in order to solve a problem. We found statistically significant differences between the most recognized and most useful patterns and between the most unrecognized and most useless patterns, split into creational, structural, and behavioral groups.

2014 ◽  
Vol 556-562 ◽  
pp. 5267-5270
Author(s):  
Tai Fa Zhang ◽  
Ya Jiang Zhang ◽  
Jun Yao

Nowadays, object-oriented design is the trend of software design patterns, and the database connection pool is one of the important research topics. The paper firstly describes the basic principle of connection pool under traditional, tomcat and hibernate modes. Based on that, a new connection pool method is proposed, and these four methods are experimentally simulated in java language at last. The comparative analysis has verified that the presented connection pool owns the optimum access time and it can greatly improve the access efficiency of database.


2020 ◽  
Vol 14 (1) ◽  
pp. 57-63
Author(s):  
Andrés Armando Sánchez Martin ◽  
Luis Eduardo Barreto Santamaría ◽  
Juan José Ochoa Ortiz ◽  
Sebastián Enrique Villanueva Navarro

One of the difficulties for the development and testing of data analysis applications used by IoT devices is the economic and temporary cost of building the IoT network, to mitigate these costs and expedite the development of IoT and analytical applications, it is proposed NIOTE, an IoT network emulator that generates sensor and actuator data from different devices that are easy to configure and deploy over TCP/IP and MQTT protocols, this tool serves as support in academic environments and conceptual validation in the design of IoT networks. The emulator facilitates the development of this type of application, optimizing the development time and improving the final quality of the product. Object-oriented programming concepts, architecture, and software design patterns are used to develop this emulator, which allows us to emulate the behavior of IoT devices that are inside a specific network, where you can add the number of necessary devices, model and design any network. Each network sends data that is stored locally to emulate the process of transporting the data to a platform, through a specific format and will be sent to perform Data Analysis.


Scalability refers to the ability of a system to handle resource utilization in a constant and smooth fashion when high or low volume of data is applied. It is among the key attractions for migration to a cloud based infrastructure. Most of the previous studies in this area are based on the enhancement of cloud scalability in terms of hardware resources and network infrastructure. However in this case the cost of additional hardware resources and expansion of network infrastructural components to improve the cloud scalability is a major hurdle. Improving scalability of software on cloud platform by improving the software design is very less explored area. This paper focuses on two major concepts that involve measuring of software scalability using different methods and secondly exploring the software design based approaches to improve scalability. At the end, researchers have also explored the use of software design patterns to enhance scalability and flexibility in software applications on available cloud platforms especially Platform-as-a-Service (PaaS).


2010 ◽  
pp. 594-609
Author(s):  
Eric Tachibana ◽  
David Ross Florey

Since the mid to late 1990’s, object-oriented software design patterns have proven to be a powerful tool in support of software design and product management. However, the usefulness of the methodology need not be restricted to the technical domain alone. In fact, the design pattern methodology represents a powerful tool that can also be used in support of it management at a business level. In this paper, we discuss the design pattern methodology, provide an example of how the methodology could be implemented to solve a business problem, the multivariate vector map (mvm), and then apply the mvm pattern to the problem of choosing an it outsourcing strategy as a means to demonstrate its effectiveness to it managers and to it outsourcing vendors


Author(s):  
Eric Tachibana ◽  
David Ross Florey

Since the mid to late 1990’s, object-oriented software design patterns have proven to be a powerful tool in support of software design and product management. However, the usefulness of the methodology need not be restricted to the technical domain alone. In fact, the design pattern methodology represents a powerful tool that can also be used in support of it management at a business level. In this paper, we discuss the design pattern methodology, provide an example of how the methodology could be implemented to solve a business problem, the multivariate vector map (mvm), and then apply the mvm pattern to the problem of choosing an it outsourcing strategy as a means to demonstrate its effectiveness to it managers and to it outsourcing vendors


2010 ◽  
Vol 21 (1) ◽  
pp. 29-57 ◽  
Author(s):  
Galia Shlezinger ◽  
Iris Reinhartz-Berger ◽  
Dov Dori

Design patterns provide reusable solutions for recurring design problems. They constitute an important tool for improving software quality. However, correct usage of design patterns depends to a large extent on the designer. Design patterns often include models that describe the suggested solutions, while other aspects of the patterns are neglected or described informally only in text. Furthermore, design pattern solutions are usually described in an object-oriented fashion that is too close to the implementation, masking the essence of and motivation behind a particular design pattern. We suggest an approach to modeling the different aspects of design patterns and semi-automatically utilizing these models to improve software design. Evaluating our approach on commonly used design patterns and a case study of an automatic application for composing, taking, checking, and grading analysis and design exams, we found that the suggested approach successfully locates the main design problems modeled by the selected design patterns.


2001 ◽  
Vol 9 (1) ◽  
pp. 27-37 ◽  
Author(s):  
Rod Fatoohi ◽  
Lance Smith

This paper describes the development and implementation of a distributed job execution environment for highly iterative jobs. An iterative job is defined here as a binary code that is run multiple times with incremental changes in the input values for each run. An execution environment is a set of resources on a computing platform that can be made available to run the job and hold the output until it is collected. The goal is to design a complete, object-oriented execution system that runs a variety of jobs with minimal changes. Areas of code that are unique to a specific type of job are decoupled from the rest. The system allows for fine-grained job control, timely status notification and dynamic registration and deregistration of execution platforms depending on resources available. Several objected-oriented technologies are employed: Java, CORBA, UML, and software design patterns. The environment has been tested using a simulation code, INS2D.


2013 ◽  
Vol 11 (8) ◽  
pp. 2887-2894
Author(s):  
Sarachyuth Sabbani ◽  
Kiran Kumar Reddi ◽  
S.V. Achuta Rao

Software metrics and quality models have a very important role to play in measurement of software quality. A number of well-known quality models and software metrics are used to build quality software both in industry and in academia. Development of software metrics is an ongoing process with new metrics being continuously tried out.  However, during our research on measuring software quality using object oriented design patterns, we faced many issues related to existing software metrics and quality models. For a particular situation of interest, any established metric can be used. If none is found to be appropriate, a new metric can be devised. In this paper, we discuss some of these issues and present our approach to software quality assessment.


Sign in / Sign up

Export Citation Format

Share Document