360 likes | 530 Views
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
E N D
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 A representation (model) that describes how something is going to be built “All models are wrong. Some are useful” George Box
Types of R&D Engineering Activities Requirements definition & management System modeling SysML SW modeling UML HW modeling VHDL, CAD, … SysML extends UML in order to support all system engineering methodology
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
Object Oriented Analysis and Design OOA Model of requirements (user view) OOD Model of design (developer view)
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
Diagram Types in UML 1.x Class, Object, Component Package Deployment Use case Sequence Activity Collaboration State chart
Static and Dynamic Models Static (structure): Class, Object, Component Package Deployment Dynamic (behavior): Use case Activity Sequence Collaboration State chart
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
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
Activity diagram • Describes logic of flow/process, sequence of actions * (see later SysML extensions for activity diagrams)
Class Diagram Association Generalization
Class Diagram Terms Class Name Attributes Operations Visibility: public (+), Private (-), Protected (#)
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
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)
Object Diagram Model specific instances derived from class diagram
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
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).
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
State Chart Diagram Model dynamic aspect of an object, component or a system Terms: Initial state States Events Transition activity Final state
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)
Deployment Diagram Model physical aspect of the system SysML uses different notation (block diagrams with <<allocation>>)
SysML System engineering Modeling Language
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
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 …
Example of Block Diagrams in SysML A block element extends the UML Class element A block can contain properties, ports, operations, etc
For more info • http://www.sparxsystems.com.au/resources/uml2_tutorial • http://omgsysml.org/INCOSE-2007-OMG-SysML-Tutorial.pdf
www.methoda.com Thank you