211,141 research outputs found

    Software patterns to improve knowledge transfer: an experiment.

    Get PDF
    Patterns for software development have been a hot topic for some time within the object-oriented community. Patterns are part of a software engineering problem-solving discipline. It all started with Design Patterns [11], but gradually patterns were used in a larger number of areas of system development. The goal of patterns within the software community is to create a body of literature to help software developers resolve recurring problems encountered throughout all areas of software development. Patterns help to create a shared language for communicating insight and experience about these problems and their solutions [4]. In this research report, first, a definition of software patterns is given, including some history, an overview of the different kinds of software patterns, the elements of a pattern and the different pattern formats. Secondly, as patterns claim to improve transfer of knowledge, we performed an experiment to test this hypothesis. This experiment is described in Section 2. Finally, Section 3 formulates the conclusions about this experiment.

    Exploring design patterns with the Java programming language

    Get PDF
    This project describes and discusses the concepts of design patterns giving a historical background as well as citing contributions to the software development field and current research efforts. In addition, the advantages and disadvantages of using design patterns and efforts to encourage design pattern usage in software organizations are discussed. Seven design patterns (Builder, Adapter, Composite, Template Method, Facade, Mediator and Strategy) were chosen as the basis for example concrete applications. The concrete applications are given in the form of design documentation, source code and executable software. The applications demonstrate the use of design patterns in developing object oriented software applications. The applications are implemented in the Java programming language. The Java programming language was used because it is a popular object oriented programming language. An aspect of its popularity comes from its ability to execute with Java enabled browsers on a variety of computing platforms. Noted researchers in the area of design patterns assert that design patterns are language independent, however, much of the implementation in the area of design patterns has been written in the C++ language. The contribution of this project lies in implementing selected design patterns in Java and noting experiences that support or refute the conjecture that design patterns are language independent

    Improving the Design and Implementation of Software Systems uses Aspect Oriented Programming

    Get PDF
    A design pattern is used as a static reusable component of object oriented design in the many patterns catalogue. The regular design pattern does not show any collaboration of shared resource between patterns in the software design. But generative design pattern is a new design pattern that shows the relationship and shared resources between them. The generative design pattern is considered a dynamic and active design, which creating new design as a result of collaboration and resource usage between two designs. This paper will demonstrate benefit and the structure of generative pattern. It also demonstrates the creation of a desktop application for modeling generative design pattern. The Java language creates the desktop application. The application provides many features, for instance, users can place drawing objects such as class, Interface and Abstract Class object. The users also can draw different connection line between these objects, such as simple, inheritance, composition lines. This project shows the implementation details techniques of drawing objects and their connection. It also provides an open source code that many novice developers can understand and analysis for further development. The application source code gives the developers new ideas and skills in object oriented programming and graphical user interface in Java language

    Design patterns and pspects : modular designs with seamless run-time integration

    Get PDF
    Some solutions proposed in the original design pattern literature were shaped by techniques as well as language deficiencies from object-oriented software development. However, new modularity constructs, composition and transformation mechanisms offered by aspect-oriented programming address deficiencies of object-oriented modeling. This suggests classical design pattern solutions to be revisited. In our paper we point out that aspect-oriented programming not only allows for alternative representations of proposed solutions, but also for better solutions in the first place. We advocate a native aspect-oriented approach to design patterns that emphasizes on improving design pattern solutions both during development and at run-time. We use a simple yet effective method to analyze and describe different solutions on the basis of variation points, fixed parts, variable parts, and optional glue, employing dynamic run-time weaving

    Penerapan Pola Desain Untuk Perancangan Aplikasi Stasiun Cuaca Nirkabel

    Full text link
    One of the problems in object oriented application development is how to achieve a good quality software design. This paper presents a good quality software design for wireless weather system application based on design patterns. Abstract Factory and Mediator design patterns are used to design the application based on problem similarity. Design process produces a static and a dynamic model of the application in UML (Unified Modeling Language) diagrams. We use class cohesion and coupling metrices to measure the quality of our design. Measurements show our proposed design has high class cohesion and low class coupling

    Pattern Reification as the Basis for Description-Driven Systems

    Full text link
    One of the main factors driving object-oriented software development for information systems is the requirement for systems to be tolerant to change. To address this issue in designing systems, this paper proposes a pattern-based, object-oriented, description-driven system (DDS) architecture as an extension to the standard UML four-layer meta-model. A DDS architecture is proposed in which aspects of both static and dynamic systems behavior can be captured via descriptive models and meta-models. The proposed architecture embodies four main elements - firstly, the adoption of a multi-layered meta-modeling architecture and reflective meta-level architecture, secondly the identification of four data modeling relationships that can be made explicit such that they can be modified dynamically, thirdly the identification of five design patterns which have emerged from practice and have proved essential in providing reusable building blocks for data management, and fourthly the encoding of the structural properties of the five design patterns by means of one fundamental pattern, the Graph pattern. A practical example of this philosophy, the CRISTAL project, is used to demonstrate the use of description-driven data objects to handle system evolution.Comment: 20 pages, 10 figure

    Using design patterns in agile software development

    Get PDF
    The purpose of the thesis is to study design patterns and their use in agile software development, using object-oriented programming languages like Java. The second objective of the thesis is to examine typical examples of the use of patterns in the most concrete case studies. First part of this thesis presents the importance and characteristics of agile methodologies for software development. Then are shown the reasons why software becomes unresponsive and fragile. We studied and researched individual patterns in object-oriented software development and some of them practically used. The practical part of the thesis shows the difficulties and complications in the development of the application WAVCutter. Through the use of design patterns some difficulties have been removed and the simplicity of the entire application has been emphasized

    Penerapan Pola Desain untuk Perancangan Aplikasi Stasiun Cuaca Nirkabel

    Get PDF
    One of the problems in object oriented application development is how to achieve a good quality software design. This paper presents a good quality software design for wireless weather system application based on design patterns. Abstract Factory and Mediator design patterns are used to design the application based on problem similarity. Design process produces a static and a dynamic model of the application in UML (Unified Modeling Language) diagrams. We use class cohesion and coupling metrices to measure the quality of our design. Measurements show our proposed design has high class cohesion and low class coupling.  

    Using design patterns in agile software development

    Get PDF
    The purpose of the thesis is to study design patterns and their use in agile software development, using object-oriented programming languages like Java. The second objective of the thesis is to examine typical examples of the use of patterns in the most concrete case studies. First part of this thesis presents the importance and characteristics of agile methodologies for software development. Then are shown the reasons why software becomes unresponsive and fragile. We studied and researched individual patterns in object-oriented software development and some of them practically used. The practical part of the thesis shows the difficulties and complications in the development of the application WAVCutter. Through the use of design patterns some difficulties have been removed and the simplicity of the entire application has been emphasized
    • …
    corecore