Name
SysML 1.0 Fundamentals

Code
3850

Duration
32 Hours

Description
SysML is a subset of UML that was extended to become a general purpose graphical modeling language for specifying, analyzing, designing and verifying complex systems that may include hardware, software, information, personnel, procedures and facilities. This course introduces SysML fundamentals and it was developed for people who are not proficient in UML.

Population
Software Developers, IT Managers & System Engineers.

Objectives
Become familiar with SysML diagrams and the common practices of using them.

Prerequisites
Practical system engineering experience or practical experience designing software systems, basic acquaintance with UML and basic understanding of OOP.

Topics
Introduction
Technologies Evolution History & Overview
Holistic Approach
System Engineering
The SIMILAR Process Model
SysML Overview
SysML & UML
SysML Diagrams Types

System Modeling
The Stake Holders
Requirements
Actors
Moeling Systems & Actors Information Flow
System Interaction Points

Modeling Theory
What is a Model?
Models Advantages
What is Modeling?
Static Model
Dynamic Model
Implementation Diagram

Object Oriented Concepts
What is an Object?
Classes & Objects
Generalization
Inheritance
Polymorphism
Interfaces
Abstract Class
Design Patterns
Software Design Patterns

Class Design Principles
Cohesion
Single Responsibility Principle
Open Closed Design Principle
Liskov Substitution Principle
Dependency Inversion Principle
Interface Segregation Principle

System Requirements
Business Objectives
Current System
Stakeholders
User Requirements
User Requirements Categories
System Requirements Specifications

UML & SysML General Guidelines
Simplicity Guidelines
Readability Guidelines
Naming Guidelines

UML Basic Elements
UML Note
UML Frame
UML Data Types
Classifier
Stereotype

Development Life Cycle
The SDLC
System Analyst
The Primary Goal
SDLC Fundamental Phases
Methodology & Methods
Development Methodology
Structured Methodologies
Rapid Development Methodologies
Agile Methodologies
Iterative & Incremental Development

Software Architecture & Engineering
The System Architecture
System Architecture & Design
Choosing The Architecture

Package Diagrams
Packages Concept
Packages Representation
Packages Elements Visibility
Importing Packages
Accessing Packages
Merging Packages
Use Case Packages
Packages Dependencies

Use Case Diagrams
Use Case Diagram Concept
Diagram Clarity
System Boundaries
Actor Names & System Actor
System Actors Interaction
Actor & Use Case Association
Actor & Use Case Directed Association
The 'include' Association
The 'extend' Association
Use Case Generalization
Actors Generalization
Modeling Extension Points
System Boundary Box Guidelines
System Requirements Specification

State Machine Diagrams
Overview
Behavioral State Machines
Simple States
Composite States
Submachine States
States Transition
Transition Types
Internal Transition
Completion Transition
Compound Transition
High Level Transition
Activities
State Machine Diagram Extension
Pseudo States
Signal Symbols
Transition Types
Orthogonal Composite State
Protocol State Machines

Sequence Diagrams
Sequence Diagram Concept
The Life Line
The Stop Symbol
Local Variables
Messages
Asynchronous Messages
Synchronous Messages
Object Creation
Lost & Found Messages
The Execution Occurrences
The State Invariants
The Events Occurences
Traces & Combined Fragments
Guard Conditions
Interaction Fragments Operators
Alternatives Interaction Fragment
Options Interaction Fragment
Break Interaction Fragment
Loop Interaction Fragment
Prallel Interaction Fragment
Weak Sequencing Interaction Fragment
Strict Sequencing Interaction Fragment
Negative Interaction Fragment
Critical Region Interaction Fragment
Ignore Interaction Fragment
Consider Interaction Fragment
Assertion Interaction Fragment
Interaction Occurrences
Decomposition Interaction Diagram
Continuations

Activity Diagram
UML Activity Diagrams
Actions
Initial Node
Decision Node
Merge Node
Fork Node
Join Node
Activity Final Node
Flow Final Node
Loops
Preconditions & Posconditions
Activities Edges
Object Flow Elements
Connectors
Tokens & Weight
Activity Edge Guard Condition
Parameter Node
Object Node
Pins
Input\Output Pins
Exception Handling
Activity Partitions
Streaming Action
Central Buffer Node
Data Store Node
Expansion Regions
SysML Activity Diagrams Changes

Block Diagrams
UML Class Diagrams
Class Diagrams Concept
The Class(Block) Name
Visibility Possibilities
Attributes
Attributes via Class Relationships
Derived Attributes
Attributes Multiplicity
Attribute Properties
Attributes Constraints
Static Attributes
Representing Class Operations
Operation Constraints
Body Conditions
Query Operations
Operations Exceptions
Static Operations
Abstract Class
Dependency Relationship
Association Relationship
Aggregation Relationship
Composition Relationship
Generalization Relationship
Relationships Summary
Generalization Relationship
Associaion
Association Qualifiers
Interfaces
Templates
SysML Changes
The Block Concept
Distribution
Units & Dimension
Flow Port
Item Flow
Association Block
Data Types
SysML Internal Block Diagrams

Requirements Diagrams
Requirement
Derive Relationship
Namespace Containment
Satisfy Relationship
Copy Relationship
Verify Relationship
Test Case
Refine Relationship
Trace Relationship
The Table Notation
Allocation

Parametric Diagrams
Parametric Diagram Concept
The Constraint Block