SEG4110 – Advanced Software Design and Reengineering

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs Sam Supakkul Titat Software LLC Lawrence Chung The.
SEG4110 – Advanced Software Design and Reengineering TOPIC D Metamodelling.
1 Devon M. Simmonds The UML Metamodel SLIDES include some from tvarious sources including: (1)
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Modeling Notations.
Feb 2003 R McFadyen1 Contracts (Ch 13) Used to help understand requirements more completely based on assertions; assertions are applicable to any.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
Lecture #5 Agenda Cell phones off & name signs out Review Questions? UML class diagram introduction Our first class definition!
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
CS 898N – Advanced World Wide Web Technologies Lecture 21: XML Chin-Chih Chang
Detail Design Extending UML and Object Design. Object Design.
©2004 Brooks/Cole Chapter 1: Getting Started Sections Covered: 1.1Introduction to Programming 1.2Constructing a Java Program 1.3The print() and println()
Introduction to UML Visual modeling Models and its importance
Understanding Metamodels. Outline Understanding metamodels Applying reference models Fundamental metamodel for describing software components Content.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Component and Deployment Diagrams
Data and Process Modeling
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
R R R CSE870: Advanced Software Engineering: Extending and Using UML (Cheng) Supplementary: Using and Extending UML.
Lecture a: Additional UML Models: Package, Activity, Deployment Lecture b: Generalization, Aggregation and Additional Domain Model Notation Copyright W.
Common Mechanisms in UML
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Unified Modeling Language User Guide Section 2—Basic Structural Modeling Chapter 4—Classes.
RDF (Resource Description Framework) Why?. XML XML is a metalanguage that allows users to define markup XML separates content and structure from formatting.
UML Packages & Related Diagrams
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Lecture 6 of Advanced Databases XML Schema, Querying & Transformation Instructor: Mr.Ahmed Al Astal.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Specializing and extending the UML
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
1 Devon M. Simmonds Metadata & The UML Metamodel SLIDES include some from tvarious sources including: (1)
SaveUML System design. System overview Possible...
Uml is made similar by the presence of four common mechanisms that apply consistently throughout the language. After constructing or developing the architecture.
RTAS 2003 Workshop on Model-Driven Embedded Systems Washington, D.C., May 27-30, 2003 Juan Pablo Zamora Zapata Francis Bordeleau Defining UML Profiles.
Chapter 2, Modeling with UML, Part 3 UML 2 Hightlights
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.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
UML 2 Models for ODP Engineering/Technology Viewpoints – An Experiment - Daisuke Hashimoto Hiroshi.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Copyright © IBM Corp., | March | Creating Robust Scalable DSLs with UML Tutorial (172) James Bruck, Christian Damus IBM Rational Software.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
ICT EMMSAD’05 13/ Assessing Business Process Modeling Languages Using a Generic Quality Framework Anna Gunhild Nysetvold* John Krogstie *, § IDI,
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
Javascript Basic Concepts Presentation By: Er. Sunny Chanday Lecturer CSE/IT RBIENT.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
UML Review: State Machines. Sept. 17, 2003Lecture 5: CS660 Fall Overview States Transitions Activities Modeling object lifeline Creating well-structured.
IBM Rational Rhapsody Advanced Systems Training v7.5
SysML 2.0 Formalism Requirements and Potential Language Architectures
SysML v2 Formalism: Requirements & Benefits
Business Process Measures
Seminar 1 Design of Informatics Systems
Class Diagrams.
MDT UML2Tools 0.8 Mini-deck
Software Architecture & Design
Presentation transcript:

SEG4110 – Advanced Software Design and Reengineering TOPIC B UML Extension Mechanisms

Why an extension mechanism? Although UML is very well-defined, there are situations in which it needs to be customized to specific problem domains UML extension mechanisms are used to extend UML by: adding new model elements, creating new properties, and specifying new semantics There are three extension mechanisms: stereotypes, tagged values, constraints and notes SEG4110 - Topic B- UML Extension Mechanims

SEG4110 - Topic B- UML Extension Mechanims Stereotypes Stereotypes are used to extend UML to create new model elements that can be used in specific domains E.g. when modeling an elevator control system, we may need to represent some classes, states etc. as «hardware» «software» Stereotypes should always be applied in a consistent way SEG4110 - Topic B- UML Extension Mechanims

SEG4110 - Topic B- UML Extension Mechanims Stereotypes (cont.) Ways of representing a stereotype: Place the name of the stereotype above the name of an existing UML element (if any) The name of the stereotype needs to be between «» (e.g. «node») Don’t use double ‘<‘ or ‘>’ symbols, there are special characters called open and close guillemets Create new icons «button» CancelButton Stereotype state  CancelButton Stereotype in form of icon SEG4110 - Topic B- UML Extension Mechanims

SEG4110 - Topic B- UML Extension Mechanims Tagged Values Tagged values Define additional properties for any kind of model elements Can be defined for existing model elements and for stereotypes Are shown as a tag-value pair where the tag represent the property and the value represent the value of the property Tagged values can be useful for adding properties about code generation version control configuration management authorship etc. SEG4110 - Topic B- UML Extension Mechanims

SEG4110 - Topic B- UML Extension Mechanims Tagged Values (cont.) A tagged value is shown as a string that is enclosed by brackets {} and which consists of: the tag, a separator (the symbol =), and a value {author = “Bob”, Version = 2.5} Employee name address Two tagged values SEG4110 - Topic B- UML Extension Mechanims

SEG4110 - Topic B- UML Extension Mechanims Constraints Constraints are used to extend the semantics of UML by adding new rules, or modifying existing ones. Constraints can also be used to specify conditions that must be held true at all times for the elements of a model. Constraints can be represented using the natural language or OCL (Object Constraint Language) We will learn more about OCL in future lectures SEG4110 - Topic B- UML Extension Mechanims

SEG4110 - Topic B- UML Extension Mechanims Comments Comments are used to help clarify the models that are being created e.g. comments may be used for explaining the rationale behind some design decisions A comment is shown as a text string within a note icon. A note icon can also contain an OCL expression Title Copy 1..* Abstraction-occurrence pattern SEG4110 - Topic B- UML Extension Mechanims

SEG4110 - Topic B- UML Extension Mechanims The UML Metamodel A metamodel is a model representing the structure and semantics of a particular set of models A UML model is an instance of the UML metamodel The UML metamodel Describes the UML model elements Is defined using a subset of UML Is organized in the form of packages SEG4110 - Topic B- UML Extension Mechanims

The UML Metamodel (cont.) UML metamodel is defined according to the following concepts: Abstract Syntax: The metamodel of UML is described using UML class diagrams Well-formedness rules: Well-formedness rules are used to express constraints on the model elements E.g. a class cannot have two names Semantics: describes using the natural language the semantics of the model elements We will learn more about metamodelling in a later lecture SEG4110 - Topic B- UML Extension Mechanims

SEG4110 - Topic B- UML Extension Mechanims UML Profiles UML Profiles provide an extension mechanism for building UML models for particular domains e.g. real-time systems, web development, etc… A profile consists of a package that contains one or more related extension mechanisms (such as stereotypes, tagged values and constraints) that are applied to UML model elements Profiles do not extend the UML metamodel. They are also called the UML light-weight extension mechanism SEG4110 - Topic B- UML Extension Mechanims

SEG4110 - Topic B- UML Extension Mechanims UML Profiles (cont.) A UML profile is a specification that does one or more of the following: Identifies a subset of the UML metamodel (which may be the entire UML metamodel) Specifies stereotypes and/or tagged values Specifies well-formedness rules beyond those that already exist Specifies semantics expressed in natural language SEG4110 - Topic B- UML Extension Mechanims

SEG4110 - Topic B- UML Extension Mechanims Example of a profile inspired by the research report of Cabot et al. (2003) We would like to create a UML profile for representing basic GUI components. We suppose that our GUI contains the following components: Forms (which can also be dialog boxes) Buttons Constraints: (in practice, we need to be more precise) A form can invoke a dialog box A form as well as a dialog box can contain buttons SEG4110 - Topic B- UML Extension Mechanims

The GUI profile package Class and Association are part of UML metamodel GUI Profile Class Association <<stereotype>> Form <<stereotype>> Button <<stereotype>> Contains <<stereotype>> Invokes <<stereotype>> DialogBox SEG4110 - Topic B- UML Extension Mechanims

Instance Diagram of the GUI Profile <<Form>> MainView 1 <<Button>> OkButton CancelButton <<Invokes>> <<Contains>> <<DialogBox>> OpenDialogBox SEG4110 - Topic B- UML Extension Mechanims