Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced topics in software engineering CSC532 Term Paper Design Patterns Harpreet Singh Submitted By:-

Similar presentations


Presentation on theme: "Advanced topics in software engineering CSC532 Term Paper Design Patterns Harpreet Singh Submitted By:-"— Presentation transcript:

1 Advanced topics in software engineering CSC532 Term Paper Design Patterns Harpreet Singh Submitted By:-

2 Introduction  What are Design patterns ?  A standard solution to problems in object oriented software development  A well formed language to represent the software design  Ready made and Proven solution for some recurring problems

3 How did the need for Design Patterns raised Look at Problem:- Look at Problem:-  Hundred and thousands of Software Projects made each year  Not all of the Software Development techniques are different  Developers don’t invent a new design all the Time  A procedure should be present to reuse the existing design work in order to save time and Money Solution :- DESIGN PATTERNS DESIGN PATTERNS

4 How are Design Patterns the solution How are Design Patterns the solution  Provide ready to use and proven Design  Represent the expertise of whole community so reduce the chances of problems  Help novice developers to learn the process easily  Better quality software is developed

5 History of Design Patterns History of Design Patterns  Term coined by Christopher Alexander  He was an Architect and a Builder  Made the Design Patterns for Buildings  Not of much use as only few used it.

6 How were Design patterns used in Software Ward Cunningham and Kent Back used some of the ideas of Alexender for User Interface Design Most significant work done by :- Erich Gamma, Richard Helm John Vlissides and Ralph Johnson Wrote the book :- Design Patterns: Elements of Reusable Object-Oriented Software popularly called “ Gang Of Four ” How were Design patterns used in Software Ward Cunningham and Kent Back used some of the ideas of Alexender for User Interface Design Most significant work done by :- Erich Gamma, Richard Helm John Vlissides and Ralph Johnson Wrote the book :- Design Patterns: Elements of Reusable Object-Oriented Software popularly called “ Gang Of Four ” Design Patterns: Elements of Reusable Object-Oriented Software Design Patterns: Elements of Reusable Object-Oriented Software

7 Classification of Design Patterns Design Pattern Classification Purpose Scope CreationalStructural Behavioral Class Object

8 Purpose Purpose What the pattern will do or has done in the past What the pattern will do or has done in the past Creational Structural Behavioral Scope Scope Where the pattern would be applied Where the pattern would be applied Class Objects Class Objects

9 Creational Deals with object creation mechanism Structural Identifies ways to realize relationships between the entities that are used in the software development Behavioral identify common communication patterns between the objects

10 Class Patterns mainly deal with relationships between classes and their subclasses. Static as they are established through inheritance. Object Patterns in this category deal with object relationships. Relationships are dynamic in nature and can be changed at runtime

11 Documenting the Design Patterns Documenting the Design Patterns  One of the toughest task  Should provide fact and complete information about the problem and its Domain  Should help users to investigate existing system and customize it to fit users needs

12 Characteristics of Documentation  Pattern name and classification  Intent  Motivation  Applicability  Structure  Participants  Implementation  Known use  Related patterns

13 Critique of Design Patterns  Don’t always provide the relevant solution  Experiments performed on OBSERVER, COMPOSITE, VISITOR are examples  Need only arises due to insufficient Abstraction  Complicate the problems even more in some situations

14 Conclusion  Design patterns are very useful as they provide ready to use and proven solutions that speed up development and improve software quality  They do have limitations and negative points but their benefits overpower the limitations  Unless there is clear need to use simpler solutions the design patterns should be used as they provide more flexibility

15 References 1. Formal specification of design patterns: a comparison Taibi, T.; Ling, D.N.C.; 2. Evolutionary patterns of design and design patterns Aoyama, M.; 2. Evolutionary patterns of design and design patterns Aoyama, M.; 3. Precise modeling of design patterns in UML Mak, J.K.H.; Choy, C.S.T.; Lun, D.P.K.; 4. Instantiating and detecting design patterns: putting bits and pieces together Albin-Amiot, H.; Cointe, P.; Gueheneuc, Y.-G.; Jussien, N.; 5. Design patterns-essentials, experience, Java case study Pree, W.; Sikora, H.; 6. A controlled experiment in maintenance: comparing design patterns to simpler solutions Prechelt, L.; Unger, B.; Tichy, W.F.; Brossler, P.; Votta, L.G.; 7. Precise specification and automatic application of design patterns Eden, A.H.; Yehudai, A.; Gil, J.;

16 Thank you Any Questions ????


Download ppt "Advanced topics in software engineering CSC532 Term Paper Design Patterns Harpreet Singh Submitted By:-"

Similar presentations


Ads by Google