The role of opportunism in the software design reuse process

1997 ◽  
Vol 23 (7) ◽  
pp. 418-436 ◽  
Author(s):  
A. Sen
Keyword(s):  
2013 ◽  
Vol 17 (2) ◽  
pp. 439-453 ◽  
Author(s):  
Monica Johar ◽  
Vijay Mookerjee ◽  
Suresh Sethi

2001 ◽  
Vol 44 (10) ◽  
pp. 66-73 ◽  
Author(s):  
J. Andrés Díaz Pace ◽  
Marcelo R. Campo
Keyword(s):  

2011 ◽  
Vol 26 (3) ◽  
pp. 219-234 ◽  
Author(s):  
Judith Volmer ◽  
Sabine Sonnentag

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):  
Adriana Pereira de Medeiros ◽  
Daniel Schwabe

AbstractThis article presents Kuaba, a new design rationale representation approach that enables employing design rationale to support reuse of model-based designs, particularly, software design. It is shown that this can be achieved through the adoption of an appropriate vocabulary that allows design rationale representations to be computationally processed. The architecture and implementation of an integrated design environment to support recording design rationale using Kuaba is also shown. The Kuaba approach integrates the design rationale representation model with the formal semantics provided by the metamodel of the design method or modeling language used for describing the artifact being designed. This integration makes the design rationale representations more specific according to the design methods and enables a type of software design reuse at the highest abstraction level, where rationales can be integrated and reemployed in designing a new artifact.


Author(s):  
Dominik Halvoník ◽  
Peter Psenak

Despite the great creators’ efforts of e-learning educational materials, it is not possible to define the content of these materials specifically for all students. Based on this, it is necessary to provide in e-learning education the possibility of a more detailed interpretation of specific parts of the educational material that may be unclear to specific students. Based on this fact, we decided to take the first step in the form of software design, which will represent a virtual assistant in teaching computer science. The role of this assistant will be the ability to answer technical questions related to the presented curriculum. From an architectural point of view, it will be a set of micro-services, each of which will serve a specific task. The prerequisite is the use of decision trees to determine a specific micro-service, which will be implemented in the form of a neural network. Main aim of this paper is to provide detail description of global software architecture for such a virtual assistant


Sign in / Sign up

Export Citation Format

Share Document