Object-Oriented Software Design Patterns Applied to Management Theory

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


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.


Author(s):  
Gary P. Moynihan ◽  
Bin Qiao ◽  
Matthew E. Elam ◽  
Joel Jones

The purpose of this research was to apply an artificial intelligence approach to improve the efficiency of design pattern selection used in the development of object-oriented software. Design patterns provide a potential solution to the limitations occurring with traditional software design approaches. Current methods of design pattern selection tend to be intuitive, and based on the experience of the individual software engineer. This expertise is very specialized and frequently unavailable to many software development organizations. A prototype expert system was developed in order to automate this process of selecting suitable patterns to be applied to the design problem under consideration. It guides the designer through the pattern selection process through inquiry regarding the nature of the design problem. The prototype system also provides the capabilities to browse patterns, view the relationship between patterns, and generate code based on the pattern selected. The routine application of such a system is viewed as a means to improve the productivity of software development by increasing the use of accepted design patterns.


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.


Author(s):  
Gary P. Moynihan ◽  
Bin Qiao ◽  
Matthew E. Elam ◽  
Joel Jones

The purpose of this research was to apply an artificial intelligence approach to improve the efficiency of design pattern selection used in the development of object-oriented software. Design patterns provide a potential solution to the limitations occurring with traditional software design approaches. Current methods of design pattern selection tend to be intuitive, and based on the experience of the individual software engineer. This expertise is very specialized and frequently unavailable to many software development organizations. A prototype expert system was developed in order to automate this process of selecting suitable patterns to be applied to the design problem under consideration. It guides the designer through the pattern selection process through inquiry regarding the nature of the design problem. The prototype system also provides the capabilities to browse patterns, view the relationship between patterns, and generate code based on the pattern selected. The routine application of such a system is viewed as a means to improve the productivity of software development by increasing the use of accepted design patterns.


Author(s):  
Taher Ahmed Ghaleb ◽  
Khalid Aljasser ◽  
Musab A. Alturki

Design patterns are generic solutions to common programming problems. Design patterns represent a typical example of design reuse. However, implementing design patterns can lead to several problems, such as programming overhead and traceability. Existing research introduced several approaches to alleviate the implementation issues of design patterns. Nevertheless, existing approaches pose different implementation restrictions and require programmers to be aware of how design patterns should be implemented. Such approaches make the source code more prone to faults and defects. In addition, existing design pattern implementation approaches limit programmers to apply specific scenarios of design patterns (e.g. class-level), while other approaches require scattering implementation code snippets throughout the program. Such restrictions negatively impact understanding, tracing, or reusing design patterns. In this paper, we propose a novel approach to support the implementation of software design patterns as an extensible Java compiler. Our approach allows developers to use concise, easy-to-use language constructs to apply design patterns in their code. In addition, our approach allows the application of design patterns in different scenarios. We illustrate our approach using three commonly used design patterns, namely Singleton, Observer and Decorator. We show, through illustrative examples, how our design pattern constructs can significantly simplify implementing design patterns in a flexible, reusable and traceable manner. Moreover, our design pattern constructs allow class-level and instance-level implementations of design patterns.


Author(s):  
Perdita Stevens

In software design, patterns—that is, structured, named descriptions of good solutions to common problems in context—have become a popular way of recording and transferring problem-solving expertise. The aim of this chapter is to describe how patterns can help in the field of software maintenance. There are two main uses of patterns in software maintenance. The first is to consider the introduction of a design pattern to an existing design. The second approach is to consider patterns for the maintenance process itself. For example, reengineering patterns describe solutions to common problems in the reengineering of a system, considering issues such as how to split the necessary changes into risk-minimizing steps. We discuss the advantages, pitfalls and practicalities of using patterns in both of these ways.


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.


Author(s):  
Lakhwinder Kaur ◽  
Kuljit Kaur ◽  
Ashu Gupta

Refactoring is a process that attempts to enhance software code quality by using small transforming functions and modifying the structure of the program through slightly different algorithm. It is important to analyze the design pattern of the software code as well as the impact and possibility of the application of some conflicting refactorings on it. The objective of this chapter is to present an approach for analyzing software design patterns in order to avoid the conflict in application of available refactoring techniques. This chapter discusses the mechanism to study software code or design patterns to automate the process of applying available refactorings while addressing the problem of conflict in their application.


Sign in / Sign up

Export Citation Format

Share Document