Experience Embedded

Professional Training, Consulting and Project Support

Software Architectures for Embedded Systems and Real-Time Systems - Face-to-Face Training

  • Content
     
  • Objectives
     
  • Participants
     
  • Requirements
     

The software architecture training highlights the terminology and the significance of software architects.

It explains the tasks and responsibilities of software architects and their role in the project and presents state-of-the-art methods and techniques for the development of software architectures.

After the software architecture training, you are able to coordinate software architectures with your project team, to document the software architectures and to perform the main software architecture design steps yourself.

The software architecture training addresses software architects, software developers, software development managers and software team managers.

Project experience in software development; knowledge of a high-level language; principles of the UML notation for software modeling of advantage.

Software Architectures: Introduction and Terminology

  • Definition of terms
  • Benefits and objectives of a software architecture
  • Elements of a software architecture
  • Relation to the development process
  • Role and responsibilities of the software architect
  • Practical tips

Software Architecture Development Procedures

  • Different software architecture development procedures: hierarchial, iterative, incremental, agile, model-driven, domain-driven
  • Dependencies and relations of the different procedures
  • Presentation of a typical procedure

The Role of a Software Architect

  • Characteristics and responsibilities of the software architect
  • Software architect teams
  • Collaboration with other roles

Software Architecture Development: Principles and Preconditions

  • Typical development scenarios under favorable and unfavorable conditions
  • Requirements: functional and non-functional
  • Influencing factors for software architectures
  • Factor analysis demonstration
  • Risk management

Notation and Documentation of Software Architectures with the UML (Unified Modeling Language)

  • Static and dynamic views
  • Quality features of the software architecture documentation
  • Documentation and communication of software architectures for the stakeholders
  • Content and focus of documentation
  • Description and communication of interfaces
  • Definition and use of different architecture views
  • Document-based versus model-based procedures
  • Demonstration: From requirements to the software architecture model
  • Exercise: Development of an embedded software architecture comprising structure and interactive behavior, based on drawn up textual requirements

Design of Software Architectures

  • Functional and non-functional requirements as a basis for high-quality software architecture
  • Positive and negative impact of quality requirements on the software architecture
  • Impact of safety and security, reliability, portability, performance and other quality requirements on the architecture
  • Project specific factors of influence on the software architecture
  • Continuous refinement of the software architecture through incremental and iterative processes
  • Architecture construction kit and reusability
  • Basic concepts, elements, element coupling via interfaces
  • Design principles
  • Architecture design patterns
  • Architecture guidelines
  • Runtime architecture
  • Architectures for multiprocessor and multicore systems
  • Verification of software architectures
  • Hypervisor and virtualization
  • Platform independence
  • Exercise: Extending the architecture with a runtime architecture

Quality Assessment and Quality Assurance of Software Architectures

  • Quality models
  • Relation and interdependency of quality features
  • Methods to achieve the specified quality features of software systems
  • Assessment of software architectures (quality and implementation)
  • ATAM (Architecture Tradeoff Analysis Method)
  • Practical tips for quality assessment and quality assurance
  • Exercise: Quality assessment for various software architectures

Tools for Software Architects

  • Modeling
  • Static and dynamic analysis
  • Generation
  • Requirements management
  • Documentation
  • Version and configuration management
  • Build process and build systems
  • We provide you with an unbiased product overview for efficient product selection

Proven Examples of Software Architectures

  • Typical software architectures for embedded systems
  • Software layers, software layer models
  • Practical tips

Practical Exercises in the Software Architecture Training

  • From requirements to the verification and assessment of the software architecture using the example of an embedded system (electric motor control) based on real hardware
  • Throughout the exercise, you will use the modeling tool 'Enterprise Architect' (Sparx Systems), or paper and pencil as an alternative

MicroConsult Plus:

  • All participants have the following options to further use their exercises from this workshop as well as the solutions developed by MicroConsult:
  • You take the files with you on a free USB stick provided by MicroConsult, or ...
  • You e-mail the files to your account, or ...
  • You get access to file download on request.
  • For the measurement device application, you get the program code and a UML model as well as a UML model for the electric motor application.
  • You get a tool and software component overview for the development of embedded software architectures
  • You also get an embedded software architecture checklist summarizing all key topics. You can adapt this checklist to your project requirements.
  • You get helpful notation overviews for UML (Unified Modeling Language) and SysML (Systems Modeling Language).

The training price includes:
Lunch, drinks, training documentation and your training certificate.


ALL INCLUSIVE!

Related trainings

UML Training: UML Basics and Introduction to Model-Based Software Development - Face-to-Face Training
Training code: E-UML-G

Design Patterns Training (not only) for Embedded Systems - Face-to-Face Training
Training code: E-DP

RTOS Basics and Application: RTOS Mechanisms and their Application in Runtime Architectures for Embedded and Real-Time Systems - Face-to-Face Training
Training code: E-RTOS-AR

RTOS Application: Development of Runtime Architectures for Embedded and Real-Time Systems - Face-to-Face Training
Training code: E-RTOS-RT

SysML: Model-Based System Analysis and Design with the Systems Modeling Language - Face-to-Face Training
Training code: E-SYSML

Embedded Software Design and Patterns with C - Face-to-Face Training
Training code: E-ESD-C


Related trainings

FACE-TO-FACE TRAINING

DatePrice *Duration
02.09. – 05.09.20242.600,00 €4 days 
13.01. – 16.01.20252.600,00 €4 days 
Training code: E-EMB-AR
* Price per attendee, in Euro plus VAT
> Registration form download (PDF)> Training details as PDF

Onsite Training

Our customized workshops integrate your specific project tasks in our training content and accommodate your requirements on content, time, location, duration, technical environment and knowledge transfer methodology.

Please contact us for further information or an individual quotation.

> Training details as PDF

Live Online - English

Date Duration
03.06. – 06.06.2024 4 days  
18.11. – 21.11.2024 4 days  
17.03. – 20.03.2025 4 days  

Face-To-Face - German

Date Duration
02.09. – 05.09.2024 4 days  
13.01. – 16.01.2025 4 days  

Live Online - German

Date Duration
03.06. – 06.06.2024 4 days  
18.11. – 21.11.2024 4 days  
17.03. – 20.03.2025 4 days  

Coaching

Our coaching services offer a major advantage: our specialists introduce their expertise and experience directly in your solution process, thus contributing to the success of your projects.

We will be happy to provide you with further information or submit a quotation tailored to your requirements.

Software Architectures for Embedded Systems and Real-Time Systems - Face-to-Face Training

Content

Software Architectures: Introduction and Terminology

  • Definition of terms
  • Benefits and objectives of a software architecture
  • Elements of a software architecture
  • Relation to the development process
  • Role and responsibilities of the software architect
  • Practical tips

Software Architecture Development Procedures

  • Different software architecture development procedures: hierarchial, iterative, incremental, agile, model-driven, domain-driven
  • Dependencies and relations of the different procedures
  • Presentation of a typical procedure

The Role of a Software Architect

  • Characteristics and responsibilities of the software architect
  • Software architect teams
  • Collaboration with other roles

Software Architecture Development: Principles and Preconditions

  • Typical development scenarios under favorable and unfavorable conditions
  • Requirements: functional and non-functional
  • Influencing factors for software architectures
  • Factor analysis demonstration
  • Risk management

Notation and Documentation of Software Architectures with the UML (Unified Modeling Language)

  • Static and dynamic views
  • Quality features of the software architecture documentation
  • Documentation and communication of software architectures for the stakeholders
  • Content and focus of documentation
  • Description and communication of interfaces
  • Definition and use of different architecture views
  • Document-based versus model-based procedures
  • Demonstration: From requirements to the software architecture model
  • Exercise: Development of an embedded software architecture comprising structure and interactive behavior, based on drawn up textual requirements

Design of Software Architectures

  • Functional and non-functional requirements as a basis for high-quality software architecture
  • Positive and negative impact of quality requirements on the software architecture
  • Impact of safety and security, reliability, portability, performance and other quality requirements on the architecture
  • Project specific factors of influence on the software architecture
  • Continuous refinement of the software architecture through incremental and iterative processes
  • Architecture construction kit and reusability
  • Basic concepts, elements, element coupling via interfaces
  • Design principles
  • Architecture design patterns
  • Architecture guidelines
  • Runtime architecture
  • Architectures for multiprocessor and multicore systems
  • Verification of software architectures
  • Hypervisor and virtualization
  • Platform independence
  • Exercise: Extending the architecture with a runtime architecture

Quality Assessment and Quality Assurance of Software Architectures

  • Quality models
  • Relation and interdependency of quality features
  • Methods to achieve the specified quality features of software systems
  • Assessment of software architectures (quality and implementation)
  • ATAM (Architecture Tradeoff Analysis Method)
  • Practical tips for quality assessment and quality assurance
  • Exercise: Quality assessment for various software architectures

Tools for Software Architects

  • Modeling
  • Static and dynamic analysis
  • Generation
  • Requirements management
  • Documentation
  • Version and configuration management
  • Build process and build systems
  • We provide you with an unbiased product overview for efficient product selection

Proven Examples of Software Architectures

  • Typical software architectures for embedded systems
  • Software layers, software layer models
  • Practical tips

Practical Exercises in the Software Architecture Training

  • From requirements to the verification and assessment of the software architecture using the example of an embedded system (electric motor control) based on real hardware
  • Throughout the exercise, you will use the modeling tool 'Enterprise Architect' (Sparx Systems), or paper and pencil as an alternative

MicroConsult Plus:

  • All participants have the following options to further use their exercises from this workshop as well as the solutions developed by MicroConsult:
  • You take the files with you on a free USB stick provided by MicroConsult, or ...
  • You e-mail the files to your account, or ...
  • You get access to file download on request.
  • For the measurement device application, you get the program code and a UML model as well as a UML model for the electric motor application.
  • You get a tool and software component overview for the development of embedded software architectures
  • You also get an embedded software architecture checklist summarizing all key topics. You can adapt this checklist to your project requirements.
  • You get helpful notation overviews for UML (Unified Modeling Language) and SysML (Systems Modeling Language).