Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.

Slides:



Advertisements
Similar presentations
 Recent researches show that predicative programming can be used to specify OO concepts including classes, objects, interfaces, methods, single and multiple.
Advertisements

2 Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how statecharts can be used to describe system behaviors  Use statecharts.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
UML – Class Diagrams.
Dept. of Computer Engineering, Amirkabir University of Tech. 1 Design Patterns Dr. Noorhosseini Introduction.
Design Patterns. What are design patterns? A general reusable solution to a commonly occurring problem. A description or template for how to solve a problem.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
Dept. of Computer Engineering, Amir-Kabir University 1 Design Patterns Dr. Noorhosseini Lecture 2.
Developed by Reneta Barneva, SUNY Fredonia Component Level Design.
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Unified Modeling Language
Product Line Annotations with UML-F Wolfgang Pree Software Research Lab Univ. of Salzburg Austria Marcus Fontoura IBM Almaden Research, San.
Objects What are Objects Observations
Design Patterns Discussion of pages: xi-11 Sections: Preface, Forward, Chapter
SEG4110 – Advanced Software Design and Reengineering
Design Patterns.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
05 - Patterns Intro.CSC4071 Design Patterns Designing good and reusable OO software is hard. –Mix of specific + general –Impossible to get it right the.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
The Factory Patterns SE-2811 Dr. Mark L. Hornick 1.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
ECE450S – Software Engineering II
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
CSC 480 Software Engineering Design With Patterns.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Copyright © Active Frameworks Inc. - All Rights Reserved - V2.0Design Pattern Catalog - Page L3-1 PS95&96-MEF-L10-1 Dr. M.E. Fayad Creationa.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Design Patterns Introduction
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Design Patterns Introduction “Patterns are discovered, not invented” Richard Helm.
1 Unified Modeling Language, Version 2.0 Chapter 2.
University of Twente Meta Patterns Common Principles behind Design Patterns & OO Frameworks Lodewijk M.J. Bergmans.
Chapter 16: UML Class Diagrams
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
TK2023 Object-Oriented Software Engineering CHAPTER 9 INTRODUCTION TO OBJECT DESIGN.
CSC 480 Software Engineering Design With Patterns.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Introduction to the Unified Modeling Language.
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Design Patterns: MORE Examples
Unit II-Chapter No. : 5- design Patterns
Chapter 10 Design Patterns.
Interface, Subclass, and Abstract Class Review
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2
Object-Orientated Programming
object oriented Principles of software design
CSC 480 Software Engineering
SYS466 Domain Classes – Part 1.
Chapter 8, Design Patterns Introduction
Presentation transcript:

Banaras Hindu University

A Course on Software Reuse by Design Patterns and Frameworks

by Dr. Manjari Gupta Department of Computer Science Banaras Hindu University

Lecture 13 UML-F Profile An Introduction (2 nd Part)

 describe both hardware and software, as well as read world requirements.  multi-purpose language with many notational constructs,  does not provide appropriate constructs to model frameworks.  provides mechanism that allows extensions. UML

 UML-F focuses on object-oriented frameworks.  uses the UML 1.4 standard extension mechanisms. UML-F

 stereotypes, tagged values, and constraints.  «stereotype-name»  {tag=value}  “{tag}” as shortcut for “{tag=TRUE}”  {incomplete} UML Extensibility Mechanisms

UML-F Extensions

 new vocabulary is explained through a definition using existing vocabulary.  Variable methods are methods that have a well-defined signature, but whose implementation varies for each instantiated application.  Extensible classes are classes that may have their interfaces extended during the framework instantiation.  Extensible interfaces are interfaces or abstract classes that allow the creation of concrete subclasses during the framework instantiation. Language Description

 UML diagrams are extended by the tags  {variable}, {extensible}, {incomplete}, {appl- class}, {static}, and {dynamic}.

 Presentation tags  Basic modeling tags  Tags for the essential construction principles  Tags for catalog patterns and new domain-specific patterns Tags for UML-F Profile

 deal only with the visual representation of elements  ellipsis (“…”) are to mark omissions of attributes and methods  “©” is used to mark completeness and  the tag “…” is used to explicitly mark incompleteness.  the “…” tag is the default. Presentation tags

 L (hierarchy-symbol): all elements are shown (expanded or flat version)  d (delta): only the delta is shown Flat and hierarchical representation of the design

Presentation Tags Method is Inherited Newly defined Method Method is redefined but uses inherited method Method is abstract

Tag nameApplies toValueDescription «fixed» Class, Method, Generalization BoolThe element is fixed. «adapt-static» Interface, Class, Method, Generalization Bool The element can be adapted during design-time through subclassing. «adapt-dyn» Interface, Class, Method, Generalization Bool The interface, class, method can be changed through dynamic loading of new subclasses during runtime. «application» Class, Package, Interface Bool The element belongs to the application. «framework» Class, Package, Interface Bool The element belongs to the framework. «utility»Class, Package, Interface BoolThe element belongs to a utility library or the runtime system. Basic modeling tags

 Unification principle  Separation  Decorator  Composite  Chain of responsibility UML-F Pattern Tags

 «template» and «hook» UML-F Pattern Tags

 class TH  three UML-F tags annotate the Unification construction principle in a framework:  Unification–TH» marks the class  Unification–t» marks the template method  Unification  As a short cut «Unif–TH», «Unif–t» and «Unif–h» UML-F Pattern Tags- Unification Principle

 each pattern description has a section labeled Structure which shows a class diagram.  set of UML-F tags  «PatternName–methodName»,  «Pattern-Name–ClassName»  «PatternName–InterfaceName»  «PatternNameassociationLabel» and  «PatternName-attributeName» UML-F tags for design patterns

UML-F tags for the Factory Method pattern

 «FacM–Creator»  «FacM–facM»  «FacM–anOp»  «FacM–Product»  «FacM–ConcreteProduct»  «FacM– ConcreteCreator»  «FacM–facM» UML-F tag set for the Factory Method pattern

Use of unification Principle

 are not general enough to be published in pattern catalogs,  rely on one of the essential framework construction principles.  The structure of a domain-specific pattern defines the tags.  should also be annotated by GoF pattern tags or the tags of the core construction principles. UML-F tags for domain specific patterns