Вы находитесь на странице: 1из 5

Seminar Synopsis

TITLE :

Object oriented design patterns


Department of Information Technology (JECRC, Jaipur), Rajasthan Technical University

LOCATION :

IMPORTANCE OF PROPOSED INVESTIGATION: In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not a finished design that can be transformed directly into source or machine code. It is a description or template for how to solve a problem that can be used in many different situations. Design patterns give a name, isolate and identify the fundamental principles of a general structure, to make it a useful way to develop a reusable object-oriented design. They determine the concerned classes and instances, their responsibilities and their cooperations. Each design pattern describes a design problem, the circumstances in which it applies, the resulting effects of its implementation, as well as the compromises implied. The most common have been proposed and arranged by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides "the GoF" (Gang of Four). They gathered in a catalog, twenty-three design patterns, corresponding to twenty-three recurring design problems.[2] Design patterns can speed up the development process by providing tested, proven development paradigms. Reusing design patterns helps to prevent subtle issues that can cause major problems, and it also improves code readability for coders and architects who are familiar with the patterns. Design patterns play many roles in the object-oriented development process: they provide a common vocabulary for design, they reduce system complexity by naming and defining abstractions, they constitute a base of experience for building reusable software, and they act as building blocks from which more complex designs can be built.[1] Design patterns can be considered reusable micro-architectures that contribute to an overall system architecture. Design patterns are composed of several sections like Structure, Participants, and Collaboration sections. These sections describe a design motif: a prototypical micro-architecture that developers copy and adapt to their particular designs to solve the recurrent problem described by the design pattern. A micro-architecture is a set of program constituents and their relationships. Developers use the design pattern by introducing in their designs this prototypical micro-architecture, which means that micro-architectures in their designs will have structure and organization similar to the chosen design motif.[5]

REVIEW OF LITERATURE AND RESEARCH GAP: In this section, we will describe the context in which the pattern is used, the forces within the context that the pattern seeks to resolve, and the suggested solution. A design pattern consists of three essential parts:

1.
2. 3.

An abstract description of a class or object collaboration and its structure. The description is abstract because it concerns abstract design, not a particular design. The issue in system design addressed by the abstract structure. This determines the circumstances in which the design pattern is applicable. The consequences of applying the abstract structure to a system's architecture.

Design patterns are an approach to software reuse. Krueger introduces the following taxonomy to characterize different reuse approaches: software component reuse, software schemas, application generators, transformation systems, and software architectures. Design patterns are related to both software schemas and reusable software architectures. Software schemas emphasize reusing abstract algorithms and data structures. These abstractions are represented formally so they can be instantiated automatically. The Paris system is representative of schema technology. Design patterns are higher-level than schemas; they focus on design structures at the level of collaborating classes and not at the algorithmic level. In addition, design patterns are not formal descriptions and cannot be instantiated directly. We therefore prefer to view design patterns as reusable software architectures. However, the examples Krueger lists in this category (blackboard architectures for expert systems, adaptable database subsystems) are all coarse-grained architectures. Design patterns can therefore be characterized as reusable micro-architectures.[1] Most research into patterns in the software engineering community has been geared towards building knowledge-based assistants for automating the application of patterns for synthesis and analysis. The major difference between our work and that of the knowledge-based assistant community is that design patterns encode higher level expertise. Their work has tended to focus on patterns like enumeration and selection, which can be expressed directly as reusable components in most existing object-oriented languages. We believe that characterizing and cataloging higher-level patterns that designers already use informally has an immediate benefit in teaching and communicating designs.[3] The first Pattern Languages of Programming Conference was held and the following year, the Portland Pattern Repository was set up for documentation of design patterns. Efforts have also been made to codify design patterns in particular domains, including use of existing design patterns as well as domain specific design patterns. Examples include user interface design patterns, information visualization, secure design, "secure usability", Web design and business model design.[2]

OBJECTIVES:
The present study purpose is to achieve the following objectives: (A) (B) (C) Introduce design patterns and explain techniques to describe them. Identify the fundamental principles of a general structure, to make it a useful way to develop a reusable object-oriented design. Describe a design problem associated with the design pattern, the circumstances in which it applies, the resulting effects of its implementation, as well as the compromises implied. Reduce system complexity by naming and defining abstractions and constitute a base of experience for building reusable software.

(D)

METHODOLOGY/ PLANNING OF WORK: Facilities required for proposed work:


1. 2. 3. Library facilities Computer facilities Internet facilities

Proposed plan of work:


(a) Study of Literature: The literature relevant to object oriented design patterns will be collected. For this various books, journals, abstracts, and websites will be referred on the basis of this, reviews will be collected. (b ) On the basis of the study of the literature, gather all the design patterns corresponding to recurring design problems.

(c) Constitution of a base of experience for building reusable software, which can act as building block from which more complex designs can be built. (d ) Understand the pattern, its intent, motivation, application and structure.

(e) Writing the thesis: The above component will be incorporated and the final thesis will be written.

BIBLIOGRAPHY: 1. 2.
Gamma E, Helm R, Johnson R, Vlissides J., Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, and William Lorenson, Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs, New Jersey, 1991. Hohpe, Gregor; Bobby Woolf, Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, 2003. Buschmann, Henney and Schmidt, On Patterns and Pattern Languages. J. O. Complien, D.C. Schmidt, Pattern Languages of Program Design. AddisonWesley, 1995.

3. 4. 5.

Shubhangi Gupta 09EJCIT07 8 Information Technology JECRC

Outline Approved

Vatika Sharma Lecturer Information Technology JECRC

Вам также может понравиться