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

Similar documents
CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

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

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Model Driven Development Unified Modeling Language (UML)

Unified Modeling Language (UML)

OO Analysis and Design with UML 2 and UP

Introduction to Software Engineering. 5. Modeling Objects and Classes

Ingegneria del Software Corso di Laurea in Informatica per il Management

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

Ingegneria del Software Corso di Laurea in Informatica per il Management. Design Patterns part 1

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

UNIT-II Introduction to UML

Software Engineering from a

UML 2.0 State Machines

CISC 322 Software Architecture

3.0 Object-Oriented Modeling Using UML

Representing System Architecture

Modeling Requirements

Index. Add Diagram > Sequence Diagram command,

UML Primer. -Elango Sundaram

Basic Structural Modeling. Copyright Joey Paquet,

ISO/IEC INTERNATIONAL STANDARD. Information technology Open Distributed Processing Unified Modeling Language (UML) Version 1.4.

Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique

Introduction to Software Engineering. 5. Modeling Objects and Classes

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

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Course 3 7 March

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

Ingegneria del Software Corso di Laurea in Informatica per il Management. Software quality and Object Oriented Principles

Modelling in Enterprise Architecture. MSc Business Information Systems

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Experiment no 4 Study of Class Diagram in Rational Rose

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

OMG Modeling Glossary B

Index. business modeling syntax 181 business process modeling 57 business rule 40

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

What's New in UML 2.0

Object Oriented System Development

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

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN

Transforming UML Collaborating Statecharts for Verification and Simulation

Unified Modeling Language Specification Version formal/

AGH University of Science and Technology Computer Science Laboratory Department of Automatics Al. Mickiewicza Kraków, POLAND

Objectives. UML Extension Mechanisms. What is UML? Is the UML enough? UML Extension Mechanisms. Specifications. By Jasmine Farhad

Ingegneria del Software Corso di Laurea in Informatica per il Management. Design Patterns part 1

UML Diagrams & And Some Of Their Elements

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

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Software Development Methodologies

UMLexe UML virtual machine

Ingegneria del Software Corso di Laurea in Informatica per il Management (D)VCS. Davide Rossi Dipartimento di Informatica Università di Bologna

AN INTEGRATED COMPONENT-BASED APPROACH TO ENTERPRISE SYSTEM SPECIFICATION AND DEVELOPMENT

Information systems modeling. Tomasz Kubik

Unified Modeling Language

Software Service Engineering

Sequence Diagram Generation with Model Transformation Technology

Ingegneria del Software Corso di Laurea in Informatica per il Management

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)

History of object-oriented approaches

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

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

Research Paper on Implementation of OCL Constraints in JAVA

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Object Oriented Modeling

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

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Metamodeling with Metamodels. Using. UML/MOF including OCL

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

The Unified Modeling Language User Guide

CASE TOOLS LAB VIVA QUESTION

i219 Software Design Methodology 1. Overview of software design methodology Kazuhiro Ogata (JAIST) Outline of lecture

Unified Modelling Language

CIS 771: Software Specifications

2. An implementation-ready data model needn't necessarily contain enforceable rules to guarantee the integrity of the data.

Models versus Ontologies - What's the Difference and where does it Matter?

UNIT-I Introduction of Object Oriented Modeling

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

8/22/2003. Proposal for VPI model PSL assertion extensions

Spemmet - A Tool for Modeling Software Processes with SPEM

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

Enabling Component-Based Model Transformations with QVT. Li Dan

CSE 308. UML Overview Use Case Diagrams. Reference. Class diagrams. Session 6 UML Intro/Use cases. Robert Kelly, B. Bruegge,

Software Design Methodologies and Testing. (Subject Code: ) (Class: BE Computer Engineering) 2012 Pattern

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

A Conceptual Model of the UML

CHAPTER 2: DATA MODELS

Softwaretechnik Model Driven Architecture Meta Modeling

Model Querying with Graphical Notation of QVT Relations

02291: System Integration

Exploiting Visual Languages Generation and UML Meta Modeling to Construct Meta-CASE Workbenches

The Model-Driven Semantic Web Emerging Standards & Technologies

Object-Oriented Introduction

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

L02.1 Introduction... 2

UML Start-Up Training UB1

CWM: Model Driven Architecture

Software Engineering Lab Manual

Transcription:

Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna

Modeling A model is an (abstract) representation of reality. Models are used to capture relevant (from the point of view of the modeler) properties allowing more focused reasoning. Models are also useful to share knowledge. Creating models is a natural process.

Modeling languages Models are expressed with languages. Languages are systems of signs for encoding and decoding information. Modeling languages define the entities composing the modeled subject, their properties and their relationships.

Object orientation UML assumes on object-oriented approach for both analysis and design. Analysis focuses on the problem domain. Design focuses on the solution domain. UML support both phases (but it is agnostic with respect to how).

O-O principles O-O is a paradigm that shift the focus of analysis and design from algorithms and data to objects, intended as autonomous entities with a state and a behavior. The main O-O principles are: abstraction, encapsulation, inheritance and polymorphism.

O-O principles Abstraction: focus on essential characteristics (w.r.t. the perspective of the viewer). Encapsulation: hide the details (your status). Inheritance: behavior and state can be specialized. Polymorphism: behavior depends on who you are.

Brief history of UML The adoption of object-oriented analysis and design methods in the 80s lead to the development of several modeling languages. Between 1989 and 1994 the number of O-O methods increased from 10 to more than 50. Prominent methods included Booch s method, Jacobson s OOSE (Object-Oriented Software Engineering) and Rumbaugh s OMT (ObjectModeling Technique).

Brief history of UML In 1994 Rumbaugh joins Booch at Rational (coming from General Electric) and started working on a unification of Booch and OMT methods. In 1995 Jacobson joined rational too (coming from Objectory). UML (Unified Modeling Language) 0.9 was released in June 1996. UML 1.0 was offered for standardization to the OMG in January 1997. UML 2.0 was adopted by the OMG in early 2005.

Modeling languages history [wikipedia]

UML UML is a modeling language for softwareintensive systems. It is a graphical, semi-formal language that is used to specify, visualize, construct and document software artifacts. Artifacts are the products of a software development process.

What UML is not UML is not a software development process. UML in independent from the project domain, from the development process, from specific programming languages and specific development tools.

Syntax and semantics in UML UML is a language, not just a graphical notation; it has syntactic rules and semantic rules. Syntactic rules define how to create valid diagrams. Semantic rules define how to create meaningful diagrams.

MOF UML is defined on top of an OMG modeling standard called MOF (Meta-Object Facility). MOF is structured in 4 levels: M0, M1, M2, M3. MOF-based languages (such as UML) can be serialized as defined by the XMI (XML Metadata Interchange) standard.

M1 and M2 in a UML diagram

M1 and M2 in a UML diagram

The full stack

The 13 UML diagrams

UML primitives A UML model includes: Classifiers (sets of things); Events (sets of occurrences); Behaviors (sets of executions). Allowed element distinguish among different diagram types.

UML structural entities Class: a classifier grouping objects with the same attributes, operations, relations and semantics. Use case: a classifier grouping interactions having an observable result.

UML structural entities Collaboration: a collection of roles offering a cooperative behavior that can realize an operation or a use case. Interface: a collection of operations that can be offered or required by other elements.

UML grouping entities Packages are used to group elements and give them a namespace.

UML containment In UML several elements can contain other elements; creating a hierarchical structure. These relations can be depicted graphically.

UML behavioral entities Interaction: unit of behavior based on observable message exchange.

UML behavioral entities State machine: describe the behavior of an element of a model as discrete transitions between a finite set of states.

UML information entities Annotation: improves the readability of a diagram; it has no effect on the model.

UML relationships Relationships correlate two or more elements in a model. They are represented as lines and can have names. 4 basic types of relationships: Association Generalization Dependency Realization

Association Is a structural relationship between two model elements that shows that objects of one classifier connect and can navigate to objects of another classifier

Generalization Indicates that a specialized (child) model element is based on a general (parent) model element. An is-a relationship exists between the two elements, corresponding to inheritance in programing languages.

Dependency Indicates that changes to one model element (the supplier or independent model element) can cause changes in another model element.

Realization A realization relationship exists between two model elements when one of them must realize, or implement, the behavior that the other specifies.

Stereotypes A stereotype is rendered as a name enclosed by guillemets or << >>. They allow designers to extend the vocabulary of UML in order to create new model elements, derived from existing ones, but that have specific properties.

OCL OCL (Object Constraint Language) is an OGM specification. It is a declarative language for describing rules that apply to Unified Modeling Language. It provides constraint and object query expressions.

OCL constraints inv: invariant pre: precondition post: postcondition body: a query in a context init: initial value in a context derive: define a derived attribute in a context

OCL in UML diagrams