UML Basic Training

36
1 www.methoda.com UML Basic Training

description

UML Basic Training. www.methoda.com. Agenda. Definitions: requirements, design Basics of Unified Modeling Language 1.4 SysML extensions. Definitions. Requirement A description of the behavior of the system or part of the system (sub-system, component) or a property of it Design - PowerPoint PPT Presentation

Transcript of UML Basic Training

Page 1: UML Basic Training

1

www.methoda.com

UML Basic Training

Page 2: UML Basic Training

2UML Basic training

Agenda

Definitions: requirements, design

Basics of Unified Modeling Language 1.4

SysML extensions

Page 3: UML Basic Training

3UML Basic training

Definitions

Requirement A description of the behavior of the system or part of

the system (sub-system, component) or a property of it

Design A representation (model) that describes how

something is going to be built

““All models are wrong. Some are All models are wrong. Some are useful”useful”

George Box George Box

““All models are wrong. Some are All models are wrong. Some are useful”useful”

George Box George Box

Page 4: UML Basic Training

4UML Basic training

Types of R&D Engineering Activities

SW modeling

UML

HW modeling

VHDL, CAD, …

System modeling

SysMLRequirements definition &

management

SysML extends UML in order to support all system engineering methodology

Page 5: UML Basic Training

5UML Basic training

The Basic Development Process

Requirements High level (system view) Review Detailed (per feature) Use case models Review

Design High level (system view) Design models Detailed (per unit/class/interface)

Code

Page 6: UML Basic Training

6UML Basic training

Object Oriented Analysis and Design

OOAModel of requirements

(user view)

OODModel of design

(developer view)

Page 7: UML Basic Training

7UML Basic training

UML - Unified Modeling Language

A graphical language for visualizing the structure

and behavior of systems and systems parts

Not a methodology. A language

Provides notation (symbols) and meaning

(semantics)

Developed by Object Management Group

(OMG)

Supported by many tools

Page 8: UML Basic Training

8UML Basic training

Diagram Types in UML 1.x

Class, Object, Component

Package

Deployment

Use case

Sequence

Activity

Collaboration

State chart

Page 9: UML Basic Training

9UML Basic training

Static and Dynamic Models

Static (structure): Class, Object, Component

Package

Deployment

Dynamic (behavior): Use case

Activity

Sequence

Collaboration

State chart

Page 10: UML Basic Training

10UML Basic training

Use Case Diagram

Page 11: UML Basic Training

11UML Basic training

Use cases (UC)

External view of the system

Expressed in user terms

Use case is used by an actor

Actor is not necessarily human. Can be other systems

Use case can: <<include/use>> other use case

<<extend>> other use case

Each UC is described using an activity diagram or

sequence diagram

Page 12: UML Basic Training

12UML Basic training

Use Case Documentation

Title (goal)

Short description

Actors

Trigger

Pre-condition

Post-condition

Normal flow (steps) Using text and/or activity diagrams

Exceptional/alternate flows

Page 13: UML Basic Training

13UML Basic training

Activity diagram

Describes logic of flow/process, sequence of actions

* (see later SysML extensions for activity diagrams)

Page 14: UML Basic Training

14UML Basic training

Class Diagram

GeneralizationAssociation

Page 15: UML Basic Training

15UML Basic training

Class Diagram Terms

Class Name

Attributes

Operations

Visibility: public (+), Private (-), Protected (#)

Page 16: UML Basic Training

16UML Basic training

Class Diagram Terms

Relationships Dependency

Change to one may cause change to other Association

Connection exists between classes/objects Generalization

Abstract classes, inheritance Aggregation

Model of Whole/Part. Lifetime of whole & part not linked Composition

Model of Whole/Part. Lifetime of whole & part linked

Multiplicity: m..n, 1, 0..1, * Indicates how many objects may fill the relation

Page 17: UML Basic Training

17UML Basic training

Interfaces

Distinguish between interface and the implementation

Abstract class has one or more operations that are abstract

Interface is a class with only abstract operations

*(In SysML “port” is used)

Page 18: UML Basic Training

18UML Basic training

Object Diagram

Model specific instances derived from class

diagram

Page 19: UML Basic Training

19UML Basic training

Package Diagram

Groups UML elements: By diagram types (other packages, diagrams,

classes, etc.)

By system hierarchy (structure): system, sub-

systems, etc.

In software: model namespaces in C++

and .NET

Page 20: UML Basic Training

20UML Basic training

Sequence Diagram

Describes a set of objects that take part in a

flow/sequence

Shows data and behavior in one place

Time line is from top to bottom

Sequence diagrams can refer (ref) to other seq.

diagrams, can include alternative (alt) paths,

loops and more (not shown in the example).

Page 21: UML Basic Training

21UML Basic training

Sequence Diagram

Page 22: UML Basic Training

22UML Basic training

Collaboration Diagram

Describes a set of objects that take part in a

flow/sequence

Shows data and behavior in one place

Time is expressed by numbers on the

association lines

Page 23: UML Basic Training

23UML Basic training

Collaboration Diagram

Page 24: UML Basic Training

24UML Basic training

State Chart Diagram

Model dynamic aspect of an object, component

or a system

Terms: Initial state

States

Events

Transition activity

Final state

Page 25: UML Basic Training

25UML Basic training

Component Diagram

Component is a replaceable SW part of the system

that implements a set of interfaces

Components can be used to define also sub-

systems

*(In SysML “block” is used)

Page 26: UML Basic Training

26UML Basic training

Deployment Diagram

Model physical aspect of the system

SysML uses different notation (block diagrams

with <<allocation>>)

Page 27: UML Basic Training

27UML Basic training

SysMLSystem engineering Modeling Language

Page 28: UML Basic Training

28UML Basic training

UML & SysML

UML 2.0 contains many enhancements to

support systems engineering (SE)

BUT,

It doesn’t satisfy all SE needs

SysML extends UML 2.0

Adopted by Object Management Group in Feb-

2006

Not very popular yet

Page 29: UML Basic Training

29UML Basic training

UML & SysML

UML 2

SysML

Not required by SysUML

UML reused by SysUML

SysUML extensions

SysML Extensions:

- Blocks

- Item flows

- Allocations

- Requirements

- Parametrics

- Continuous flows

Page 30: UML Basic Training

30UML Basic training

SysML Diagrams

Page 31: UML Basic Training

31UML Basic training

Example of Block Diagrams in SysML

A block element extends the UML Class element

A block can contain properties, ports,

operations, etc

Page 32: UML Basic Training

32UML Basic training

Example of Block Diagrams in SysML

Page 33: UML Basic Training

33UML Basic training

Activity in SysML

Page 34: UML Basic Training

34UML Basic training

Activity Diagram in SysML

Page 35: UML Basic Training

35UML Basic training

For more info

http://www.sparxsystems.com.au/resources/uml2_tutorial

http://omgsysml.org/INCOSE-2007-OMG-SysML-Tutorial.pdf

Page 36: UML Basic Training

36UML Basic training

www.methoda.com