Dynamic modeling, Tue 26.6.2001 G. Falquet, L. Nerima.

Slides:



Advertisements
Similar presentations
Stereotypes Stereotypes provide the capability to create a new kind of modeling element. –They can be used to classify or mark modeling elements. –A type.
Advertisements

Unified Modeling Language
UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
June G. Falquet, L. NerimaUse Cases1 UML - Unified Modeling Language UML Course at HCHR Summer 2001 Gilles Falquet and Luka Nerima University of.
Integration, Thu G. Falquet, L. Nerima.
© Copyright Eliyahu Brutman Programming Techniques Course.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
ISIISI June G. Falquet, L. NerimaClasses 1 UML’s Basic Building Blocks vThree kind of building blocks: v1. Things vabstractions that are first class.
Introduction To System Analysis and design
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 18. Review User interface Design principles Design Guidelines.
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.
Unified Modeling Language, Version 2.0
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
R McFadyen Chapter 7 Conceptual Data Modeling.
APCS Java AB 2004 Review of CS1 and CS2 Review for AP test #1 Sources: 2003 Workshop notes from Chris Nevison (Colgate University) AP Study Guide to go.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 03. Classes,
16 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 7 Unified Modeling Language.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Lecture 1: UML Class Diagram September 12, UML Class Diagrams2 What is a Class Diagram? A class diagram describes the types of objects in the system.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Object-Oriented Data Modeling
Design Model Lecture p6 T120B pavasario sem.
UNIT_2 1 DATABASE MANAGEMENT SYSTEM[DBMS] [Unit: 2] Prepared By Lavlesh Pandit SPCE MCA, Visnagar.
 Week08.  Review Schedule Weeks 8-14  This week o Review last class o Introduce Class Diagrams o ICE-03 Sheridan SYST Engineering Quality Systems.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Lab 5 CPIT 250 System Analysis and Design.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Software Engineering Lecture 8 Object-Oriented Analysis.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
1 Unified Modeling Language, Version 2.0 Chapter 2.
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
Class diagrams Terézia Mézešová.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Object Oriented Design Lecture #4 – Inheritance, Interfaces, Classes Tomasz Pieciukiewicz.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) Modern Database Management 11 th Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi © 2013 Pearson.
Class Diagram Lecture # 1. Class diagram A Class Diagram is a diagram describing the structure of a system shows the system's classes Attributes operations.
Introduction to UML Hazleen Aris Software Eng. Dept., College of IT, UNITEN. …Unified Modeling Language.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
Chapter 4_part2: The Enhanced Entity-Relationship (EER) Model.
DOMAIN CLASSES – PART 1 BTS430 Systems Analysis and Design using UML.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
CHAPTER
UML Diagrams: Class Diagrams The Static Analysis Model
Object-Oriented Modeling
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
Analysis models and design models
Class Diagrams.
Design Yaodong Bi.
Object Oriented System Design Class Diagrams
Presentation transcript:

Dynamic modeling, Tue G. Falquet, L. Nerima

ISIISI June G. Falquet, L. NerimaClasses 2 Outline vMore on classes generalization and inheritance vThe link between static (class) and behavioral modeling vInteraction diagrams vCollaboration diagrams vStates and state charts vSequence diagrams vExercices

ISIISI June G. Falquet, L. NerimaClasses 3 More on generalization vGeneralization: taxonomic relationship vhierarchy: parent – children (superclass – subclass) vsimplest case: a class has a single parent vmore complicated: a class has more than one parent vthe child inherits (from all its parents): vstructure (attributes + associations) vbehavior vconstraints

ISIISI June G. Falquet, L. NerimaClasses 4 Generalization: aims To share  Attributs (statique)  Operations (behavioral) To specify that more specific classes inherits from the more general class

ISIISI June G. Falquet, L. NerimaClasses 5 Criteria for building taxonomies vmany shared elements (structural and behavioral) vbut significative differences must exist between the children vExample Shape origin move() resize() RectangleCircle Polygon Corner Display() Radius Display() Points Display() Resize() Square

ISIISI June G. Falquet, L. NerimaClasses 6 vIn theory, every attribute can be substituded by a level of subclass... v... but probably the solution below is preferable Counterexample Car type colour Sports car Red sports car Silver sports car Blue sports car... Car Limousine...

ISIISI June G. Falquet, L. NerimaClasses 7 vPrinciple: choose the criteria that maximize common elements vExample: Generalization with covariance Employee TechnicallProfessional Permanent Temporary The type of employee classes (professional or technical) shares more structural elements (attributes, association,…) Permanent Temporary

ISIISI June G. Falquet, L. NerimaClasses 8 Employee Technicall Professional Permanent Generalization with covariance (cont) The type of employee position (permanent or temporary) shares more structural elements (attributes, association,…) Temporary Professional Technicall

ISIISI June G. Falquet, L. NerimaClasses 9 Multiple inheritance or simple heritance ? Employee Professional Technical PermanentTemporary {disjoint} Temporary technical Permanent professional Temporary professional Permanent technical - Expressive modeling - Implementation: C++ supports multiple inheritance, Java does not

ISIISI June G. Falquet, L. NerimaClasses 10 Employee Professional Technical PermanentTemporary {disjoint} Multiple inheritance or simple heritance ? - An instance in Employee class will have two instances in child classes: one in Professional/Technical, one in Permant/Temporary - Implementation: difficult (no prog. language supports this feature) - class migration not supported

ISIISI June G. Falquet, L. NerimaClasses 11 Multiple inheritance or simple heritance ? Employee Professional Technical Position type An attribute can also be solution Is it a good solution ? Modeling test: - do permanent/temporary employees participate to the same associations ? - are the behaviors (more or less) the same, eg salary calculation, pension ?

ISIISI June G. Falquet, L. NerimaClasses 12 Constraint on a set of generalizations vdisjoint vno element may have two children voverlapping v an element may have two or more children vcomplete vall possible children have been enumerated vincomplete vall possible children have not been enumerated yet vDefault: disjoint, complete (may be redefined)

ISIISI June G. Falquet, L. NerimaClasses 13 Examples Shape Polygon Ellipse Spline {disjoint, incomplete} Athlete Swimmer Skier {overlapping, incomplete}

ISIISI June G. Falquet, L. NerimaClasses 14 Class Diagram recapitulation vTypical use of class diagram 1)To model the vocabulary of a system 2)To model the static view of a simple collaboration (set of classes that work together to provide a behaviour) 3)To model a logical database schema

ISIISI June G. Falquet, L. NerimaClasses 15 The link between class and behavioral diagrams vThe realization of a use case by a collaboration vAn example of collaboration in AT3 consumptio n checking Check vehicule consumption realization collaboration Use case

ISIISI June G. Falquet, L. NerimaClasses 16 Collaboration vA collaboration gives a name to a conceptual building block of the system vA collaboration encompass vstatic elements vbehavior elements vNote: a collaboration doesn’t own any of its structural elements (it references the classes, interfaces, …)

ISIISI June G. Falquet, L. NerimaClasses 17 vmainly classes v+ interfaces, components, nodes vAT3 example: Collaboration : structural aspect Vehicle Model Tanking Set_Lit_Km(v,km,l) lit_per_Km() select_last(v) Fill up Vehicle model IVehicleConsumption lastCons() 1 * * 1 … … tankingDate kilometers liters ISet_Lit_Km

ISIISI June G. Falquet, L. NerimaClasses 18 Collaboration: behavioral aspect vUse an interaction diagram vcollaboration -> emphasis on structural relationship of collaborating objects vor sequence -> emphasis on time ordering of messages

ISIISI June G. Falquet, L. NerimaClasses 19 Behavioral aspect of collaboration vExample of collaboration diagram :ISet_Lit_Km :Tanking Set_Lit_Km(v,l,km) :IVehicleConsumption v : Vehicle lastCons() select_ last(v) :Driver :Mechanic lit_per_Km() Tanking: Class

ISIISI June G. Falquet, L. NerimaClasses 20 Behavioral aspect of collaboration vExample of collaboration diagram :ISet_Lit_Km :Tanking 1:Set_Lit_Km(v,l,km) :IVehicleConsumption v : Vehicle 2:lastCons() 3:select_ last(v) Tanking: Class 4:lit_per_Km() :Mechanic :Driver