Design patterns in software development

Author(s):  
Huaxin Mu ◽  
Shuai Jiang
Author(s):  
Gabriel de Souza Pereira Moreira ◽  
Denis Ávila Montini ◽  
Daniela América da Silva ◽  
Felipe Rafael Motta Cardoso ◽  
Luiz Alberto Vieira Dias ◽  
...  

Author(s):  
Sahana Prabhu Shankar ◽  
Harshit Agrawal ◽  
Naresh E.

Software design is a basic plan of all elements in the software, how they relate to each other in such a way that they meet the user requirements. In software development process, software design phase is an important phase as it gives a plan of what to do and how to do it during the implementation phase. As the technology is evolving and people's needs in the technological field are increasing, the development of software is becoming more complex. To make the development process somewhat easy, it is always better to have a plan which is followed throughout the process. In this way, many problems can be solved in the design phase, for which a number of tools and techniques are present. One is known as Design Patterns. In software engineering, a design pattern is a general solution to commonly occurring problems in software design. A design pattern isn't a finished design that can be transformed directly into code.


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.


2011 ◽  
Vol 44 (1) ◽  
pp. 9011-9016
Author(s):  
O. Arsene ◽  
I. Dumitrache

2014 ◽  
Vol 9 (1) ◽  
pp. 87-94
Author(s):  
Alexey Bevzov ◽  
Aleksandr Kurochkin ◽  
Anatoliy Lubkov ◽  
Aleksandr Petukhov ◽  
Pavel Filatov

The paper describes experience of software development for automated system for Large Solar Vacuum Telescope. Most attention is given to the work evolution on the different stages of this process. Automated system software has been developed using Object-Oriented Programming, Design Patterns and Qt tools to achieve reusable code, that can be used in other telescopes and be portable to different operating systems


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.


2014 ◽  
pp. 1264-1288
Author(s):  
Patrick H. S. Brito ◽  
Ig Ibert Bittencourt ◽  
Aydano Pamponet Machado ◽  
Evandro Costa ◽  
Olavo Holanda ◽  
...  

The construction of Educational Recommender System (ERS) demands the incorporation of quality attributes at the software design, such as availability for preventing the service to be unavailable for a long time, and scalability for preventing the system from going offline due to a large number of simultaneous requests. The incorporation of such characteristics makes ERS more complex and expensive, but existing strategies for designing ERS do not consider quality attributes in an explicit way. This chapter presents an architecture-centered solution, which is partially supported by tools and considers quality attributes as early as possible in the software development process in a systematic way, from requirements to the source code. The feasibility of the proposed process is showed in terms of a case study executed in a “step-by-step” fashion, presenting how the software architecture can be designed and gradually refined until it achieves the level of object-oriented classes generated based on design patterns.


Author(s):  
FENIOSKY PEÑA-MORA ◽  
SANJEEV VADHAVKAR ◽  
SIVA KUMAR DIRISALA

This paper presents a framework and a prototype for designing Integrated Construction Management (ICM) software applications using reusable components. The framework supports the collaborative development of ICM software applications by a group of ICM application developers from a library of software components. The framework focuses on the use of an explicit software development process to capture and disseminate specialized knowledge that augments the description of the ICM software application components in a library. The importance of preserving and using this knowledge has become apparent with the recent trend of combining the software development process with the software application code. There are three main components in the framework: design patterns, design rationale model, and intelligent search algorithms. Design patterns have been chosen to represent, record, and reuse the recurring design structures and associated design experience in object-oriented software development. The Design Recommendation and Intent Model (DRIM) was extended in the current research effort to capture the specific implementation of reusable software components. DRIM provides a method by which design rationale from multiple ICM application designers can be partially generated, stored, and later retrieved by a computer system. To address the issues of retrieval, the paper presents a unique representation of a software component, and a search mechanism based on Reggia's setcover algorithm to retrieve a set of components that can be combined to get the required functionality is presented. This paper also details an initial, proof-of-concept prototype based on the framework. By supporting nonobtrusive capture as well as effective access of vital design rationale information regarding the ICM application development process, the framework described in this paper is expected to provide a strong information base for designing ICM software.


Sign in / Sign up

Export Citation Format

Share Document