1 / 16

Advanced topics in software engineering CSC532 Term Paper

Advanced topics in software engineering CSC532 Term Paper . Design Patterns. Submitted By:-. Harpreet Singh. Introduction. What are Design patterns ? A standard solution to problems in object oriented software development

niabi
Télécharger la présentation

Advanced topics in software engineering CSC532 Term Paper

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced topics in software engineeringCSC532 Term Paper Design Patterns Submitted By:- Harpreet Singh

  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:- 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

  4. 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 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 SoftwareWard Cunningham and Kent Back used some of the ideas of Alexender for User Interface DesignMost significant work done by :-Erich Gamma, Richard Helm John Vlissides and Ralph JohnsonWrote the book :-Design Patterns: Elements of Reusable Object-Oriented Software popularly called “ Gang Of Four ”

  7. Classification ofDesign Patterns Design Pattern Classification Purpose Scope Class Object Creational Structural Behavioral

  8. Purpose What the pattern will do or has done in the past Creational StructuralBehavioral Scope Where the pattern would be applied ClassObjects

  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 • 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 • Formal specification of design patterns: a comparisonTaibi, T.; Ling, D.N.C.; • Evolutionary patterns of design and design patternsAoyama, M.; • Precise modeling of design patterns in UMLMak, J.K.H.; Choy, C.S.T.; Lun, D.P.K.; • Instantiating and detecting design patterns: putting bits and pieces togetherAlbin-Amiot, H.; Cointe, P.; Gueheneuc, Y.-G.; Jussien, N.; • Design patterns-essentials, experience, Java case studyPree, W.; Sikora, H.; • A controlled experiment in maintenance: comparing design patterns to simpler solutionsPrechelt, L.; Unger, B.; Tichy, W.F.; Brossler, P.; Votta, L.G.; • Precise specification and automatic application of design patternsEden, A.H.; Yehudai, A.; Gil, J.;

  16. Thank you Any Questions ????

More Related