Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Similar documents
Introduction to Software Engineering. 5. Modeling Objects and Classes

CISC 322 Software Architecture

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

2 UML for OOAD. 2.1 What is UML? 2.2 Classes in UML 2.3 Relations in UML 2.4 Static and Dynamic Design with UML. UML for OOAD Stefan Kluth 1

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Model Driven Development Unified Modeling Language (UML)

administrivia today UML start design patterns Tuesday, September 28, 2010

Introduction to Software Engineering. 5. Modeling Objects and Classes

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

LABORATORY 1 REVISION

Course 3 7 March

Unified Modeling Language

Unified Modeling Language (UML) Class Diagram

Introduction to UML. Danang Wahyu utomo

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Object-Oriented Design

Software Service Engineering

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

COSC 3351 Software Design. An Introduction to UML (I)

The Unified Modeling Language User Guide

UML Tutorial. Unified Modeling Language UML Tutorial

OO Techniques & UML Class Diagrams

OO Analysis and Design with UML 2 and UP

Introduction to UML Dr. Rajivkumar S. Mente

OMG Modeling Glossary B

UNIT-II Introduction to UML

UML Primer. -Elango Sundaram

Representing System Architecture

Software Engineering Lab Manual

Basic Structural Modeling. Copyright Joey Paquet,

The Unified Modeling Language (UML)

Object-Oriented Systems Development: Using the Unified Modeling Language

UML (Unified Modeling Language)

Agenda. Why Model. Why Model? History of OO Modeling Methodologies Object Modeling Technique (OMT) Unified Modeling Language (UML)

IS 0020 Program Design and Software Tools

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Unified Modeling Language (UML)

Object Oriented Modeling

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

12 Tutorial on UML. TIMe TIMe Electronic Textbook

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

Index. Add Diagram > Sequence Diagram command,

UNIT-II I. BASIC STRUCTURAL MODELING

Architecture and the UML

3.0 Object-Oriented Modeling Using UML

UML 2.0 State Machines

Dr.S.S.Riaz Ahamed Principal, Sathak Institute of Technology, Ramanathapuram,India.

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

UML Diagrams & And Some Of Their Elements

Unified Modeling Language for Real-Time Systems Design

Index. : (colon), 80 <<>> (guillemets), 34, 56

A Conceptual Model of the UML

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Allenhouse Institute of Technology (UPTU Code : 505) OOT Notes By Hammad Lari for B.Tech CSE V th Sem

Software Development. Modular Design and Algorithm Analysis

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

Software Engineering from a

Advanced Software Engineering

UML. By Somenath Mukhopadhyay.

UML part I. UML part I 1/41

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright

Software Development Cycle. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language.

Object-Oriented Systems Analysis and Design Using UML

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

Unit-1 INTRODUCTION 1.1 CATEGORIES OF INFORMATION SYSTEMS SYLLABUS:

Object-Oriented Software Engineering Practical Software Development using UML and Java

History of object-oriented approaches

UML: Unified Modeling Language

Experiment no 4 Study of Class Diagram in Rational Rose

Unified Modeling Language (UML) and Modeling

Engineering Design w/embedded Systems

UML Diagrams MagicDraw UML Diagrams

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Unit II. Advanced Structural Modeling

Introduction to Unified Modelling Language (UML)

Introducing the UML Eng. Mohammed T. Abo Alroos

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

Unified Modeling Language

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

OBJECT ORIENTED ANALYSIS AND DESIGN

Unified Modeling Language (UML)

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

EECS 4314 Advanced Software Engineering. Topic 03: UML Overview Zhen Ming (Jack) Jiang

OBJECT ORIENTED ANALYSIS AND DESIGN

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

What is UML / why. UML is graphical and notational representation for software system requirements analysis and design. (Software Engineering )

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

Vidyalankar. T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper

MechEng SE3 Lecture 7 Domain Modelling

Unified Modeling Language (UML)

StarUML Documentation

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

UML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012

Transcription:

Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003

Lezione 6 UML Introduction Structural diagrams

Basics What is?

Please explain

UML What is? What do +,- # mean?

Please explain What is?

UML What is?

UML What is?

Modeling Modeling is the designing of software applications before coding The OMG's Unified Modeling Language (UML ) helps you - specify - visualize - document models of software systems, including their structure and design

Reasons to Model To communicate the desired structure and behavior of the system To visualize and control the system s architecture To better understand the system and expose opportunities for simplification and reuse To manage risk Every model may be expressed at different levels of precision No single model is sufficient

UML in One Sentence The UML is a graphical language for visualizing specifying constructing documenting artifacts of software systems (can be used also in non-software systems)

History The UML got its initial start from the combined efforts of - Grady Booch, with his Booch method - James Rumbaugh, with his Object Modeling Technique (OMT) - Ivar Jacobson, with his Object-Oriented Software Engineering (OOSE) method It represents the evolutionary unification of their experience with other industry engineering best practices Beginning in 1994, under the auspices of Rational Software Inc., the UML began to take shape The Object Management Group (OMG) adopted the UML in November 1997 as the official object-oriented modeling notation for describing application domains

Elements A modeling language must include: Model elements - fundamental modeling concepts and semantics Notation - visual rendering of model elements Guidelines - idioms of usage

What one can model Structural Diagrams - Class Diagram - Object Diagram - Component Diagram - Deployment Diagram Behavior Diagrams - Use Case Diagram - Sequence Diagram - Activity Diagram - Collaboration Diagram - Statechart Diagram Model Management Diagrams - Packages - Subsystems - Models

General purpose concepts Can be used in various diagram types package 1 name optional dependency name stereotype name package 2 name note text

Notes A note is a graphical symbol containing text and/or graphics that offer(s) some comment or detail about an element within a model. Check with Mike on this. See encrypt.doc See http://www. softdocwiz.com

Adornments and Extensibility An adornment is an item, such as a note, that adds text or graphical detail to a model The UML offers various mechanisms that one can use to extend the official language stereotypes tagged values constraints

Stereotypes A stereotype is an extension of the vocabulary of the UML that allows you to create a new kind of building block that s specific to the problem you re trying to solve. «interface» Observer update() Humidity Sensor «control» TargetTracker

Packages A package is a general-purpose mechanism for organizing elements of a model, such as classes or diagrams, into groups Packages themselves may be nested within other packages. A package may contain both subordinate packages as well as other kinds of model elements. All kinds of UML model elements can be organized into packages. Every element within a model is uniquely owned by one package

Access dependency among packages The access dependency is displayed as a dependency arrow from the referencing (client) package to the target (supplier) package containing the target of the references. This dependency indicates that elements within the client package may legally reference elements within the supplier.

Structural Diagrams Used to visualize, specify, construct, document static aspects of system class diagram package diagram [not standard UML] object diagram component diagram deployment diagram

Class diagrams Class diagrams show the static structure of the model, in particular, the things that exist (such as classes and types), their internal structure, and their relationships to other things. Perhaps a better name would be static structural diagram, but class diagram is shorter and well established. Class diagrams do not show temporal information, although they may contain reified occurrences of things that have or things that describe temporal behavior.

Common Uses of Class Diagrams to model vocabulary of the system, in terms of which abstractions are part of the system and which fall outside its boundaries to model simple collaborations (societies of elements that work together to provide cooperative behavior) to model logical database schema (blueprint for conceptual design of database)

Class diagram

Class Class name Class name attribute attribute: data_type attribute: data_type = init_value operation operation (arg_list) : result_type A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics An attribute is a named property of a class that describes a range of values that instances of the property may hold An operation is a service that can be requested from an object to affect behavior

Level of detail Details suppressed Implementation-level details Analysis-level details

Attribute An attribute is semantically equivalent to a composition association; however, the intent and usage is normally different. The default syntax is: visibility name [ multiplicity ] : type-expression = initial-value { property-string } where visibility is one of: + public visibility # protected visibility - private visibility

Operation An operation is a service that an instance of the class may be requested to perform. It has a name and a list of arguments. An operation is shown as a text string that can be parsed into the various properties of an operation model element. The default syntax is: visibility name ( parameter-list ) : return-type-expression { property-string } where visibility is one of: + public visibility # protected visibility - private visibility

Parameterised class (template) A template is the descriptor for a class with one or more unbound formal parameters. It defines a family of classes, each class specified by binding the parameters to actual values. Formal Arguments template name template definition template name <actual arguments> class instantiated from template

Relationships Connections between classes dependency generalization association

Association An association is a structural relationship within which classes or objects are connected to each other Person Company

Association adornements name role multiplicity aggregation composition A hollow diamond is attached to the end of the path to indicate aggregation. If the diamond is filled, then it signifies the strong form of aggregation known as composition.

Association Name Describes the nature of relationship: Person works for Company Can also show the direction to read name: Person works for Company

Association Roles describe faces that classes present to each other within association class can play same or different roles within different associations Person employee employer Company

Association Multiplicity possible values same as for classes: explicit value, range, or * for many Example: a Person is employed by one Company; a Company employs one or more Persons Person 1..* 1 Company

Aggregation Aggregation is a whole/part or has a relationship within which one class represents a larger thing that consists of smaller things Company 0..1 Whole Class Name 0..1 Department aggregation unidirectional navigability 0..* Part 1 Class Name composite aggregation bidirectional navigability 0..* Part 2 Class Name

Composition Composition is a form of aggregation with strong ownership and coincident lifetime of part with the whole Window Frame

Generalization Shape Circle Rectangle Superclass-A Superclass-B operation A generalization is a kind of or is a relationship between a general thing (superclass or parent) Subclass-1 Subclass-2 operation and a more specific thing (subclass or child)

Dependency A dependency indicates a semantic relationship between two (or more) model elements It indicates a situation in which a change to the target element may require a change to the source element in the dependency among classes among packages

Dependency A dependency is a using relationship within which the change in the specification of one class may affect another class that uses it Example: one class uses another in operation Run handleevent() Event

Objects An object represents a particular instance of a class It has identity and attribute values

Object Diagram An object diagram shows a set of objects, and their relationships, at a specific point in time c: Company d1: Department name = R&D : Contact Info phone = 6328 p1: Person ID = 1389