Title: UML Basic Training
1UML Basic Training
www.methoda.com
2Agenda
- Definitions requirements, design
- Basics of Unified Modeling Language 1.4
- SysML extensions
3Definitions
- 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 useful
George Box
4Types of RD Engineering Activities
System modeling SysML
Requirements definition management
SW modeling UML
HW modeling VHDL, CAD,
SysML extends UML in order to support all system
engineering methodology
5The 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
6Object Oriented Analysis and Design
OOA Model of requirements (user view)
OOD Model of design (developer view)
7UML - 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
8Diagram Types in UML 1.x
- Class, Object, Component
- Package
- Deployment
- Use case
- Sequence
- Activity
- Collaboration
- State chart
9Static and Dynamic Models
- Static (structure)
- Class, Object, Component
- Package
- Deployment
- Dynamic (behavior)
- Use case
- Activity
- Sequence
- Collaboration
- State chart
10Use Case Diagram
11Use 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
- ltltinclude/usegtgt other use case
- ltltextendgtgt other use case
- Each UC is described using an activity diagram or
sequence diagram
12Use Case Documentation
- Title (goal)
- Short description
- Actors
- Trigger
- Pre-condition
- Post-condition
- Normal flow (steps)
- Using text and/or activity diagrams
- Exceptional/alternate flows
13Activity diagram
- Describes logic of flow/process, sequence of
actions
(see later SysML extensions for activity
diagrams)
14Class Diagram
Association
Generalization
15Class Diagram Terms
- Class
- Name
- Attributes
- Operations
- Visibility public (), Private (-), Protected ()
16Class 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
17Interfaces
- 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)
18Object Diagram
- Model specific instances derived from class
diagram
19Package 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
20Sequence 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).
21Sequence Diagram
22Collaboration 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
23Collaboration Diagram
24State Chart Diagram
- Model dynamic aspect of an object, component or a
system - Terms
- Initial state
- States
- Events
- Transition activity
- Final state
25Component 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)
26Deployment Diagram
- Model physical aspect of the system
- SysML uses different notation (block diagrams
with ltltallocationgtgt)
27- SysML
- System engineering Modeling Language
28UML SysML
- UML 2.0 contains many enhancements to support
systems engineering (SE) - BUT,It doesnt satisfy all SE needs
- SysML extends UML 2.0
- Adopted by Object Management Group in Feb-2006
- Not very popular yet
29UML SysML
UML 2
SysML
Not required by SysUML
UML reused by SysUML
SysUML extensions
SysML Extensions - Blocks - Item flows -
Allocations - Requirements - Parametrics -
Continuous flows
30SysML Diagrams
31Example of Block Diagrams in SysML
- A block element extends the UML Class element
- A block can contain properties, ports,
operations, etc
32Example of Block Diagrams in SysML
33Activity in SysML
34Activity Diagram in SysML
35For more info
- http//www.sparxsystems.com.au/resources/uml2_tuto
rial -
- http//omgsysml.org/INCOSE-2007-OMG-SysML-Tutorial
.pdf
36www.methoda.com